ppy / osu

rhythm is just a *click* away!
https://osu.ppy.sh
MIT License
14.64k stars 2.16k forks source link

Rewinding or making mutations in the editor can result in changing hit states #10455

Open Gabixel opened 3 years ago

Gabixel commented 3 years ago

This issue has been repurposed to cover the general case of hitobject states not matching expectations when rewinding or making changes to a beatmap. This is due to autoplay not replaying the full history, potentially leaving the newly mutated / updated / rewound object in an unexpected state.

While this doesn't actually affect anything permanently, it can be seen as a buggy or bad user experience, and is something we will eventually want to fix.

One part is that we are not applying frame stability. Another is that we aren't reapplying inputs to a currently active hitobject up to the current point in time, after a mutation is made to it.


Original issue:

Describe the bug: Rewinding the timeline causes some strange behaviours to spinners: sometimes they accumulate bonus points or show negative values. It also seems to break their correct color/appearance.

Screenshots or videos showing encountered issue:

Here are some examples I've made with a spinner (Map used):

https://user-images.githubusercontent.com/43073074/230741012-6cf58678-d939-4afd-89f9-505816ae54db.mp4

osu!lazer version: 2020.1009.0

peppy commented 3 years ago

This is intended. Autoplay is best-effort in editor and will not be perfect.

Will leave this opening tracking the bonus score, which should probably just be hidden or something.

bdach commented 1 year ago

Bumping this up in priority due to sheer number of duplicates.