Commit Graph

50421 Commits

Author SHA1 Message Date
8b1cee75fa Use BindableLong instead of BindableInt for user score tracking 2022-04-12 14:13:07 +09:00
22c75a518e Fix headers not getting reset on re-run of test 2022-04-12 12:38:15 +09:00
f29e329700 Move user count to a constant to allow easier adjustment 2022-04-12 12:11:51 +09:00
0ba95a4483 Ensure all users are shown on leaderboard (even when API lookup fails) 2022-04-12 11:54:30 +09:00
577e29351e Ensure players are always on both leaderboard teams
In a very rare case, the randomisation may cause all users to be on one
team, causing a test failure. The odds make it basically impossible, but
if adjusting the number of users in the test scene this can more readily
be hit.
2022-04-12 11:46:22 +09:00
ebee9e6888 Fix MultiplayerGameplayLeaderboard not immediately updating totals on scoring mode change 2022-04-12 11:27:27 +09:00
94e2a90af2 Merge pull request #17767 from peppy/multiplayer-gameplay-leaderboard-test-improvements
Refactor multiplayer gameplay leaderboard tests to remove reliance on `Test` implementations
2022-04-12 11:19:53 +09:00
a0e3a2102a Also expand match score component when leaderboard is (in test) 2022-04-12 10:49:57 +09:00
0eb0b5b456 Merge pull request #17773 from peppy/fix-skin-duplication
Fix skins getting duplicated when importing after export
2022-04-11 22:52:32 +02:00
82939b0556 Fix skins getting duplicated when importing after export
Closes #17614.
2022-04-12 00:29:19 +09:00
4ab6c11079 Add failing test coverage of skin import after exporting from lazer 2022-04-12 00:29:15 +09:00
09d560c93e Add test coverage of spectator requests 2022-04-11 19:27:14 +09:00
6a61fd95eb Tidy up base implementation 2022-04-11 19:19:45 +09:00
b52f070fdb Update existing multiplayer leaderboard tests to use new mocked implementation 2022-04-11 19:15:57 +09:00
0ccac24f76 Split out base implementation of MultiplayerGameplayLeaderboard test 2022-04-11 19:15:46 +09:00
a7eb5d71f1 Merge pull request #17765 from peppy/fix-multiplayer-room-type
Fix `MultiplayerTestScene` not setting match type correctly
2022-04-11 19:12:57 +09:00
34457b4742 Expose mocked members as virtual on Multiplayer and SpectatorClient 2022-04-11 19:04:15 +09:00
abb42a54fd Fix MultiplayerTestScene not actually setting match type correctly 2022-04-11 17:57:05 +09:00
5cfafee83c Merge pull request #17764 from smoogipoo/fix-playlist-results-screen-test
Fix incorrect cursor parameterisation in test scene
2022-04-11 16:10:20 +09:00
d1de516b11 Fix incorrect cursor parameterisation in test scene 2022-04-11 15:40:28 +09:00
37976c569a Merge pull request #17762 from peppy/fix-unobserved-exceptions
Avoid throwing unobserved exception when `PerformancePointsCounter` requests timed attributes
2022-04-11 14:50:12 +09:00
489f064b13 Merge pull request #17761 from peppy/fix-drawable-room-null-reference
Fix potential crash in `DrawableRoom` due to lack of null check on post-lookup beatmap
2022-04-11 14:50:01 +09:00
2b74dbca28 Fix potential crash in DrawableRoom due to lack of null check on post-lookup beatmap 2022-04-11 13:44:34 +09:00
779f7390b7 Add test coverage of DrawableRoom actually showing post-retrieval text 2022-04-11 13:44:34 +09:00
19b655d75b Avoid throwing unobserved exception when PerformancePointsCounter requests timed attributes 2022-04-11 13:30:21 +09:00
f2e67d00cc Merge pull request #17743 from smoogipoo/fix-particle-spewer-nan
Fix ParticleSpewer outputting NaN values in vertices
2022-04-09 23:06:14 +09:00
d482ab0287 Fix ParticleSpewer outputting NaN in vertices 2022-04-09 22:29:55 +09:00
2702f7b9f9 Merge pull request #17731 from peppy/fix-highlight-null-ref 2022-04-08 20:20:03 +03:00
134d9b5ddf Perform Show() at the bottom of the method
Probably not affecting behaviour, but makes more sense.
2022-04-08 19:28:04 +03:00
34adc1d410 Add quick test coverage 2022-04-08 19:21:37 +03:00
57fb8616b8 Fix potential null reference when attempting to highlight a message before overlay has been displayed 2022-04-09 00:31:00 +09:00
ae1e126837 Make HighlightMessage implicitly show chat overlay 2022-04-09 00:30:28 +09:00
53484eb7de Merge pull request #17728 from smoogipoo/fix-breaking-assert
Remove some incorrectly-firing asserts
2022-04-08 22:58:57 +09:00
9ea6f9b1fe Remove some incorrectly-firing asserts 2022-04-08 21:44:44 +09:00
62f5409191 Merge pull request #17725 from peppy/multiplayer-hotifx
Avoid multiplayer crashes when events arrive in unexpected order
2022-04-08 20:23:37 +09:00
1f5e435bb3 Merge pull request #17726 from peppy/update-framework
Update framework
2022-04-08 19:48:24 +09:00
e6e475118f Merge pull request #17724 from peppy/fix-disconnect-assert-issue
Fix potential assert failure due to `Room` access from disconnection event
2022-04-08 19:44:20 +09:00
ea4ca6d2ad Update framework 2022-04-08 18:09:57 +09:00
5c571996d8 Avoid multiplayer crashes when events arrive in unexpected order
Intended to be a temporary fix for
https://github.com/ppy/osu/issues/17713 while a more permanent solution
is established. A proper fix is actually quite simple, but updating the
test to work with it is... *slightly* more complicated.

This hotfix will mean that if a `UserJoined` event arrives during the
unobserved window during room join (of the local user), the local user
still won't see the joining user, but the game won't crash as a result.
2022-04-08 17:55:47 +09:00
6bb8243212 Fix potential assert failure due to Room access from disconnection event 2022-04-08 17:41:03 +09:00
975bb8cc2a Merge pull request #17703 from peppy/fix-storyboard-fallback-animation-frame-count-weirdness
Fix `DrawableStoryboardAnimation` to handle skin fallback frame count similar to stable
2022-04-08 17:01:17 +09:00
c48f8d7b9b Merge pull request #17714 from bdach/mod-overlay/multimod-incompatibility
Ensure that mods grouped into multi mods are pairwise incompatible
2022-04-08 16:43:06 +09:00
21b81b693d Merge pull request #17721 from peppy/multiplayer-client-thread-safety
Add and assert thread safety of `MultiplayerClient.Room`
2022-04-08 16:31:08 +09:00
879267862c Fix typo in DrawableOsuHitObject 2022-04-08 15:20:22 +09:00
933a722cfc Remove secondary null checks which cannot exist (were on wrong thread) 2022-04-08 14:56:04 +09:00
24c2d465a9 Move null assert in MultiplayerPlayer on to update thread 2022-04-08 14:53:14 +09:00
64c63fe93a Move null check in JoinRoom on to update thread 2022-04-08 14:52:56 +09:00
d50f41225f Rename scheduleAsync to runOnUpdateThreadAsync 2022-04-08 14:43:53 +09:00
9ba99ed57d Ensure all access to MultiplayerClient.Room is on the update thread
This was an implicit requirement until now, but not well documented
everywhere. Adding this makes it much easier to understand the
requirement (and probably safer).
2022-04-08 14:42:56 +09:00
282b220d94 Fix test failure due to checking incompaatibility of flattened multi mods 2022-04-08 00:16:50 +02:00