-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rename beatmap-level velocity/tick rate to remove "slider" terminology #23432
base: master
Are you sure you want to change the base?
Conversation
The intention was to give an idea of what the most common velocity of the beatmap is, but in hindsight, because the "base" velocity is being set elsewhere this doesn't make sense. It will/should be 1.0x. Showing this range is still valuable, though.
I think this makes the most sense of the iterations I've tested so far, albeit maybe being a touch too verbose.
These values are used for more than just sliders across all rulesets, so it makes sense to rename them as such.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This has a foundational issue, so I don't see a way to proceed with this series any further
[Ignored] | ||
public double BaseVelocity { get; set; } = 1; | ||
|
||
[Ignored] | ||
public double TickRate { get; set; } = 1; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As the single test failure demonstrates, ignoring these is running head-first into #20883. These properties will get decoded from the .osu
file and then promptly get discarded due to this logic:
osu/osu.Game/Beatmaps/WorkingBeatmap.cs
Lines 230 to 231 in 88135a3
// Use the database-backed info for more up-to-date values (beatmap id, ranked status, etc) | |
b.BeatmapInfo = BeatmapInfo; |
Thus, making it effectively such that every single beatmap ever will have a base velocity and tick rate of 1.
Contrary to #23418, however, I'm not sure how to fix this, because I'm not sure where else these properties would live.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess you could do whatever this hokey-pokey is but it just seems cursed to me...
diff --git a/osu.Game/Beatmaps/WorkingBeatmap.cs b/osu.Game/Beatmaps/WorkingBeatmap.cs
index ab790617bb..9f7bf60344 100644
--- a/osu.Game/Beatmaps/WorkingBeatmap.cs
+++ b/osu.Game/Beatmaps/WorkingBeatmap.cs
@@ -227,9 +227,14 @@ private Task<IBeatmap> loadBeatmapAsync()
// The original beatmap version needs to be preserved as the database doesn't contain it
BeatmapInfo.BeatmapVersion = b.BeatmapInfo.BeatmapVersion;
+ var decodedBeatmapInfo = b.BeatmapInfo;
+
// Use the database-backed info for more up-to-date values (beatmap id, ranked status, etc)
b.BeatmapInfo = BeatmapInfo;
+ // but keep the difficulty data I guess??
+ b.BeatmapInfo.Difficulty = decodedBeatmapInfo.Difficulty;
+
return b;
}, loadCancellationSource.Token, TaskCreationOptions.LongRunning, TaskScheduler.Default);
}
These values are used for more than just sliders across all rulesets, so it makes sense to rename them as such.
Also removes these values from realm, as they probably shouldn't have been in there in the first place.