Dean Herbert
ef35493864
Avoid need for weird null check by reordering initialisation process
2023-01-17 15:27:21 +09:00
Dean Herbert
a02556d2fa
Move hover logic to SettingsToolboxGroup
to avoid expanded state clash
2023-01-17 14:43:22 +09:00
Dean Herbert
6a0bf89401
Merge branch 'master' into replay-menu-expanded-state-memory
2023-01-17 14:30:23 +09:00
Dean Herbert
4224907f08
Merge pull request #22208 from Feodor0090/editor-loc
...
Localise most visible parts of editor
2023-01-16 23:05:17 +09:00
OliBomby
832d033777
Fix merge issues
2023-01-16 01:09:04 +01:00
OliBomby
ab6bf6e1dc
Merge remote-tracking branch 'upstream/master' into carousel
2023-01-16 00:27:56 +01:00
OliBomby
1c0a650575
Fix typo
2023-01-16 00:17:26 +01:00
OliBomby
87ee9ab813
Added custom menu items in DrawableCarouselBeatmap
2023-01-16 00:13:12 +01:00
ansel
00acea59fc
Move some strings to common
2023-01-15 19:37:40 +03:00
mk56-spn
9a29c9ae26
remove hacky method to check if carousel is null
2023-01-15 15:32:53 +01:00
Dean Herbert
c5775aa452
Merge branch 'master' into song_select_nullability
2023-01-15 22:44:13 +09:00
Dean Herbert
4cf4a66858
Make MusicController
a required dependency of SongSelect
2023-01-15 22:43:30 +09:00
Dean Herbert
f7af5a8115
Revert some formatting changes
2023-01-15 22:39:00 +09:00
ansel
5d2e09137c
Remove text padding in editor menu for now
2023-01-15 14:40:53 +03:00
ansel
8777d5349b
Use existing strings
2023-01-15 14:39:34 +03:00
ansel
87650044bb
Localise create/save dialog
2023-01-15 01:50:47 +03:00
ansel
78e562903d
Localise part of editor
2023-01-15 01:50:47 +03:00
ansel
24df23f420
Localise background header
2023-01-15 01:49:19 +03:00
ansel
76eefc7573
Add support for localisation where it was missing
2023-01-15 01:46:11 +03:00
integer
a68d4fe5d1
make expansion to not use scheduler
2023-01-14 21:18:51 +00:00
Dean Herbert
4906f37109
Merge pull request #22181 from frenzibyte/attempt-fix-song-select-test-failure
...
Fix intermittent failure in beatmap carousel tests
2023-01-15 02:35:36 +09:00
integer
2831db53f7
fix wrong control flow on hover lost
2023-01-14 14:19:02 +00:00
ekrctb
e610d19d55
Merge branch 'master' into 18469
2023-01-14 19:53:08 +09:00
Dean Herbert
cfc8fd0aa1
Merge pull request #22188 from Feodor0090/nofs-locale
...
Localise some notifications
2023-01-14 18:12:54 +09:00
ansel
77e8315ee2
Adjust naming
2023-01-14 02:30:10 +03:00
ansel
f70dedfd17
Enable nullability for design screen
2023-01-14 02:24:48 +03:00
ansel
4b42240fba
Enable nullability for setup screen
2023-01-14 02:24:28 +03:00
ansel
78adaa9b03
Enable nullability for timing screen
2023-01-14 02:23:21 +03:00
integer
c3c1d77e8e
make PlayerSettingsGroup
expand on hover
2023-01-13 23:07:59 +00:00
integer
0b5c89d01f
revert additions to SessionStatics
2023-01-13 23:07:21 +00:00
ansel
515ada6815
Remove CanBeNull
where it's no longer requered
2023-01-13 23:11:50 +03:00
ansel
a41a031909
Localise some notifications
2023-01-13 23:11:25 +03:00
Salman Ahmed
112cf403ec
Fix intermittent failure in certain beatmap carousel tests
2023-01-13 19:41:44 +03:00
Dylan Nantz
6028abff39
Code Quality
2023-01-13 10:16:52 -05:00
Dylan Nantz
5dd0aaccef
Merge branch 'master' of https://github.com/ppy/osu into 18469
2023-01-13 09:54:29 -05:00
Dylan Nantz
e38075c4ef
Use PlacementState to check juice stream placement
2023-01-13 09:37:23 -05:00
mk56-spn
a6b6fb864e
Make carousel non nullable and ensure pre load usages of methods that reference it are protected against failure
2023-01-13 13:10:29 +01:00
mk56-spn
403ca05e5e
Enable nullability for song select
2023-01-13 00:52:14 +01:00
ansel
2365b065a4
Enable nullability for editor components
2023-01-12 18:07:54 +03:00
Ruki
4439698867
Update osu.Game/Screens/Play/HUD/ArgonSongProgress.cs
2023-01-12 13:19:03 +01:00
Dean Herbert
d2309feec2
Merge branch 'master' into skin/argon-song-progress-cleaner
2023-01-12 19:49:27 +09:00
MK56
1597bcbb6f
Merge branch 'master' into JudgementCounter
2023-01-11 11:04:37 +01:00
Dean Herbert
df54410075
Fix skin fail sound not correctly playing
...
Closes #21719 . Tested using skin in issue thread.
2023-01-11 17:31:30 +09:00
Wleter
98ffcd33c7
Merge branch 'ppy:master' into SliderEnd-Snap
2023-01-10 21:22:13 +01:00
Wleter
88060a3ea0
add snapping for slider's end
2023-01-10 21:21:09 +01:00
Bartłomiej Dach
1eaabb5ca8
Merge branch 'master' into carousel_nullability_disabling_removal
2023-01-10 18:39:42 +01:00
Bartłomiej Dach
aab84d50eb
Remove boxing overhead in CarouselItem
comparator
2023-01-10 18:35:06 +01:00
Dean Herbert
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
Dean Herbert
60eeb4607c
Merge pull request #19528 from Joehuu/fix-op-non-current-onexiting
...
Fix online play screen only accounting for current sub screen onexiting blocks
2023-01-10 18:43:19 +09:00
Dean Herbert
37d219a8ad
Fix comments, remove fixed width on "bpm" text and adjust baseline adjust slightly
2023-01-10 18:20:39 +09:00
Dean Herbert
85f542c3a8
Make GameplayClock
private
2023-01-10 18:15:10 +09:00
Dean Herbert
3c93d0551c
Move setting up to be in line with other toggle
2023-01-10 18:07:15 +09:00
Dean Herbert
63ce5787e7
Start bars invisible
2023-01-10 18:06:45 +09:00
Dean Herbert
b7e845201f
Fix whitespace around Debug.Assert
2023-01-10 18:03:17 +09:00
Dean Herbert
d53dafa29f
Revert Debug.Assert
2023-01-10 17:52:28 +09:00
Dean Herbert
93038ce496
Use OfType
instead of forceful nullability
2023-01-10 17:52:21 +09:00
tsrk
91cde5ffbf
feat(hud/gameplay): implement Argon variant of SongProgress
2023-01-09 21:59:48 +01:00
tsrk
5952cd08a2
feat(hud/gameplay): implement Argon song progress density graph (SegmentedGraph)
2023-01-09 21:58:53 +01:00
tsrk
28d2d766eb
refactor(hud/gameplay/SongProgressInfo): minor changes to text positioning, font and colour
2023-01-09 21:57:32 +01:00
tsrk
f6265197e8
feat(hud/gameplay): Add Argon variant of SongProgressBar
2023-01-09 21:56:29 +01:00
tsrk
0f1fe1d683
refactor(hud/gameplay/SongProgress): Add interface to designate SongProgressBar
s
2023-01-09 21:48:53 +01:00
mk56-spn
602062f011
Address unclear naming issue
2023-01-09 21:04:51 +01:00
mk56-spn
6abbc7dc28
Further fix nullability
2023-01-09 20:59:28 +01:00
mk56-spn
d6f60db234
Add the ability to toggle the visibility of the main bar in BarHitErrorMeter.cs
2023-01-09 18:51:51 +01:00
mk56-spn
69260ca3c3
remove unnecessary usages of nullable forgiveness, add asserts for debugging
2023-01-09 18:36:55 +01:00
Dean Herbert
9d97c1a0bd
Merge branch 'master' into variable_BPM_counter
2023-01-09 19:26:34 +09:00
Dean Herbert
54b2fe9df3
Merge branch 'master' into fix-op-non-current-onexiting
2023-01-09 19:12:42 +09:00
Joseph Madamba
c2dd822e4a
Make pause overlay close with pause gameplay action
2023-01-08 14:12:09 -08:00
Bartłomiej Dach
2803c98612
Merge pull request #22047 from Feodor0090/wcd-length-fix
...
Fix `WaveformComparisonDisplay` does not take into account start time of control points
2023-01-08 20:36:35 +01:00
Salman Ahmed
f2609820c1
Merge branch 'master' into fix-player-loader-logo-drag
2023-01-08 21:48:07 +03:00
Bartłomiej Dach
e08b7c615b
Merge branch 'master' into wcd-length-fix
2023-01-08 19:44:12 +01:00
Salman Ahmed
7dd0f892c8
Merge branch 'master' into fix-player-loader-logo-drag
2023-01-08 21:29:03 +03:00
mk56-spn
47fb467012
Remove nullable disabling in carousel
2023-01-08 19:02:48 +01:00
Bartłomiej Dach
9fd305a970
Merge branch 'master' into editor-bg-refresh
2023-01-08 18:57:04 +01:00
Dean Herbert
750b55d9b7
Update other events to have matching return types (and animate more)
2023-01-08 22:28:19 +09:00
Joseph Madamba
45bae5d424
Add middle mouse to toggle pause replay instead of using pause gameplay keybinds
2023-01-07 11:30:02 -08:00
Joseph Madamba
bae3a6851b
Block hover events behind logo even if action is null
2023-01-07 11:15:51 -08:00
ansel
aaeb43fbb2
Return older file if new one is null
2023-01-07 18:15:57 +03:00
Salman Ahmed
a65466bdac
Merge branch 'master' into previewTime
2023-01-07 15:07:09 +03:00
Salman Ahmed
abca13eb6c
Rewrite visualisation piece to bind once and without potential event leak
2023-01-07 14:40:15 +03:00
Salman Ahmed
904c76e437
Use sane BeatmapInfo
for preview time mutation
...
`EditorBeatmap.BeatmapInfo` is usually the correct instance for mutating
properties that should persist in the database.
2023-01-07 14:23:36 +03:00
ansel
b47cef838c
Nullability
2023-01-07 03:08:02 +03:00
ansel
167ac8b5dd
Fix editor object being requered
2023-01-07 03:03:52 +03:00
Joseph Madamba
53d7dcefe5
Fix osu! logo not being draggable on player loader
2023-01-06 09:30:25 -08:00
ansel
9364c7775d
Refresh background on file change in editor
2023-01-06 19:26:30 +03:00
ansel
e90c698e62
Fix WCD does not take into account start time of control points
2023-01-06 16:35:39 +03:00
Dean Herbert
c0cfa66510
Merge pull request #21754 from Feodor0090/waveform-invalidate
...
Reload waveform on track replacement in editor
2023-01-06 19:57:27 +08:00
Dean Herbert
938658649e
Merge pull request #22043 from frenzibyte/fix-solo-leaderboard-hyphen
...
Fix gameplay leaderboard showing "-" on non-tracked scores
2023-01-06 18:12:00 +08:00
Dean Herbert
464f251c0c
Merge branch 'master' into beatmap-set-link-genre-language
2023-01-06 17:09:06 +08:00
Salman Ahmed
408356d05e
Fix gameplay leaderboard showing "-" on non-tracked scores
2023-01-06 12:06:47 +03:00
ansel
c6e2104ec2
Refresh waveforms instead of recreating the whole component
2023-01-06 03:46:49 +03:00
Salman Ahmed
88148567c0
Merge branch 'master' into fix-playlist-item-regressions
2023-01-05 15:31:27 +03:00
Salman Ahmed
8f37e69dc4
Schedule difficulty calculation to avoid performing with incomplete state updates
2023-01-05 12:52:08 +03:00
Salman Ahmed
39221a52da
Fix advanced statistics display using decoupled ruleset bindable for difficulty calculation
2023-01-05 12:52:08 +03:00
Joseph Madamba
5fb6f220e6
Fix playlist items not animating when rearranging
2023-01-03 11:10:02 -08:00
Joseph Madamba
5dfd4180c8
Fix playlist selecting random item when not allowed after deleting
2023-01-03 11:10:02 -08:00
Dean Herbert
beb3b96aca
Harden request equality checks
2023-01-04 01:44:00 +08:00
Dean Herbert
8f7ae0395a
Fix song select leaderboard potentially showing wrong scores on quick beatmap changes
...
Closes #22002 .
2023-01-03 00:55:09 +08:00
Joseph Madamba
d79ee29f29
Make replays pause with middle mouse button instead of exiting
2023-01-01 21:01:12 -08:00
Bartłomiej Dach
b689ad6d80
Fix changing preview point not prompting for save
2023-01-01 19:54:26 +01:00
Bartłomiej Dach
efdd557f3b
Adjust binding logic
2023-01-01 19:45:23 +01:00
Bartłomiej Dach
452ebddfd2
Adjust visual appearance of preview time part
...
- Use slightly different hue of green to distinguish from difficulty
control points. The colour is still not ideal, but picking
a distinctive enough hue is pretty hard.
- Place the preview time part at the bottom rather at the top.
Not sure why it was at the top; not only could it overlap with the
control points, but it also looked quite badly misaligned there
when bookmarks were displayed at the bottom.
2023-01-01 19:42:55 +01:00
Bartłomiej Dach
a82f1a6abd
Adjust method naming and copy
2023-01-01 18:50:47 +01:00
Bartłomiej Dach
0e59b55a12
Merge branch 'master' into previewTime
2023-01-01 18:38:19 +01:00
Bartłomiej Dach
6509d3538c
Fix counter initially rolling down from 100% to 0% in minimum achievable mode
2022-12-30 21:13:41 +01:00
Bartłomiej Dach
7580ab78be
Move binding to LoadComplete()
2022-12-30 21:08:48 +01:00
Bartłomiej Dach
6d42cc5a36
Naming pass
2022-12-30 20:30:58 +01:00
cdwcgt
d60349c7c6
add description
2022-12-30 23:24:41 +09:00
cdwcgt
8beb168be9
remove nullable disabled
2022-12-30 23:24:20 +09:00
cdwcgt
784fe7ecf2
rename AccType
to AccuracyDisplay
2022-12-30 23:06:10 +09:00
cdwcgt
23c485c763
readonly
2022-12-30 22:59:56 +09:00
cdwcgt
a91da2284d
safe way to pass bindable
2022-12-30 22:58:46 +09:00
cdwcgt
3c32a50c12
add new accuracy counter display
2022-12-30 21:19:46 +09:00
Bartłomiej Dach
3c0b8af8f1
Allow unsubscribing from solo statistics updates
...
This is more of a safety item. To avoid potential duplicate key in
dictionary errors (and also avoid being slightly memory-leaky), allow
`SoloStatisticsWatcher` consumers to dispose of the subscriptions they
take out.
2022-12-28 08:07:48 +01:00
Bartłomiej Dach
04f9a354c3
Convert SoloResultsScreen
to NRT
2022-12-28 07:54:36 +01:00
Bartłomiej Dach
e90619244d
Fix incorrect accuracy display on overall ranking view
2022-12-27 19:51:51 +01:00
Dean Herbert
df6f2ad0a1
Merge pull request #21804 from bdach/hide-global-rankings-when-presenting-scores
...
Only show global rankings on solo results screen when progressing from gameplay
2022-12-27 16:39:26 +08:00
integer
a0690e7ffb
replay menus remembers expanded state
...
no messing with readonly fields
2022-12-27 00:13:46 +00:00
Bartłomiej Dach
01cf96e240
Only show global rankings on results screen when progressing from gameplay
2022-12-26 23:35:45 +01:00
Berkan Diler
c7ca4bbba5
Use generic Enum methods
2022-12-26 20:36:39 +01:00
Joseph Madamba
0dba25e0ab
Refactor to just exit sub screens until lounge sub screen
...
Co-Authored-By: Salman Ahmed <frenzibyte@gmail.com>
2022-12-25 21:56:22 -08:00
Joseph Madamba
5232588a1f
Use PerformFromScreen
to exit sub screens instead
2022-12-24 20:04:45 -08:00
Joseph Madamba
00ed5d6f92
Merge remote-tracking branch 'upstream/master' into fix-op-non-current-onexiting
2022-12-24 14:01:11 -08:00
Bartłomiej Dach
36a6f3685e
Don't show global rankings display when not logged in
2022-12-24 14:35:11 +01:00
Bartłomiej Dach
da519acb20
Add overall ranking display to solo results
2022-12-24 14:35:04 +01:00
Bartłomiej Dach
3abdf557ea
Add protected method for customising statistics panel rows
2022-12-24 14:35:00 +01:00
Bartłomiej Dach
600ada46be
Add protected method for customising statistics panel
2022-12-24 14:34:54 +01:00
Bartłomiej Dach
cf0b3ec879
Merge branch 'master' into score-stats-display
2022-12-24 14:32:08 +01:00
Bartłomiej Dach
83a50816b6
Remove unused constructor param
2022-12-24 10:44:38 +01:00
Bartłomiej Dach
4e5109a649
Use plain bindable flow instead of binding to watcher directly
2022-12-24 10:27:28 +01:00
Bartłomiej Dach
c7f248e13c
Implement overall ranking display for solo results screen
2022-12-24 00:30:38 +01:00
Joseph Madamba
494886ef92
Rename Text
to Metadata
2022-12-23 11:11:15 -08:00
ansel
f25439e359
Move track change subscription to LoadComplete
2022-12-23 01:54:49 +03:00
Bartłomiej Dach
676d4a0d6d
Merge branch 'master' into fix-waveform-zoom-reload
2022-12-22 23:48:50 +01:00
Salman Ahmed
0cb9b79834
Fix ZoomableScrollContainer
potentially not updating content width on setup
2022-12-23 00:56:38 +03:00
Salman Ahmed
30de9ba795
Dispose previous waveform on track reload
2022-12-23 00:35:59 +03:00
Berkan Diler
08d2fbeb8e
Use new ArgumentNullException.ThrowIfNull throw-helper API
2022-12-22 21:27:59 +01:00
ansel
20370bd5ae
Invalidate waveform on track load
2022-12-22 20:49:09 +03:00
ansel
d0645ce151
Rewrite waveform invalidation
2022-12-22 15:59:51 +03:00
ansel
f2e8776529
Bind to clock instead of music controller
2022-12-22 15:35:53 +03:00
ansel
a18ece8610
Listen for track reload in timing screen
2022-12-22 01:24:23 +03:00
ansel
7089bb6c23
Listen for track reload in timeline
2022-12-22 01:23:59 +03:00
ansel
66a02374da
Clear cached waveform on track change in editor
2022-12-22 01:23:24 +03:00
Bartłomiej Dach
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
Joseph Madamba
1d39e8d0ce
Refactor MetadataSection
to use generics and inheritance
2022-12-21 10:18:47 -08:00
Dean Herbert
4a7d7c6ed9
Use MaxBy
in all locations that can and update inspection level to match dotnet-build
2022-12-19 16:47:10 +09:00
Dean Herbert
b64a5cbda6
Merge branch 'master' into guard-url-protocols
2022-12-19 15:46:45 +09:00
Bartłomiej Dach
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
mk56-spn
f3873b73e3
Clean up syntax for readability
2022-12-16 20:56:34 +01:00
Dean Herbert
ba54551313
Merge branch 'master' into guard-url-protocols
2022-12-16 18:23:16 +09:00