Commit Graph

475 Commits

Author SHA1 Message Date
e53c8518de Don't output beatmap parse failures in a visible manner
The user can't do much about this. When a user reports a beatmap issue,
the logs will still contain this useful information. Should be fine I
think.

As mentioned in

https://github.com/ppy/osu/discussions/18426
https://github.com/ppy/osu/issues/750
https://github.com/ppy/osu/issues/18372

etc.
2022-05-27 19:18:38 +09:00
731f0960ec Don't merge adjacent legacy Catmull segments 2022-05-18 17:16:24 +09:00
dcf0d5a9d5 Fix slider velocity wrongly decoded as scrolling speed in osu!catch 2022-05-08 21:49:42 +09:00
3eeedd8024 Fix per-hit object slider velocity ignored in osu!catch 2022-05-08 13:45:21 +09:00
a7554dcdf7 Use a constant for the early version timing offset 2022-03-24 16:43:41 +09:00
a029e418cf Use internal instead of protected internal 2022-02-18 17:06:04 +09:00
cf1dd1ebd3 Disallow registering a null RulesetStore 2022-02-18 16:52:34 +09:00
420e2c538f Automatically use an AssemblyRulesetStore if no custom store is registered 2022-02-18 16:52:34 +09:00
5477af08c5 Register an AssemblyRulesetStore in tests which don't use OsuGameBase 2022-02-16 17:21:57 +09:00
13086541f0 Add static RulesetStore to LegacyBeatmapDecoder 2022-02-16 17:13:54 +09:00
142a67e163 Fix approach rate not being transferred from OD on older beatmaps 2022-01-28 18:53:28 +09:00
1b8136e3e0 Change some BeatmapInfo defaults in a backwards compatible manner 2022-01-27 21:49:37 +01:00
5288eedd31 Update all usages of RulesetID and Ruleset.ID to use Ruleset.OnlineID 2022-01-27 15:38:03 +09:00
c3758047fd Don't include nested hit objects' DifficultyControLPoints in legacy encoder logic
The editor doesn't currently propagate velocity to nested objects. We're
not yet sure whether it should or not. For now, let's just ignore nested
objects' `DifficultyControlPoints` for simplicity.

Note that this only affects osu! ruleset due to the pre-check on
`isOsuRuleset`.
2022-01-24 19:54:08 +09:00
735414bc49 Replace TimeSignatures enum with struct for storage of arbitrary meter 2022-01-22 20:50:31 +01:00
67bf95bc91 Remove all usage of AuthorString 2022-01-18 23:30:40 +09:00
dcd69e852e Add back settable RulesetID for now 2022-01-12 17:00:16 +09:00
00e3af3366 Update model manager and many related classes to get things compiling again 2022-01-12 17:00:00 +09:00
213d89b479 Update null fallback cases involving OnlineID 2022-01-12 16:39:36 +09:00
3e0e01abdb Move bookmark parsing logic into LegacyBeatmapDecoder 2021-11-24 16:29:51 +09:00
692e846acd Rename BeatmapSetInfo.OnlineBeatmapSetID to OnlineID to match interface 2021-11-12 17:52:44 +09:00
6a098a8634 Rename BeatmapInfo.OnlineBeatmapID to OnlineID to match interface 2021-11-12 17:46:24 +09:00
51a353e12d Rename BeatmapInfo.Version to DifficultyName to match underlying interface 2021-11-11 17:20:53 +09:00
ed07ee8c61 Update all existing usages of AuthorString/AuthorId
Unfortunately the getters need to be left in place else EF breaks.
2021-11-04 18:59:37 +09:00
67d9590a79 Fix new inspections 2021-11-04 14:02:09 +09:00
15c770e155 Remove no longer used Section.None 2021-11-02 14:01:41 +09:00
ab28948744 Default legacy decoder to General section, rather than none
This is mainly to reach parity with how stable handles such cases for
skins specifically. It was brought to our attention after finding a skin
with a malformed `\[General]` tag which did not break further parsing of
the file on stable, but did on lazer.

Note that stable defaults to an "unknown" section for beatmaps, but
functionally I can't think of a regression case from changing this to a
"general" default.
2021-11-02 13:59:13 +09:00
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
e92def0ba2 Fix LegacyBeatmapEncoder using incorrect path length value 2021-10-26 17:34:52 +09:00
bc37cb6f43 Merge branch 'master' into no-more-difficulty-control-points-info 2021-10-08 18:41:17 +09:00
b339c149d8 Copy BaseDifficulty to Beatmap<T> and move all write operations across 2021-10-06 15:10:45 +09:00
4c28749d73 Fix incorrect legacy decoder usage 2021-10-01 19:05:08 +09:00
3faafd7200 Rename parameter to repeatCount and add guards 2021-10-01 18:26:29 +09:00
46bafb6252 Merge branch 'master' into no-more-difficulty-control-points-info 2021-09-28 13:53:56 +09:00
80197bae48 Revert not decoding legacy difficulty points on scrolling rulesets for now 2021-09-18 15:32:08 +02:00
76ccdd1340 Collect and sort points from nested objects before extracting 2021-09-18 14:38:38 +02:00
8026968939 Move difficulty -> effect point conversion back to decoder 2021-09-18 14:38:38 +02:00
af7c2b93e6 Add encoding support for SamplesMatchPlaybackRate 2021-09-12 16:47:38 +02:00
cd181452be Add decoding support for SamplesMatchPlaybackRate 2021-09-12 16:45:27 +02:00
943e0d49f7 Handle control point flattening of nested hit objects 2021-09-10 17:29:09 +09:00
3c7a34bdbd Move mania-specific conversion to converter 2021-09-06 21:06:13 +09:00
766d789845 Rename ApproachRate to ScrollSpeed for now (to reduce complexity/confusion) 2021-09-06 21:06:13 +09:00
0e6660da30 Replace todo with permanent comment 2021-09-03 17:11:12 +09:00
d587dc6203 Populate new approach rate where required 2021-09-03 17:11:12 +09:00
a3d9ab1e2e Move approach rate to EffectControlPoint 2021-09-03 16:58:16 +09:00
4eb09ea1a9 Update decoder to also extract DifficultyControlPoints from HitObjects 2021-09-03 16:58:16 +09:00
9fa8bee094 Remove outdated TODO 2021-08-31 14:51:19 +09:00
ce0d7cce2d Merge branch 'remove-ijsonserializable' into no-more-sample-control-points-info 2021-08-31 14:40:54 +09:00
015df282fe Simplify copy operations 2021-08-30 18:32:55 +09:00
d35c4da906 Add new control point to legacy regeneration logic 2021-08-30 17:14:53 +09:00