From 3e0abdace83466b301fc91d9545859fc6293068c Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Mon, 26 Jan 2026 15:12:49 +0900 Subject: [PATCH] Apply new inspections from 2026.1EAP1 Nothing really egregious here so not bothering with PR review. One dodgy bug which has been [reported](https://youtrack.jetbrains.com/issue/RIDER-135036/Incorrect-recursive-on-all-execution-paths-inspection) and temporarily ignored. --- osu.Game.Rulesets.Mania/UI/Stage.cs | 2 +- osu.Game.Rulesets.Osu.Tests/TestSceneShaking.cs | 2 +- osu.Game.Rulesets.Taiko/UI/TaikoPlayfield.cs | 2 +- osu.Game.Tests/Beatmaps/TestSceneEditorBeatmap.cs | 4 ++-- osu.Game.Tests/Database/BeatmapImporterTests.cs | 5 +---- .../Visual/Gameplay/TestSceneSkinEditor.cs | 2 +- .../SongSelectV2/TestSceneBeatmapTitleWedge.cs | 14 +++++++------- .../TestSceneHoldToExitGameOverlay.cs | 10 +++++----- .../TestSceneUpdateableBeatmapBackgroundSprite.cs | 4 ++-- .../TestSceneUpdateableBeatmapSetCover.cs | 4 ++-- .../Screens/Editors/RoundEditorScreen.cs | 2 +- .../Screens/Editors/SeedingEditorScreen.cs | 2 +- .../Screens/Editors/TeamEditorScreen.cs | 2 +- osu.Game/Beatmaps/Formats/LegacyBeatmapDecoder.cs | 6 +++--- osu.Game/Overlays/MusicController.cs | 2 +- osu.Game/Overlays/SkinEditor/SkinEditorOverlay.cs | 2 +- osu.Game/Screens/Footer/ScreenStackFooter.cs | 1 + osu.Game/Screens/Menu/OnlineMenuBanner.cs | 2 +- .../Match/RoundResults/SubScreenRoundResults.cs | 2 +- osu.Game/Screens/Ranking/ResultsScreen.cs | 2 +- osu.Game/Screens/Select/BeatmapCarousel.cs | 2 +- .../SelectV2/RealmPopulatingOnlineLookupSource.cs | 2 +- osu.Game/Screens/SelectV2/SoloSongSelect.cs | 2 +- 23 files changed, 38 insertions(+), 40 deletions(-) diff --git a/osu.Game.Rulesets.Mania/UI/Stage.cs b/osu.Game.Rulesets.Mania/UI/Stage.cs index 14520aa0b3..172d3cec4a 100644 --- a/osu.Game.Rulesets.Mania/UI/Stage.cs +++ b/osu.Game.Rulesets.Mania/UI/Stage.cs @@ -207,7 +207,7 @@ namespace osu.Game.Rulesets.Mania.UI var hitWindows = new ManiaHitWindows(); - AddInternal(judgementPooler = new JudgementPooler(Enum.GetValues().Where(r => hitWindows.IsHitResultAllowed(r)))); + AddInternal(judgementPooler = new JudgementPooler(Enum.GetValues().Where(hitWindows.IsHitResultAllowed))); RegisterPool(50, 200); } diff --git a/osu.Game.Rulesets.Osu.Tests/TestSceneShaking.cs b/osu.Game.Rulesets.Osu.Tests/TestSceneShaking.cs index 0599517899..51544b0c38 100644 --- a/osu.Game.Rulesets.Osu.Tests/TestSceneShaking.cs +++ b/osu.Game.Rulesets.Osu.Tests/TestSceneShaking.cs @@ -33,7 +33,7 @@ namespace osu.Game.Rulesets.Osu.Tests Debug.Assert(drawableHitObject.HitObject.HitWindows != null); double delay = drawableHitObject.HitObject.StartTime - (drawableHitObject.HitObject.HitWindows.WindowFor(HitResult.Miss) + RNG.Next(0, 300)) - Time.Current; - scheduledTasks.Add(Scheduler.AddDelayed(() => drawableHitObject.TriggerJudgement(), delay)); + scheduledTasks.Add(Scheduler.AddDelayed(drawableHitObject.TriggerJudgement, delay)); return drawableHitObject; } diff --git a/osu.Game.Rulesets.Taiko/UI/TaikoPlayfield.cs b/osu.Game.Rulesets.Taiko/UI/TaikoPlayfield.cs index bdcb341fb4..db61f27cb2 100644 --- a/osu.Game.Rulesets.Taiko/UI/TaikoPlayfield.cs +++ b/osu.Game.Rulesets.Taiko/UI/TaikoPlayfield.cs @@ -194,7 +194,7 @@ namespace osu.Game.Rulesets.Taiko.UI var hitWindows = new TaikoHitWindows(); - HitResult[] usableHitResults = Enum.GetValues().Where(r => hitWindows.IsHitResultAllowed(r)).ToArray(); + HitResult[] usableHitResults = Enum.GetValues().Where(hitWindows.IsHitResultAllowed).ToArray(); AddInternal(judgementPooler = new JudgementPooler(usableHitResults)); diff --git a/osu.Game.Tests/Beatmaps/TestSceneEditorBeatmap.cs b/osu.Game.Tests/Beatmaps/TestSceneEditorBeatmap.cs index bb24560a44..73c15e0bcd 100644 --- a/osu.Game.Tests/Beatmaps/TestSceneEditorBeatmap.cs +++ b/osu.Game.Tests/Beatmaps/TestSceneEditorBeatmap.cs @@ -247,7 +247,7 @@ namespace osu.Game.Tests.Beatmaps AddStep("change all start times", () => { - editorBeatmap.HitObjectUpdated += h => updatedObjects.Add(h); + editorBeatmap.HitObjectUpdated += updatedObjects.Add; for (int i = 0; i < 10; i++) allHitObjects[i].StartTime += 10; @@ -282,7 +282,7 @@ namespace osu.Game.Tests.Beatmaps AddStep("change start time twice", () => { - editorBeatmap.HitObjectUpdated += h => updatedObjects.Add(h); + editorBeatmap.HitObjectUpdated += updatedObjects.Add; editorBeatmap.HitObjects[0].StartTime = 10; editorBeatmap.HitObjects[0].StartTime = 20; diff --git a/osu.Game.Tests/Database/BeatmapImporterTests.cs b/osu.Game.Tests/Database/BeatmapImporterTests.cs index f3ca665380..ffe465e713 100644 --- a/osu.Game.Tests/Database/BeatmapImporterTests.cs +++ b/osu.Game.Tests/Database/BeatmapImporterTests.cs @@ -104,10 +104,7 @@ namespace osu.Game.Tests.Database Assert.AreNotEqual(detachedBeatmapSet.Status, BeatmapOnlineStatus.Ranked); detachedBeatmapSet.Status = BeatmapOnlineStatus.Ranked; - beatmapSet.PerformWrite(s => - { - detachedBeatmapSet.CopyChangesToRealm(s); - }); + beatmapSet.PerformWrite(detachedBeatmapSet.CopyChangesToRealm); beatmapSet.PerformRead(s => { diff --git a/osu.Game.Tests/Visual/Gameplay/TestSceneSkinEditor.cs b/osu.Game.Tests/Visual/Gameplay/TestSceneSkinEditor.cs index 3b8e63c596..da41349117 100644 --- a/osu.Game.Tests/Visual/Gameplay/TestSceneSkinEditor.cs +++ b/osu.Game.Tests/Visual/Gameplay/TestSceneSkinEditor.cs @@ -151,7 +151,7 @@ namespace osu.Game.Tests.Visual.Gameplay { List blueprints = new List(); - AddStep("clear list", () => blueprints.Clear()); + AddStep("clear list", blueprints.Clear); for (int i = 0; i < 3; i++) { diff --git a/osu.Game.Tests/Visual/SongSelectV2/TestSceneBeatmapTitleWedge.cs b/osu.Game.Tests/Visual/SongSelectV2/TestSceneBeatmapTitleWedge.cs index cbcf16ec51..411c6acc82 100644 --- a/osu.Game.Tests/Visual/SongSelectV2/TestSceneBeatmapTitleWedge.cs +++ b/osu.Game.Tests/Visual/SongSelectV2/TestSceneBeatmapTitleWedge.cs @@ -197,15 +197,15 @@ namespace osu.Game.Tests.Visual.SongSelectV2 AddUntilStep("favourites count is 2345", () => this.ChildrenOfType().Single().Text.ToString(), () => Is.EqualTo("2,345")); AddStep("click favourite button", () => this.ChildrenOfType().Single().TriggerClick()); - AddStep("allow request to complete", () => resetEvent.Set()); + AddStep("allow request to complete", resetEvent.Set); AddUntilStep("favourites count is 2346", () => this.ChildrenOfType().Single().Text.ToString(), () => Is.EqualTo("2,346")); - AddStep("reset event", () => resetEvent.Reset()); + AddStep("reset event", resetEvent.Reset); AddStep("click favourite button", () => this.ChildrenOfType().Single().TriggerClick()); - AddStep("allow request to complete", () => resetEvent.Set()); + AddStep("allow request to complete", resetEvent.Set); AddUntilStep("favourites count is 2345", () => this.ChildrenOfType().Single().Text.ToString(), () => Is.EqualTo("2,345")); - AddStep("reset event", () => resetEvent.Reset()); + AddStep("reset event", resetEvent.Reset); AddStep("click favourite button", () => this.ChildrenOfType().Single().TriggerClick()); AddStep("change to another beatmap", () => { @@ -217,7 +217,7 @@ namespace osu.Game.Tests.Visual.SongSelectV2 Beatmap.Value = working; onlineLookupResult.Value = online; }); - AddStep("allow request to complete", () => resetEvent.Set()); + AddStep("allow request to complete", resetEvent.Set); AddUntilStep("favourites count is 9999", () => this.ChildrenOfType().Single().Text.ToString(), () => Is.EqualTo("9,999")); AddStep("set up request handler to fail", () => @@ -239,11 +239,11 @@ namespace osu.Game.Tests.Visual.SongSelectV2 } }; }); - AddStep("reset event", () => resetEvent.Reset()); + AddStep("reset event", resetEvent.Reset); AddStep("click favourite button", () => this.ChildrenOfType().Single().TriggerClick()); AddAssert("spinner visible", () => this.ChildrenOfType().Single() .ChildrenOfType().Single().State.Value, () => Is.EqualTo(Visibility.Visible)); - AddStep("allow request to complete", () => resetEvent.Set()); + AddStep("allow request to complete", resetEvent.Set); AddAssert("spinner hidden", () => this.ChildrenOfType().Single() .ChildrenOfType().Single().State.Value, () => Is.EqualTo(Visibility.Hidden)); } diff --git a/osu.Game.Tests/Visual/UserInterface/TestSceneHoldToExitGameOverlay.cs b/osu.Game.Tests/Visual/UserInterface/TestSceneHoldToExitGameOverlay.cs index df423268b6..fdd1a11722 100644 --- a/osu.Game.Tests/Visual/UserInterface/TestSceneHoldToExitGameOverlay.cs +++ b/osu.Game.Tests/Visual/UserInterface/TestSceneHoldToExitGameOverlay.cs @@ -40,20 +40,20 @@ namespace osu.Game.Tests.Visual.UserInterface firedText }; - AddStep("start confirming", () => overlay.Begin()); - AddStep("abort confirming", () => overlay.Abort()); + AddStep("start confirming", overlay.Begin); + AddStep("abort confirming", overlay.Abort); AddAssert("ensure not fired internally", () => !overlay.Fired); AddAssert("ensure aborted", () => !fired); - AddStep("start confirming", () => overlay.Begin()); + AddStep("start confirming", overlay.Begin); AddUntilStep("wait until confirmed", () => fired); AddAssert("ensure fired internally", () => overlay.Fired); - AddStep("abort after fire", () => overlay.Abort()); + AddStep("abort after fire", overlay.Abort); AddAssert("ensure not fired internally", () => !overlay.Fired); - AddStep("start confirming", () => overlay.Begin()); + AddStep("start confirming", overlay.Begin); AddUntilStep("wait until fired again", () => overlay.Fired); } diff --git a/osu.Game.Tests/Visual/UserInterface/TestSceneUpdateableBeatmapBackgroundSprite.cs b/osu.Game.Tests/Visual/UserInterface/TestSceneUpdateableBeatmapBackgroundSprite.cs index 48fe517f8a..5f70c983d1 100644 --- a/osu.Game.Tests/Visual/UserInterface/TestSceneUpdateableBeatmapBackgroundSprite.cs +++ b/osu.Game.Tests/Visual/UserInterface/TestSceneUpdateableBeatmapBackgroundSprite.cs @@ -133,9 +133,9 @@ namespace osu.Game.Tests.Visual.UserInterface var loadedBackgrounds = backgrounds.Where(b => b.ContentLoaded); - AddUntilStep("some loaded", () => loadedBackgrounds.Any()); + AddUntilStep("some loaded", loadedBackgrounds.Any); AddStep("scroll to bottom", () => scrollContainer.ScrollToEnd()); - AddUntilStep("all unloaded", () => !loadedBackgrounds.Any()); + AddUntilStep("all unloaded", loadedBackgrounds.Any, () => Is.False); } private partial class TestUpdateableBeatmapBackgroundSprite : UpdateableBeatmapBackgroundSprite diff --git a/osu.Game.Tests/Visual/UserInterface/TestSceneUpdateableBeatmapSetCover.cs b/osu.Game.Tests/Visual/UserInterface/TestSceneUpdateableBeatmapSetCover.cs index 54532001a9..6dfb01bb1a 100644 --- a/osu.Game.Tests/Visual/UserInterface/TestSceneUpdateableBeatmapSetCover.cs +++ b/osu.Game.Tests/Visual/UserInterface/TestSceneUpdateableBeatmapSetCover.cs @@ -89,9 +89,9 @@ namespace osu.Game.Tests.Visual.UserInterface var loadedCovers = covers.Where(c => c.ChildrenOfType().SingleOrDefault()?.IsLoaded ?? false); - AddUntilStep("some loaded", () => loadedCovers.Any()); + AddUntilStep("some loaded", loadedCovers.Any); AddStep("scroll to end", () => scroll.ScrollToEnd()); - AddUntilStep("all unloaded", () => !loadedCovers.Any()); + AddUntilStep("all unloaded", loadedCovers.Any, () => Is.False); } [Test] diff --git a/osu.Game.Tournament/Screens/Editors/RoundEditorScreen.cs b/osu.Game.Tournament/Screens/Editors/RoundEditorScreen.cs index 253cca8c98..6548a26a51 100644 --- a/osu.Game.Tournament/Screens/Editors/RoundEditorScreen.cs +++ b/osu.Game.Tournament/Screens/Editors/RoundEditorScreen.cs @@ -98,7 +98,7 @@ namespace osu.Game.Tournament.Screens.Editors Width = 0.2f, Margin = new MarginPadding(10), Text = "Add beatmap", - Action = () => beatmapEditor.CreateNew() + Action = beatmapEditor.CreateNew }, beatmapEditor } diff --git a/osu.Game.Tournament/Screens/Editors/SeedingEditorScreen.cs b/osu.Game.Tournament/Screens/Editors/SeedingEditorScreen.cs index 9927dd56a0..d1e14ecf0c 100644 --- a/osu.Game.Tournament/Screens/Editors/SeedingEditorScreen.cs +++ b/osu.Game.Tournament/Screens/Editors/SeedingEditorScreen.cs @@ -80,7 +80,7 @@ namespace osu.Game.Tournament.Screens.Editors Width = 0.2f, Margin = new MarginPadding(10), Text = "Add beatmap", - Action = () => beatmapEditor.CreateNew() + Action = beatmapEditor.CreateNew }, beatmapEditor } diff --git a/osu.Game.Tournament/Screens/Editors/TeamEditorScreen.cs b/osu.Game.Tournament/Screens/Editors/TeamEditorScreen.cs index 56333eb2a3..31828d1c4f 100644 --- a/osu.Game.Tournament/Screens/Editors/TeamEditorScreen.cs +++ b/osu.Game.Tournament/Screens/Editors/TeamEditorScreen.cs @@ -150,7 +150,7 @@ namespace osu.Game.Tournament.Screens.Editors new SettingsButton { Text = "Add player", - Action = () => playerEditor.CreateNew() + Action = playerEditor.CreateNew }, new Container { diff --git a/osu.Game/Beatmaps/Formats/LegacyBeatmapDecoder.cs b/osu.Game/Beatmaps/Formats/LegacyBeatmapDecoder.cs index e3ac0e1a3d..caf8dc048a 100644 --- a/osu.Game/Beatmaps/Formats/LegacyBeatmapDecoder.cs +++ b/osu.Game/Beatmaps/Formats/LegacyBeatmapDecoder.cs @@ -170,21 +170,21 @@ namespace osu.Game.Beatmaps.Formats { SampleControlPoint sampleControlPoint = (beatmap.ControlPointInfo as LegacyControlPointInfo)?.SamplePointAt(hitObject.StartTime + CONTROL_POINT_LENIENCY + 1) ?? SampleControlPoint.DEFAULT; - hitObject.Samples = hitObject.Samples.Select(o => sampleControlPoint.ApplyTo(o)).ToList(); + hitObject.Samples = hitObject.Samples.Select(sampleControlPoint.ApplyTo).ToList(); for (int i = 0; i < hasRepeats.NodeSamples.Count; i++) { double time = hitObject.StartTime + i * hasRepeats.Duration / hasRepeats.SpanCount() + CONTROL_POINT_LENIENCY; var nodeSamplePoint = (beatmap.ControlPointInfo as LegacyControlPointInfo)?.SamplePointAt(time) ?? SampleControlPoint.DEFAULT; - hasRepeats.NodeSamples[i] = hasRepeats.NodeSamples[i].Select(o => nodeSamplePoint.ApplyTo(o)).ToList(); + hasRepeats.NodeSamples[i] = hasRepeats.NodeSamples[i].Select(nodeSamplePoint.ApplyTo).ToList(); } } else { SampleControlPoint sampleControlPoint = (beatmap.ControlPointInfo as LegacyControlPointInfo)?.SamplePointAt(hitObject.GetEndTime() + CONTROL_POINT_LENIENCY) ?? SampleControlPoint.DEFAULT; - hitObject.Samples = hitObject.Samples.Select(o => sampleControlPoint.ApplyTo(o)).ToList(); + hitObject.Samples = hitObject.Samples.Select(sampleControlPoint.ApplyTo).ToList(); } } diff --git a/osu.Game/Overlays/MusicController.cs b/osu.Game/Overlays/MusicController.cs index 8bb88fc8e9..a5550ad3d9 100644 --- a/osu.Game/Overlays/MusicController.cs +++ b/osu.Game/Overlays/MusicController.cs @@ -337,7 +337,7 @@ namespace osu.Game.Overlays IDisposable duckOperation = Duck(parameters); - Scheduler.AddDelayed(() => duckOperation.Dispose(), delayUntilRestore); + Scheduler.AddDelayed(duckOperation.Dispose, delayUntilRestore); } private bool next(bool allowProtectedTracks) diff --git a/osu.Game/Overlays/SkinEditor/SkinEditorOverlay.cs b/osu.Game/Overlays/SkinEditor/SkinEditorOverlay.cs index 18dc62b7bb..1484a61d21 100644 --- a/osu.Game/Overlays/SkinEditor/SkinEditorOverlay.cs +++ b/osu.Game/Overlays/SkinEditor/SkinEditorOverlay.cs @@ -248,7 +248,7 @@ namespace osu.Game.Overlays.SkinEditor mods.Value = mods.Value.Except(invalid).ToArray(); if (replayGeneratingMod != null) - screen.Push(new EndlessPlayer((beatmap, mods) => replayGeneratingMod.CreateScoreFromReplayData(beatmap, mods))); + screen.Push(new EndlessPlayer(replayGeneratingMod.CreateScoreFromReplayData)); }, new[] { typeof(Player), typeof(SoloSongSelect) }); } diff --git a/osu.Game/Screens/Footer/ScreenStackFooter.cs b/osu.Game/Screens/Footer/ScreenStackFooter.cs index 807dcc3fe0..d10a2d8fc4 100644 --- a/osu.Game/Screens/Footer/ScreenStackFooter.cs +++ b/osu.Game/Screens/Footer/ScreenStackFooter.cs @@ -170,6 +170,7 @@ namespace osu.Game.Screens.Footer /// /// The screen which should be bound to the screen footer - the most nested subscreen. /// + // ReSharper disable once FunctionRecursiveOnAllPaths (TODO: remove after fixed https://youtrack.jetbrains.com/issue/RIDER-135036/Incorrect-recursive-on-all-execution-paths-inspection) private IScreen leadingScreen => subScreenTracker?.leadingScreen ?? stack.CurrentScreen; public ScreenStackTracker(ScreenStack stack) diff --git a/osu.Game/Screens/Menu/OnlineMenuBanner.cs b/osu.Game/Screens/Menu/OnlineMenuBanner.cs index aa73ce2136..c94a438512 100644 --- a/osu.Game/Screens/Menu/OnlineMenuBanner.cs +++ b/osu.Game/Screens/Menu/OnlineMenuBanner.cs @@ -70,7 +70,7 @@ namespace osu.Game.Screens.Menu return; var request = new GetMenuContentRequest(); - Task.Run(() => request.Perform()) + Task.Run(request.Perform) .ContinueWith(r => { if (!FetchOnlineContent) diff --git a/osu.Game/Screens/OnlinePlay/Matchmaking/Match/RoundResults/SubScreenRoundResults.cs b/osu.Game/Screens/OnlinePlay/Matchmaking/Match/RoundResults/SubScreenRoundResults.cs index 9dc283780a..882c58317f 100644 --- a/osu.Game/Screens/OnlinePlay/Matchmaking/Match/RoundResults/SubScreenRoundResults.cs +++ b/osu.Game/Screens/OnlinePlay/Matchmaking/Match/RoundResults/SubScreenRoundResults.cs @@ -91,7 +91,7 @@ namespace osu.Game.Screens.OnlinePlay.Matchmaking.Match.RoundResults var request = new IndexPlaylistScoresRequest(client.Room.RoomID, client.Room.Settings.PlaylistItemId); request.Success += req => scoreTask.SetResult(req.Scores); - request.Failure += e => scoreTask.SetException(e); + request.Failure += scoreTask.SetException; api.Queue(request); await Task.WhenAll(beatmapTask, scoreTask.Task).ConfigureAwait(false); diff --git a/osu.Game/Screens/Ranking/ResultsScreen.cs b/osu.Game/Screens/Ranking/ResultsScreen.cs index 7cd742538b..0ae63b4c9c 100644 --- a/osu.Game/Screens/Ranking/ResultsScreen.cs +++ b/osu.Game/Screens/Ranking/ResultsScreen.cs @@ -398,7 +398,7 @@ namespace osu.Game.Screens.Ranking } // allow a frame for scroll container to adjust its dimensions with the added scores before fetching again. - Schedule(() => tcs.SetResult()); + Schedule(tcs.SetResult); if (ScorePanelList.IsEmpty) { diff --git a/osu.Game/Screens/Select/BeatmapCarousel.cs b/osu.Game/Screens/Select/BeatmapCarousel.cs index 0d75ddb0f0..dda62e8ba8 100644 --- a/osu.Game/Screens/Select/BeatmapCarousel.cs +++ b/osu.Game/Screens/Select/BeatmapCarousel.cs @@ -528,7 +528,7 @@ namespace osu.Game.Screens.Select if (!notYetVisitedSets.Any()) { - previouslyVisitedRandomSets.RemoveAll(s => visibleSets.Contains(s)); + previouslyVisitedRandomSets.RemoveAll(visibleSets.Contains); notYetVisitedSets = visibleSets; } diff --git a/osu.Game/Screens/SelectV2/RealmPopulatingOnlineLookupSource.cs b/osu.Game/Screens/SelectV2/RealmPopulatingOnlineLookupSource.cs index 16df414037..2b75820587 100644 --- a/osu.Game/Screens/SelectV2/RealmPopulatingOnlineLookupSource.cs +++ b/osu.Game/Screens/SelectV2/RealmPopulatingOnlineLookupSource.cs @@ -43,7 +43,7 @@ namespace osu.Game.Screens.SelectV2 var request = new GetBeatmapSetRequest(id); var tcs = new TaskCompletionSource(); - token.Register(() => request.Cancel()); + token.Register(request.Cancel); // async request success callback is a bit of a dangerous game, but there's some reasoning for it. // - don't really want to use `IAPIAccess.PerformAsync()` because we still want to respect request queueing & online status checks diff --git a/osu.Game/Screens/SelectV2/SoloSongSelect.cs b/osu.Game/Screens/SelectV2/SoloSongSelect.cs index 697a1f3f55..cf87a3466f 100644 --- a/osu.Game/Screens/SelectV2/SoloSongSelect.cs +++ b/osu.Game/Screens/SelectV2/SoloSongSelect.cs @@ -135,7 +135,7 @@ namespace osu.Game.Screens.SelectV2 if (replayGeneratingMod != null) { - player = new ReplayPlayer((beatmap, mods) => replayGeneratingMod.CreateScoreFromReplayData(beatmap, mods)); + player = new ReplayPlayer(replayGeneratingMod.CreateScoreFromReplayData); } else {