-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Apply combo offsets "colour hax" only on beatmap skins #12683
Conversation
To avoid potential false positive.
Better suited there, I intiailly wanted the whole legacy interface to reside in `osu.Game.Rulesets.Osu` but it's required in `ConvertHitObjectParser` and that's in the main game project, so had to leave the interface as-is for now.
I literally noticed it after I pushed, god damn it.
I really don't like this addition of a completely separate "legacy" pathway for not just a combo offset but the combo index in its entirety. I say "legacy" because this doesn't look legacy at all, but the standard for osu! hitobjects. This is the first time we've added legacy things to non-convert hitobjects too. Furthermore, there's no linking between the "real" combo index and the "legacy" combo index. What happens when the editor changes the combo index? Does it save correctly? Is the editor still going to allow setting a combo offset? This needs more encapsulation, because it's going to be very prone to failures as it is. I have no suggestions yet because this is a very complex interaction. |
Alternatively, I could add the offset back along with an index to follow for it if you think it's fine, it's just that I'm not sure it should return as their usual names, and what the special index would be named. I could add another interface
The "real" combo index and "legacy" combo index are kept pretty internal away from the editor or anything else, the editor should only have access to changing the combo offset, if the edited beatmap is a legacy beatmap in the current case.
From which side do you think it's going to be prone to failures? I've encapsulated this as much as keeping it away from anything, just an interface that objects can have it assigned to them for the |
@smoogipoo since you don't like the direction this PR is currently heading, shall I instead close it and leave the underlying issue for you to resolve when you have the time for it? or do you see this potentially being mergeable with some changes and I should leave it open? |
I've been waiting for @peppy to take a look into this PR and see if he has any better suggestions. Fine to keep open until then. |
@frenzibyte want to bring this up-to-date if that's not too much trouble? i'll review it tomorrow. |
Conflicts were straightforward, all bumped to latest master now. |
I've made some minor refactors and renames to this, and I think it's in a state I'm happy to move forward with. @smoogipoo the point you made about this potentially falling apart when support is added to the editor still stands, but I think this may be able to be resolved using a simple bindable flow. I don't think it's important for the time being. Can you take a 5 minute read through this PR's current state and make sure you're willing to turn a blind eye for the time being? |
It looks fine. |
I don't believe this is working as expected, checking with the original issue's beatmap: This looks wrong, right? |
Turns out there was this hidden logic in Will fix and bundle that case with the existing test cases. |
Closes #8282
Supersedes #8383