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
Bartłomiej Dach
6fb0cabf36
Add start date to Room
2024-06-12 11:43:18 +02:00
Bartłomiej Dach
f135a9a923
Make SelectedItem
externally mutable
...
Not being able to externally mutate this was making reuse in new daily
challenge screen unnecessarily arduous.
2024-06-10 12:44:38 +02:00
Dean Herbert
7cbe93efc3
Refactor latest changes to avoid unnecessary call when mods not present
2024-06-07 10:37:27 +08:00
Xesquim
6e3bea938e
Instancing a Ruleset only when it's necessary to
2024-06-06 13:26:52 -03:00
Dean Herbert
dd3f4bcdab
Fix code quality and null handling
2024-06-07 00:01:50 +08:00
Xesquim
860afb8123
Creating method in ModUtils to calculate the rate for the song
2024-06-06 10:06:07 -03:00
Xesquim
7dd18a84f6
Fixing the GetTotalDuration in PlaylistExtesions
2024-06-05 12:25:33 -03:00
Bartłomiej Dach
61a415fed2
Add client/server models & operations for "daily challenge" feature
2024-05-17 10:58:08 +02:00
Bartłomiej Dach
221b4cd599
Remove unused cache
2024-05-03 11:37:09 +02:00
Dean Herbert
7141177966
Better signify private rooms by showing a different status pill design
2024-05-03 17:17:35 +08:00
Dean Herbert
42e49067e5
Move Room.Status
updates to a common location
2024-05-03 17:10:59 +08:00
Dan Balasescu
bfeb90c1b6
Add additional gameplay metadata to room score request
2024-02-10 17:20:17 +09:00
Bartłomiej Dach
e2192806e4
Use ID
rather than SoloScoreID
...
The latter is apparently not going to be a thing anymore.
2023-10-16 12:02:55 +02:00
Bartłomiej Dach
fb2293821a
Allow watching replay from multi/playlist results screens
2023-10-16 11:20:02 +02:00
Bartłomiej Dach
d5a733d244
Use solo score ID as OnlineID
when converting from MultiplayerScore
2023-10-16 11:20:02 +02:00
Dean Herbert
a98a36872e
Bring realm library up-to-date
2023-07-06 13:37:43 +09:00
Dean Herbert
fec086aec8
Fix OnlinePlayBeatmapAvailabilityTracker
not passing through Unknown
state
2023-06-28 16:02:46 +09:00
Dean Herbert
664a2b2255
Force a beatmap availability state change when selected item is changed
2023-06-28 16:02:46 +09:00
Bartłomiej Dach
e273c223a8
Fix some more missed CI inspections
2023-06-24 17:11:38 +02:00
Dean Herbert
0ab0c52ad5
Automated pass
2023-06-24 01:00:03 +09:00
Bartłomiej Dach
287229efd5
Fix code quality inspection
2023-06-09 14:25:53 +02:00
Dean Herbert
7a5349d747
Remove constructor from MultiplayerPlaylistItem
which is only used in tests
2023-05-25 20:09:40 +09:00
timiimit
83ceb3457f
Add xmldoc comment
2023-05-15 07:36:15 +02:00
timiimit
cb8d5f459f
Remove bad comment
2023-05-15 07:36:15 +02:00
timiimit
86a834fb56
Fix TODO comment
2023-05-14 12:20:16 +02:00
timiimit
5d68701321
Copy StarRange when creating PlaylistItem
2023-05-14 12:08:37 +02:00
timiimit
f1f30b94a6
Add StarRating Property
2023-05-14 11:05:47 +02:00
Dean Herbert
61c702c02e
Add new IDependencyInjectionCandidate
interface to non-drawable cached classes
2022-11-29 14:45:26 +09:00
Dean Herbert
b5b79e09e4
Remove unnecessary CQ disable
2022-11-29 14:45:08 +09:00
Bartłomiej Dach
c42720acd4
Temporarily disable "partial class with one part" inspection
2022-11-26 18:05:08 +01:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
maromalo
b7ef9b176d
Make score type consistent
2022-11-06 19:59:27 -03:00
Dan Balasescu
525f98c158
Fix max combo missing from playlists results screen
2022-10-14 18:01:54 +09:00
Dean Herbert
ed81297611
Fix playlist items showing download button briefly during initial local presence checks
2022-09-08 17:10:45 +09:00
Dan Balasescu
d70208fcf1
Default to off
2022-09-01 14:14:22 +09:00
Dan Balasescu
b5ec7d06dd
Add auto-skip setting
...
Default to auto skip
2022-08-31 20:24:06 +09:00
Dean Herbert
c3c44c19cd
Use CompositeComponent
in various locations
2022-08-19 20:43:15 +09:00
Salman Ahmed
1b6ebcfd87
Remove SubmittableScore
and replace with SoloScoreInfo
extension method
2022-07-25 13:43:43 +03:00
Bartłomiej Dach
6f37487528
Replace calls to defective Humanizer methods with correct version
2022-07-18 22:34:58 +02:00
Dan Balasescu
c6520de749
Ensure PlaylistItem beatmap is not null
2022-06-30 14:24:49 +09:00
Dean Herbert
569fde4b47
Add messages to all InvalidOperationException
s
...
Without this, they can be very non-descript and hard to track down
2022-06-28 01:34:25 +09:00
Dean Herbert
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dan Balasescu
77289c7224
Fix inability to serialise-then-deserialise playlist items
2022-06-03 20:36:12 +09:00
Dan Balasescu
646f5f0f33
Isolate "server-side" multiplayer rooms in testing
2022-06-03 19:17:34 +09:00
Dean Herbert
ef47b380c6
Add featured artist playlist category
2022-05-27 20:18:46 +09:00
Joseph Madamba
5e5c8e78a6
Use existing web localisation for most hardcoded strings
2022-04-20 16:31:11 -07:00
Dean Herbert
2bb0d9e6d3
Expose required classes/properties for mocking
2022-04-13 17:02:33 +09:00
Dan Balasescu
6e6271d0c0
Fix "server-side" room playlist not updated
...
Remove unused using
2022-04-01 18:32:10 +09:00