7c2c537bc9
Allow fallback decoder overwrite
...
To fix the runtime crashes in difficulty calculation components, remove
the check for pre-existing fallback registration along with
the exception. The xmldoc for the registration function has been
extended to make users aware of possible consequences of calling it.
2019-10-04 18:20:20 +02:00
ffde389641
Add difficulty calculator beatmap decoder fallback
2019-10-04 13:28:32 +09:00
dd9f620c23
Fix misleading xmldoc
2019-09-15 01:28:07 +02:00
86588778b1
Implement fallback decoder registration
...
After the preparatory introduction of LineBufferedReader, it is now
possible to introduce registration of fallback decoders that won't drop
input supplied in the first line of the file.
A fallback decoder is used when the magic in the first line of the file
does not match any of the other known decoders. In such a case,
the fallback decoder is constructed and provided a LineBufferedReader
instance. The process of matching magic only peeks the first non-empty
line, so it is available for re-reading in Decode() using ReadLine().
There can be only one fallback decoder per type; a second attempt of
registering a fallback will result in an exception to avoid bugs.
To address the issue of parsing failing on badly or non-headered files,
set the legacy decoders for Beatmaps and Storyboards as the fallbacks.
Due to non-trivial logic, several new, passing unit tests with possible
edge cases also included.
2019-09-15 01:28:07 +02:00
11eda44d34
Migrate decoding to line-buffered reader
...
Migrate all usages of StreamReader in the context of decoding beatmaps,
storyboards or skins to the new LineBufferedReader.
2019-09-15 01:28:07 +02:00
6e5cb8a318
implement video parsing
2019-08-30 23:19:34 +03:00
c6e757fdae
Remove redundant qualifier
2019-08-28 22:11:23 +09:00
f6ad95018a
Centralise default beat length specification
2019-08-28 20:22:16 +09:00
7b04fb1690
StoryboardSample -> StoryboardSampleInfo
2019-08-23 14:54:39 +03:00
48716f8f2b
Update framework
2019-08-21 13:29:50 +09:00
ff4b271f64
Add extra quotations around output
2019-08-12 01:42:05 +09:00
ac2060f1cf
Throw exceptions and let LegacyDecoder handle them
2019-08-08 14:44:04 +09:00
bde89adcb7
show exception message
2019-08-07 19:45:29 +09:00
b8ccba02f2
Log to runtime instead
2019-08-07 19:33:54 +09:00
15a592e25e
Just assert doesn't throw and don't catch at LegacyDecoder
2019-08-07 19:25:40 +09:00
da15e19912
return on storyboard side
2019-08-07 18:40:58 +09:00
7bcec31ea3
mention that the event was the type
2019-08-07 17:08:41 +09:00
669c2462ec
Don't consider the type
2019-08-07 16:25:38 +09:00
66b02c0283
log type as well
2019-08-06 12:27:10 +09:00
cd6fe91882
Log error for invalid events
2019-08-06 10:05:21 +09:00
60ea3d4e1a
Fix skinning support for combobreak
2019-06-30 21:58:30 +09:00
58efa7a177
Merge pull request #4729 from peppy/fix-control-point-ordering
...
Fix control points with same timestamp potentially being parsed incorrectly
2019-05-21 15:33:27 +09:00
7a56fe84f2
Remove ControlPoint.EquivalentTo
2019-05-21 14:27:57 +09:00
7e38aabe75
Remove equivalence check from controlpoint parsing
2019-05-21 14:27:41 +09:00
f1c9073338
Fix commented line check not working with whitespace
2019-05-14 16:16:55 +09:00
92f6f4d21a
Apply same fix to other methods which were missed
2019-05-13 19:04:12 +09:00
66ebdbbe4c
Fix control points with same timestamp potentially being parsed incorrectly
2019-05-08 18:13:07 +09:00
d7c09e7dbd
Merge remote-tracking branch 'origin/master' into fix-new-inspections
...
# Conflicts:
# osu.Game.Rulesets.Catch/Judgements/CatchDropletJudgement.cs
# osu.Game.Rulesets.Catch/Judgements/CatchJudgement.cs
# osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs
# osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs
# osu.Game.Rulesets.Osu/UI/Cursor/CursorTrail.cs
# osu.Game.Tests/Visual/SongSelect/TestCaseBeatmapScoresContainer.cs
# osu.Game/Graphics/OsuFont.cs
# osu.Game/Online/API/Requests/Responses/APILegacyScoreInfo.cs
# osu.Game/Overlays/Profile/Header/BadgeContainer.cs
# osu.Game/Overlays/Profile/ProfileHeader.cs
# osu.Game/Screens/Select/PlaySongSelect.cs
# osu.Game/Skinning/LegacySkinDecoder.cs
2019-05-07 13:20:17 +09:00
0bd35ab7bb
Turn on warnings, resolve issues
2019-04-25 17:36:17 +09:00
612db31c38
Apply newline additions
2019-04-01 12:16:32 +09:00
e45c08ad23
Adjust comment
2019-03-29 14:02:19 +09:00
92184adef5
Add stable sorting of storyboard elements
2019-03-26 16:37:52 +09:00
8f00f2290a
Log issues
2019-03-13 14:56:41 +09:00
241e336c21
Fix break parsing
2019-03-13 14:22:16 +09:00
f4c505709a
Use parsing methods in more places
...
Limiting scope to beatmap decoding for this pass. Can expand to skin/storyboard in the future.
2019-03-13 13:56:31 +09:00
93b774104a
Fix NaN handling
2019-03-13 11:30:33 +09:00
73d9aef5bd
Fix filename
2019-03-12 20:38:04 +09:00
cc09ecbfcf
Increase validation performed on .osu files to avoid hard crashes
2019-03-12 20:31:15 +09:00
26d53d06a9
Fix remaining issues
2019-02-28 13:31:40 +09:00
8617aaa2a7
Update licence header (and remove year)
2019-01-24 17:43:03 +09:00
f27bd3ef3e
OpenTK -> osuTK
2018-11-20 17:14:59 +09:00
a2b8904b1e
Merge branch 'master' into database-standardize-paths
2018-10-18 16:21:45 +09:00
d431dd59a8
Cleanups
2018-10-17 10:53:21 +09:00
710b0a4664
Remove unnecessary PathSanitise call
2018-10-12 15:30:24 +02:00
bb07630743
Merge branch 'master' into database-standardize-paths
2018-10-12 14:08:25 +02:00
5b544a0c97
Remove allocation of string.IndexOf()
2018-10-11 18:37:48 +09:00
bd99a87298
Use ordinal comparison in LegacyBeatmapDecoder
2018-10-11 17:48:47 +09:00
0c4403ef16
Don't apply version offset during diff calc
2018-10-11 13:53:49 +09:00
b35f88b8ba
Standardize AudioFile and BackgroundImage paths
2018-10-09 17:49:18 +02:00
9facf707be
Add diffcalc beatmap decoder
2018-10-09 11:49:24 +09:00