1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-07 23:47:32 +08:00
Commit Graph

22054 Commits

Author SHA1 Message Date
Dean Herbert
bca4d83af7 Revert previous player add flow via interface 2020-12-18 17:19:55 +09:00
Dean Herbert
cb3f89d0a5 Hook up with new leaderboard design 2020-12-18 17:13:51 +09:00
Dean Herbert
5e83605026 Merge branch 'gameplay-leaderboard-update' into spectator-driven-leaderboard 2020-12-18 17:07:43 +09:00
Dean Herbert
157a72ec5d Revert previous player add flow via interface 2020-12-18 17:07:38 +09:00
smoogipoo
97ff500b0d Make timeshift wait on score submission 2020-12-18 16:56:22 +09:00
Dean Herbert
96f23a1135 Merge branch 'master' into gameplay-leaderboard-update 2020-12-18 16:56:21 +09:00
Dean Herbert
70cda680c0 Update to match new implementation 2020-12-18 16:55:55 +09:00
Dean Herbert
869cac819d Merge branch 'gameplay-leaderboard-update' into spectator-driven-leaderboard 2020-12-18 16:55:44 +09:00
smoogipoo
2db7433c0b Refactor player score creation and submission process 2020-12-18 16:51:59 +09:00
Dean Herbert
9226a67f16 Merge branch 'master' into spectator-driven-leaderboard 2020-12-18 16:47:46 +09:00
Dean Herbert
99f2032fdf
Merge branch 'master' into gameplay-leaderboard-update 2020-12-18 16:44:52 +09:00
Dean Herbert
9618f512d7
Merge pull request #11190 from frenzibyte/api-friends-list
Add global friends list to API providers
2020-12-18 16:44:29 +09:00
Dean Herbert
e6a38ffbce Fix test failure due to polluted bindable value from previous test 2020-12-18 16:39:30 +09:00
Dean Herbert
c84807ed5c Refactor implementation 2020-12-18 16:20:54 +09:00
Dean Herbert
91fbdc3aed Merge branch 'api-friends-list' into gameplay-leaderboard-update 2020-12-18 15:43:24 +09:00
Dean Herbert
a749dca20b Remove left over using statement 2020-12-18 15:43:15 +09:00
smoogipoo
c80ecec0b4 Reorder methods 2020-12-18 15:36:24 +09:00
Dean Herbert
4af508235e Rename long variable 2020-12-18 15:35:18 +09:00
Dean Herbert
20175a884a Merge branch 'api-friends-list' into gameplay-leaderboard-update 2020-12-18 15:28:07 +09:00
Dean Herbert
99b670627a Remove unused placeholder friend in DummyAPI implementation 2020-12-18 15:25:12 +09:00
Dean Herbert
57c5d45c02 Standardise and extract common connection failure handling logic 2020-12-18 15:19:38 +09:00
Dean Herbert
d36169f697 Move friend request to a more understandable place in connection flow 2020-12-18 15:16:48 +09:00
Dean Herbert
206bf3713e Make IAPIProvider read-only bindables into IBindables 2020-12-18 15:16:36 +09:00
smoogipoo
208a9e596e Set new room for each test iteration 2020-12-18 14:58:58 +09:00
Dean Herbert
fa524d64f8
Merge branch 'master' into spectator-driven-leaderboard 2020-12-18 13:34:03 +09:00
Dean Herbert
9079d33412 X before Y for sanity 2020-12-18 11:20:21 +09:00
Dean Herbert
44f4ed4fd3 Fix spacing 2020-12-18 11:19:40 +09:00
Graham Johnson
a0235a06e6 update comment 2020-12-17 19:40:21 -05:00
Salman Ahmed
92bf74ba29 localUser -> localOrReplayPlayer 2020-12-18 03:37:24 +03:00
Salman Ahmed
a8abefcd66 Make GameplayLeaderboardScore a model class 2020-12-18 03:34:33 +03:00
Graham Johnson
a01ed1827a Align the drag circles on the selction box in the editor to be on the center of the border 2020-12-17 19:34:16 -05:00
Salman Ahmed
8a01e567a1 Fix API potentially getting stuck in connecting state 2020-12-18 03:06:28 +03:00
Salman Ahmed
9c22753f3f Remove unnecessary inheritance to OverlayView 2020-12-18 02:51:19 +03:00
Salman Ahmed
5e4f667cff Revert "Allow OverlayView fetching with no API requests required"
This reverts commit 449b9a21ae.
2020-12-18 01:27:58 +03:00
Bartłomiej Dach
569caa9500
Merge branch 'master' into add-bundle-header 2020-12-17 20:55:24 +01:00
Dean Herbert
bb586f3175
Merge pull request #11193 from smoogipoo/add-multiplayer-beatmap-checksum
Add beatmap checksum to MultiplayerRoomSettings
2020-12-17 23:55:38 +09:00
smoogipoo
c15bb6b928 Add beatmap hash to MultiplayerRoomSettings 2020-12-17 22:04:24 +09:00
Salman Ahmed
0faf3fdfd3 Update gameplay leaderboard scores with the new design 2020-12-17 15:19:10 +03:00
Salman Ahmed
5d180753fa Complete connection once friends list is succesfully fetched 2020-12-17 13:44:30 +03:00
Salman Ahmed
904a4daa98 Add todo comment reminding of updating friends list along 2020-12-17 13:33:49 +03:00
Salman Ahmed
94175d0532 Use global friends list instead of always fetching 2020-12-17 13:33:17 +03:00
Salman Ahmed
449b9a21ae Allow OverlayView fetching with no API requests required 2020-12-17 13:31:57 +03:00
Salman Ahmed
78ce6f1cd2 Add friends list to API providers 2020-12-17 13:30:55 +03:00
Dean Herbert
3ff70d331a Mark recordingScore as nullable 2020-12-17 16:17:13 +09:00
Dean Herbert
81b0db0401 Remove double construction of empty replay object 2020-12-17 16:17:08 +09:00
Dean Herbert
fe76a00621 Merge branch 'master' into add-bundle-header 2020-12-17 16:13:40 +09:00
Dean Herbert
f13683dc90 Correctly account for max combo of the input, rather than the global 2020-12-17 16:05:41 +09:00
Dean Herbert
de9c21e7d1 Tenatively mark leaderboard class as LongRunningLoad until final integration 2020-12-17 15:48:53 +09:00
Dean Herbert
41d8b84bd7 Revert MaxBaseScore to being a private field (no longe required to be public) 2020-12-17 15:47:20 +09:00
smoogipoo
9571157841 Use ints for userid parameters 2020-12-16 20:04:36 +09:00
Dan Balasescu
7321e59c4b
Merge pull request #11186 from peppy/mania-clamp-hit-position-offset
Clamp osu!mania's HitPosition offset to match osu-stable implementation
2020-12-16 18:52:59 +09:00
Dean Herbert
39957382f7
Merge pull request #11099 from Game4all/android-add-import-support
Add support for importing files on Android
2020-12-16 18:25:08 +09:00
Dean Herbert
c002184768 Clamp osu!mania's HitPosition offset to match osu-stable implementation
Closes #11184.
2020-12-16 18:08:19 +09:00
Dean Herbert
a01bb3d5a3 Better limit bindable exposure of data class 2020-12-16 16:20:29 +09:00
Dean Herbert
6bce587b59 Pass users in via constructor and correctly unbind on disposal 2020-12-16 16:20:29 +09:00
Dean Herbert
6e2131c164 Don't track local user score in any special way 2020-12-16 16:20:29 +09:00
Dean Herbert
09d0ceb766 Add testing setup to get a better visual idea of how scoreboard will work
fixup! Add method to ScoreProcessor to calculate score and accuracy from statistics
2020-12-16 16:20:29 +09:00
Dean Herbert
d009a0be51 Move class to final location 2020-12-16 16:20:29 +09:00
Dean Herbert
2954218897 Add method to ScoreProcessor to calculate score and accuracy from statistics 2020-12-16 16:20:29 +09:00
Dean Herbert
72d296f412 Add received timestamp and basic xmldoc for header class 2020-12-16 16:19:53 +09:00
Dean Herbert
84a0770789 Change frame header to use dictionary for compatibility 2020-12-16 15:35:46 +09:00
Dean Herbert
88b3bf06e8 Merge branch 'master' into add-bundle-header 2020-12-16 13:40:15 +09:00
Dean Herbert
ef57ae6f40
Merge pull request #11127 from peppy/realtime-multiplayer
Add client-side models and interfaces required for multiplayer
2020-12-16 13:22:01 +09:00
smoogipoo
31fe28b8b3 Remove IStatefulMultiplayerClient 2020-12-16 12:32:53 +09:00
smoogipoo
4cd290af11 Split server interfaces 2020-12-16 12:31:11 +09:00
Bartłomiej Dach
f5eab1047c Merge branch 'master' into android-add-import-support 2020-12-15 21:26:12 +01:00
Dean Herbert
ea6c196f81 Remove unused using statement 2020-12-15 16:03:18 +09:00
Dean Herbert
e37089af5e Further code cleanup 2020-12-15 15:44:56 +09:00
Dean Herbert
8b68ccc0ff Rename class and move inside HUD namespace 2020-12-15 15:34:11 +09:00
Dean Herbert
dd5572b20a Remove unnecessary methods and event 2020-12-15 15:26:20 +09:00
Dean Herbert
8362ad37e3 Bring up-to-date with code changes 2020-12-15 15:22:14 +09:00
Dean Herbert
70e5d4495a
Merge branch 'master' into ingame-leaderboard-general-implementation 2020-12-15 15:14:56 +09:00
Dean Herbert
3faf7db068
Merge pull request #10882 from PercyDan54/import-screen
Add File Import screen
2020-12-15 15:03:15 +09:00
Gagah Pangeran
f0e6b6eaf8 sort by ruleset id first then star diff 2020-12-15 11:09:09 +07:00
Dean Herbert
10ee8ed8e8 Reorder functions and simplify transform logic 2020-12-15 13:04:11 +09:00
Dean Herbert
0d4ac2f748 Refresh view after import completes 2020-12-15 12:57:28 +09:00
Dean Herbert
db4f2d5ffb Refresh view after import succeeds 2020-12-15 12:52:45 +09:00
Dean Herbert
cafe81ab97 Further refactoring and bindable simplification 2020-12-15 12:52:38 +09:00
Dean Herbert
33f77f81f2 Disable the import button when no file is selected, rather than weird flash logic 2020-12-15 12:43:48 +09:00
Dean Herbert
cba4657021 Get handled file extensions from game itself, rather than duplicating locally 2020-12-15 12:37:41 +09:00
Dean Herbert
26fa010fed Merge branch 'master' into import-screen 2020-12-15 12:37:27 +09:00
Dean Herbert
0d9c1cb5d3 Fix issues with data serialisation 2020-12-14 18:41:24 +09:00
Dean Herbert
c5112edd08 Add comment regarding the reasoning for encapsulating the task in another 2020-12-14 18:03:01 +09:00
Dean Herbert
f3e6c586f7 Change waitForReady back to private implementation 2020-12-14 17:59:04 +09:00
Dean Herbert
79768f0aa4 Update framework 2020-12-14 17:52:38 +09:00
Dean Herbert
29f3e8e486 Merge branch 'master' into fix-load-too-fast 2020-12-14 17:52:35 +09:00
Dean Herbert
ae22f75406 Bind replay recording score to judgement changes 2020-12-14 17:33:33 +09:00
Dean Herbert
64a2526678 Add header class and basic flow for propagating data updates 2020-12-14 17:33:23 +09:00
Dean Herbert
1793385e96 Pass a score to the replay recorder to allow reading more general scoring data 2020-12-14 16:52:14 +09:00
Dean Herbert
51e8a05f18 Seal SetRecordTarget method to simplify modification 2020-12-14 16:44:29 +09:00
Dean Herbert
558955d65d
Merge pull request #11167 from Firmatorenio/mania-legacyskin-scoreposition
Adjust mania judgement position in legacy skins according to their ScorePosition setting
2020-12-14 16:36:11 +09:00
Dean Herbert
0d7f53b0b9 Fix gameplay loading too fast the first time entering a beatmap 2020-12-14 14:21:21 +09:00
smoogipoo
2e88e283d8 Remove unused using 2020-12-14 13:20:51 +09:00
smoogipoo
028909353c Revert one more change 2020-12-14 13:15:52 +09:00
smoogipoo
e01b41b7d1 Merge branch 'master' into mania-legacyskin-scoreposition 2020-12-14 13:10:48 +09:00
smoogipoo
1794bfeddb Move offset into legacy mania judgement 2020-12-14 13:07:55 +09:00
smoogipoo
ca11eeefdf Merge branch 'master' into mania-legacyskin-scoreposition 2020-12-14 11:25:34 +09:00
Firmatorenio
6b78045ff1 fix codefactor empty line complaint 2020-12-14 06:57:43 +06:00
Firmatorenio
c83c3e92fc apply a private setter in a protected property 2020-12-14 01:53:20 +06:00
Firmatorenio
3741c2339a simplify implementation and adjust the default values 2020-12-13 22:43:36 +06:00
Firmatorenio
2108844319 apply ScorePosition to the judgement container 2020-12-13 22:01:08 +06:00
Firmatorenio
f14e49c72e fetch ScorePosition from the skin 2020-12-13 21:59:04 +06:00
Grrum
635608ee3d
Merge branch 'master' into selectionRotation 2020-12-13 08:01:44 -05:00
Graham Johnson
7d2b77cdbd improve selection box rotation UX 2020-12-13 07:58:58 -05:00
Lucas A
08b79bb921 Store and return unstarted task for consumers to await on. 2020-12-12 17:12:15 +01:00
Bartłomiej Dach
51840121b9
Merge branch 'master' into update-framework 2020-12-12 13:02:34 +01:00
Dean Herbert
f20c5a2bda Update framework (again) 2020-12-12 15:29:26 +09:00
Bartłomiej Dach
d457926523
Merge branch 'master' into fix-player-load-stuck-at-empty-screen 2020-12-11 20:49:27 +01:00
Bartłomiej Dach
01833e8c9b
Merge branch 'master' into fix-single-threaded-seeking 2020-12-11 20:14:28 +01:00
Dan Balasescu
31ae79a140
Merge pull request #11149 from peppy/add-cache-suffix-online-db
Add a simple cache-busting query string to online.db retrieval
2020-12-11 20:20:52 +09:00
Dean Herbert
aedb18b9f2 Make RulesetID non-nullable 2020-12-11 18:14:33 +09:00
Dean Herbert
b5f6baf341 Update framework 2020-12-11 18:03:48 +09:00
Dean Herbert
a35060ea7a Add a simple cache-busting query string to online.db retrieval
As we are finally pushing updates for this database, this adds a minimum
level of guarantee that a client will request a new version (without
having to worry about multiple levels of server-side caching).
2020-12-11 17:56:02 +09:00
Dean Herbert
2dd5911256 Rename method to better match purpose 2020-12-11 14:44:01 +09:00
Dean Herbert
d3b2e2b36e Change locking method to better allow cross-thread locking 2020-12-11 14:43:39 +09:00
Dean Herbert
719b08b22f Make room setting's BeatmapID non-nullable 2020-12-11 14:11:42 +09:00
Dean Herbert
c1c0b9a9db Add realtime to room categories 2020-12-11 14:10:45 +09:00
Dean Herbert
3fb41a20b5 Add room name to settings 2020-12-11 13:27:52 +09:00
Firmatorenio
b3d8347315 add support for ScorePosition into LegacyManiaSkin 2020-12-10 20:11:08 +06:00
Dean Herbert
01bd765384 Simplify pause handling by moving transform logic to bindable change event 2020-12-10 17:42:47 +09:00
Dean Herbert
679a550d83 Fix single threaded seeking not working due to unnecessary seek call 2020-12-10 17:42:28 +09:00
Dean Herbert
437c0506ce Refactor to allow for special disposal handling to still work 2020-12-10 16:56:56 +09:00
Dean Herbert
67dd7be71a Move cancelLoad call to OnResuming
This has no real effect; it just feels more readable to me.
2020-12-10 16:34:59 +09:00
Dean Herbert
491ab74059 Schedule pushWhenLoaded once ever
Previously it was being scheduled another time each OnResume, resulting
in more and more calls as a user retries the same beatmap multiple
times.

To simplify things I've decided to just schedule once ever. This means
that on resuming there's no 400ms delay any more, but in testing this
isn't really an issue (load time is still high enough that it will never
really be below that anyway). Even if gameplay was to load faster, the
animation should gracefully proceed.
2020-12-10 16:33:30 +09:00
Dean Herbert
cc996ec7fc Ensure player is consumed at the point of scheduled push running the first time 2020-12-10 16:32:14 +09:00
Lucas A
6da854e37c Move scheduled import logic to OsuGame. 2020-12-09 13:32:59 +01:00
Dean Herbert
c8e3c7e77b Add stateful client interface 2020-12-09 17:45:07 +09:00
Dean Herbert
bb97eae8b1 Update outdated exception references in xmldoc 2020-12-09 16:02:37 +09:00
Dean Herbert
1e08b298b8 Remove unnecessary exception type 2020-12-09 16:01:09 +09:00
Dean Herbert
578e5cb92e Also make InvalidStateException serializable 2020-12-09 15:59:13 +09:00
Dean Herbert
ab00a15555 Add JsonConstructor specs to allow for correct deserialization of readonly fields 2020-12-09 15:05:57 +09:00
Dean Herbert
bef52af1da Move client state class to server implementation
Never used by client.
2020-12-09 15:05:33 +09:00
Dean Herbert
e09715d71e Add ToString implementation to MultiplayerRoom for easier debug 2020-12-09 14:47:26 +09:00
Dean Herbert
c92c2cbfc0 Change exceptions which should be returned to the user to HubException type
See
https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.signalr.hubexception?view=aspnetcore-5.0.
2020-12-09 14:46:44 +09:00
Dean Herbert
48129c52d6 Change get-only property for now 2020-12-09 12:38:24 +09:00
Dean Herbert
427d41bab5 Add missing licence headers 2020-12-09 12:17:37 +09:00
Dean Herbert
0eb5b16454 Remove Empty() implementation for RoomSettings until otherwise necessary 2020-12-09 12:12:03 +09:00
Dean Herbert
1013749a83 Change user id type to int 2020-12-09 12:10:47 +09:00
Dean Herbert
fd4fa963ac Standardise exception naming 2020-12-09 12:07:19 +09:00
Dean Herbert
2046cbe2d9 Add missing exceptions to server xmldoc 2020-12-09 12:05:50 +09:00
Dean Herbert
ff5150a14d Fix typo in IMultiplayerClient xmldoc 2020-12-09 12:03:52 +09:00
Lucas A
aa7d22460d Override Import() instead. 2020-12-08 19:46:55 +01:00
Lucas A
d8838ddbfb Remove duplicated overload. 2020-12-08 18:48:50 +01:00
Lucas A
0610adca0a Fix merge conflicts. 2020-12-08 18:03:58 +01:00
Dean Herbert
02f5fda330 Add missing final newline in file 2020-12-08 21:15:10 +09:00
Dean Herbert
aa68ae4ff2 Change locking mechanism for multiplayer rooms to use using-disposal pattern
Was required to lock over `await` calls server-side.
2020-12-08 20:43:18 +09:00
Dean Herbert
d76fabedf9 Add note about LoadRequested only being sent to a subset of room users 2020-12-08 20:43:18 +09:00
Dean Herbert
021a116093 Add extra xmldoc covering the fact that MatchStarted is received by all users 2020-12-08 20:43:18 +09:00
Dean Herbert
df908f90b2 Add exception to be thrown when an operation is requested requiring host when not host 2020-12-08 20:43:18 +09:00
Dean Herbert
2433838d58 Add methods covering match start / end 2020-12-08 20:43:18 +09:00