1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-18 14:52:56 +08:00
Commit Graph

297 Commits

Author SHA1 Message Date
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
e65f8ba7a0
Simplify implementation 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
Dean Herbert
5350945340
Update HasFlag usages 2024-07-03 00:19:04 +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
0fe2e1e8d6
Re-fix mania conversion following new discoveries 2023-12-08 16:33:10 +09:00
Dan Balasescu
d6cb8b70bb
Fix FP precision issue when converting mania beatmaps 2023-12-07 12:26:02 +09:00
Dan Balasescu
1c3bcbd548
Use IHasPath instead of IHasDistance for mania/taiko 2023-11-29 17:30:21 +09:00
Dan Balasescu
16577829e2
Fix mania and taiko slider conversion distance 2023-11-28 21:14:56 +09:00
Dan Balasescu
b4b7a7ea5e Add LegacyBeatmapConversionDifficultyInfo abstraction 2023-10-02 16:52:01 +09:00
Dean Herbert
56cc2b62f0 Make not extension method 2023-09-15 18:13:04 +09:00
Dean Herbert
0031da76ff Move to extension method and throw on non-legacy ruleset 2023-09-15 17:38:34 +09:00
Dean Herbert
4ecc4632aa Make rounding error even less precise
Basically matching the old code more closely to avoid too much precision
from doing math in a slightly different way.
2023-09-12 18:41:09 +09:00
Bartłomiej Dach
e71fef4b6a
Remove braces 2023-09-07 18:47:03 +02:00
Dean Herbert
b34a36f6ce Remove all usage of LegacyDifficultyControlPoint 2023-09-07 17:41:57 +09:00
Dean Herbert
1a37543d28 Rename SliderVelocity to SliderVelocityMultiplier to distinguish from Velocity 2023-09-06 19:01:08 +09:00
Dean Herbert
0ab0c52ad5 Automated pass 2023-06-24 01:00:03 +09:00
Dan Balasescu
145530035c Optimise mania density calculation during beatmap conversion 2023-06-15 20:00:15 +09:00
OliBomby
39d9f0c3f5 removing using 2023-04-26 13:22:13 +02:00
OliBomby
6c70948681 Remove IContext & add IHasGenerateTicks 2023-04-26 13:10:57 +02:00
OliBomby
e4b64bdc3e clean up code stuff 2023-04-25 19:06:29 +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
Berkan Diler
08d2fbeb8e Use new ArgumentNullException.ThrowIfNull throw-helper API 2022-12-22 21:27:59 +01:00
Dean Herbert
dee01abab1 Add method to get stage from column index 2022-10-07 15:24:37 +09:00
Dean Herbert
2ae1aef0be Move column initialisation to ctor and fix remaining tests 2022-10-07 15:24:36 +09:00
Dean Herbert
7796a4c109 Cache StageDefinition for consumption (and remove ColumnType) 2022-10-07 15:24:36 +09:00
Dean Herbert
df3ad618e1 Move ColumnType to constructor 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
Joseph Madamba
7de43e3aba Fix most open compound words in identifiers being closed 2021-12-27 20:26:28 -08:00
Dean Herbert
5c7623e68e
Merge pull request #15255 from goodtrailer/node-samples-ilist
Change IHasRepeats.NodeSamples to IList from List
2021-10-28 14:24:26 +09:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
goodtrailer
4440b9ca11 Change IHasRepeats.NodeSamples to IList from List 2021-10-23 01:59:07 -07:00