OliBomby
891b87a5ff
remove ApplyLegacyInfo method
2023-04-25 12:52:21 +02:00
OliBomby
ea1e6e9798
Add LegacyContext
2023-04-25 12:12:46 +02:00
OliBomby
a4c6850ab2
made the SampleControlPoint and DifficultyControlPoint obsolete
2023-04-25 11:34:09 +02:00
Haspamelodica
e90660c1a4
Switched to lowercase
2023-04-21 02:35:28 +02:00
Haspamelodica
b62de5514c
Fixed video importing bug #23259
2023-04-21 02:10:24 +02:00
Dean Herbert
da947d8661
Gracefully handle beatmaps specifying images using the video storyboard type
2023-03-13 18:24:16 +09:00
Dean Herbert
044b0604b2
Move OmitFirstBarLine
to TimingControlPoint
2023-02-28 19:29:31 +09:00
Berkan Diler
fcbb21c75e
Fix typo
2022-12-26 20:38:35 +01:00
Berkan Diler
c7ca4bbba5
Use generic Enum methods
2022-12-26 20:36:39 +01:00
Dan Balasescu
6177df2a24
Merge branch 'master' into fix-17143
2022-10-25 13:44:58 +09:00
Dean Herbert
677b8d09f8
Fix huge oversight causing test failures
2022-10-19 23:54:12 +09:00
Dean Herbert
579d5b51eb
Add and consume sample bank constants
2022-10-19 20:47:58 +09:00
Dean Herbert
59e2478b0e
Fix some older beatmaps having missing backgrounds
...
Closes https://github.com/ppy/osu/issues/20824 .
Note that this will require a reimport of beatmaps as it is baked into the database. Probably not worth making a migration for at this point in time.
2022-10-19 16:01:10 +09:00
Dan Balasescu
338115ff6a
Move check to LegacyDifficultyControlPoint
2022-10-13 15:05:15 +09:00
Khang
c9f364d6a0
Document why beatLength can be NaN
2022-08-24 02:10:19 -04:00
Khang
c1ced85b5e
Move GenerateTicks to LegacyDifficultyControlPoint and remove support for NaN slider velocity support for other rulesets (at least for now)
2022-08-23 14:07:18 -04:00
Khang
9f08c474ca
Treat NaN slider velocity timing points as 1.0x but without slider ticks
2022-08-22 21:58:38 -04:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
ekrctb
dcf0d5a9d5
Fix slider velocity wrongly decoded as scrolling speed in osu!catch
2022-05-08 21:49:42 +09:00
Dean Herbert
a7554dcdf7
Use a constant for the early version timing offset
2022-03-24 16:43:41 +09:00
Dean Herbert
a029e418cf
Use internal
instead of protected internal
2022-02-18 17:06:04 +09:00
Dean Herbert
420e2c538f
Automatically use an AssemblyRulesetStore
if no custom store is registered
2022-02-18 16:52:34 +09:00
Dean Herbert
5477af08c5
Register an AssemblyRulesetStore
in tests which don't use OsuGameBase
2022-02-16 17:21:57 +09:00
Dean Herbert
13086541f0
Add static RulesetStore
to LegacyBeatmapDecoder
2022-02-16 17:13:54 +09:00
Dean Herbert
142a67e163
Fix approach rate not being transferred from OD on older beatmaps
2022-01-28 18:53:28 +09:00
Bartłomiej Dach
1b8136e3e0
Change some BeatmapInfo
defaults in a backwards compatible manner
2022-01-27 21:49:37 +01:00
Dean Herbert
5288eedd31
Update all usages of RulesetID
and Ruleset.ID
to use Ruleset.OnlineID
2022-01-27 15:38:03 +09:00
Bartłomiej Dach
735414bc49
Replace TimeSignatures
enum with struct for storage of arbitrary meter
2022-01-22 20:50:31 +01:00
Dean Herbert
67bf95bc91
Remove all usage of AuthorString
2022-01-18 23:30:40 +09:00
Dean Herbert
3e0e01abdb
Move bookmark parsing logic into LegacyBeatmapDecoder
2021-11-24 16:29:51 +09:00
Dean Herbert
692e846acd
Rename BeatmapSetInfo.OnlineBeatmapSetID
to OnlineID
to match interface
2021-11-12 17:52:44 +09:00
Dean Herbert
6a098a8634
Rename BeatmapInfo.OnlineBeatmapID
to OnlineID
to match interface
2021-11-12 17:46:24 +09:00
Dean Herbert
51a353e12d
Rename BeatmapInfo.Version
to DifficultyName
to match underlying interface
2021-11-11 17:20:53 +09:00
smoogipoo
bc37cb6f43
Merge branch 'master' into no-more-difficulty-control-points-info
2021-10-08 18:41:17 +09:00
Dean Herbert
b339c149d8
Copy BaseDifficulty
to Beatmap<T>
and move all write operations across
2021-10-06 15:10:45 +09:00
Dean Herbert
46bafb6252
Merge branch 'master' into no-more-difficulty-control-points-info
2021-09-28 13:53:56 +09:00
Bartłomiej Dach
80197bae48
Revert not decoding legacy difficulty points on scrolling rulesets for now
2021-09-18 15:32:08 +02:00
Bartłomiej Dach
8026968939
Move difficulty -> effect point conversion back to decoder
2021-09-18 14:38:38 +02:00
Bartłomiej Dach
cd181452be
Add decoding support for SamplesMatchPlaybackRate
2021-09-12 16:45:27 +02:00
Dean Herbert
3c7a34bdbd
Move mania-specific conversion to converter
2021-09-06 21:06:13 +09:00
Dean Herbert
766d789845
Rename ApproachRate
to ScrollSpeed
for now (to reduce complexity/confusion)
2021-09-06 21:06:13 +09:00
Dean Herbert
d587dc6203
Populate new approach rate where required
2021-09-03 17:11:12 +09:00
Dean Herbert
a3d9ab1e2e
Move approach rate to EffectControlPoint
2021-09-03 16:58:16 +09: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
Dean Herbert
8617aaa2a7
Update licence header (and remove year)
2019-01-24 17:43:03 +09:00
Dean Herbert
a2b8904b1e
Merge branch 'master' into database-standardize-paths
2018-10-18 16:21:45 +09:00
HoLLy
bb07630743
Merge branch 'master' into database-standardize-paths
2018-10-12 14:08:25 +02:00
smoogipoo
bd99a87298
Use ordinal comparison in LegacyBeatmapDecoder
2018-10-11 17:48:47 +09:00
HoLLy
b35f88b8ba
Standardize AudioFile and BackgroundImage paths
2018-10-09 17:49:18 +02:00
smoogipoo
b7499fa956
Allow TimingControlPoint to be overridden
2018-10-09 11:34:38 +09:00
smoogipoo
551581e5cd
Skip invalid hitobject types, log error instead
2018-08-22 15:59:58 +09:00
smoogipoo
ce77473910
Simplify usage of ConvertHitObjectParser
2018-08-15 10:24:56 +09:00