1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-14 19:27:52 +08:00
Commit Graph

321 Commits

Author SHA1 Message Date
smoogipoo
8a0ba3a055 Merge GameplayIsolationContainer into PlayerInstance, remove track 2021-04-22 23:38:51 +09:00
smoogipoo
4aceb75eb2 Disable spectate button on closed rooms
Doesn't have an effect normally - only for safety purposes in case we
allow entering the match subscreen after a match has finished in the
future.
2021-04-22 23:37:45 +09:00
smoogipoo
fd0b030cf4 Refactor gameplay screen creation 2021-04-22 23:37:33 +09:00
smoogipoo
64579d50ac Use only single PlayerInstance for hit sample playback 2021-04-22 22:59:47 +09:00
smoogipoo
6588859c32 Remove loggings 2021-04-22 22:29:18 +09:00
smoogipoo
1ca2152e61 Privatise + rename to SlaveGameplayClockContainer 2021-04-21 23:22:36 +09:00
smoogipoo
2bea625613 Fix initial playback states not being correct 2021-04-21 23:22:11 +09:00
smoogipoo
f32d00c0d9 Fix post-merge errors 2021-04-21 17:13:01 +09:00
smoogipoo
724fe3d378 Remove unnecessary method 2021-04-16 22:57:34 +09:00
smoogipoo
72ebcb157f Dispose track on dispose 2021-04-16 22:57:27 +09:00
smoogipoo
4c5d4752b1 Rename classes to reduce redundant naming 2021-04-16 22:47:52 +09:00
smoogipoo
7d5d7088cd Remove now unnecessary override 2021-04-16 20:51:07 +09:00
Christine Chen
b15838b220 Move storyboard outro logic to DrawableStoryboard 2021-04-16 00:59:10 -04:00
smoogipoo
1c086d99de Add loading spinner 2021-04-16 13:28:32 +09:00
smoogipoo
5ac0eb02cd Always add player instances at first, populate later 2021-04-16 12:25:29 +09:00
Christine Chen
45c2b72a25
Merge branch 'master' into play-storyboard-outro 2021-04-15 15:11:35 -04:00
Christine Chen
25b8c2f257 Allow skipping storyboard outro
Reuses SkipOverlay by calculating the endtime of the storyboard and using that as a "start point". Upon skipping the outro the score is instantly shown.
When the end of the storyboard is reached the score screen automatically shows up. If the player holds ESC (pause) during the outro, the score is displayed

The storyboard endtime is calculated by getting the latest endtime of the storyboard's elements, or simply returning 0 if there is no storyboard.

Co-Authored-By: Marlina José <marlina@umich.edu>
2021-04-15 13:20:40 -04:00
smoogipoo
b391a8f94e Properly bind WaitingOnFrames 2021-04-15 19:37:45 +09:00
smoogipoo
33cc5c5cb3 A few more xmldocs 2021-04-15 19:35:57 +09:00
smoogipoo
82fcabb8f0 More refactorings/renamespacings/xmldocs 2021-04-15 19:32:55 +09:00
smoogipoo
df4fce2c57 Rename classes 2021-04-15 19:16:00 +09:00
smoogipoo
1705d472b5 Reimplement multiplayer syncing using new master/slave clocks 2021-04-15 19:12:52 +09:00
smoogipoo
33ad7850cb Remove LastFrameTime 2021-04-15 16:45:59 +09:00
smoogipoo
6fc7488a67 Reimplement syncing logic as a new component 2021-04-15 16:33:59 +09:00
smoogipoo
774cca38c4 Make spectating instances use custom GCC 2021-04-14 20:39:14 +09:00
smoogipoo
69b01e7270 Add some debugging 2021-04-14 00:58:03 +09:00
smoogipoo
77830527e7 Fix spectate button being disabled during play 2021-04-13 23:57:16 +09:00
smoogipoo
d49b90877e Fix operation remaining in progress 2021-04-13 23:21:48 +09:00
smoogipoo
3039b7b0f9 Make tests a bit more resilient 2021-04-13 22:40:24 +09:00
smoogipoo
20823abb30 Make resyncing a bit more resilient 2021-04-13 22:10:35 +09:00
smoogipoo
627dd960b0 Disable player input for now 2021-04-13 20:52:20 +09:00
smoogipoo
5b53a2b211 Merge branch 'master' into multiplayer-spectator-screen 2021-04-13 20:07:56 +09:00
Dean Herbert
2884ed3ab9
Merge pull request #12350 from smoogipoo/multiplayer-spectator-player-grid
Add the multiplayer spectator player grid
2021-04-13 19:25:32 +09:00
smoogipoo
c531e38a36 Rework to create a derived tracked user data instead 2021-04-12 22:00:27 +09:00
Dean Herbert
dd1925aaed Remove temporary input ignore 2021-04-12 14:29:27 +09:00
Dean Herbert
9be3163592 Merge branch 'master' into multiplayer-spectator-player-grid 2021-04-12 14:14:13 +09:00
smoogipoo
4409c1a36f Increase sync offset to prevent constant catchups 2021-04-09 22:01:21 +09:00
smoogipoo
6eddc6c59e Enable spectating multiplayer matches 2021-04-09 21:03:50 +09:00
smoogipoo
3e46d6401e Remove some unnecessary code 2021-04-09 20:23:11 +09:00
smoogipoo
eccd269cce Implement maximum start delay 2021-04-09 20:17:57 +09:00
smoogipoo
49b7519c53 Refactor gameplay starting logic 2021-04-09 20:03:34 +09:00
smoogipoo
c93ce73123 Move catchup logic inside PlayerInstance, fixup some edge cases 2021-04-09 19:59:34 +09:00
smoogipoo
f8dfb9544b Merge branch 'multiplayer-spectator-leaderboard' into multiplayer-spectator-screen 2021-04-09 18:42:04 +09:00
smoogipoo
d2c37e6cf8 Remove unnecessary parameter 2021-04-09 18:41:58 +09:00
smoogipoo
4fa51d5ec8 Add leaderboard to multiplayer spectate screen 2021-04-09 18:41:48 +09:00
smoogipoo
950e4e05ef Merge branch 'multiplayer-spectator-leaderboard' into multiplayer-spectator-screen 2021-04-09 18:30:21 +09:00
smoogipoo
90e243eea5 Rename methods 2021-04-09 18:15:27 +09:00
smoogipoo
3b86f0eb2f Fix exception with 0 frames 2021-04-09 18:15:23 +09:00
smoogipoo
bb15baf118 Add initial multiplayer spectator leaderboard 2021-04-09 17:31:14 +09:00
smoogipoo
ecd0b84d94 Use max_sync_offset constant 2021-04-08 22:15:07 +09:00
smoogipoo
1b5679b0d7 Refactor ctor 2021-04-08 22:14:26 +09:00
smoogipoo
7d276144b8 Fix player sizing + masking 2021-04-08 22:13:54 +09:00
smoogipoo
709016f0d6 Add initial multiplayer screen implementation 2021-04-08 22:07:00 +09:00
smoogipoo
d64b236f86 Add a container that provides an isolated gameplay context 2021-04-08 21:27:16 +09:00
smoogipoo
125358158b Merge branch 'master' into multiplayer-spectator-screen 2021-04-08 21:13:37 +09:00
smoogipoo
fd2a14a0bf Only set button state once 2021-04-08 16:31:40 +09:00
Dean Herbert
a55e62188e Change state icon to binoculars so the eye isn't staring at me 2021-04-08 15:54:58 +09:00
Dean Herbert
b73860cb5f Slightly alter button colour scheme to make text more legible and reduce saturation 2021-04-08 15:47:55 +09:00
smoogipoo
72a42ceaf7 Merge branch 'multiplayer-spectator-player-grid' into multiplayer-spectator-screen 2021-04-08 00:19:00 +09:00
smoogipoo
5dc939c2f3 More documentation 2021-04-08 00:12:21 +09:00
smoogipoo
024adb699c Add test and fix several issues 2021-04-08 00:12:21 +09:00
smoogipoo
648a9d5258 Add multiplayer spectator player grid 2021-04-08 00:12:21 +09:00
smoogipoo
93c5935ebc Add match subscreen support + test 2021-04-07 20:46:30 +09:00
smoogipoo
abd637ffaa Add button to footer 2021-04-07 17:35:18 +09:00
smoogipoo
c744f77cfa Add participant panel state 2021-04-07 16:40:24 +09:00
smoogipoo
6be9c9f0f4 Link up ready button to spectate state 2021-04-07 16:35:50 +09:00
smoogipoo
6de91d7b6b Add spectate button + test 2021-04-06 21:37:27 +09:00
Dean Herbert
84b2f9a848 Make token private 2021-03-24 13:20:44 +09:00
Dean Herbert
3cd8bf2d7f Move token request construction to LoadAsyncComplete to better allow DI usage 2021-03-23 18:20:55 +09:00
Dean Herbert
571124669d Remove all references to "score submission" from Player 2021-03-23 18:20:55 +09:00
Dean Herbert
12f050264a Further split out a player class which submits to "rooms" 2021-03-23 18:20:55 +09:00
Dean Herbert
7045fce555 Move score submission logic in general out to its own Player type 2021-03-23 18:20:55 +09:00
Dean Herbert
b1cd01ceb8 Apply ConfigureAwait changes to game side 2021-03-08 14:36:35 +09:00
Dean Herbert
23a46819dc
Merge branch 'master' into multiplayer-confirm-on-exit 2021-03-03 20:35:31 +09:00
Dean Herbert
0f5bce70ad Split confirmation dialog classes apart 2021-03-03 20:34:37 +09:00
Dean Herbert
0ede28da2f Fix test failures due to missing dependency 2021-03-03 15:24:55 +09:00
Dean Herbert
cb4c3503a0 Confirm exiting a multiplayer match 2021-03-03 14:54:18 +09:00
Dean Herbert
d332fd2414 Handle case where local user tries to change beatmap while not the host 2021-03-03 14:53:47 +09:00
Dean Herbert
36e1fb6da8 Add flow to allow MatchSubScreen to handle beatmap presentation locally 2021-03-03 14:13:51 +09:00
Dan Balasescu
9fc57b2145
Merge pull request #11832 from peppy/leaderboard-compact-mode
Show compact leaderboard during gameplay to reduce distractions
2021-02-19 18:17:46 +09:00
Dean Herbert
b8c1e8ed7a
Merge pull request #11708 from frenzibyte/multiplayer-participant-rank
Display user global rank for multiplayer room participants
2021-02-19 16:57:30 +09:00
Dean Herbert
9d02f589fe Compact leaderboard during gameplay 2021-02-19 16:51:39 +09:00
Dean Herbert
4504023a23 Merge branch 'master' into playlists-freemod-support 2021-02-19 14:43:59 +09:00
Dean Herbert
df05c57f44 Merge branch 'master' into playlists-freemod-support 2021-02-19 14:35:20 +09:00
smoogipoo
bc10fcafae Remove now unnecessary schedule 2021-02-19 13:23:51 +09:00
Dean Herbert
b68dbbceff
Merge branch 'master' into multiplayer-participant-rank 2021-02-19 13:16:44 +09:00
Salman Ahmed
e14a59f272 Fix creating ruleset instances per LINQ select 2021-02-18 15:26:59 +03:00
smoogipoo
e911760318 Split OnlinePlayComposite to remove if-statement 2021-02-18 15:47:33 +09:00
smoogipoo
6ef235c4c5 Fix beatmap panel flickering multiple times 2021-02-17 21:54:43 +09:00
smoogipoo
2a1bb2f578 Fix selected item potentially changing during gameplay 2021-02-17 21:40:21 +09:00
smoogipoo
8930ff4465 Merge branch 'master' into multiplayer-no-playlist-mangling 2021-02-17 19:29:01 +09:00
smoogipoo
70a995919c Update comments 2021-02-17 17:58:24 +09:00
Dan Balasescu
57ede6eb37
Merge branch 'master' into fix-multiplayer-mod-propagation-race 2021-02-17 16:22:51 +09:00
Salman Ahmed
a845e96b7a Replace Ranks.Global completely with a GlobalRank property 2021-02-17 08:52:04 +03:00
Bartłomiej Dach
8f72631c31 Fix typo in comment 2021-02-16 21:48:19 +01:00
smoogipoo
100097d78f Fix playlist not being handled correctly for non-joined cases 2021-02-16 21:32:35 +09:00
smoogipoo
379393fe10 Merge branch 'multiplayer-long-types' into multiplayer-no-playlist-mangling 2021-02-16 19:37:55 +09:00
smoogipoo
3e802531d3 Use long type where required in multiplayer 2021-02-16 19:34:01 +09:00
smoogipoo
2a1096a3c8 Make BeatmapSelectionControl use the selected item 2021-02-16 19:02:16 +09:00
smoogipoo
3ff9e14e35 Make StatefulMultiplayerClient control current playlist item 2021-02-16 18:56:13 +09:00
smoogipoo
f25b5147ef Select last playlist item in match subscreen 2021-02-16 15:37:45 +09:00
Dean Herbert
97a7572cb8 Move UserModSelectOverlay to RoomSubScreen for Playlists consumption 2021-02-16 15:14:48 +09:00
Dean Herbert
52e544aa67 Revert "Remove redundant double call to ValueChanged on UserMods change"
This reverts commit 9ed45ce1ca.
2021-02-16 14:42:31 +09:00
Dean Herbert
9ed45ce1ca Remove redundant double call to ValueChanged on UserMods change 2021-02-16 14:31:00 +09:00
Dean Herbert
0ca747b39f Merge branch 'master' into fix-multiplayer-mod-propagation-race 2021-02-16 14:25:27 +09:00
Salman Ahmed
0e7f52b5cc Always use JSON property global_rank for global ranks instead 2021-02-16 07:33:16 +03:00
Salman Ahmed
5b4999e8af Update user statistics retrieval with API changes 2021-02-16 07:33:13 +03:00
Salman Ahmed
d15ffff9a5 Simplifiy user statistics retrieval to one-time on deserialization 2021-02-16 04:48:36 +03:00
Salman Ahmed
a1496cd8f3 Remove necessity of using CurrentModeRank as a fallback 2021-02-16 04:48:36 +03:00
Salman Ahmed
90aa6256d7 Merge branch 'master' into multiplayer-participant-rank 2021-02-16 04:44:57 +03:00
Dan Balasescu
6bfc7da671
Fix sample potentially playing at the wrong frequency
Co-authored-by: Dean Herbert <pe@ppy.sh>
2021-02-15 18:10:45 +09:00
smoogipoo
c6ed3efa4a Merge branch 'master' into non-concurrent-sample-playback 2021-02-15 14:47:32 +09:00
Joehu
b28a906197 Fix extra mod settings overflowing from screen 2021-02-12 10:29:29 -08:00
Joehu
52975c5185 Remove hardcoded padding from main content 2021-02-12 10:23:33 -08:00
smoogipoo
d3f0c0730d Merge branch 'master' into non-concurrent-sample-playback 2021-02-12 17:22:15 +09:00
Dean Herbert
549e7520c5 Move scheduler logic to client callback rather than inside the update method 2021-02-11 16:00:52 +09:00
Dean Herbert
21f66a19fd Make server authoritative in which mods the client should be using when gameplay starts 2021-02-11 15:55:18 +09:00
smoogipoo
86682cdb34 Add client/room null check 2021-02-10 20:16:26 +09:00
smoogipoo
6fff7c39da Ensure tracker is disposed 2021-02-10 20:09:45 +09:00
smoogipoo
822c66033f Add local-user freemod configuration 2021-02-10 19:56:59 +09:00
Dan Balasescu
92599aa02b
Merge branch 'master' into user-beatmap-downloading-states-2 2021-02-09 21:06:09 +09:00
Salman Ahmed
d101add159 Display user global rank for selected ruleset in participants panel 2021-02-08 21:25:50 +03:00
Dean Herbert
5fbed05d04
Merge pull request #11551 from smoogipoo/fix-leave-room-race-2
Fix client potentially not leaving a room on exiting multiplayer
2021-02-08 19:23:14 +09:00
smoogipoo
a08c51f213 Remove duplicate code 2021-02-08 19:23:10 +09:00
Dean Herbert
34a1918d03
Merge branch 'master' into user-beatmap-downloading-states-2 2021-02-06 00:27:55 +09:00
smoogipoo
95ad7ea8f7 Fix mods on participant panels flashing when changed 2021-02-05 18:44:33 +09:00
Dean Herbert
f338fa114b
Merge branch 'master' into user-beatmap-downloading-states-2 2021-02-05 18:02:40 +09:00
Dean Herbert
791cbb7f03 Don't reset ready state if the map is locally available 2021-02-05 17:17:29 +09:00
Dean Herbert
3e750feaa4 Subclass LocalPlayerModSelectOverlay to correctly deselect incompatible mods on free mod selection 2021-02-05 16:42:35 +09:00
Dean Herbert
be91f54349 Add back edge case with comment 2021-02-05 16:19:45 +09:00
Dean Herbert
9ba5ae3db7 Remove lots of unnecessary client side logic 2021-02-05 16:17:02 +09:00
Dean Herbert
1b6a052798 Refactor logic to suck a bit less 2021-02-05 15:46:03 +09:00
Dean Herbert
d1f9aa52a4 Inline variable 2021-02-05 15:33:48 +09:00
Dean Herbert
9e9e382bee Merge branch 'master' into user-beatmap-downloading-states-2 2021-02-05 15:27:17 +09:00
Dean Herbert
2fc3a97f56
Merge pull request #11516 from frenzibyte/ready-button-clean-up
Replace ready button beatmap logic with using `MultiplayerBeatmapTracker` instead
2021-02-05 15:09:25 +09:00
Dean Herbert
de8724b1f6 Use AddRangeInternal for simplicity, but disallow ClearInternal for safety 2021-02-05 14:39:25 +09:00
Salman Ahmed
78ea2d50bb Merge branch 'master' into ready-button-clean-up 2021-02-05 07:23:11 +03:00
smoogipoo
df2da5950f Add back vertical spacer 2021-02-05 13:09:13 +09:00
smoogipoo
2e85ce5b82 Rename UserMods -> Mods for MultiplayerRoomUser 2021-02-05 12:40:16 +09:00
smoogipoo
21d5f842fc Re-layout to reduce movement 2021-02-03 14:53:55 +09:00
smoogipoo
6453367a9c Merge branch 'freemod-select-overlay' into freemods 2021-02-02 21:43:35 +09:00
smoogipoo
e58ece9e10 Make ModSelectOverlay abstract 2021-02-02 21:06:04 +09:00
smoogipoo
10ceddf3ff Make IsValidMod adjustable 2021-02-02 20:47:50 +09:00
smoogipoo
a2e3b1c0e4 Move Mods reset code to OnlinePlaySongSelect 2021-02-02 19:02:39 +09:00
smoogipoo
173e20938c Revert changes to ModDisplay 2021-02-02 13:49:58 +09:00
smoogipoo
b54f65c282 Exclude more mods from multiplayer 2021-02-02 12:48:15 +09:00
smoogipoo
e5ca9b1e50 Remove usage of removed method 2021-02-01 19:28:33 +09:00
smoogipoo
9c4c47599f Merge branch 'master' into freemods 2021-02-01 19:28:10 +09:00
smoogipoo
ee92ec0a5c Disallow local user mod customisation 2021-02-01 18:54:47 +09:00
smoogipoo
89a42d60fb General cleanup 2021-02-01 18:50:32 +09:00