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

22343 Commits

Author SHA1 Message Date
smoogipoo
64a32723f3 One more case 2020-12-21 16:23:42 +09:00
Dean Herbert
06d4b323d1
Merge pull request #11221 from bdach/taiko-hitobject-application
Add support for hitobject application to taiko DHOs
2020-12-21 16:23:40 +09:00
smoogipoo
6d483ff0e6 Merge branch 'fix-non-abstract-test' into realtime-multiplayer-2 2020-12-21 16:22:18 +09:00
smoogipoo
14ea49a14d Merge branch 'nullable-endsat' into realtime-multiplayer-2 2020-12-21 16:22:16 +09:00
smoogipoo
dbffe735de Merge branch 'master' into realtime-multiplayer-2 2020-12-21 16:22:14 +09:00
smoogipoo
c3d1eaf36d Make RealtimeMultiplayerTestScene abstract 2020-12-21 16:21:05 +09:00
smoogipoo
a59124dd93 Make room duration/endsat nullable 2020-12-21 16:18:39 +09:00
smoogipoo
82cf58353c Fix incorrect joinedroom null checks 2020-12-21 15:38:20 +09:00
Dean Herbert
a5bcf1dc20 Expose resources to skin via interface (and share common pieces with beatmap) 2020-12-21 15:18:52 +09:00
Dean Herbert
0ffbe12fcc Expose resources to beatmaps in a saner way 2020-12-21 14:22:34 +09:00
Dean Herbert
7c804be4d3 Rename textureStore to make its purpose more clear 2020-12-21 14:06:33 +09:00
Dean Herbert
bc212b2538
Merge branch 'master' into fix-texture-loader-usages 2020-12-21 13:51:55 +09:00
Dean Herbert
a8569fe15c Fix a couple of simple cases of incorrect TextureLoaderStore initialisation 2020-12-21 13:35:46 +09:00
Dean Herbert
27623822c4
Merge branch 'master' into realtime-ready-button 2020-12-21 11:19:03 +09:00
Bartłomiej Dach
bcd140b8df
Merge branch 'master' into realtime-ready-button 2020-12-20 18:20:57 +01:00
Bartłomiej Dach
b76ec79a70
Merge branch 'master' into realtime-participants-list 2020-12-20 18:20:22 +01:00
Bartłomiej Dach
4e8e4f0343
Merge branch 'master' into realtime-room-composite 2020-12-20 17:46:10 +01:00
smoogipoo
b31f4e9e85 Merge branch 'stateful-multiplayer-client' into realtime-multiplayer-2 2020-12-21 00:41:42 +09:00
smoogipoo
a893360c0e Reword comment 2020-12-21 00:41:14 +09:00
smoogipoo
d127494c2d Fix thread-unsafe room removal 2020-12-21 00:39:31 +09:00
smoogipoo
3af702453f Implement realtime match song select 2020-12-21 00:37:13 +09:00
smoogipoo
275efd12b8 Fix room manager reference 2020-12-21 00:21:48 +09:00
smoogipoo
959959dbed Add multiplayer client to OsuGameBase 2020-12-21 00:21:41 +09:00
smoogipoo
15480c006b Create the correct room subscreen 2020-12-21 00:21:30 +09:00
smoogipoo
5b4197a9ef Disable watching replays from realtime results screen 2020-12-21 00:14:54 +09:00
smoogipoo
07077b8f4e Add realtime player 2020-12-21 00:13:05 +09:00
smoogipoo
945ba59c8e Make timeshift player able to not allow pause 2020-12-21 00:06:44 +09:00
smoogipoo
1fdc19ee0f Add realtime match subscreen and related components 2020-12-21 00:05:38 +09:00
smoogipoo
536df074a9 Don't attempt to re-map existing beatmap/ruleset (for testing) 2020-12-21 00:02:49 +09:00
smoogipoo
55cdff5be7 Renamespace ready button 2020-12-20 23:54:04 +09:00
Bartłomiej Dach
a31e8d137f Add guard when clearing samples 2020-12-20 15:42:24 +01:00
smoogipoo
a1ba4b6979 Split MatchSubScreen into abstract component + timeshift implementation 2020-12-20 23:40:19 +09:00
smoogipoo
b9e4a7196e Add realtime lounge subscreen 2020-12-20 23:36:56 +09:00
smoogipoo
455a84c73f Add realtime multiplayer screen 2020-12-20 23:32:57 +09:00
smoogipoo
1d7d8bd6fc Hook up a realtime multiplayer client 2020-12-20 23:26:31 +09:00
smoogipoo
fdfe3c2b36 Merge branch 'realtime-ready-button' into realtime-multiplayer-2 2020-12-20 23:11:06 +09:00
smoogipoo
a2ad0b0329 Merge branch 'realtime-participants-list' into realtime-multiplayer-2 2020-12-20 23:11:06 +09:00
smoogipoo
594db76cf3 Fix compilation errors 2020-12-20 23:10:45 +09:00
smoogipoo
4ada0e17c0 Merge branch 'abstract-room-manager' into stateful-multiplayer-client 2020-12-20 23:10:05 +09:00
smoogipoo
c33e693b8e Refactor InitialRoomsReceived to avoid extra bindables 2020-12-20 23:05:17 +09:00
smoogipoo
9d13a5b06a Fix potential cross-thread list access 2020-12-20 22:53:07 +09:00
smoogipoo
f876a329b1 Fire-and-forget leave-room request 2020-12-20 22:51:33 +09:00
smoogipoo
b002c46666 Add number of ready users to button 2020-12-20 18:49:51 +09:00
smoogipoo
19db35501e Fix incorrect end date usage in timeshift ready button 2020-12-20 18:44:36 +09:00
smoogipoo
ce2560b545 Extract value into const 2020-12-20 18:36:31 +09:00
smoogipoo
45107280a0 Make TimeBetweenPolls into a bindable 2020-12-20 18:34:54 +09:00
smoogipoo
0cf078562d Split method up and remove nested scheduling 2020-12-20 18:30:00 +09:00
smoogipoo
508f73d949 Fix up comment 2020-12-20 18:25:54 +09:00
smoogipoo
8b1f5ff492 Only instantiate ruleset once 2020-12-20 18:25:23 +09:00
smoogipoo
ba4307a74c Directly return task 2020-12-20 18:24:13 +09:00
smoogipoo
724e4b83fe Fix nullability and remove early check 2020-12-20 18:21:03 +09:00
smoogipoo
fb61cdfd41 Remove unnecessary first-frame polling + address concerns 2020-12-20 18:20:45 +09:00
smoogipoo
812a1d2b4f Fix onSuccess callback potentially being called on failure 2020-12-20 18:03:30 +09:00
smoogipoo
d74485704a Reset intial rooms received on filter change 2020-12-20 17:46:45 +09:00
smoogipoo
7c7f15089a Make CreateRoomManager return the drawable version 2020-12-20 17:42:23 +09:00
smoogipoo
d20eb368f5 Make return into IEnumerable 2020-12-20 17:36:23 +09:00
smoogipoo
3a4878558f Merge branch 'master' into abstract-room-manager 2020-12-20 17:35:01 +09:00
Dean Herbert
8ac76bd524
Merge pull request #11199 from smoogipoo/refactor-player-score-creation
Asyncify player score creation and submission
2020-12-20 17:30:11 +09:00
Joehu
5b8e35c98c Make settings dropdown abstract 2020-12-19 19:04:14 -08:00
Joehu
b87f89986a Fix selected item not being highlighted on some setting dropdowns 2020-12-19 19:04:13 -08:00
Bartłomiej Dach
4e5064c4f6 Start accuracy at 1 2020-12-19 21:31:17 +01:00
Bartłomiej Dach
ee33c0be93 Extract combo & accuracy ratio calculation helpers 2020-12-19 19:08:29 +01:00
Bartłomiej Dach
c738a57b39 Fix username overflow in new leaderboard design 2020-12-19 18:48:17 +01:00
Dean Herbert
b3bff281ce
Merge branch 'master' into spectator-driven-leaderboard 2020-12-20 01:13:59 +09:00
Bartłomiej Dach
3de03d279e Merge branch 'master' into gameplay-leaderboard-update 2020-12-19 15:20:04 +01:00
Bartłomiej Dach
06a17a9d8c Rename other constant to be distinguishable 2020-12-19 15:18:05 +01:00
Bartłomiej Dach
315a957a0c Extract constant for text transition duration 2020-12-19 15:17:31 +01:00
Bartłomiej Dach
e2cc401c12 Move BDL above LoadComplete() 2020-12-19 15:05:59 +01:00
Bartłomiej Dach
d392e0f27e Extract shared rank-formatting helper 2020-12-19 15:04:22 +01:00
Bartłomiej Dach
22a2c3efdf Add back xmldoc of AddPlayer 2020-12-19 15:04:18 +01:00
Bartłomiej Dach
28ca21b432 Seal banned method & throw better exception 2020-12-19 14:50:09 +01:00
Dean Herbert
28674cedd6
Merge pull request #11196 from Grrum/alignSelectionBoxCirclesToCenterOfBorder
Align selection box circles to center of border
2020-12-19 21:22:26 +09:00
Dean Herbert
beaced3211 Remove unnecessary async state machine 2020-12-19 13:58:56 +09:00
Bartłomiej Dach
f1878eff63 Use yet another solution leveraging padding 2020-12-18 23:45:42 +01:00
smoogipoo
772dd0287e Split submission and import into two methods 2020-12-19 03:32:05 +09:00
smoogipoo
cc22efaa6b Use tcs instead of delay-wait 2020-12-19 03:17:04 +09:00
smoogipoo
6efe24695b Add the realtime multiplayer ready button 2020-12-19 02:59:11 +09:00
smoogipoo
4e0113afbf Abstractify ready button and add a timeshift implementation 2020-12-19 02:55:48 +09:00
smoogipoo
e4a54dc6cd Renamespace ready button 2020-12-19 02:52:51 +09:00
smoogipoo
11a903a206 Add test for many users and disable scrollbar 2020-12-19 02:47:24 +09:00
smoogipoo
1e5c32410a Add the realtime multiplayer participants list 2020-12-19 02:41:37 +09:00
smoogipoo
4d051818a1 Add base class for all realtime multiplayer classes 2020-12-19 02:41:23 +09:00
smoogipoo
9b08f573ba Fix room not created before being joined 2020-12-19 02:41:04 +09:00
smoogipoo
3f4a66c4ae Add realtime multiplayer test scene abstract class 2020-12-19 02:23:42 +09:00
smoogipoo
0fb8615f95 Implement room parting 2020-12-19 02:02:04 +09:00
smoogipoo
7d1fe7955e Small improvements to testable room manager 2020-12-19 01:57:40 +09:00
smoogipoo
9b0ca8fc3b Make real time room manager not poll while inside a room 2020-12-19 01:57:30 +09:00
smoogipoo
2fc5561b7e Add handling for GetRoomRequest() 2020-12-19 01:22:52 +09:00
smoogipoo
c6da680c80 Add a container for testing purposes 2020-12-19 01:19:08 +09:00
smoogipoo
c6555c53cc Add a testable realtime room manager 2020-12-19 01:17:24 +09:00
smoogipoo
50a35c0f63 Add connection/disconnection capability 2020-12-19 01:16:00 +09:00
smoogipoo
1e2163f55e Add a testable realtime multiplayer client 2020-12-19 01:14:50 +09:00
smoogipoo
a6520d3d44 Clear rooms and poll only when connected to multiplayer server 2020-12-19 01:01:09 +09:00
smoogipoo
cf2340cafb Add a realtime room manager 2020-12-19 00:53:06 +09:00
smoogipoo
9ceb090f04 Fix ambiguous reference 2020-12-19 00:53:06 +09:00
smoogipoo
ab9158c306 Add a stateful multiplayer client 2020-12-19 00:53:06 +09:00
smoogipoo
f4e9703deb Fix incorrect comparison 2020-12-19 00:52:42 +09:00
smoogipoo
4494bb1eb5 Abstract RoomManager and Multiplayer 2020-12-19 00:52:27 +09:00
Graham Johnson
122250f454 replace drag cirle function with dictionary 2020-12-18 10:45:23 -05:00
Salman Ahmed
030dce5559 Increase leaderboard score width a bit 2020-12-18 13:09:50 +03:00
Salman Ahmed
c9e75e7908 Add user avatar to leaderboard scores 2020-12-18 13:09:05 +03:00
smoogipoo
eccfc8ccd2 Fix potential cross-reference access 2020-12-18 18:31:49 +09:00
smoogipoo
8826d01559 Create completion progress delegate immediately 2020-12-18 18:20:36 +09:00
smoogipoo
1369b75a86 Fix potential multiple submission 2020-12-18 17:48:42 +09:00
smoogipoo
2958cab239 Remove GotoRanking 2020-12-18 17:47:33 +09:00
Dean Herbert
75c5b99ac5 Merge branch 'gameplay-leaderboard-update' into spectator-driven-leaderboard 2020-12-18 17:33:25 +09:00
Dean Herbert
fdad5e86d3 Remove stray newline 2020-12-18 17:33:18 +09:00
Dean Herbert
0abe2b36b2
Merge pull request #11197 from smoogipoo/refactor-multiplayer-test-scene
Refactor multiplayer test scenes
2020-12-18 17:30:50 +09:00
Dean Herbert
470c68d6a5 Merge branch 'gameplay-leaderboard-update' into spectator-driven-leaderboard 2020-12-18 17:30:21 +09:00
Dean Herbert
615352c1e4 Fix shear offset not being included in GameplayLeaderboard's own size 2020-12-18 17:30:11 +09:00
Dean Herbert
668536ce56 Fix vertical size potentially changing during relayout 2020-12-18 17:25:48 +09:00
Dean Herbert
5cc2156801 Merge branch 'gameplay-leaderboard-update' into spectator-driven-leaderboard 2020-12-18 17:20:20 +09:00
Dean Herbert
e82986b763 Fix panel x positions getting weird duration relayouts
Also adjust the transitions a bit to feel better.
2020-12-18 17:19:55 +09:00
Dean Herbert
4cf013c005 Fix animation replacing itself even when score position hasn't changed 2020-12-18 17:19:55 +09:00
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
Dean Herbert
2aedd82e27 Document room states and remove unnecessary WaitingForResults state 2020-12-08 20:43:18 +09:00
Dean Herbert
147db0abe2 Fix client naming and xmldoc 2020-12-08 20:43:18 +09:00
Dean Herbert
60550b73f7 Add missing states and xmldoc for all states' purposes 2020-12-08 20:43:18 +09:00
Dean Herbert
8eccfa476c Add loading states 2020-12-08 20:43:18 +09:00
Dean Herbert
345352be67 Mark PerformUpdate as an instant handle method (doesn't really help with anything) 2020-12-08 20:43:18 +09:00
Dean Herbert
11a7057289 Add notification flow for user state changes in room 2020-12-08 20:43:18 +09:00
Dean Herbert
dbe048cdc6 Add client method for notifying about host changes 2020-12-08 20:43:18 +09:00
Dean Herbert
a4ca8d2998 Ensure multiplayer rooms are instantiated with a room ID 2020-12-08 20:43:18 +09:00
Dean Herbert
71de7ce0a3 Add missing methods to server interface 2020-12-08 20:43:18 +09:00
Dean Herbert
5f5c0d5533 Return room model when joining 2020-12-08 20:43:18 +09:00
Dean Herbert
5d2ca7fc39 Make remaining model classes nullable and serializable 2020-12-08 20:43:18 +09:00
Dean Herbert
2365d65610 Move business logic out of MultiplayerRoom 2020-12-08 20:43:18 +09:00
Dean Herbert
42b1e9d6a4 Add xmldoc coverage of MultiplayerRoom 2020-12-08 20:43:18 +09:00
Dean Herbert
4f449ba821 Rename idle state 2020-12-08 20:43:18 +09:00
Dean Herbert
5a231cef15 Add thread safety for external operations on MultiplayerRoom 2020-12-08 20:43:18 +09:00
Dean Herbert
327799c263 Rename multiplayer server file to match class 2020-12-08 20:43:18 +09:00
Dean Herbert
b3bdaaa7b5 Move exceptions to common code 2020-12-08 20:43:18 +09:00
Dean Herbert
e193f8214d Remove unnecessary room id from leave room request 2020-12-08 20:43:18 +09:00
Dean Herbert
882ace6efe Make MultiplayerRoomUser equatable 2020-12-08 20:43:18 +09:00
Dean Herbert
baf16cfbc3 Add room settings related model and event flow 2020-12-08 20:43:18 +09:00
Dean Herbert
6e5846d91b Fix serialization failure due to missing set 2020-12-08 20:43:18 +09:00
Dean Herbert
ff52a5ddc6 Add callbacks for join/leave events to notify other room occupants 2020-12-08 20:43:18 +09:00
Dean Herbert
ca86524c92 Add locking on join/leave operations 2020-12-08 20:43:18 +09:00
Dean Herbert
fdf025942b Ensure room is locked when mutating users 2020-12-08 20:43:18 +09:00
Dean Herbert
8ebdb5723b Add models for users and rooms 2020-12-08 20:43:18 +09:00
Dean Herbert
f4ccbbd092 Add basic server implementation 2020-12-08 20:43:18 +09:00
Dean Herbert
daed27460c Add simple user state class 2020-12-08 20:43:18 +09:00
Dean Herbert
be4a668e0b Add basic structure for multiplayer state and model components 2020-12-08 20:43:18 +09:00
Dan Balasescu
f9afb7f335
Merge branch 'master' into archive-model-manager-stream-import-support 2020-12-08 16:11:11 +09:00
Dean Herbert
58d7e41978 Enable nullable on ImportTask 2020-12-08 12:52:34 +09:00
Dean Herbert
77279a7e56
Update stale xmldoc on import method
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-12-08 12:48:59 +09:00
smoogipoo
10c1823534 Remove now unused files 2020-12-07 22:07:11 +09:00
smoogipoo
34f3672750 Make ctor protected 2020-12-07 22:04:41 +09:00
smoogipoo
f599427080 Implement TimeshiftFilterControl 2020-12-07 22:04:35 +09:00
smoogipoo
1b3836aeef Re-implement multiplayer FilterControl 2020-12-07 21:59:26 +09:00
smoogipoo
5be0672fe9 Split out enums 2020-12-07 21:54:42 +09:00