McKay42 / McOsu

Custom unofficial osu! practice client with Virtual Reality support
GNU General Public License v3.0
428 stars 40 forks source link

Incorrect hitcircle fade in max opacity with HD #371

Closed TechnoZamb closed 9 months ago

TechnoZamb commented 11 months ago

For ARs < 10 with HD enabled, the maximum opacity reached during the fade in period doesn't quite reach 100% on stable. For example, on AR 3, it reaches 189 / 255 (hitcircle.png is a white square): 2023-10-21 18-56-05 mpc-hc64

On McOsu however, it goes all the way to 255: 2023-10-21 18-59-52 mpc-hc64

McKay42 commented 11 months ago

Huh, and I thought I knew everything about stupid stable behaviors. I don't understand why this would happen at all, the fading logic is defined like this in stable code:

hiddenfadein = Transformation(TransformationType.Fade, 0, 1, StartTime - LocalPreEmpt, StartTime - (int)(LocalPreEmpt * 0.6)) hiddenfadeout = Transformation(TransformationType.Fade, 1, 0, StartTime - (int)(LocalPreEmpt * 0.6), StartTime - (int)(LocalPreEmpt * 0.3))

These must reach full opacity by definition, since the fadeout starts exactly when the fadein is finished. Lazer behaves like stable and has the same math (see here), so there must be something we're missing.

Pinging @Wieku since this affects danser too.

McKay42 commented 11 months ago

And the explanation is https://github.com/ppy/osu/pull/20572

McKay42 commented 9 months ago

Will be included in next update, see https://github.com/McKay42/McOsu/commit/9c9230077c993a6cc84ffc04fd082555f2916722