Skip to content

Add song select beatmap leaderboard display #32844

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

Merged
merged 24 commits into from
Apr 30, 2025
Merged
Show file tree
Hide file tree
Changes from 13 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
c71f3de
Update beatmap leaderboard score design to match new metrics
frenzibyte Apr 18, 2025
60171f1
Add new beatmap leaderboard score tooltip
frenzibyte Apr 18, 2025
34e8943
Add beatmap leaderboard wedge
frenzibyte Apr 18, 2025
81d54a9
Implement score fetch functionality
frenzibyte Apr 18, 2025
90f711d
Merge branch 'master' into song-select-v2-wedges-leaderboard
peppy Apr 22, 2025
7a18a77
Fix regression from copy waste
peppy Apr 22, 2025
bec2d62
Seal `BeatmapLeaderboardScore` for now
peppy Apr 22, 2025
26f2703
Fix non-sheared test showing sheared drawables
peppy Apr 22, 2025
de82100
Make leaderbaord animation barely bareable
peppy Apr 22, 2025
8bf95ca
Don't animate on initial mode display
peppy Apr 22, 2025
99b44aa
Merge branch 'master' into song-select-v2-wedges-leaderboard
peppy Apr 23, 2025
7c6a1f2
Update fetch logic to match existing leaderboard
peppy Apr 23, 2025
698f9bd
Begin to fix eyesore code in `BeatmapLeaderboardScore`
peppy Apr 23, 2025
d13c7e6
Remove all animations from `BeatmapLeaderboardScore` and fix more eye…
peppy Apr 23, 2025
3b2e828
Remove double binding
bdach Apr 23, 2025
bd58aac
Begin to fix `BeatmapLeaderboardWedge` code quality
peppy Apr 24, 2025
6cdbfe0
Update 404ing cover image URLs
peppy Apr 24, 2025
18060d3
Fix user covers not loading if one corner is off-screen
peppy Apr 24, 2025
f3ac93d
Merge branch 'master' into song-select-v2-wedges-leaderboard
peppy Apr 25, 2025
d907719
Add tests with mods with adjusted settings
peppy Apr 28, 2025
71620bf
Bring back full mod icons
frenzibyte Apr 29, 2025
ca11f33
Add DA mod with custom adjustment in new score test scene
frenzibyte Apr 29, 2025
fc0a233
Adjust right-side content layout to mask mods
frenzibyte Apr 30, 2025
cb3f8d7
Remove colour lightening of judgement colours
peppy Apr 30, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Cursor;
using osu.Framework.Testing;
using osu.Framework.Utils;
using osu.Game.Configuration;
Expand All @@ -28,7 +29,7 @@

namespace osu.Game.Tests.Visual.SongSelectV2
{
public partial class TestSceneLeaderboardScore : SongSelectComponentsTestScene
public partial class TestSceneBeatmapLeaderboardScore : SongSelectComponentsTestScene
{
[Cached]
private OverlayColourProvider colourProvider { get; set; } = new OverlayColourProvider(OverlayColourScheme.Aquamarine);
Expand All @@ -44,18 +45,23 @@ public void TestSheared()
{
AddStep("create content", () =>
{
Children = new Drawable[]
Child = new PopoverContainer
{
fillFlow = new FillFlowContainer
RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y,
Children = new Drawable[]
{
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y,
Spacing = new Vector2(0f, 2f),
Shear = OsuGame.SHEAR,
},
drawWidthText = new OsuSpriteText(),
fillFlow = new FillFlowContainer
{
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y,
Spacing = new Vector2(0f, 2f),
Shear = OsuGame.SHEAR,
},
drawWidthText = new OsuSpriteText(),
}
};

foreach (var scoreInfo in getTestScores())
Expand All @@ -78,22 +84,27 @@ public void TestNonSheared()
{
AddStep("create content", () =>
{
Children = new Drawable[]
Child = new PopoverContainer
{
fillFlow = new FillFlowContainer
RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y,
Children = new Drawable[]
{
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y,
Spacing = new Vector2(0f, 2f),
},
drawWidthText = new OsuSpriteText(),
fillFlow = new FillFlowContainer
{
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y,
Spacing = new Vector2(0f, 2f),
},
drawWidthText = new OsuSpriteText(),
}
};

foreach (var scoreInfo in getTestScores())
{
fillFlow.Add(new BeatmapLeaderboardScore(scoreInfo)
fillFlow.Add(new BeatmapLeaderboardScore(scoreInfo, sheared: false)
{
Rank = scoreInfo.Position,
IsPersonalBest = scoreInfo.User.Id == 2,
Expand All @@ -112,18 +123,23 @@ public void TestUseTheseModsDoesNotCopySystemMods()

AddStep("create content", () =>
{
Children = new Drawable[]
Child = new PopoverContainer
{
fillFlow = new FillFlowContainer
RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y,
Children = new Drawable[]
{
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y,
Spacing = new Vector2(0f, 2f),
Shear = OsuGame.SHEAR,
},
drawWidthText = new OsuSpriteText(),
fillFlow = new FillFlowContainer
{
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y,
Spacing = new Vector2(0f, 2f),
Shear = OsuGame.SHEAR,
},
drawWidthText = new OsuSpriteText(),
}
};

var scoreInfo = new ScoreInfo
Expand Down
Loading
Loading