osu/osu.Game
Bartłomiej Dach 0d2a47167c
Fix crash on calculating playlist duration when rate-changing mods are present
Regressed in https://github.com/ppy/osu/pull/28399.

To reproduce, enter a playlist that has an item with a rate-changing mod
(rather than create it yourself).

This is happening because `APIRuleset` has `CreateInstance()`
unimplemented:

    b4cefe0cc2/osu.Game/Online/API/Requests/Responses/APIBeatmap.cs (L159)

and only triggers when the playlist items in question originate from
web.

This is why it is bad to have interface implementations throw outside of
maybe mock implementations for tests. `CreateInstance()` is a scourge
elsewhere in general, we need way less of it in the codebase (because
while convenient, it's also problematic to implement in online contexts,
and also expensive because reflection).
2024-06-25 11:28:10 +02:00
..
Audio
Beatmaps
Collections
Configuration
Database
Extensions
Graphics
Input Fix scale control key binding breaking previous defaults 2024-06-24 09:46:23 +08:00
IO
IPC
Localisation
Models
Online Fix crash on calculating playlist duration when rate-changing mods are present 2024-06-25 11:28:10 +02:00
Overlays
Performance
Properties
Replays
Rulesets Merge branch 'master' into hit-animations 2024-06-23 04:32:47 +09:00
Scoring
Screens Fix crash on calculating playlist duration when rate-changing mods are present 2024-06-25 11:28:10 +02:00
Skinning
Storyboards
Tests
Updater
Users
Utils
.editorconfig
FodyWeavers.xml
osu!.res
osu.Game.csproj
OsuGame.cs
OsuGameBase_Importing.cs
OsuGameBase.cs
PerformFromMenuRunner.cs