osu
osu copied to clipboard
BPM display in mods overlay
This PR adds BPM display next to difficulty multiplier display into mods overlay. This allows users to see final bpm after applying custom dt/nc/ht without closing the overlay.
Issues here:
- Label should be shorten to just "BPM" or localized. Which is better and in which class should i put field with localisable string?
- Now, it will be visible only if
ShowTotalMultiplier
is true, because i share container withDifficultyMultiplierDisplay
. I think that it's ok, because DMD is hidden only in freemods selection where this control is useless anyway. - Currently, opening customization panel shifts the whole overlay up, making this control invisible. Something to fix as a follow-up.
- WU/WD/AS are not supported, like in beatmap wedge.
Test scene included.
Dunno about this from a design standpoint. I was hoping a design for this would arrive from @arflyte but no luck I guess. Also note that in this form, this display is potentially taking space away from a search box that I was going to add.
I'll review code tomorrow.
Mentioned in OP, but this is kinda useless as it stands:
Uploading osu! 2022-08-24 at 05.27.25.mp4…
@arflyte ?
this display is potentially taking space away from a search box
Mods names are not so long. I think half of the screen will be enough for it. If we short the labels to just "BPM" and "Score", there will be space to add even more such displays.
Mentioned in OP, but this is kinda useless as it stands
My suggestion here is to move container with this displays to a higher level, forex. in ModSelectOverlay
itself. They won't be shifted out of screen while customization panel is open.
Is this intended to be dependent on #19991 now?
After same experiments, IMO the best way is just to duplicate effect displays to ModSettingsArea
. I also added a simple animation to create feeling that it's the same panel, just moved off-screen.
https://user-images.githubusercontent.com/53872073/187276542-6c66bc8f-15f9-4ee0-ae84-3be1344deece.mp4
Will this be accepted?
Is this intended to be dependent on #19991
Yes.
Will this be accepted?
I'm not a fan of duplicating the displays, personally, from a functional standpoint. The visual look also leaves much to be desired for me (the alignment of the items seems really weird for me).
For reference, some of the newer figma designs just get rid of the customisation panel at the bottom in favour of a dropdown, which would potentially solve this. That said we direly need input from @arflyte here whether that is something that's final or just a proposal (third time the charm, maybe?)
I think the current problem with the design is that it's not suitable to display many types of info as it would clutter up everything (it's just bad to have a lot of boxes)
So probably, as a long-term solution, I have to design a better information container that can house multiple info, which could also be future-proof.
@Feodor0090 I think it's fine to duplicate the display as you proposed. Please apply this change and we'll take it from ther.
There is a failing test that i am not sure what to do with - TestSceneFreeModSelectOverlay.TestCustomisationNotAvailable()
. It's checking the height of customization panel to know is it opened or not. The problem here is that after my changes mod overlay won't contain a customization panel at all, if it is not available (AllowCustomisation
is false).
How should I adjust it? Or maybe just remove (there is no customization panel => it can't open anyway)?
Superseded by https://github.com/ppy/osu/pull/24705.