smoogipoo
ee25949751
Rename classes
2021-04-22 23:39:02 +09:00
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