-
-
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
Add configuration option to disable Taiko notes flying after hit #31665
base: master
Are you sure you want to change the base?
Conversation
Short demo: taiko_demo.mp4 |
Just a personal opinion as a taiko player, I like this but it feels like the fade effect takes too long, I feel like I'm hitting late because the note disappears late. For comparison, stable faded the notes instantly. |
ae0515c
to
ef45c1d
Compare
@LittleLilyBun You're right, I changed this to be the same as in stable, should be less jarring: 2025-01-24.23-07-48.mp4 |
As an aside, I made a somewhat related pull request about a year ago addressing the animation of the flying notes not snapping to the center of the judgement area like they do in stable: #26926 Perhaps these two features could be combined together into a single setting as they both relate to the appearance of the flying notes? Would wait on the thoughts of a maintainer before making any changes. |
I'm not going to make a call on this one because this is something that would've been addressed by ruleset skinning. Will defer to @peppy. |
Skimming through that PR, it seems that these are completely separate issues? The "flying away" animation is not an object subject to skinning in any case, it is simply the animation path of Taiko hit objects. It is more in line with configurable circle snapping, which is currently locked behind the classic mod. Also, I might add that if I understood the code correctly, the animation anyway has a discontinuous second derivative which would need fixing. (If an object moves |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not against this happening, but this PR's implementation is a bit haphazard.
Special attention is going to be required to get the visible state of the HUD – or more specifically, the health bar. Not too sure how this should be handled.
@@ -18,11 +18,13 @@ protected override void InitialiseDefaults() | |||
base.InitialiseDefaults(); | |||
|
|||
SetDefault(TaikoRulesetSetting.TouchControlScheme, TaikoTouchControlScheme.KDDK); | |||
SetDefault(TaikoRulesetSetting.HitFlyingEnable, TaikoHitFlyingEnable.Always); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't this be sometimes to match stable?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had assumed the behaviour in lazer is intentional, since the animation is also no longer related to the health bar. So I just added a ClassicDefault that matches stable. Should the lazer default be sometimes as well?
{ | ||
rulesetConfig.BindWith(TaikoRulesetSetting.HitFlyingEnable, hitFlyingEnableSetting); | ||
hitFlyingEnableSetting.BindValueChanged(_ => updateHitFlying()); | ||
osuConfig.BindWith(OsuSetting.HUDVisibilityMode, hudVisible); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will look wrong during replays and when the hold-for-hud key is held.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm you're right. Ideally we could bind to HUDOverlay.ShowHud
here, but I'm not familiar enough with the framework to get the DI right. It gives me a DependencyNotRegisteredException
if I try to [Resolved]
it.
On a related note: Is it fine if, like now, the decision to show a flying note is only taken once, such that enabling the HUD will not show the animation for notes that have already passed?
@@ -39,6 +42,9 @@ public TaikoAction? HitAction | |||
private double? lastPressHandleTime; | |||
|
|||
private readonly Bindable<HitType> type = new Bindable<HitType>(); | |||
private readonly Bindable<TaikoHitFlyingEnable> hitFlyingEnableSetting = new Bindable<TaikoHitFlyingEnable>(); | |||
private readonly Bindable<HUDVisibilityMode> hudVisible = new Bindable<HUDVisibilityMode>(); | |||
protected bool ShowFlyingHits; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is flimsy. If this isn't in the right value before LoadComplete
, it won't be handled correctly in DrawableFlyingHit
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be fine now, since DrawableFlyingHit
has no logic on this anymore?
@@ -26,6 +26,11 @@ protected override void LoadComplete() | |||
{ | |||
base.LoadComplete(); | |||
ApplyMaxResult(); | |||
|
|||
if (!ShowFlyingHits) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nothing will ever unhide this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This wasn't necessary it turns out. I removed this.
In osu!stable, the "flying away" animation is shown only when the HUD is active. This adds a configuration option to restore this behaviour or to disable the animation altogether.
ef45c1d
to
9431df3
Compare
In osu!stable, the "flying away" animation is shown only when the HUD is active. This adds a configuration option to restore this behaviour or to disable the animation altogether.
Discussed previously: #23656