Bartłomiej Dach
0bd9f68cbd
Refactor update stream colour mapping code
2020-12-25 21:06:03 +01:00
Bartłomiej Dach
2e4b1b95c2
Rename {Multiplayer -> OnlinePlay}BackgroundSprite
2020-12-25 18:07:34 +01:00
Bartłomiej Dach
ed4b8482b6
Rename {Multiplayer -> OnlinePlay}Composite
2020-12-25 18:07:34 +01:00
Bartłomiej Dach
4c43a67b68
Rename I{Multiplayer -> OnlinePlay}SubScreen
2020-12-25 18:07:34 +01:00
Bartłomiej Dach
e5064ee930
Rename {Multiplayer -> OnlinePlay}SubScreen
2020-12-25 17:02:35 +01:00
Bartłomiej Dach
eb0f125fef
Rename {Multiplayer -> OnlinePlay}SubScreenStack
2020-12-25 17:00:31 +01:00
Bartłomiej Dach
4caf75850b
Rename {Multiplayer -> OnlinePlay}Screen
2020-12-25 17:00:00 +01:00
Bartłomiej Dach
83fb7c7a1a
Re-namespace all files in OnlinePlay directory
2020-12-25 16:50:09 +01:00
Bartłomiej Dach
e797e5ce7a
Rename Multi directory to OnlinePlay
2020-12-25 16:50:02 +01:00
Dean Herbert
9de1a67e03
Move PlaylistsResultsScreen to correct namespace
2020-12-25 23:47:32 +09:00
Dean Herbert
836d1491d0
PlaylistsMultiplayer -> Playlists
2020-12-25 23:47:18 +09:00
Dean Herbert
8a36eab060
Move missed file from Play namespace
2020-12-25 23:42:02 +09:00
Bartłomiej Dach
0d8fb83d0a
Ensure account creation overlay is shown after logout
...
Scheduling the entire API state change callback caused the scheduled
hide to fire the first time the user attempted to display the account
creation overlay after a logout, because the drawable wasn't present
before that (so its scheduler wasn't running).
It is not theoretically safe to run `Hide()` unscheduled at its present
call site (as the value change callbacks are fired on the background
API thread). This could also be fixed by setting `AlwaysPresent = true`,
but that's a pretty ugly and unperformant change to make in general.
2020-12-25 15:40:39 +01:00
Dean Herbert
e421b6d34e
Update some missed variables
2020-12-25 23:36:09 +09:00
Dean Herbert
2d7f9bf290
Revert RoomCategory naming change to avoid json deserialization failures
2020-12-25 23:34:29 +09:00
Dean Herbert
e49dce2c86
Fix some missed renames
2020-12-25 15:34:13 +09:00
Dean Herbert
5d4b73baa5
RealtimeMultiplayer -> Multiplayer
2020-12-25 14:10:59 +09:00
Dean Herbert
a1384942b1
Timeshift -> Playlists at a code level
2020-12-25 13:11:21 +09:00
Dean Herbert
4e21bd0108
Merge pull request #11286 from peppy/rename-timeshift
...
Rename "timeshift" to "playlists"
2020-12-25 00:45:06 +09:00
Dean Herbert
60c7c8b63b
Pluralise playlists in tip
2020-12-25 00:44:42 +09:00
Bartłomiej Dach
6ec045f235
Distinguish primary multi screen titles in header
2020-12-24 16:18:35 +01:00
Bartłomiej Dach
db1c11073f
Rename back to "room" for "realtime" multiplayer
2020-12-24 16:10:29 +01:00
Bartłomiej Dach
7f0f6d86b0
Rename {room -> playlist} on playlist room screen
2020-12-24 16:08:45 +01:00
Dean Herbert
fa14438671
Merge pull request #11285 from peppy/resort-leaderboard-less
...
Re-sort the leaderboard order a maximum of once a second
2020-12-25 00:05:13 +09:00
Dean Herbert
61be6197e7
Merge pull request #11290 from bdach/looping-mp-at-end-of-game
...
Fix multiplayer gameplay potentially looping audio after reaching end
2020-12-25 00:04:56 +09:00
Dean Herbert
1a3ef9da6d
Merge pull request #11288 from bdach/token-failure-crash-pt2
...
Always create realtime-specific player elements regardless of token
2020-12-24 23:09:35 +09:00
Bartłomiej Dach
a97681a5da
Proxy screen transition events to subscreens in multiplayer
2020-12-24 15:07:03 +01:00
Dean Herbert
3d28a0ccef
Merge pull request #11271 from peppy/dev-server
...
Prefer connecting to dev server when running in DEBUG
2020-12-24 23:01:19 +09:00
Bartłomiej Dach
76a7aabfe8
Always create realtime-specific player elements regardless of token
2020-12-24 14:32:30 +01:00
Dean Herbert
3a46e210d4
Change low-hanging references of "room" to "playlist"
2020-12-24 21:59:10 +09:00
Dean Herbert
aec25e2d73
Rename "timeshift" to "playlists"
...
This only covers the user-facing instances. Code and class name changes
will happen once things have calmed down.
2020-12-24 21:53:20 +09:00
Dean Herbert
f991448a3e
Re-sort the leaderboard order a maximum of once a second
2020-12-24 21:49:38 +09:00
Bartłomiej Dach
d5c348b568
Remove explicit public access modifier from interface
2020-12-24 13:44:46 +01:00
Bartłomiej Dach
4270c29f60
Trim stray newline
2020-12-24 13:42:08 +01:00
Dean Herbert
21a4e6a3f9
Merge pull request #11282 from peppy/disallow-skipping
...
Disallow skipping in multiplayer
2020-12-24 21:31:02 +09:00
Dean Herbert
647cb8310a
Merge pull request #11281 from peppy/fix-ruleset-pollution
...
Schedule UpdateFilter calls to avoid operations occuring while at a sub screen
2020-12-24 21:30:47 +09:00
Dean Herbert
9b654c741b
Merge pull request #11283 from peppy/add-match-start-sound
...
Play a sound when starting a timeshift or multiplayer room
2020-12-24 21:30:24 +09:00
Dean Herbert
25ff32cdf8
Merge pull request #11284 from peppy/add-ready-changed-sound
...
Add sound when players change ready state
2020-12-24 21:30:06 +09:00
Dean Herbert
66a23c22e5
Fix various tests failing due to dependence on specific online data
2020-12-24 21:28:24 +09:00
Bartłomiej Dach
49103a4421
Merge branch 'master' into add-match-start-sound
2020-12-24 13:22:06 +01:00
Bartłomiej Dach
40b9d1bc5e
Invert if & early-return to reduce nesting
2020-12-24 12:45:01 +01:00
Bartłomiej Dach
d5fc517fab
Merge branch 'master' into disallow-skipping
2020-12-24 12:35:22 +01:00
Bartłomiej Dach
ee5a6ff9fa
Merge branch 'master' into improved-loading-experience
2020-12-24 11:59:46 +01:00
Bartłomiej Dach
261c250b46
Update outdated comment
2020-12-24 11:33:49 +01:00
Bartłomiej Dach
4fb2610c82
Merge branch 'master' into frame-bundle-accuracy
2020-12-24 11:20:06 +01:00
Dean Herbert
323da82477
Add website root URL and update most links to use it
...
For what it's worth, I intentionally didn't include news / changelog /
supporter, because these should never change.
2020-12-24 18:11:42 +09:00
Dean Herbert
eb795a2127
Move all endpoint information to a configuration class
2020-12-24 17:58:38 +09:00
Bartłomiej Dach
6750f1574f
Merge branch 'master' into disallow-multiplayer-restart-retry
2020-12-24 09:45:50 +01:00
Dean Herbert
c35454081c
Add sound when players change ready state
2020-12-24 17:17:45 +09:00
Dean Herbert
3148c04fb8
Play a sound when starting a timeshift or multiplayer room
2020-12-24 16:53:25 +09:00
Dean Herbert
6bd6888a93
Disallow skipping in multiplayer for now
2020-12-24 16:29:51 +09:00
Dean Herbert
5457e4598b
Schedule UpdateFilter calls to avoid operations occuring while at a sub screen
2020-12-24 16:20:38 +09:00
Dean Herbert
e86e9bfae6
Don't begin gameplay until all users are in a completely prepared state
2020-12-24 15:32:55 +09:00
Dean Herbert
d66e218318
Source display accuracy from header and remove from ScoreProcessor function
2020-12-24 14:57:23 +09:00
Dean Herbert
1f80f01b53
Add accuracy to frame bundle header
2020-12-24 14:46:52 +09:00
Dean Herbert
43370d7021
Merge pull request #11273 from bdach/duplicate-user-in-mp-room
...
Improve reliability of handling user joined messages
2020-12-24 14:31:44 +09:00
Dean Herbert
61a5d3ef4a
Remove double handling of restart allowance on results screen (already handled locally)
2020-12-24 13:32:35 +09:00
Dean Herbert
76935b93b6
Merge branch 'master' into disallow-multiplayer-restart-retry
2020-12-24 13:31:54 +09:00
Dean Herbert
b29a5e2073
Merge pull request #11270 from bdach/better-error-handling
...
Improve error handling at realtime room settings screen
2020-12-24 13:23:49 +09:00
Dean Herbert
15cef44351
Merge pull request #11275 from peppy/safer-user-ids
...
Send multiplayer user IDs via ctor for better thread safety
2020-12-24 12:20:48 +09:00
Dean Herbert
1ac93d4eeb
Merge pull request #11268 from bdach/fix-room-song-select-stuck
...
Fix realtime multiplayer song select getting stuck after selecting invalid beatmap
2020-12-24 11:26:07 +09:00
Dean Herbert
d6dadd12fa
Send multiplayer user IDs via ctor for better thread safety
2020-12-24 10:39:15 +09:00
Bartłomiej Dach
414f886b02
Split timeshift & multiplayer "create" buttons
...
Multiplayer button gets new, different "Create match" text, and disable
logic in case of a dropped connection to the multiplayer server.
2020-12-23 22:03:57 +01:00
Bartłomiej Dach
c13acb609a
Move out sizing logic to multiplayer screen
2020-12-23 22:03:30 +01:00
Bartłomiej Dach
05d9f23762
Move out create room button to separate class
2020-12-23 22:03:30 +01:00
Bartłomiej Dach
a71496bc4e
Sanity check received user joined messages
...
While test failures fixed in 9843da5
were a shortcoming of the test,
they exposed a potential vulnerable point of the multiplayer client
logic. In case of unreliable message delivery it is not unreasonable
that duplicate messages might arrive, in which case the same scenario
that failed in the tests could crash the game.
To ensure that is not the case, explicitly screen each new joined user
against the room user list, to ensure that duplicates do not show up.
`UserLeft` is already tolerant in that respect (if a user is requested
to be removed twice by the server, the second removal just won't do
anything).
2020-12-23 21:00:49 +01:00
Bartłomiej Dach
47020c8887
Add failing test cases
2020-12-23 21:00:47 +01:00
Bartłomiej Dach
152df2ad84
Merge branch 'master' into better-error-handling
2020-12-23 18:13:50 +01:00
Bartłomiej Dach
e7a91b3dca
Merge branch 'master' into fix-room-song-select-stuck
2020-12-23 18:13:27 +01:00
Bartłomiej Dach
b1fb906773
Merge branch 'master' into fix-hard-crash-on-signal-r-exceptions
2020-12-23 17:37:49 +01:00
Dean Herbert
e89583d732
Prefer connecting to dev server when running in DEBUG
2020-12-24 01:33:19 +09:00
Bartłomiej Dach
e4959489b7
Improve user-facing error messages in room settings
2020-12-23 17:10:53 +01:00
Bartłomiej Dach
3b0bf11366
Fix JoinRoom failing to return canceled token
...
As it turns out, `Task.FromCanceled` expects to receive an already
cancelled `CancellationToken`, which `CancellationToken.None` is not.
2020-12-23 17:01:01 +01:00
Bartłomiej Dach
6c421b873d
Merge branch 'master' into fix-multiplayer-server-disconnection-flow
2020-12-23 16:55:22 +01:00
Bartłomiej Dach
980e85ce25
Refactor player exit logic to convey intention better
2020-12-23 16:16:24 +01:00
Dean Herbert
4296f61d6c
Tidy up event flow of change settings call
2020-12-23 22:39:14 +09:00
Dean Herbert
60be1bedc9
Merge pull request #11254 from frenzibyte/fix-multi-songselect-looping
...
Fix beatmap track not looping on multiplayer song selects
2020-12-23 22:35:11 +09:00
Bartłomiej Dach
c5692a5d6a
Re-enable carousel selection after error
2020-12-23 14:19:30 +01:00
Bartłomiej Dach
582b0d2a74
Revert logic to be closer to original
...
Note the reversal of the order of operations in `endHandlingTrack()`
(done for extra safety, to ensure no more value changed events can be
fired at the point of cancelling looping).
2020-12-23 13:47:28 +01:00
Bartłomiej Dach
74f0c50d82
Merge branch 'fix-multiplayer-server-disconnection-flow' into fix-hard-crash-on-signal-r-exceptions
2020-12-23 13:31:36 +01:00
Bartłomiej Dach
c839892a4c
Merge branch 'master' into fix-multiplayer-server-disconnection-flow
2020-12-23 11:57:43 +01:00
Bartłomiej Dach
94e4928c4b
Bring back accidentally-removed license header
2020-12-23 11:27:15 +01:00
Dean Herbert
f9fd909187
Fix missed inspections
2020-12-23 18:07:38 +09:00
Bartłomiej Dach
64095307de
Merge branch 'master' into realtime-leaderboard
2020-12-23 09:56:47 +01:00
Dean Herbert
3c8f871b28
Move player constructor configuration to dedicated class; add AllowRestart parameter
2020-12-23 17:47:46 +09:00
Dean Herbert
0ddcab574f
Rename method to avoid weird code analysis rule
2020-12-23 17:14:58 +09:00
Dean Herbert
7cc38f03d1
Use extension method in all call sites of fire-and-forget async usage
2020-12-23 17:10:34 +09:00
Dean Herbert
1864da00e6
Add extension method to handle cases of fire-and-forget async usage
2020-12-23 17:10:02 +09:00
Dean Herbert
c3c3364d39
Simplify error handling of JoinRoom call
2020-12-23 16:56:57 +09:00
Dean Herbert
d27b83d678
More correctly handle fire-and-forget async call
2020-12-23 16:51:11 +09:00
Dean Herbert
91021eb8c4
Remove unused using
2020-12-23 16:49:17 +09:00
Dean Herbert
d7279dab40
Merge pull request #11226 from peppy/fix-legacy-skin-texture-loader-store
...
Fix incorrectly provided texture loader store to skins
2020-12-23 16:41:01 +09:00
Dean Herbert
f5d27b40a8
Standardise flow for aborting realtime player exit to avoid double-exit call
2020-12-23 16:35:39 +09:00
Dean Herbert
569c4092ef
Move notification to stateful client so it is only shown to the user from one location
2020-12-23 16:35:39 +09:00
Dean Herbert
a1d42dc4a0
Don't allow creating or joining a room when not connected to server
2020-12-23 16:35:39 +09:00
Dean Herbert
12df3056e6
Ensure appropriate screens handle exiting when the server gets disconnected
...
I would have liked for this to be handled via the `OnRoomChanged` event
flow, but this isn't present in RealtimeMatchSubScreen due to
inheritence woes.
2020-12-23 16:35:39 +09:00
Dean Herbert
00d50150de
Ensure the current room is left at a mutliplayer client level on client disconnection
2020-12-23 16:35:39 +09:00
Salman Ahmed
286884421d
Apply track looping and play on track change
2020-12-23 08:47:34 +03:00
Dean Herbert
b632e44bac
Merge pull request #11256 from frenzibyte/disallow-joining-ended-realtime-room
...
Disallow joining ended rooms in realtime multiplayer
2020-12-23 14:30:00 +09:00
Dean Herbert
be427a4ec0
Fix realtime leaderboard showing accuracy based on final base score, not rolling
2020-12-23 14:20:35 +09:00
Dean Herbert
45dcd3242d
Add comment explaining why things are done where they are
2020-12-23 13:57:48 +09:00
Salman Ahmed
3aa2b22838
Add early check for room status before joining
2020-12-23 05:52:10 +03:00
Salman Ahmed
7751ef4f3e
Revert previous logic of join guarding
2020-12-23 05:50:15 +03:00
Bartłomiej Dach
08d87ccb1e
Merge branch 'master' into present-recommended
2020-12-22 23:36:13 +01:00
Bartłomiej Dach
3272804704
Fix potential crash when no submission token
...
Can happen because `TimeshiftPlayer` will schedule a screen exit on
token retrieval failure, and `RealtimePlayer`'s BDL won't even attempt
to create a leaderboard in that case.
2020-12-22 22:34:26 +01:00
Bartłomiej Dach
3ae9dd8491
Merge branch 'master' into show-all-participant-states
2020-12-22 21:50:36 +01:00
Bartłomiej Dach
5efc3b9496
Start state display as hidden
...
Would otherwise flicker for a few frames when a new user was added to
the list of participants.
2020-12-22 21:49:42 +01:00
Salman Ahmed
a64ffcd294
Refrain from joining room if not allowed
2020-12-22 16:38:10 +03:00
Salman Ahmed
91d5c53643
Add method for checking room joinability
2020-12-22 16:36:17 +03:00
Salman Ahmed
e3483147e2
Move track looping logic into subscreens
2020-12-22 13:55:46 +03:00
Dean Herbert
6517acc510
Add leaderboard display to realtime player
2020-12-22 19:10:08 +09:00
Dean Herbert
5c3df55cdf
Merge pull request #11247 from frenzibyte/fix-resolution-dropdown
...
Fix resolution dropdown not respecting current display changes
2020-12-22 18:28:01 +09:00
Dean Herbert
ce806dd880
Replace the ready mark display with a state display, showing all participant states
2020-12-22 18:25:45 +09:00
Dean Herbert
3c33ea7f1c
Merge pull request #11239 from smoogipoo/realtime-multiplayer-2
...
Implement realtime multiplayer
2020-12-22 18:23:03 +09:00
Dean Herbert
4f02928601
Change sorting to better handle portrait screens
2020-12-22 17:36:56 +09:00
Dean Herbert
3d5783a0ea
Improve variable names
2020-12-22 17:34:51 +09:00
Dean Herbert
a1d67f0cf6
Merge branch 'master' into fix-resolution-dropdown
2020-12-22 17:26:53 +09:00
Dean Herbert
59734229ff
Remove unused using
2020-12-22 17:21:53 +09:00
Dean Herbert
7d6b2df586
Merge branch 'master' into fix-legacy-skin-texture-loader-store
2020-12-22 17:09:44 +09:00
Dean Herbert
7da3420e07
Merge pull request #11216 from Joehuu/fix-selected-highlight-on-some-dropdowns
...
Fix selected item not being highlighted on some setting dropdowns
2020-12-22 17:09:22 +09:00
Dean Herbert
30357a9447
Add loading layer to multi song select to show during settings confirmation
2020-12-22 17:08:04 +09:00
Dean Herbert
12876d7fb6
Add very basic error handling on ChangeSettings calls
2020-12-22 16:50:30 +09:00
smoogipoo
2d7174d99c
Add padding to song select
2020-12-22 16:23:06 +09:00
Dean Herbert
3cf889b7c5
Fix some errors being completely ignored
2020-12-22 16:19:19 +09:00
Dean Herbert
34421c9232
Update framework
2020-12-22 15:58:57 +09:00
Dean Herbert
17d924c755
Move timeshift settings overlay to correct namespace
2020-12-22 15:52:47 +09:00
Dean Herbert
8201fa8e34
Split out common implementation and private classes in MatchSettingsOverlay
2020-12-22 15:51:24 +09:00
smoogipoo
27e64bdb34
Schedule callback continuations
2020-12-22 15:31:07 +09:00
smoogipoo
ab90db7c8d
Fix stuck lounge on join failure
2020-12-22 15:27:49 +09:00
Dean Herbert
85e93c5dde
Fix main menu multiplayer icons being back to front
2020-12-22 15:22:27 +09:00
Dean Herbert
3f966386ed
Fix compile time failure due to potentially null connection
2020-12-22 15:15:32 +09:00
smoogipoo
81e2edc73f
Use MRE with timeout to wait on match start
2020-12-22 14:59:11 +09:00
smoogipoo
dece41d050
Add todo
2020-12-22 14:58:47 +09:00
Dean Herbert
807c1ecd1f
Refactor recommendation iteration code to read better
2020-12-22 14:57:32 +09:00
smoogipoo
3bf670510a
Split into two actions
2020-12-22 14:55:25 +09:00
Dean Herbert
df5e1d83bd
Allow recommender to potentially be null
2020-12-22 14:36:52 +09:00
Dean Herbert
8cc2ed3fae
Move from OsuGameBase to OsuGame
...
Also moves to a more suitable namespace.
2020-12-22 14:28:27 +09:00
Dean Herbert
626b7615ad
Move and rename some fields for better readability
2020-12-22 14:23:33 +09:00
Dean Herbert
dff865f335
Tidy up comments, code, and multiple linq enumeration
2020-12-22 14:12:02 +09:00
Salman Ahmed
dab5924a63
Fix resolution dropdown not respecting current display changes
2020-12-22 08:02:42 +03:00
Dean Herbert
d229fbba6e
Merge branch 'master' into present-recommended
2020-12-22 13:52:29 +09:00
Dean Herbert
7c5964fad8
Revert window modes to previous code to correctly apply framework restrictions
2020-12-22 13:04:39 +09:00
Dean Herbert
ce2b96afc5
Merge branch 'master' into fix-selected-highlight-on-some-dropdowns
2020-12-22 13:00:06 +09:00
Dean Herbert
9de42f8646
Merge pull request #11238 from peppy/editor-timeline-selection-ux
...
Improve drag and selection UX on editor timeline
2020-12-22 12:58:24 +09:00
Dean Herbert
78a53bf245
Merge pull request #11237 from peppy/fix-editor-background-sticking
...
Fix editor background not being correctly cleaned up on forced exit
2020-12-22 12:15:20 +09:00
Dean Herbert
b5e21a6885
Merge pull request #11233 from peppy/fix-chat-threading-crash
...
Fix potential cross-thread operation during chat channel load
2020-12-22 12:10:27 +09:00
Dean Herbert
a7f78d706a
Merge branch 'master' into fix-legacy-skin-texture-loader-store
2020-12-22 12:09:35 +09:00
Dean Herbert
13ef097a53
Annotate potentially null parameters in protected ctor of LegacySkin
2020-12-22 12:08:40 +09:00
Dean Herbert
85518b4d99
Enforce non-null for BeatmapManager WorkingBeatmap resources
2020-12-22 12:06:10 +09:00
Dean Herbert
a97a2b2a66
Add nullability to BeatmapManager's GameHost reference
2020-12-22 12:03:25 +09:00
Dean Herbert
10c2745682
Add region specifications around implicit interface implementations
2020-12-22 12:01:09 +09:00
Bartłomiej Dach
4eec4c1fe0
Merge branch 'master' into fix-editor-background-sticking
2020-12-21 20:31:59 +01:00
Bartłomiej Dach
f96d2f4ba4
Merge branch 'master' into fix-texture-loader-usages
2020-12-21 18:35:34 +01:00
smoogipoo
c07b2d89e6
Merge branch 'master' into realtime-multiplayer-2
2020-12-21 18:44:03 +09:00
smoogipoo
8427ee1b8e
Fix incorrect cached type
2020-12-21 18:42:23 +09:00
smoogipoo
0566ed1a9b
Add button to main menu
2020-12-21 18:38:44 +09:00
Dean Herbert
423c6158e1
Highlight timeline drag area when hovered for better visibility
2020-12-21 18:10:11 +09:00
Dean Herbert
d1be7c23d9
Increase height of timeline drag area
2020-12-21 18:09:56 +09:00
Dean Herbert
d11d754715
Increase size of circle display on timeline
2020-12-21 18:09:37 +09:00
Dean Herbert
3e3d5b2e37
Merge pull request #11235 from smoogipoo/fix-apibeatmapset-deserialisation
...
Fix metadata lost in beatmapset deserialisation
2020-12-21 18:03:30 +09:00
Dean Herbert
44af32dc47
Merge pull request #11234 from smoogipoo/fix-category-serialisation
...
Fix room category being serialised as int
2020-12-21 18:03:10 +09:00
Dean Herbert
83f1350d7d
Fix editor background not being correctly cleaned up on forced exit
...
Closes #11214 . Should be pretty obvious why.
2020-12-21 17:49:11 +09:00
Dean Herbert
5ec64c0348
Merge pull request #11232 from smoogipoo/participant-count-serialisation
...
Make participant count non-nullable
2020-12-21 17:34:01 +09:00
smoogipoo
9fa1f60b7d
Fix incorrect footer being used
2020-12-21 17:31:15 +09:00
Dean Herbert
1dcee2fb39
Merge pull request #11228 from smoogipoo/nullable-endsat
...
Make room Duration/EndDate nullable
2020-12-21 17:24:40 +09:00
smoogipoo
93cac000e5
Merge branch 'fix-apibeatmapset-deserialisation' into realtime-multiplayer-2
2020-12-21 17:16:28 +09:00
smoogipoo
eb46c9ce9b
Fix metadata lost in beatmapset deserialisation
2020-12-21 17:11:30 +09:00
Dean Herbert
d5644c7f86
Merge pull request #11229 from smoogipoo/fix-non-abstract-test
...
Make RealtimeMultiplayerTestScene abstract
2020-12-21 16:58:04 +09:00
smoogipoo
04af072da7
Merge branch 'fix-category-serialisation' into realtime-multiplayer-2
2020-12-21 16:57:22 +09:00
smoogipoo
e23d81bfc6
Use enum property
2020-12-21 16:56:45 +09:00
smoogipoo
a021aaf546
Fix room category being serialised as ints
2020-12-21 16:42:21 +09:00
Dean Herbert
d096f2f8f6
Fix potential cross-thread operation during chat channel load
...
The callbacks are scheduled to the API thread, but hooked up in BDL
load. This causes a potential case of cross-thread collection
enumeration.
I've tested and it seems like the schedule logic should be fine for
short term. Longer term, we probably want to re-think how this works so
background operations aren't performed on the `DrawableChannel` in the
first place (chat shouldn't have an overhead like this when not
visible).
Closes #11231 .
2020-12-21 16:39:50 +09:00
smoogipoo
5d73359bd7
Make participant count non-nullable
2020-12-21 16:35:19 +09:00
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