1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-07 06:37:50 +08:00
Commit Graph

100 Commits

Author SHA1 Message Date
Bartłomiej Dach
cd181452be
Add decoding support for SamplesMatchPlaybackRate 2021-09-12 16:45:27 +02:00
Dean Herbert
015df282fe Simplify copy operations 2021-08-30 18:32:55 +09:00
Dean Herbert
6ee4a6526c Don't block sample points from still being added to ControlPointInfo 2021-08-30 17:14:53 +09:00
Dean Herbert
7257aae7f2 Move samples to LegacyControlPointInfo 2021-08-30 17:14:53 +09:00
Bartłomiej Dach
a6c2cbd2e5
Add countdown settings to beatmap info model 2021-08-24 21:55:10 +02:00
Dean Herbert
5b0d75ee56 Only trim trailing spaces to avoid breakage in storyboard parsing 2021-03-18 16:30:30 +09:00
smoogipoo
dff1d80f39 Update HasFlag usages to HasFlagFast 2021-02-25 15:38:56 +09:00
Dean Herbert
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
Bartłomiej Dach
fd4bab85cf Merge branch 'master' into epilepsy-warning 2020-10-20 01:06:46 +02:00
Bartłomiej Dach
a9f27a71a2 Fix code formatting issues 2020-10-19 23:53:41 +02:00
smoogipoo
d536a1f75e Fix breaks being culled too early 2020-10-09 21:04:56 +09:00
Gagah Pangeran
acbf13ddc4 add epilepsy warning field 2020-07-20 17:36:42 +07:00
smoogipoo
0ea13dea55 Introduce legacy timing point fp errors 2020-07-13 17:06:00 +09:00
smoogipoo
f3b5149648 Move some suggestions to warnings, resolve issues 2020-06-03 16:48:44 +09:00
smoogipoo
72fb34f82c Fix overriding control points incorrectly 2020-04-21 14:19:05 +09:00
Salman Ahmed
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
voidedWarranties
76c832518f Render video as a part of the storyboard 2020-03-07 21:32:03 -08:00
voidedWarranties
d68d7edea3 Start background video playback based on provided offset 2020-03-07 14:08:13 -08:00
Berkan Diler
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
Berkan Diler
219e14baa2 Address review and fix InspectCode 2020-01-24 17:05:27 +01:00
Berkan Diler
6658bdb223 Fix CodeFactor issues 2020-01-23 16:34:43 +01:00
Berkan Diler
316a764f6f Minor cleanups for Legacy Storyboard/Beatmap decoder 2020-01-23 16:23:53 +01:00
smoogipoo
abf3f341b7 Merge remote-tracking branch 'refs/remotes/origin/master' into legacy-beatmap-saving 2019-12-13 19:01:25 +09:00
Huo Yaoyuan
b86a3dbfab PathStandardise -> ToStandardisedPath 2019-12-11 16:06:56 +08:00
Huo Yaoyuan
6b3c7c8421 Remove usages of FileSafety class. 2019-12-11 16:05:35 +08:00
smoogipoo
c378e525da Extract the rest of legacy enums 2019-12-10 20:23:15 +09:00
smoogipoo
3c18872a16 Extract legacy effect flags enum 2019-12-10 20:19:31 +09:00
Huo Yaoyuan
31cc0d13da Use 'out var'. 2019-11-12 19:55:26 +08:00
smoogipoo
cf2d885099 Fix control points being flushed too late 2019-10-30 18:02:18 +09:00
Dan Balasescu
514c9f1eef
Merge branch 'master' into bindable-control-points 2019-10-30 16:20:54 +09:00
Dean Herbert
1a4817879e Fix precision changes in legacy control point types 2019-10-28 19:10:39 +09:00
Dean Herbert
8baf569f59 Remove necessity of AutoGenerated flag 2019-10-25 19:58:42 +09:00
Dean Herbert
e987db37ec Add grouping of ControlPoints 2019-10-25 19:52:02 +09:00
Bartłomiej Dach
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
Bartłomiej Dach
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
Andrei Zavatski
6e5cb8a318 implement video parsing 2019-08-30 23:19:34 +03:00
smoogipoo
ac2060f1cf Throw exceptions and let LegacyDecoder handle them 2019-08-08 14:44:04 +09:00
David Zhao
7bcec31ea3 mention that the event was the type 2019-08-07 17:08:41 +09:00
David Zhao
669c2462ec Don't consider the type 2019-08-07 16:25:38 +09:00
David Zhao
66b02c0283 log type as well 2019-08-06 12:27:10 +09:00
David Zhao
cd6fe91882 Log error for invalid events 2019-08-06 10:05:21 +09:00
smoogipoo
7e38aabe75 Remove equivalence check from controlpoint parsing 2019-05-21 14:27:41 +09:00
Dean Herbert
92f6f4d21a Apply same fix to other methods which were missed 2019-05-13 19:04:12 +09:00
Dean Herbert
66ebdbbe4c Fix control points with same timestamp potentially being parsed incorrectly 2019-05-08 18:13:07 +09:00
Dean Herbert
612db31c38 Apply newline additions 2019-04-01 12:16:32 +09:00
Dean Herbert
8f00f2290a Log issues 2019-03-13 14:56:41 +09:00
Dean Herbert
241e336c21 Fix break parsing 2019-03-13 14:22:16 +09:00
Dean Herbert
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
Dean Herbert
93b774104a Fix NaN handling 2019-03-13 11:30:33 +09:00
Dean Herbert
cc09ecbfcf Increase validation performed on .osu files to avoid hard crashes 2019-03-12 20:31:15 +09:00