1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-18 07:32:54 +08:00
Commit Graph

47090 Commits

Author SHA1 Message Date
Dan Balasescu
ded86282c1 Rename + better documentation 2021-12-07 23:14:35 +09:00
Dan Balasescu
7c3d1d630e Merge branch 'master' into refactor-osu-difficulty-hit-object 2021-12-07 21:05:49 +09:00
Dan Balasescu
4078372480
Merge pull request #15975 from peppy/update-framework
Update framework
2021-12-07 19:23:16 +09:00
Dean Herbert
9978caab12 Update framework 2021-12-07 18:37:30 +09:00
Dan Balasescu
08dac3fcda
Merge pull request #15974 from peppy/fix-participant-list-state-desync
Fix multiplayer user panels potentially getting out of sync with player's state
2021-12-07 18:01:11 +09:00
Dean Herbert
dea7f2308c Fix participant panels potentially keeping a reference to an old user
If a user leave and then rejoins a multiplayer match while another user
is not at the lobby screen, there is a potential the `ParticipantPanel`
tracking the user will not correctly be recreated to reference the new
instance of the `MultiplayerUser`.

This happens because the `OnRoomUpdated` call is scheduled, which means
it is not running in the background, coupled with the local logic that
relies on `IEquatable(MultiplayerRoomUser)` (which in turn falls back to
a UserID comparison).

Changing this to a reference comparison is the easiest way to resolve
this. Whether we change the `IEquatable` implementation is up for
discussion.

Closes https://github.com/ppy/osu/issues/15970.
2021-12-07 17:24:04 +09:00
Dan Balasescu
9f77529e35
Merge pull request #15972 from peppy/cancellation-woes
Fix `GetPlayableBeatmap` timeout not being applied when no `CancellationToken` is provided to difficulty calculations
2021-12-07 14:31:56 +09:00
Dean Herbert
cfa712473d Use default timeout in GetPlayableBeatmap when provided CancellationToken is default 2021-12-07 13:33:41 +09:00
Dean Herbert
f3e9fb76fc Add the ability to pass a CancellationToken through DifficultyCalculator.CalculateAll
Was weirdly missing from this one method.
2021-12-07 13:32:47 +09:00
Dean Herbert
a62beb3c59
Merge pull request #15968 from frenzibyte/move-log-to-network
Move API request response size log to correct logging target
2021-12-07 10:32:53 +09:00
Salman Ahmed
974987550f Move API request response size log to correct logging target 2021-12-07 04:01:56 +03:00
Dean Herbert
8dc76964a3
Merge pull request #15959 from bdach/fix-skins-resetting
Fix skin setting resetting every launch
2021-12-07 09:34:17 +09:00
Bartłomiej Dach
4278a320e4
Fix skin setting resetting every launch
The reason this was happening was an unfortunate oversight in the
migration logic. The code that was attempting to parse the skin settings
as `int` was firing regardless of whether a skin migration from EF to
realm had already occurred. If it had occurred, the skin setting would
contain a GUID rather than an integer, and therefore fail to parse, and
therefore implicitly fallback to a EF skin ID of 0 which would be the
default skin.

Fix by not running the setting migrating logic at all when there are no
EF skins to migrate.
2021-12-06 20:12:02 +01:00
Dean Herbert
79b8cb41f2
Merge pull request #15953 from smoogipoo/update-test-multiplayer-client
Update test multiplayer client implementation
2021-12-07 01:15:28 +09:00
Dan Balasescu
d5cdb1bb87 Update test multiplayer client implementation 2021-12-07 00:01:07 +09:00
Dean Herbert
91ff20a610
Merge pull request #15952 from peppy/update-framework
Update framework
2021-12-06 23:37:12 +09:00
Dean Herbert
3e27859e4f Update framework 2021-12-06 22:47:07 +09:00
Dan Balasescu
7ef960839b
Merge pull request #15898 from peppy/skin-export-instntiation-info
Serialise and deserialise `SkinInfo.InstantiationInfo` to allow for more correct imports
2021-12-06 22:08:20 +09:00
Dean Herbert
9033169177
Merge pull request #15951 from peppy/fix-failing-recorder-tests-w
Fix intermittent test failures in scenes using `SpectatorClient`
2021-12-06 18:40:27 +09:00
Dean Herbert
bab9e0542b
Merge pull request #15883 from peppy/realm-integration/skins-filename-lookup-performance
Optimise skin filename lookups post realm migration
2021-12-06 18:40:12 +09:00
Dan Balasescu
568364b604 Fix indentation 2021-12-06 17:38:57 +09:00
Dean Herbert
07abcf04b4
Merge branch 'master' into realm-integration/skins-filename-lookup-performance 2021-12-06 17:13:33 +09:00
Dean Herbert
68b482fc48
Merge branch 'master' into skin-export-instntiation-info 2021-12-06 17:12:42 +09:00
Dean Herbert
cf34b3f70e
Merge pull request #15859 from peppy/realm-integration/skins-rebase
Use realm for skins
2021-12-06 17:12:23 +09:00
Dean Herbert
0d3d22d3e1 Update TestSceneReplayReocorder to be safer about disposal 2021-12-06 17:09:12 +09:00
Dean Herbert
50a5f52f92 Remove duplicated test scene (see TestSceeneReplayRecorder) 2021-12-06 17:09:11 +09:00
Dean Herbert
d58b85b381 Refactor TestScenSpectatorPlayback to properly clean up without async disposal 2021-12-06 17:09:11 +09:00
Dean Herbert
7a333ffdcc Add a paired schedule in SpectatorClient.BeginPlaying
Optimally, I would like to remove the `Schedule` in `EndPlaying`, but it
turns out quite a few test are relying on this at very least. Adding a
paired schedule ensure that order of operations is correct, at least.
2021-12-06 17:07:19 +09:00
Dan Balasescu
310e503b85
Merge pull request #15950 from peppy/fix-incorrect-match-current-beatmap
Ensure user is returned to the `RoomSubScreen` before gameplay is started
2021-12-06 16:34:46 +09:00
Dan Balasescu
991becdfa7
Merge branch 'master' into realm-integration/skins-rebase 2021-12-06 16:34:31 +09:00
Dean Herbert
a13067eaa4
Merge pull request #15929 from smoogipoo/update-test-multiplayer-client
Update test multiplayer client to match server implementation
2021-12-06 15:57:08 +09:00
Dean Herbert
452fa93444 Merge branch 'master' into realm-integration/skins-rebase 2021-12-06 15:21:02 +09:00
Dan Balasescu
fae41b2182 Remove one more piece of code 2021-12-06 15:17:33 +09:00
Dan Balasescu
5be74af8fe Update addItem() implementation 2021-12-06 15:09:06 +09:00
Dean Herbert
0fa1a96e9d
Wait for beatmap sets to finish loading to avoid test failures
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2021-12-06 15:03:17 +09:00
Dean Herbert
0ea7a69084 Ensure user is returned to the RoomSubScreen before gameplay is started
This covers the scenario where a user may be at the song select screen
while another user (the room host) starts the match. This was only made
possible with the new queue modes, so is quite a recent regression.
2021-12-06 14:03:52 +09:00
Dean Herbert
a76cfbea21 Add test coverage of incorrect beatmap being used in multiplayer when match started from song select 2021-12-06 14:03:33 +09:00
Dan Balasescu
ffbab0014b
Merge pull request #15949 from peppy/playlist-order-documentation
Reword xmldoc of `MultiplayerPlaylistItem.PlaylistOrder` to better match actual behaviour
2021-12-06 13:28:11 +09:00
Dean Herbert
ca1f96d2c2 Reword xmldoc of MultiplayerPlaylistItem.PlaylistOrder to better match actual behaviour 2021-12-06 13:03:14 +09:00
Bartłomiej Dach
1028ec101d
Merge pull request #15941 from ColdVolcano/correct-effects
Fix BeatSyncedContainer using wrong EffectControlPoint when early activating
2021-12-05 13:27:17 +01:00
ColdVolcano
86c908c657 Add test coverage 2021-12-05 03:53:36 -06:00
ColdVolcano
81215b9f0e Use correct effect points when EarlyActivationMilliseconds is not zero 2021-12-04 22:31:55 -06:00
Bartłomiej Dach
7f68d81c85
Merge pull request #15936 from peppy/multiplayer-room-composite-event-debounce-fix
Don't debounce `MultiplayerRoomComposite` events
2021-12-04 18:17:18 +01:00
Bartłomiej Dach
504210a6cd
Merge branch 'master' into multiplayer-room-composite-event-debounce-fix 2021-12-04 17:50:32 +01:00
Dean Herbert
92efe8a0db
Merge pull request #15934 from bdach/fix-locale-dependent-replay-encoding
Fix lazer replays not importing correctly on some locales
2021-12-05 01:46:49 +09:00
Dean Herbert
e1897f9998 Don't debounce MultiplayerRoomComposite events
This avoids accidental usage which could result in data being lost or
ignored (as only the last `user` in a single frame would arrive).

This was added specifically to debounce sample playback, but given that
it's only debouncing on a single frame (hardly noticeable) I'm not going
to add back support for that yet. It should be handled by sample
playback concurrency or something more local to the usage.
2021-12-05 01:38:39 +09:00
Bartłomiej Dach
f051720fa1
Fix score encoder being dependent on current culture
As it turns out, on some cultures, the "negative integer" sign is not
encoded using the U+002D HYPHEN-MINUS codepoint. For instance, Swedish
uses U+2212 MINUS SIGN instead. This was confusing the legacy decoder,
since it is correctly depending on the serialisation being
culture-independent.

To fix, ensure that the special "end replay" frame, as well as the
replay MD5 hash, are generated in a culture-invariant manner.

Thankfully the replay MD5 hash is currently being discarded in
`LegacyScoreDecoder`, so it changing in future scores should not have
any negative effect on lazer operation.
2021-12-04 17:13:43 +01:00
Bartłomiej Dach
ea6766d940
Add failing test case 2021-12-04 17:13:43 +01:00
Dean Herbert
70e818ff8f
Merge pull request #15919 from peppy/i-ruleset-store
Add `IRulesetStore` to allow for transitional usage in upcoming manager classes
2021-12-05 00:01:40 +09:00
Bartłomiej Dach
054543f58f
Revert tournament beatmap panel test change with comment 2021-12-04 15:33:02 +01:00