1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-16 19:33:01 +08:00
Commit Graph

216 Commits

Author SHA1 Message Date
Dean Herbert
2d745fb67e
Apply NRT to APIRequest 2024-08-30 18:35:31 +09:00
Bartłomiej Dach
3bb30d7ff9
Fix several missing properties on MultiplayerScore
You wouldn't think this would be an actual thing that can happen to us,
but it is. The most important one by far is `MaximumStatistics`; that
is the root cause behind why stuff like spinner ticks or slider tails
wasn't showing.

On a better day we should probably do cleanup to unify these models
better, but today is not that day.
2024-07-25 13:15:45 +02:00
Bartłomiej Dach
b29e535ca5
Add results screen for displaying arbitrary daily challenge scores
At this point its primary usage is the daily challenge event feed, but
the leaderboard will be using this too shortly.

Because the playlists results screen that exists in `master` is
hard-coupled to showing the *local user's* best result on a given
playlist by way of hard-coupling itself to the relevant API request,
allowing show of *arbitrary* score by ID requires a whole bunch of
subclassery as things stand. Oh well.

Class naming is... best effort, due to the above.
2024-07-04 13:45:24 +02:00
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 InvalidOperationExceptions
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