Commit Graph

3538 Commits

Author SHA1 Message Date
0a7d6948ca Nest model class 2023-01-17 18:19:04 +09:00
b62b5714e8 Fix TierColours assignment 2023-01-17 18:07:11 +09:00
65bd2e74fd Merge branch 'master' into skin/argon-song-progress-cleaner 2023-01-17 18:00:42 +09:00
a55ce9b586 Merge branch 'master' into JudgementCounter 2023-01-17 09:55:45 +01:00
53e7873f6c Merge branch 'master' into fix-pause-gameplay-action-not-closing 2023-01-17 17:41:16 +09:00
da0eb9b0cb Simplify TriggerClicks in gameplay menu overlays 2023-01-17 00:34:52 -08:00
8f7cb18217 Use TriggerClick() instead of calling BackButton action for pause gameplay 2023-01-16 23:36:28 -08:00
a02556d2fa Move hover logic to SettingsToolboxGroup to avoid expanded state clash 2023-01-17 14:43:22 +09:00
6a0bf89401 Merge branch 'master' into replay-menu-expanded-state-memory 2023-01-17 14:30:23 +09:00
a68d4fe5d1 make expansion to not use scheduler 2023-01-14 21:18:51 +00:00
2831db53f7 fix wrong control flow on hover lost 2023-01-14 14:19:02 +00:00
77e8315ee2 Adjust naming 2023-01-14 02:30:10 +03:00
c3c1d77e8e make PlayerSettingsGroup expand on hover 2023-01-13 23:07:59 +00:00
0b5c89d01f revert additions to SessionStatics 2023-01-13 23:07:21 +00:00
515ada6815 Remove CanBeNull where it's no longer requered 2023-01-13 23:11:50 +03:00
a41a031909 Localise some notifications 2023-01-13 23:11:25 +03:00
4439698867 Update osu.Game/Screens/Play/HUD/ArgonSongProgress.cs 2023-01-12 13:19:03 +01:00
d2309feec2 Merge branch 'master' into skin/argon-song-progress-cleaner 2023-01-12 19:49:27 +09:00
1597bcbb6f Merge branch 'master' into JudgementCounter 2023-01-11 11:04:37 +01:00
df54410075 Fix skin fail sound not correctly playing
Closes #21719. Tested using skin in issue thread.
2023-01-11 17:31:30 +09:00
3210586eb6 Merge pull request #21519 from mk56-spn/variable_BPM_counter
Add dynamic BPM counter to SkinEditor
2023-01-10 18:43:50 +09:00
37d219a8ad Fix comments, remove fixed width on "bpm" text and adjust baseline adjust slightly 2023-01-10 18:20:39 +09:00
85f542c3a8 Make GameplayClock private 2023-01-10 18:15:10 +09:00
3c93d0551c Move setting up to be in line with other toggle 2023-01-10 18:07:15 +09:00
63ce5787e7 Start bars invisible 2023-01-10 18:06:45 +09:00
91cde5ffbf feat(hud/gameplay): implement Argon variant of SongProgress 2023-01-09 21:59:48 +01:00
5952cd08a2 feat(hud/gameplay): implement Argon song progress density graph (SegmentedGraph) 2023-01-09 21:58:53 +01:00
28d2d766eb refactor(hud/gameplay/SongProgressInfo): minor changes to text positioning, font and colour 2023-01-09 21:57:32 +01:00
f6265197e8 feat(hud/gameplay): Add Argon variant of SongProgressBar 2023-01-09 21:56:29 +01:00
0f1fe1d683 refactor(hud/gameplay/SongProgress): Add interface to designate SongProgressBars 2023-01-09 21:48:53 +01:00
602062f011 Address unclear naming issue 2023-01-09 21:04:51 +01:00
d6f60db234 Add the ability to toggle the visibility of the main bar in BarHitErrorMeter.cs 2023-01-09 18:51:51 +01:00
9d97c1a0bd Merge branch 'master' into variable_BPM_counter 2023-01-09 19:26:34 +09:00
c2dd822e4a Make pause overlay close with pause gameplay action 2023-01-08 14:12:09 -08:00
45bae5d424 Add middle mouse to toggle pause replay instead of using pause gameplay keybinds 2023-01-07 11:30:02 -08:00
408356d05e Fix gameplay leaderboard showing "-" on non-tracked scores 2023-01-06 12:06:47 +03:00
d79ee29f29 Make replays pause with middle mouse button instead of exiting 2023-01-01 21:01:12 -08:00
6509d3538c Fix counter initially rolling down from 100% to 0% in minimum achievable mode 2022-12-30 21:13:41 +01:00
7580ab78be Move binding to LoadComplete() 2022-12-30 21:08:48 +01:00
6d42cc5a36 Naming pass 2022-12-30 20:30:58 +01:00
d60349c7c6 add description 2022-12-30 23:24:41 +09:00
8beb168be9 remove nullable disabled 2022-12-30 23:24:20 +09:00
784fe7ecf2 rename AccType to AccuracyDisplay 2022-12-30 23:06:10 +09:00
3c32a50c12 add new accuracy counter display 2022-12-30 21:19:46 +09:00
a0690e7ffb replay menus remembers expanded state
no messing with readonly fields
2022-12-27 00:13:46 +00:00
01cf96e240 Only show global rankings on results screen when progressing from gameplay 2022-12-26 23:35:45 +01:00
08d2fbeb8e Use new ArgumentNullException.ThrowIfNull throw-helper API 2022-12-22 21:27:59 +01:00
6948035a3c Ensure score submission attempt completion before notifying spectator server when exiting play early
When a `SubmittingPlayer` gameplay session ends with the successful
completion of a beatmap, `PrepareScoreForResultsAsync()` ensures that
the score submission request is sent to and responded to by osu-web
before calling `ISpectatorClient.EndPlaying()`.

While previously this was mostly an implementation detail, this becomes
important when considering that more and more server-side flows (replay
upload, notifying about score processing completion) hook into
`EndPlaying()`, and assume that by the point that message arrives at
osu-spectator-server, the score has already been submitted and has been
assigned a score ID that corresponds to the score submission token.

As it turns out, in the early-exit path (when the user exits the play
midway through, retries, or just fails), the same ordering guarantees
were not provided. The score's submission ran concurrently to the
spectator client `EndPlaying()` call, therefore creating a network
race. osu-server-spectator components that implciitly relied on the
ordering provided by the happy path, could therefore fail to unmap the
score submission token to a score ID.

Note that as written, the osu-server-spectator replay upload flow is
not really affected by this, as it self-corrects by essentially polling
the database and trying to unmap the score submission token to a score
ID for up to 30 seconds. However, this change would have the benefit of
reducing the polls required in such cases to just one DB retrieval.
2022-12-21 22:23:26 +01:00
b64a5cbda6 Merge branch 'master' into guard-url-protocols 2022-12-19 15:46:45 +09:00
fea0895f16 Call spectator EndPlaying() immediately after score submission
As it turns out, in current `master`, if a gameplay session ends
normally (i.e. by the player completing the beatmap in full), then
the spectator server `EndPlaying()` method will not be called until
`SubmittingPlayer.OnExiting()`, which in practice turns out to be
the moment where the user exits from the post-gameplay results screen
back to song select.

There is seemingly no reasonable cause for not calling this earlier. In
fact the solo spectator flow looks more broken without this call than
with, because without it the spectator view just hangs until the
spectated player exits gameplay, and *only then* shows results, rather
than do it upon normal gameplay completion.
2022-12-17 21:35:43 +01:00