-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
mania hitsounds do not work properly #8145
Comments
As far as I can see the map you linked leverages storyboard samples for hitsound playback, so tagging it as such. Haven't checked the second map from the video but it does seem off-sync. Maybe a lead-in issue. |
Investigated one of the cases (Renai Circulation) and it's not actually due to the storyboard, but due to the fact that long notes play samples on release in lazer (#2506)... Overriding I'll have a look if I can determine something about the other one. |
I had a look at the other case and what's causing incorrect sample playback. Unfortunately it seems to be caused by at least two simultaneous issues.
Both of the parts of the problem touch quite integral parts of systems involved, so please advise on how you'd like this fixed. (I can also yield fixing these things to you, if you'd prefer) |
This PR is intended to resolve the first issue mentioned. |
I was wrong about Just deleting the conditional "fixes" the issue but it seems gameplay clock's |
i haven't looked into this in detail, but that behaviour sounds wrong and may be an oversight in from recollection, the underlying clock should be an interpolating variety, which should generally ensure elapsed is always changing. |
After another maddening evening looking at this issue I'm starting to feel as if I have a better grasp on it. First off, it isn't strictly true that When I wrapped that Even though the check I mentioned above started being true, for some reason setting |
Hmm, that sounds weird. Each |
I've finally root-caused the remaining issue after like 2 weeks of searching overall and a couple of hours adding log statements everywhere. It's a pretty huge one. The problem arises from the fact that sometimes this map has two storyboard samples starting at the same time. Storyboard layers are
osu/osu.Game/Storyboards/Drawables/DrawableStoryboardSample.cs Lines 66 to 72 in f730157
I confirmed this by making a copy of |
I've propped up a test case and an "obvious" resolution here. It works, but I'm not sold on it yet. It's a bit awkward code-wise and I'm a little worried about a potential performance impact, even with the optimisation of using one list instance instead of reallocating every frame. I experimented a little with alternatives, such as deferring |
Have you tried scheduling the callbacks? Otherwise yeah I think I can get behind such a solution. |
I did try scheduling the |
mania maps with custom hitsounds, especially keymaps do not work correctly. a lot of the hitsounds are correct, but some are the wrong file and some don't play at all. sorry if this is a known issue, i couldn't find it anywhere
maps: https://osu.ppy.sh/beatmapsets/136986#mania/365278 https://osu.ppy.sh/beatmapsets/351167#mania/1700101 etc
video: https://youtu.be/Thxm-U6F1C0
osu!lazer version: latest
Logs: none
The text was updated successfully, but these errors were encountered: