Dan Balasescu
d597232c2a
Fix incorrect lastPattern
value
...
In particular, mania-specific beatmaps that normally go via the
"passthrough" generator should not adjust the stored pattern value.
The "spinner" generator, which was previously intended to be used for
non-mania-specific beatmaps, is now valid even for mania-specific
beatmaps, and uses this value.
In other words, another way of writing this would be:
```csharp
if (conversion is SpinnerPatternGenerator || conversion is
PassThroughPatternGenerator) ? lastPattern : newPattern;
```
2024-12-13 16:08:12 +09:00
Dan Balasescu
ec8b320e21
Handle non-legacy types
...
Also used in some tests (e.g. beatmaps containing `HitCircle`s).
2024-12-06 17:47:49 +09:00
Dan Balasescu
e703d9e814
NRT refactorings + rename generators to match usage
...
In particular, "EndTimeObject" is no longer correct - it's strictly used
for spinners and not holds.
2024-12-06 17:16:04 +09:00
Dan Balasescu
1bbf32d567
Add some explanatory comments
...
In particular, the spinner one is the most relevant to this batch of
changes.
2024-12-06 16:40:29 +09:00
Dan Balasescu
e8728abc00
Rename LegacyPatternGenerator
to stop naming conflicts
2024-12-06 16:40:29 +09:00
Dan Balasescu
8e1bd98386
Split out + rename PassThroughPatternGenerator
...
Better symbolises the intent of this generator which is to convert
hitobjects in their most simple forms - anything with an end time
converts to a hold or otherwise converts to a normal note.
2024-12-06 16:40:29 +09:00
Dan Balasescu
8b456e1379
Always convert mania spinners
...
A big part of these changes is refactoring, which is somewhat necessary
because it was previously implemented as two separate pathways which
in-fact need to be joined at the hip when handling spinners.
I've chosen to use `IHasLegacyHitObjectType` here because there's no
other flag that allows us to tell `ConvertHold` apart from
`ConvertSpinner`.
2024-12-06 16:40:28 +09:00
Dean Herbert
9840a07eaf
Fix osu!mania hold notes playing a sound at their tail in the editor
...
Closes #29584 .
2024-08-27 14:06:02 +09:00
Dan Balasescu
8e0ca11d1c
Fully qualify LegacyBeatmapConversionDifficultyInfo
2024-04-01 17:02:32 +09:00
Dan Balasescu
ce21235db4
Remove unused OriginalTargetColumns
2024-03-28 22:51:13 +09:00
Dan Balasescu
10edb54614
Add ability to query key count with mods
2024-03-28 22:51:12 +09:00
Dan Balasescu
64399e9dd9
Refactor pattern generation to not require ManiaBeatmap
2024-03-28 22:32:27 +09:00
Dean Herbert
372f930f8b
Refactor usage of object counts for mania key count lookup to be a bit safer
...
Protects against non-initialised values and also div-by-zero.
2023-12-19 18:28:04 +09:00
Dan Balasescu
6ed5613c22
Merge branch 'master' into mania-convert-song-select-keycount
2023-12-13 13:53:50 +09:00
Dan Balasescu
2930b53edd
Simplify implementation
2023-12-13 13:43:14 +09:00
Dan Balasescu
b36db3518c
Add keycount to song select details panel and carousel panels
2023-12-09 22:31:51 +09:00
Dan Balasescu
81fe15f288
Fix osu!mania converted key count edge cases
2023-12-09 15:39:54 +09:00
Dan Balasescu
1c3bcbd548
Use IHasPath instead of IHasDistance for mania/taiko
2023-11-29 17:30:21 +09:00
Dan Balasescu
b4b7a7ea5e
Add LegacyBeatmapConversionDifficultyInfo abstraction
2023-10-02 16:52:01 +09:00
Dan Balasescu
145530035c
Optimise mania density calculation during beatmap conversion
2023-06-15 20:00:15 +09:00
Dean Herbert
2ae1aef0be
Move column initialisation to ctor and fix remaining tests
2022-10-07 15:24:36 +09:00
Dean Herbert
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
93db6c6bb0
Move FastRandom
to LegacyRandom
in osu.Game
project
2022-04-28 17:47:32 +09:00
Dean Herbert
7f65f3a47f
Remove all usage of BaseDifficulty
(and access Difficulty
instead)
2022-01-18 22:57:39 +09:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +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
bd84a8b749
Merge branch 'new-interfaces' into beatmap-difficulty-more-interface-usage
2021-10-05 18:21:21 +09:00
Dean Herbert
ec61c3c5ee
Rename all remaining cases
2021-10-03 00:55:29 +09:00
Dean Herbert
a92d499d7a
Convert usages of BeatmapDifficulty
to IBeatmapDifficultyInfo
2021-10-01 16:55:50 +09:00
Dean Herbert
56428a027e
Change static method to public
2021-03-30 16:56:20 +09:00
Dean Herbert
1d968009c2
Add osu!mania key filtering using "keys=4" at song select
2021-03-30 16:09:35 +09:00
smoogipoo
1a2dc83740
Make field readonly
2020-10-14 20:40:17 +09:00
smoogipoo
3e6ed6c9ff
Add support for dual stages (keycoop) and score multiplier
2020-10-14 17:53:28 +09:00
smoogipoo
9d09503ace
Fix spinner conversion not considering stacking + forced initial column
2020-10-09 21:13:04 +09:00
smoogipoo
4d0e4f4ade
Fix incorrect initial density
2020-10-09 21:11:18 +09:00
smoogipoo
c7d24203ce
Make beatmap conversion support cancellation tokens
2020-09-17 17:40:05 +09:00
smoogipoo
ecc9c2957f
Avoid float precision error in mania conversion
2020-09-07 16:30:05 +09:00
Bartłomiej Dach
ac019bddd6
Only play samples at start of hold note in mania maps
2020-06-04 22:33:34 +02:00
Dean Herbert
cbd563e80b
Rename to IHasDuration
2020-05-27 12:38:39 +09:00
smoogipoo
58af75ad57
Add back missing line
2020-04-22 13:45:12 +09:00
smoogipoo
cc0c82aaeb
Implement IHasXPosition on ManiaHitObject
2020-04-22 09:06:04 +09:00
smoogipoo
d957614fc9
Cleanup handling of mania samples
2020-04-22 09:06:04 +09:00
Dean Herbert
4c689c6ad2
Add constant for max stage keys
2020-04-21 10:56:04 +09:00
smoogipoo
b881293b98
Allow 10k to be played on a single stage
2020-04-20 14:08:23 +09:00
smoogipoo
91735ff367
Update MathUtils namespace usages
2020-01-09 13:43:44 +09:00
Dan Balasescu
9702cc9809
Merge branch 'master' into remove-legacy-id
2019-12-25 21:01:12 +09:00
Dean Herbert
0677f746aa
Provide the ruleset to converter classes
2019-12-24 16:02:16 +09:00
smoogipoo
6e7426a098
Simplify/improve beatmap conversion precheck
2019-12-23 17:44:18 +09:00
Huo Yaoyuan
c457571da6
Use index and range expressions
2019-12-15 20:17:35 +08:00