-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Double sized yellow cursor #26477
Comments
I don't understand what this is trying to say. It appears that you were trying to upload a video of this but failed. Please try again. |
I would like a clear and reproducible description of the issue from someone please. |
When the resume cursor appears, it is initially scaled: osu/osu.Game.Rulesets.Osu/UI/OsuResumeOverlay.cs Lines 114 to 118 in da29faf
The resume cursor also handles input, so in that 1 second, it has an unintended larger area to click on: |
Probably fine? |
I think that by clicking like in the video, I can get a larger position offset after pausing, which is equivalent to the cursor teleporting to a farther position. However, if someone does this like me and logs in to play, will it affect the game balance? For example, doing this in places where always almost hit. This is reflected on some beatmaps (such as having only one note placed far away). |
Okay so what you're saying that this is a gameplay fairness issue. I'm not sure this is that important but I guess we can remove the scaling transition? I'd rather do that than have a "fake" hitbox that doesn't change scale. |
I think that's okay. And I think we can make the yellow cursor flicker to remind players of its position. (Like Kiai time?) |
Making the input handling area not change on scale looks to be easy, especially since diff --git a/osu.Game.Rulesets.Osu/UI/Cursor/OsuCursor.cs b/osu.Game.Rulesets.Osu/UI/Cursor/OsuCursor.cs
index 18351c20ce..eaf2c3493c 100644
--- a/osu.Game.Rulesets.Osu/UI/Cursor/OsuCursor.cs
+++ b/osu.Game.Rulesets.Osu/UI/Cursor/OsuCursor.cs
@@ -32,7 +32,7 @@ public partial class OsuCursor : SkinReloadableDrawable
private SkinnableDrawable cursorSprite;
private Container cursorScaleContainer = null!;
- private Drawable expandTarget => (cursorSprite.Drawable as OsuCursorSprite)?.ExpandTarget ?? cursorSprite;
+ protected Drawable ExpandTarget => (cursorSprite.Drawable as OsuCursorSprite)?.ExpandTarget ?? cursorSprite;
public IBindable<float> CursorScale => cursorScale;
@@ -106,10 +106,10 @@ public void Expand()
{
if (!cursorExpand) return;
- expandTarget.ScaleTo(released_scale).ScaleTo(pressed_scale, 400, Easing.OutElasticHalf);
+ ExpandTarget.ScaleTo(released_scale).ScaleTo(pressed_scale, 400, Easing.OutElasticHalf);
}
- public void Contract() => expandTarget.ScaleTo(released_scale, 400, Easing.OutQuad);
+ public void Contract() => ExpandTarget.ScaleTo(released_scale, 400, Easing.OutQuad);
/// <summary>
/// Get the scale applicable to the ActiveCursor based on a beatmap's circle size.
diff --git a/osu.Game.Rulesets.Osu/UI/OsuResumeOverlay.cs b/osu.Game.Rulesets.Osu/UI/OsuResumeOverlay.cs
index f5e83f46f2..e75812d6e0 100644
--- a/osu.Game.Rulesets.Osu/UI/OsuResumeOverlay.cs
+++ b/osu.Game.Rulesets.Osu/UI/OsuResumeOverlay.cs
@@ -114,7 +114,7 @@ public void OnReleased(KeyBindingReleaseEvent<OsuAction> e)
public void Appear() => Schedule(() =>
{
updateColour();
- this.ScaleTo(4).Then().ScaleTo(1, 1000, Easing.OutQuint);
+ ExpandTarget.ScaleTo(4).Then().ScaleTo(1, 1000, Easing.OutQuint);
});
private void updateColour() master: CleanShot.2024-01-12.at.16.37.01.mp4diff: CleanShot.2024-01-12.at.16.37.41.mp4If it sounds good, I can open a PR for that (plus/minus some details to make code slightly more digestible). |
Seems fine to apply that change. The animation does help for visibility of where the cursor is. |
Type
Game behaviour
Bug description
At the moment of canceling the pause, the size of the yellow cursor is larger than usual, about twice the size, and clicking on this double sized yellow cursor can still continue the game.
Screenshots or videos
2024-01-11.19-21-18_Sav1.mp4
Version
2023.1231.0
Logs
log
The text was updated successfully, but these errors were encountered: