Skip to content

Implement legacy bar hit error meter - #38535

Merged
peppy merged 6 commits into
ppy:masterfrom
bdach:legacy-hit-error-bar
Aug 7, 2026
Merged

Implement legacy bar hit error meter#38535
peppy merged 6 commits into
ppy:masterfrom
bdach:legacy-hit-error-bar

Conversation

@bdach

@bdach bdach commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator
hit.error.meter.-.HD.1080p.mov
stable this PR
osu!, OD=0 stable-osu-od0 lazer-osu-od0
osu!, OD=5 stable-osu-od5 lazer-osu-od5
osu!, OD=10 stable-osu-od10 lazer-osu-od10
taiko, OD=0 stable-taiko-od0 lazer-taiko-od0
taiko, OD=5 stable-taiko-od5 lazer-taiko-od5
taiko, OD=10 stable-taiko-od10 lazer-taiko-od10
mania, OD=0 stable-mania-od0 lazer-mania-od0
mania, OD=5 stable-mania-od5 lazer-mania-od5
mania, OD=10 stable-mania-od10 lazer-mania-od10

Things matching stable:

  • Position of meter on unmodified legacy skins
  • Size of meter
  • Scaling of meter width with OD (widths of bars are derived directly from hit windows)
  • Hit bar size & animation
  • Moving average arrow animation

Things intentionally not matching stable:

  • Arrow indicator slightly larger (unsure why, measurements taken verbatim from stable - possibly due to not using the same exact png asset and instead using Triangle)
  • Colours intentionally different
  • MEH bars intentionally not shown in taiko because they are stable lies (nothing in stable taiko uses that hit window)
  • mania shows bars for PERFECTs and GOODs
  • Meter does not fade out when there are no recent hits (may be brought back later if there are complaints about it)

Follow-ups / scope limits:

  • I have introduced a const for the magic 1.6f constant that shows up everywhere in 443f09d (see also: Implement legacy back button UI #37676 (comment)). I have not however attempted to replace all inline references to 1.6f with the const here, I would ask that to be considered for a separate PR.
  • In catch the meter degenerates to the following:
    catch-lazer
    stable would use the colour hit meter style instead here. Bringing back parity in that respect was attempted in Use colour hit error meter in catch #38269.

bdach added 5 commits August 6, 2026 13:33
This `1.6f` constant repeats too much everywhere and I am not about to
repeat it once more.

I will do a pass on all of the places that inline this (and there are
many) as a follow-up.
Literally every time with this test.
@unststable

Copy link
Copy Markdown
Contributor

just curious, why different colors?

@bdach

bdach commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator Author

Because they are the same standard colours used all over lazer for hit results and I am not changing them for this.

@peppy

peppy commented Aug 7, 2026

Copy link
Copy Markdown
Member

One thing the stable hit error bar did was fade out when there were no recent hits.

Doesn't necessarily have to happen here, let's wait and see if people point it out post release. Might be something which is better re-implemented on a higher level (ie there's probably other components that players may want to fade in/out in a similar way, so being able to apply to arbitrary skin components might be nice).

@peppy
peppy merged commit de07bcf into ppy:master Aug 7, 2026
10 checks passed
@github-project-automation github-project-automation Bot moved this from Inbox to Done in osu! team task tracker Aug 7, 2026
@bdach
bdach deleted the legacy-hit-error-bar branch August 7, 2026 06:57
peppy pushed a commit that referenced this pull request Aug 7, 2026
Follow-up item from #38535.

Also renames the const at @peppy's request.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants