1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-16 23:02:56 +08:00
Commit Graph

7911 Commits

Author SHA1 Message Date
Dean Herbert
9155671557
Merge pull request #11341 from peppy/fix-leaderboard-user-handling
Fix incorrect null handling in GameplayLeaderboard
2020-12-28 22:44:55 +09:00
Dean Herbert
2e88036f39
Merge pull request #11342 from bdach/fix-beatmap-not-reverting
Fix user changes in multi song select not reverting on exit without confirmation
2020-12-28 21:56:07 +09:00
Bartłomiej Dach
a376a23ed7
Merge branch 'master' into fix-leaderboard-user-handling 2020-12-28 13:43:53 +01:00
Bartłomiej Dach
a9822800fc Add more null hinting in GameplayLeaderboard 2020-12-28 13:00:05 +01:00
Bartłomiej Dach
f16b516e58 Revert user changes if no selection was made 2020-12-28 12:35:17 +01:00
Dean Herbert
447a55ce11 Fix incorrect null handling in GameplayLeaderboard 2020-12-28 20:16:53 +09:00
Bartłomiej Dach
20ae84a466
Merge branch 'master' into fix-user-lookup-failure-crashes 2020-12-28 12:15:06 +01:00
Dean Herbert
046a76cb1d Allow null users to still be displayed in the participant list
The fix here is correcting the access of `user.Country`. The deicision
to have null users display is because this is the best we can do (if
osu-web could not resolve the user). We still want the users in the
lobby to be aware of this user's presence, rather than hiding them from
view.

osu-stable does a similar thing, showing these users as `[Loading]`. I
decided to go with blank names instead because having *any* text there
causes confusion. We can iterate on this in future design updates.
2020-12-28 15:03:44 +09:00
Lucas A
7ae4979882 Fix merge conflicts. 2020-12-27 13:52:45 +01:00
Bartłomiej Dach
2ff49f4758 Merge branch 'master' into fix-quit-user-showing-in-leaderboard 2020-12-27 13:02:40 +01:00
Bartłomiej Dach
f75dccc9e4 Explicitly use discard in value changed callback 2020-12-27 13:00:27 +01:00
Bartłomiej Dach
6b6b1514e2 Rename method to be less misleading
As it doesn't only change colour, but also width.
2020-12-27 12:58:37 +01:00
Dean Herbert
1b34f2115f Remove dignostics using 2020-12-27 16:57:23 +09:00
Dean Herbert
d14a8d24b5 Remove assert for now 2020-12-27 16:42:20 +09:00
Dean Herbert
fa0576f47f Move quit colour change implementation to updateColour for better coverage 2020-12-27 13:40:02 +09:00
Bartłomiej Dach
15948de2f0 Fix gameplay leaderboard avatars being clickable 2020-12-26 14:35:14 +01:00
Dean Herbert
71dcbeaf7c Mark user as quit visually on the leaderboard 2020-12-26 12:11:09 +09:00
Dean Herbert
116acc2b5e Add flow for marking user as quit for further handling 2020-12-26 11:35:51 +09:00
Dean Herbert
ff57562956 Fix multiplayer leaderboard not unsubscribing from quit users 2020-12-26 11:35:31 +09:00
Dean Herbert
fe1bbb1cac Don't fail if the local user is not present in room users when updating ready button state 2020-12-26 10:49:22 +09:00
Dean Herbert
f9900720d5 Rename OnRoomChanged to OnRoomUpdated to avoid confusion 2020-12-26 10:49:02 +09: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
Dean Herbert
e421b6d34e Update some missed variables 2020-12-25 23:36:09 +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
Bartłomiej Dach
a97681a5da Proxy screen transition events to subscreens in multiplayer 2020-12-24 15:07:03 +01: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
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
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
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
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
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
Bartłomiej Dach
e4959489b7 Improve user-facing error messages in room settings 2020-12-23 17:10:53 +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
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
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
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
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
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
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
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
Endrik Tombak
78c14fd696 Refactor code into UserTrackingScrollContainer 2020-12-22 17:36:44 +02: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
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
59734229ff Remove unused using 2020-12-22 17:21:53 +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
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
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
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
Dean Herbert
d229fbba6e
Merge branch 'master' into present-recommended 2020-12-22 13:52:29 +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
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
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
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
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
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
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
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
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
55cdff5be7 Renamespace ready button 2020-12-20 23:54:04 +09: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
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
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
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
Bartłomiej Dach
4e5064c4f6 Start accuracy at 1 2020-12-19 21:31:17 +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
Lucas A
a397db4f15 Resolve merge conflicts 2020-12-19 10:55:18 +01: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
0fb8615f95 Implement room parting 2020-12-19 02:02:04 +09:00
smoogipoo
9b0ca8fc3b Make real time room manager not poll while inside a room 2020-12-19 01:57:30 +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
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
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
c84807ed5c Refactor implementation 2020-12-18 16:20:54 +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
206bf3713e Make IAPIProvider read-only bindables into IBindables 2020-12-18 15:16:36 +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
0faf3fdfd3 Update gameplay leaderboard scores with the new design 2020-12-17 15:19:10 +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
de9c21e7d1 Tenatively mark leaderboard class as LongRunningLoad until final integration 2020-12-17 15:48:53 +09:00
Lucas A
5d7294451f Refactor Import() overload to take a list of import tasks instead. 2020-12-16 14:28:16 +01: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
88b3bf06e8 Merge branch 'master' into add-bundle-header 2020-12-16 13:40:15 +09: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
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
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
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
0d7f53b0b9 Fix gameplay loading too fast the first time entering a beatmap 2020-12-14 14:21:21 +09: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
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
Dean Herbert
2dd5911256 Rename method to better match purpose 2020-12-11 14:44:01 +09: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
Dan Balasescu
f9afb7f335
Merge branch 'master' into archive-model-manager-stream-import-support 2020-12-08 16:11:11 +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
smoogipoo
fa65874763 Limit room name to 100 characters 2020-12-07 21:09:38 +09:00
Dean Herbert
eb38bc4b4c Add the ability to import into ArchiveModelManagers from a stream 2020-12-07 18:09:18 +09:00
PercyDan
60d8102a77
Merge branch 'master' into import-screen 2020-12-04 21:20:14 +08:00
MATRIX-feather
7104230ae3 Add "onCurrentDirectoryChanged" 2020-12-04 19:52:25 +08:00
Endrik Tombak
c25e2c3dd5 Select recommended beatmap if last selection is filtered 2020-12-03 23:13:14 +02:00
MATRIX-feather
fb080284d2 Simplify UI implementation 2020-12-04 04:10:08 +08:00
MATRIX-feather
85de1a1d20 Animation changes 2020-12-04 03:19:20 +08:00
MATRIX-feather
abe5a67bc5 Simplify implementation 2020-12-04 03:14:31 +08:00
Endrik Tombak
49be4978bd Avoid calling ToList twice 2020-12-03 19:53:41 +02:00
Endrik Tombak
4cd2e207ac Document getBestRulesetOrder 2020-12-03 19:53:06 +02:00
Endrik Tombak
48dad61a46 Apply review suggestions 2020-12-03 19:44:12 +02:00
Endrik Tombak
cbbcf36eaa Merge branch 'master' of https://github.com/ppy/osu into present-recommended 2020-12-03 19:38:32 +02:00
Dan Balasescu
1d92800761
Merge pull request #11068 from peppy/fix-carousel-edge-masking
Fix beatmap carousel panels getting masked away when out of scroll bounds
2020-12-03 20:40:44 +09:00
Dean Herbert
37d550f42a
Merge pull request #11035 from smoogipoo/add-playlist-length 2020-12-03 18:39:54 +09:00
smoogipoo
8245bb85dc Invoke on initial bind 2020-12-03 18:06:55 +09:00
smoogipoo
3e62da119e Add to inspector also 2020-12-03 17:59:39 +09:00
Dean Herbert
3550e5b30f Add length display to room screen as well 2020-12-03 16:42:06 +09:00
smoogipoo
31f7f7072d Fix song select panels not loading if partially offscreen 2020-12-03 15:13:20 +09:00
Dean Herbert
897f593b37 Fix beatmap carousel panels getting masked away when out of scroll bounds
Regressed in https://github.com/ppy/osu/pull/10973 due to removed masking specification.

Closes #11067.
2020-12-03 13:26:28 +09:00
Dan Balasescu
297283491a
Merge pull request #11031 from peppy/editor-fix-beat-snapping-new-beatmap
Fix editor beat snapping not working correctly when starting with a new beatmap
2020-12-02 15:17:09 +09:00
Dean Herbert
71a121389b
Merge pull request #11033 from smoogipoo/immutable-hit-samples
Make HitSampleInfo immutable
2020-12-02 14:44:26 +09:00
Dean Herbert
d6e0dc2216 Merge branch 'master' into editor-fix-beat-snapping-new-beatmap 2020-12-02 14:37:00 +09:00
Dean Herbert
e84dab8589 Move new beatmap construction above beat divisor binding 2020-12-02 14:36:52 +09:00
Dan Balasescu
878ded4dd6
Merge pull request #11032 from peppy/editor-fix-ticks-updating-after-timing-change
Fix timeline not updating ticks correctly after arbitrary timing control point changes
2020-12-02 10:58:44 +09:00
Dan Balasescu
9d71095a2b
Merge pull request #11004 from Yoyolick/master
Add ability to customise key binding for in-game overlay toggle
2020-12-02 10:34:24 +09:00
Pennek
477de1bab0 change min/max values 2020-12-02 01:11:24 +01:00
Bartłomiej Dach
94a8784e04 Allow editor change handler to be null 2020-12-01 20:08:31 +01:00
smoogipoo
598572195c Add playlist length to match settings overlay 2020-12-01 19:57:25 +09:00
Dan Balasescu
1cea39ed55
Merge pull request #11017 from peppy/fix-song-select-temporary-selection-loss
Fix current beatmap temporarily becoming empty during ruleset change
2020-12-01 17:55:08 +09:00
Dean Herbert
190c6ef45e Fix timeline not updating ticks correctly after arbitrary timing control point changes 2020-12-01 16:44:08 +09:00
Dean Herbert
2b268ee012 Fix editor beat snapping not working correctly when starting with a new beatmap 2020-12-01 16:16:26 +09:00
smoogipoo
5760e1c1fc Make HitSampleInfo immutable 2020-12-01 15:37:51 +09:00
Dean Herbert
a147b7186d Remove unnecessary call to updateVisibility 2020-12-01 14:01:34 +09:00
Dean Herbert
63ff722963 Fix code formatting 2020-12-01 14:00:54 +09:00
Ryan Zmuda
8f6607ffec
Merge branch 'master' into master 2020-11-30 21:42:15 -05:00
Ryan Zmuda
e102f2e8fa Moved enum to bottom, change defualt bind to Shift-Tab, Fixed Notification 2020-11-30 21:38:16 -05:00
Dean Herbert
a852a27dfb Fix current beatmap temporarily becoming empty during ruleset change
When changing the ruleset at song select, there was a scenario where it
would be set to default (empty) for one debounce length where this was
not actually required. This occurs when the currently selected beatmap
set has other difficulties which match the target ruleset, specifically.
2020-11-30 19:36:30 +09:00
Dean Herbert
c17d67bc7d Merge branch 'master' into editor-beat-snap-always 2020-11-30 18:34:38 +09:00
Dan Balasescu
b0637cebd1
Merge branch 'master' into song-select-track-selected-better-2 2020-11-30 17:26:15 +09:00
Dan Balasescu
5a276f8577
Merge branch 'master' into fix-editor-reapply-same-state-change 2020-11-30 13:34:03 +09:00
Ryan Zmuda
9145557522 Revert "Revert "forgot to remove something... sorry""
This reverts commit 6478bed431.
2020-11-29 23:15:12 -05:00
Ryan Zmuda
6478bed431 Revert "forgot to remove something... sorry"
This reverts commit a780a8bbd8.
2020-11-29 23:14:43 -05:00
Ryan Zmuda
a780a8bbd8
forgot to remove something... sorry 2020-11-29 21:52:58 -05:00
Ryan Zmuda
3994cf082d add keybind for in game overlay 2020-11-29 20:59:02 -05:00
Dean Herbert
7e34c5e239 Fix state application always checking newest state for early abort, rather than current 2020-11-27 16:57:11 +09:00
Dean Herbert
7edbba58f7 Avoid updating hitobjects unnecessarily for start time changes
This was firing regardless of whether the start time was changed, such
as where beat snap provided the same time the object already has.

The case where a change actually occurs is already handled by
EditorBeatmap (see `startTimeBindables`), so it turns out this local
handling is not required at all.
2020-11-27 16:31:06 +09:00
Dean Herbert
792934f2c4 Allow scroll type to be specified
This brings back the ability for the carousel to scroll in a classic
way. It turns out this is generally what we want for "seek" operations
like "random", else it's quite hard to get the expected animation.

I did experiment with applying the animation after the pooled panels are
retrieved, but in a best-case scenario there is still a gap where no
panels are displayed during the random seek operation.
2020-11-27 13:54:38 +09:00
Dean Herbert
018957c244 Merge branch 'master' into song-select-track-selected-better-2 2020-11-27 12:54:40 +09:00
Dan Balasescu
220657c2cc
Merge branch 'master' into replay-pausing-support 2020-11-27 00:09:40 +09:00
Dean Herbert
3346c06aca Rename variable/text to be more verbose as to toggle purpose 2020-11-26 20:04:44 +09:00
Dean Herbert
741902f1b3
Merge pull request #10971 from smoogipoo/fix-timeline-combo-colour
Fix timeline blueprints sometimes not receiving combo colours
2020-11-26 19:47:21 +09:00
Dean Herbert
da6bccc812 Apply beat snap if positional snap doesn't give a time result 2020-11-26 19:20:51 +09:00
Dean Herbert
91592cf32d Expose EditorClock for consumption 2020-11-26 19:20:39 +09:00
Dean Herbert
9811c46e35 Rename application method to better describe what it actually does 2020-11-26 19:16:18 +09:00
Dean Herbert
0a48dd8f76 Delegate scroll animation to panels themselves 2020-11-26 18:42:51 +09:00
Dean Herbert
ad258e2e52 Update scroll position before applying any panel animations
In the case of automatic scroll requirements (ie. scroll to selected) we
are delegating the animation logic to the panels themselves. In order to
make this work correctly, the scroll operation needs to take effect
before any animation updates are run.
2020-11-26 18:33:41 +09:00
Dean Herbert
6058c66edb Move drawable carousel set movement logic into panels themselves 2020-11-26 18:32:43 +09:00
Dean Herbert
f8db7a9902 Remove ScrollableContent container from carousel
This was causing multiple issues with masking and sizing and really
didn't need to exist in the first place. Also not sure why the pool was
nested inside the scroll container, but it isn't any more. Probably for
the best.
2020-11-26 18:28:54 +09:00
smoogipoo
e53f849aa0 Completely separate combo colours from DHOs 2020-11-26 18:14:25 +09:00
smoogipoo
f562854feb Fix timeline objects sometimes not receiving combo colours 2020-11-26 17:22:22 +09:00
Dan Balasescu
aad6cf4ad3
Merge branch 'master' into editor-multiple-object-positional-snap 2020-11-26 17:06:47 +09:00
Dean Herbert
0ddeff648d Fix incorrect index lookup on non-ordered selections 2020-11-25 17:25:54 +09:00
Dean Herbert
d4c6d6275e Fix volume not being adjustable in the editor using alt-scroll
We do this in other places so I think it's fine to handle like this for
now (until we come up with a better global solution).

Closes #10958.
2020-11-25 16:46:22 +09:00