5b0d75ee56
Only trim trailing spaces to avoid breakage in storyboard parsing
2021-03-18 16:30:30 +09:00
dff1d80f39
Update HasFlag usages to HasFlagFast
2021-02-25 15:38:56 +09:00
25af091409
Fix storyboard animations of very old beatmaps playing too slow
...
Closes https://github.com/ppy/osu/issues/10772 .
2020-11-12 17:03:43 +09:00
fd4bab85cf
Merge branch 'master' into epilepsy-warning
2020-10-20 01:06:46 +02:00
a9f27a71a2
Fix code formatting issues
2020-10-19 23:53:41 +02:00
d536a1f75e
Fix breaks being culled too early
2020-10-09 21:04:56 +09:00
acbf13ddc4
add epilepsy warning field
2020-07-20 17:36:42 +07:00
0ea13dea55
Introduce legacy timing point fp errors
2020-07-13 17:06:00 +09:00
f3b5149648
Move some suggestions to warnings, resolve issues
2020-06-03 16:48:44 +09:00
72fb34f82c
Fix overriding control points incorrectly
2020-04-21 14:19:05 +09:00
0eaea8ef9d
Create a constructor for break period
...
For simple construction of break periods (e.g. filling a method with an array of break periods inside a test case)
2020-04-05 21:29:03 +03:00
76c832518f
Render video as a part of the storyboard
2020-03-07 21:32:03 -08:00
d68d7edea3
Start background video playback based on provided offset
2020-03-07 14:08:13 -08:00
5b452293d6
Minor cleanups for legacy beatmap decoders
...
Replaces some string.StartsWith(string, StringComparison.Ordinal) calls with ring.StartsWith(char) , when only one char is compared. Possible since .NET-Standard 2.1
And another LegacyStoryboardDecoder.handleEvents() cleanup, saves some MB of allocations.
2020-02-08 18:05:27 +01:00
219e14baa2
Address review and fix InspectCode
2020-01-24 17:05:27 +01:00
6658bdb223
Fix CodeFactor issues
2020-01-23 16:34:43 +01:00
316a764f6f
Minor cleanups for Legacy Storyboard/Beatmap decoder
2020-01-23 16:23:53 +01:00
abf3f341b7
Merge remote-tracking branch 'refs/remotes/origin/master' into legacy-beatmap-saving
2019-12-13 19:01:25 +09:00
b86a3dbfab
PathStandardise -> ToStandardisedPath
2019-12-11 16:06:56 +08:00
6b3c7c8421
Remove usages of FileSafety class.
2019-12-11 16:05:35 +08:00
c378e525da
Extract the rest of legacy enums
2019-12-10 20:23:15 +09:00
3c18872a16
Extract legacy effect flags enum
2019-12-10 20:19:31 +09:00
31cc0d13da
Use 'out var'.
2019-11-12 19:55:26 +08:00
cf2d885099
Fix control points being flushed too late
2019-10-30 18:02:18 +09:00
514c9f1eef
Merge branch 'master' into bindable-control-points
2019-10-30 16:20:54 +09:00
1a4817879e
Fix precision changes in legacy control point types
2019-10-28 19:10:39 +09:00
8baf569f59
Remove necessity of AutoGenerated flag
2019-10-25 19:58:42 +09:00
e987db37ec
Add grouping of ControlPoints
2019-10-25 19:52:02 +09: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
ac2060f1cf
Throw exceptions and let LegacyDecoder handle them
2019-08-08 14:44:04 +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
7e38aabe75
Remove equivalence check from controlpoint parsing
2019-05-21 14:27:41 +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
612db31c38
Apply newline additions
2019-04-01 12:16:32 +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
cc09ecbfcf
Increase validation performed on .osu files to avoid hard crashes
2019-03-12 20:31:15 +09:00
8617aaa2a7
Update licence header (and remove year)
2019-01-24 17:43:03 +09:00
a2b8904b1e
Merge branch 'master' into database-standardize-paths
2018-10-18 16:21:45 +09:00
bb07630743
Merge branch 'master' into database-standardize-paths
2018-10-12 14:08:25 +02:00
bd99a87298
Use ordinal comparison in LegacyBeatmapDecoder
2018-10-11 17:48:47 +09:00
b35f88b8ba
Standardize AudioFile and BackgroundImage paths
2018-10-09 17:49:18 +02:00