Skip to content
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

Open
wants to merge 11 commits into
base: master
Choose a base branch
from

Conversation

peppy
Copy link
Member

@peppy peppy commented May 8, 2023

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.

peppy added 10 commits May 8, 2023 13:13
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.
@peppy peppy added the next release Pull requests which are almost there. We'll aim to get them in the next release, but no guarantees! label May 8, 2023
Copy link
Collaborator

@bdach bdach left a 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

Comment on lines +23 to +27
[Ignored]
public double BaseVelocity { get; set; } = 1;

[Ignored]
public double TickRate { get; set; } = 1;
Copy link
Collaborator

@bdach bdach May 8, 2023

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:

// 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.

Copy link
Collaborator

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);
             }

@bdach bdach added the blocked Don't merge this. label May 9, 2023
@bdach bdach removed the next release Pull requests which are almost there. We'll aim to get them in the next release, but no guarantees! label May 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants