ppy / osu

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

Leaderboard overlaps part of taiko playfield #20422

Open peppy opened 1 year ago

peppy commented 1 year ago

Discussed in https://github.com/ppy/osu/discussions/20416

Originally posted by **2minwia** September 23, 2022 Doesn't make anything unplayable since the only hidden part is the mascot/pippidon and part of the key-hit-indicator-drum, but bothers me enough visually that i just want to downgrade... (hiding the ui isnt exactly an ideal solution to this) Screenshot 2022-09-23 at 12 43 08 Please move the leaderboard below the playfield!! Logs: N/A (assumed irrelevant)
frenzibyte commented 1 year ago

Initially I was going to suggest placing the leaderboard on the bottom right, as it'll be a good position in general that would also work with skins that have large health bars on the top right.

But now that I think about it, it may not work with rulesets like osu!catch and custom ones like Rush!. Probably best making it definable by the ruleset I think (maybe an Anchor property as a start).

KiwiKin1 commented 1 year ago

hi, im having this problems too not only in taiko, but also standard mode and catch mode, i suggest the leaderboard overlay to be editable in skin layout editor, not even the position of this overlay blocking some view, but the size and color of it would make disturbing for some people

peppy commented 1 year ago

i suggest the leaderboard overlay to be editable in skin layout editor, not even the position of this overlay blocking some view, but the size and color of it would make disturbing for some people

That is the eventual goal. This issue is focused on fixing the default positioning.

Terochi commented 1 year ago

I suggest having a predefined area (using a skin component here) for each game mode, which would then automatically force the leaderboard out. Could be also useful for easy snapping of other components to it. image

tatitatai commented 9 months ago

There's plenty of space in the bottom left below taiko gameplay and it's what stable users are used to

peppy commented 8 months ago

Moving beneath:

diff --git a/osu.Game/Screens/Play/HUDOverlay.cs b/osu.Game/Screens/Play/HUDOverlay.cs
index 128f8d5ffd..5f6fc48010 100644
--- a/osu.Game/Screens/Play/HUDOverlay.cs
+++ b/osu.Game/Screens/Play/HUDOverlay.cs
@@ -15,6 +15,7 @@
 using osu.Framework.Graphics.Primitives;
 using osu.Framework.Input.Bindings;
 using osu.Framework.Input.Events;
+using osu.Framework.Utils;
 using osu.Game.Configuration;
 using osu.Game.Input.Bindings;
 using osu.Game.Localisation;
@@ -294,7 +295,9 @@ protected override void Update()
             else
                 topRightElements.Y = 0;

-            if (lowestTopScreenSpaceLeft.HasValue)
+            if (Precision.AlmostEquals(playfieldComponents.DrawWidth, DrawWidth))
+                LeaderboardFlow.Y = ToLocalSpace(new Vector2(0, playfieldComponents.ScreenSpaceDrawQuad.BottomLeft.Y)).Y;
+            else if (lowestTopScreenSpaceLeft.HasValue)
                 LeaderboardFlow.Y = MathHelper.Clamp(ToLocalSpace(new Vector2(0, lowestTopScreenSpaceLeft.Value)).Y, 0, DrawHeight - LeaderboardFlow.DrawHeight);
             else
                 LeaderboardFlow.Y = 0;

CleanShot 2024-01-16 at 07 31 24

(no, there's not plenty of space below)

Riamuw commented 6 months ago

@peppy I suggest maybe making the leaderboard horizontal on the top or bottom or just having the leaderboard as a resizable,moveable,rotatable element in the skin editor

I'm sorry for the ping