1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 03:07:26 +08:00
Commit Graph

3827 Commits

Author SHA1 Message Date
Dean Herbert
b0501c4e5c Actually use paused header 2023-05-29 10:24:59 +09:00
Robin Oger
cfa1280028 GameplayMenuOverlay.cs: add translatable strings for Retry count: and Song progress:
This makes the assumption that languages will prefer having the number on the right
2023-05-27 12:47:05 +02:00
Robin Oger
a01577cba5 Adapt changes to fit master 2023-05-27 12:29:14 +02:00
Dean Herbert
6b0e215246 Add (int) flooring and handle potential NaN value 2023-05-26 20:44:13 +09:00
Dean Herbert
57c63dbb29 Add xmldoc for GetDisplayScore 2023-05-25 19:24:15 +09:00
Dean Herbert
37c6e632d0 Switch to using new extension method for length calculations 2023-05-25 17:38:35 +09:00
Dean Herbert
cf9fda0cf2 Merge branch 'beatmap-length-calcualtions' into pause-screen-progress 2023-05-25 17:34:08 +09:00
Dean Herbert
058edb5d5f Centralise beatmap playable duration and bounds lookups 2023-05-25 17:32:48 +09:00
Bartłomiej Dach
cd3602406b
Remove unused using directive 2023-05-24 18:54:48 +02:00
Dean Herbert
79c9a48ff7 Show song progress at pause/fail screen 2023-05-24 18:36:37 +09:00
Dean Herbert
456f3005d6 Apply nullability to GameplayMenuOverlay and use TextFlowContainer for text 2023-05-24 18:28:04 +09:00
Dean Herbert
8ada8b1c8c Remove description line from pause/fail screen
These were in the designs but read pretty bad / evil. I can't think of
any text to go in their place that makes sense, so let's just nuke it.
2023-05-24 17:48:35 +09:00
Dan Balasescu
fee3d43596 Merge branch 'master' into scorev2 2023-05-23 19:07:54 +09:00
Dan Balasescu
035d0d5c9c Fix multiplayer leaderboard not working 2023-05-19 13:16:57 +09:00
Dan Balasescu
510b8e4c78 Remove ScoreManager.Mode, handle per-use 2023-05-18 20:08:49 +09:00
timiimit
18efdb0e4c Make layout readonly 2023-05-13 11:37:56 +02:00
timiimit
d81cdacb0d Undo stupid changes 2023-05-13 11:28:05 +02:00
timiimit
4b544903cb Optimize recalculateValues 2023-05-13 10:13:09 +02:00
timiimit
2cfc4eb515 Fix unconsidered height change 2023-05-13 10:12:46 +02:00
timiimit
80b6e014f1 More code style 2023-05-13 01:47:44 +02:00
timiimit
8cc0c5ad1c Fix code style 2023-05-13 01:39:01 +02:00
timiimit
04f7def798 Remove useless comment 2023-05-13 01:31:12 +02:00
timiimit
21d7c62f30 Add optimized UpdateGraph 2023-05-13 01:29:11 +02:00
timiimit
159cacf9c7 Fix logic in recalculateValues() 2023-05-13 01:27:28 +02:00
timiimit
6180d0d620 Remove cached frame buffer 2023-05-12 15:00:46 +02:00
tsrk
e9d7cd7a79
feat(ArgonKeyCounter): flash key name 2023-05-06 19:08:30 +01:00
Dean Herbert
560f71ef53 Adjust BlurredIcon expansion ratio to fix glow getting cut off at lower resolutions
Closes https://github.com/ppy/osu/issues/23210.

Ballparked the fix to work down to the lowest resolution we support. The
previous number (`2.5f`) was also likely ballparked so the fix seems in
line with expectations.

I don't want to put too much thought into this because the design of
this screen is likely going to change in the mean time anyway.
2023-05-05 14:29:04 +09:00
tsrk
74e7a958bb
feat(ArgonKeyCounter): make animation
Currently WIP. Do not consider this final.
2023-05-05 05:31:06 +01:00
Dean Herbert
6b4032e34b Add missing binding of IsCounting with contained counters 2023-04-25 21:37:19 +09:00
Dean Herbert
0a861ffcee Restructure key counters to use a common flow 2023-04-25 21:37:19 +09:00
Dean Herbert
7630958633 Stop using Drawable.Name to convey actual UI information 2023-04-25 20:24:36 +09:00
Dean Herbert
dd2c289ce9 Remove pointless default value 2023-04-25 20:22:12 +09:00
Dean Herbert
0c71fa1bbd
Merge branch 'master' into gameplay/argon-key-counter_le-retour 2023-04-06 23:39:57 +09:00
Dean Herbert
e6872629f3
Merge pull request #22868 from peppy/no-epilepsy-warning-storyboard-disable
Don't show epilepsy warning when storyboards are disabled
2023-04-06 12:32:38 +09:00
tsrk
809b817e8e
Merge branch 'master' into gameplay/argon-key-counter_le-retour 2023-04-05 22:57:36 +02:00
Bartłomiej Dach
ba753a8aac
Merge branch 'master' into update-skinnable-sound-before-playing 2023-04-05 22:56:25 +02:00
Bartłomiej Dach
6df7614b9d
Add tests for suppressing epilepsy warning when storyboard disabled 2023-04-05 20:56:50 +02:00
Bartłomiej Dach
432f698697
Merge branch 'master' into gameplay/key-counter-abstraction 2023-04-05 19:45:14 +02:00
Bartłomiej Dach
8cc425774b
Merge branch 'master' into fix-replay-fail-on-exit 2023-04-03 21:23:23 +02:00
Dean Herbert
b0c09df259 Merge branch 'master' into gameplay/key-counter-abstraction 2023-04-03 15:33:35 +09:00
Dean Herbert
796cd9c916 Rewrite comment explaining early return on checkScoreCompleted given new usages 2023-03-31 02:36:17 +09:00
Dean Herbert
b25a59fd14 Rename scoreCompleted -> checkScoreCompleted to reflect the fact it doesn't always succeed 2023-03-31 02:30:04 +09:00
Dean Herbert
4dd0c2c7a5 Add assert ensuring we don't ever get to the results screen with an F rank
Intentionally an assertion as I want tests to fail, but I don't want
this to cause crashes for an end user if it does happen to occur.
2023-03-29 14:11:58 +09:00
Dean Herbert
a8bb2e33ac Ensure all preconditions are checked before progressing to results screen after storyboard ends 2023-03-29 14:00:11 +09:00
Dean Herbert
c65a79614d Don't show offset calibration controls when "relax" mod is active
Closes https://github.com/ppy/osu/issues/22892.
2023-03-22 15:45:04 +09:00
Cootz
556964eae0
Merge branch 'master' into BitmapUpdatesOnScore 2023-03-16 12:16:42 +03:00
Dean Herbert
3b62f87b64 Ensure Player does not fail a score on exit if a replay is currently loaded 2023-03-16 17:14:20 +09:00
Terochi
edc6314634 Drank some coffee and figured out the fix 2023-03-15 10:49:59 +01:00
Dean Herbert
5f9b13a775 Rename Add/AddRange methods as they are no longer conflicting with Container 2023-03-15 18:02:41 +09:00
Dean Herbert
9e444af380 Use object initialisers and fix order of initialisation vs add 2023-03-15 18:02:26 +09:00
Terochi
b0f1a69523 Update the pauseLoop sample instantly on skin change 2023-03-15 09:05:34 +01:00
Terochi
1d5e596615 Update FailAnimation to use SkinnableSound 2023-03-14 20:44:30 +01:00
Dean Herbert
b46fc14e56
Merge pull request #22848 from Rovearix/Fix-Dragging-Preventing-Beatmap-Loading
Prevent LoadingLayer from blocking loading
2023-03-14 20:42:10 +09:00
Dean Herbert
4cea29402b Don't show epilepsy warning when storyboards are disabled
I have more thoughts on this warning in general (which will likely see
it removed or moved in the future) but this seems like a quick QOL fix
for now.

As mentioned in https://github.com/ppy/osu/discussions/22861.
2023-03-14 18:32:26 +09:00
Rovearix
9ac9287dbd Switched the implementation to set the blockInput flag for the BeatmapMetadataDisplay's LoadingLayer. This prevents the UIEvents from being being handled in this case without modifying the class 2023-03-13 08:07:55 -04:00
Derrick Timmermans
febdca4547
Fix argon progress bar fill being oversized 2023-03-12 02:08:00 +01:00
Dan Balasescu
e327993d11
Merge pull request #22527 from Terochi/replay-length-extension
Replay recording extension until results screen transition
2023-03-11 15:41:32 +09:00
tsrk
d806b85a30
revert: make counters an IEnumerable again
As suggested by bdach as this would make the last two commits useless

Refs: 5d15426
2023-03-09 10:25:03 +00:00
tsrk
5d15426c27
refactor: make Counters return a Container 2023-03-08 01:52:12 +00:00
tsrk
5b0db94a24
docs: add XMLDoc for methods in KCD 2023-03-08 00:58:54 +00:00
tsrk
44297a7d0a
refactor: make KCD a CompositeDrawable 2023-03-08 00:47:16 +00:00
Bartłomiej Dach
12af002c4d
Reorder and add xmldoc to KeyCounter members 2023-03-07 21:28:42 +01:00
Bartłomiej Dach
98f40b2679
Improve documentation of InputTrigger 2023-03-07 21:22:59 +01:00
Bartłomiej Dach
7ade525eef
Display corner radius setting as percentage 2023-03-07 19:43:52 +01:00
Dean Herbert
dc2945f4f8 Move avatar user loading to BDL also 2023-03-07 17:39:21 +09:00
Dean Herbert
5e90b67be0 Move GameplayState usage to BDL 2023-03-07 17:01:29 +09:00
Dean Herbert
d98199961b Adjust default sizing to fit a bit better with existing elements 2023-03-07 17:00:10 +09:00
Dean Herbert
6a7c4d0bf7 Remove NRT disables in new classes 2023-03-07 16:41:39 +09:00
Dean Herbert
97ba236eb1 Add basic xmldoc to KeyCounter classes 2023-03-07 16:41:39 +09:00
Dean Herbert
28520414aa Move KeyCounter components to HUD namespace 2023-03-07 16:41:39 +09:00
Dean Herbert
15d65059b5 Tidy up Add method logic 2023-03-07 16:21:57 +09:00
Dean Herbert
8f6df5ea0f
Merge branch 'master' into gameplay/key-counter-abstraction 2023-03-07 16:09:45 +09:00
tsrk
fc0e27fb15
style: use normalised CornerRadius values 2023-03-06 20:11:52 +00:00
tsrk
952814604e
style: fix late night oopsies 2023-03-06 20:06:56 +00:00
tsrk
3a240aaa5f
style: use 64 radius 2023-03-06 10:27:59 +00:00
tsrk
07bde4990d
feat: implement PlayerAvatar 2023-03-05 23:17:39 +00:00
tsrk
654eacd449
feat(l10n): localise CornerRadius 2023-03-05 23:10:42 +00:00
tsrk
082bfe3621
refactor: SkinnableAvatar to PlayerAvatar 2023-03-05 23:09:02 +00:00
tsrk
d5ba5eed88
fix(SkinnableAvatar): init avatar.CornerRadius 2023-03-03 23:47:22 +00:00
tsrk
d39b8c7c23
fix(SkinnableAvatar): update outdated interface 2023-03-03 19:35:45 +00:00
Ruki
e75aa9138b
Merge branch 'ppy:master' into hud/avatar-thing 2023-03-03 20:03:56 +01:00
tsrk
8c94b77de1
refactor(InputTrigger): move out of KCD
I love JetBrains Rider.
2023-02-22 15:05:07 +00:00
tsrk
1beec71037
refactor(KeyCounterDisplay): apply suggestions
I also took the freedom to add type checking, as we can't limit the
usage of `Add()` since it's a Container. The exception thrown also
advises of using the suggested `AddTrigger()` instead.
2023-02-22 14:58:27 +00:00
tsrk
42a5a06b9d
style(KeyCounter): fields and methods visiblity 2023-02-21 19:10:37 +00:00
tsrk
5bec2d7c52
style(KeyCounter): forwardPlayback 2023-02-21 19:02:56 +00:00
Bartłomiej Dach
6b9472c367
Merge branch 'master' into skin-per-ruleset-layouts 2023-02-17 22:58:38 +01:00
Bartłomiej Dach
6afa65bd3d
Merge branch 'master' into skinnable-clean-up-documentation 2023-02-17 20:59:18 +01:00
Dean Herbert
a01c3090e4 Fix tests which rely on HUDOverlay's DrawableRuleset being nullable 2023-02-17 19:27:09 +09:00
Dean Herbert
209d41ee9d Use RulesetInfo instead of Ruleset in skin components lookup 2023-02-17 18:24:05 +09:00
tsrk
8830e06588
fix: compilation 2023-02-17 09:17:11 +00:00
tsrk
c94e647e21
style(KeyCounterDisplay): remove type check 2023-02-17 09:09:56 +00:00
Dean Herbert
4cc6664dc7 Add optional ruleset identifier to SkinComponentsContainerLookup 2023-02-17 14:19:19 +09:00
tsrk
d0e8d65766
style(KeyCounter): rename IsLit to IsActive 2023-02-17 00:56:17 +00:00
tsrk
e3ca751027
refactor: make FillFlowContainer read-only 2023-02-16 23:17:47 +00:00
tsrk
c61fac578c
style(KeyCounter): rename methods and arguments
As for the second suggestion in
https://github.com/ppy/osu/pull/22654#discussion_r1109047998,
I went with the first one as only one Trigger actually uses this
argument for rewinding.
2023-02-16 23:15:03 +00:00
tsrk
ddd6c1a1c6
refactor(KeyCounter): address bindables issues
`IsCounting` is back being an auto-property.
`countPresses` is now encapsulated and being exposed as an
`IBindable<int>` via `CountPresses`
2023-02-16 22:20:34 +00:00
tsrk
6340730427
refactor(KeyCounter): remove circularity 2023-02-16 21:59:39 +00:00
Bartłomiej Dach
ad5132ed41
Remove redundant conditional access qualifier
It is impossible for the callback passed to `ApplyToBackground()` to
receive a null reference. See `OsuScreen.ApplyToBackground()` - if the
background to call the callback on were `null`, then an
`InvalidOperationException` would be thrown instead.
2023-02-16 20:47:51 +01:00
Dean Herbert
394d368f16 Fix song select potentially updating background parameters when not the current screen 2023-02-16 18:45:22 +09:00
tsrk
74e7cc2056
feat: implement new design of key counter 2023-02-15 22:18:02 +00:00
tsrk
e9dcc257b4
reafactor: simplify type checking 2023-02-15 22:06:35 +00:00
tsrk
b0a2e69f95
style: nullable pass on KeyCounterDisplay 2023-02-15 22:06:10 +00:00
tsrk
076eb81b21
refactor: rename trigger classes
Makes it better to understand their purpose
2023-02-15 21:46:13 +00:00
tsrk
a644fae364
style(KeyCounter): rename (Un)lit methods to (Un)light 2023-02-15 21:41:41 +00:00
tsrk
df0633858c
fix(KeyCounter): don't override Handle
This caused the Keyboard inputs to register twice, which is not what we
want.
2023-02-15 21:41:41 +00:00
tsrk
157bba7830
refactor: rename Trigger class to InputTrigger 2023-02-15 21:41:36 +00:00
Dean Herbert
a92e42bb84 Rename SkinnableTargetContainer to SkinComponentsContainer
Also use full `SkinComponentsContainerLookup` instead of the sub-type.
This will potentially be useful once we bring in per-ruleset targets.
2023-02-15 18:37:41 +09:00
Dean Herbert
d159d6b970 Rename ISkinnableDrawable to ISerialisableDrawable 2023-02-15 18:37:41 +09:00
Dean Herbert
6010dde86e Move SkinnableInfo to better namespace 2023-02-15 18:23:10 +09:00
Dean Herbert
7aaaf7fca2 Combine and attempt to simplify the score import / preparation process further 2023-02-14 16:55:35 +09:00
Dean Herbert
8a206234f7 Merge branch 'master' into replay-length-extension 2023-02-14 16:42:26 +09:00
Bartłomiej Dach
939144fb6c
Merge pull request #22628 from EVAST9919/letterbox-no-containers
Remove unnecessary containers in `LetterboxOverlay`
2023-02-13 23:54:48 +01:00
Andrei Zavatski
2dee783401 Remove not needed containers 2023-02-13 15:14:25 +03:00
tsrk
aa2e0028ab
refactor: hide trigger presence from content 2023-02-13 10:59:10 +00:00
tsrk
11d0e185b8
refactor: separate impl of KeyCounterDisplay
This allows for different layouts of display. Idk, maybe someone would
want to mix both variants? (don't do this please). This commit is mostly
prep for further changes.
2023-02-13 01:36:12 +00:00
tsrk
74a58fb674
refactor: separate things in KeyCounter
To implement different different sources of input for KeyCounter, it
is now possible to create a Trigger class (to inherit) instead of
inheriting KeyCounter. This eases the creation of more input sources
(like for tests) while allowing to implement different UI variants.

That way, if another variant of the key counter needs to implemented
(for whathever reason), this can be done by only inheriting KeyCounter
and changing how things are arranged visually.
2023-02-13 01:24:27 +00:00
Joseph Madamba
afb66d8af4 Make user activity class names more specific 2023-02-12 12:32:17 -08:00
Dean Herbert
0c5dae5f26
Merge pull request #22529 from ItsShamed/dsc/presence
Add support for `Watching` and `Spectating` activities in `ReplayPlayer` and `SoloSpectatingPlayer`
2023-02-11 17:29:47 +09:00
Terochi
81c3e0da31 Fixed timeLeft counter in SongProgressInfo being out of bounds after rotation 2023-02-10 17:58:48 +01:00
Dean Herbert
3a3c2e78a1 Merge branch 'master' into skin-editor-undo-support 2023-02-08 15:41:58 +09:00
Dean Herbert
b6809e156b
Merge pull request #22432 from mk56-spn/sheared_slider_implementation_clean_ii
Implement a sheared slider for the updated design
2023-02-08 15:01:00 +09:00
PC
7e127dafe2 Update reference 2023-02-07 11:52:47 +03:00
tsrk
bc89f8dc5b
feat: add name and rulset verb display support 2023-02-06 12:44:00 +00:00
Cootz
2c7386db39 FIx score appearing on BeatmapLeaderboard and TopLocalRank 2023-02-06 15:14:14 +03:00
Dean Herbert
aaf3ad805c Fix potential nullref in tests 2023-02-06 19:31:45 +09:00
Dean Herbert
b83c8443ea Ensure pause sample loop is stopped on exiting player 2023-02-06 18:24:31 +09:00
Terochi
43f7665c9e Improved readability again 2023-02-06 09:49:42 +01:00
Dean Herbert
c691a0d3af
Merge branch 'master' into sheared_slider_implementation_clean_ii 2023-02-06 17:49:33 +09:00
Terochi
4f23e096d7 Improved readability 2023-02-06 07:59:37 +01:00
Dean Herbert
778b8a9bf7 Fix default settings not being serialised / state tracked correctly 2023-02-06 15:00:42 +09:00
tsrk
bf273597ea
feat: actually support status also for Replays 2023-02-06 00:41:10 +00:00
tsrk
d5b2d9ce97
feat: add support for spectating status 2023-02-05 23:58:08 +00:00
Terochi
f58534f60c Extended the length of replay at the end of map 2023-02-05 18:51:28 +01:00
mk56-spn
88872cf1cf Use ``GetTrueGameplayRate()`` to remove need for jank 2023-02-04 00:53:54 +01:00
mk56-spn
d9bee958dd Stop ``BPMCounter.cs``'s value from going to 0 after failing. 2023-02-03 23:56:34 +01:00
Dean Herbert
cf8cfe0d2c Move skin component localisations to namespaces 2023-02-03 15:34:57 +09:00
Dean Herbert
50559643bb Fix incorrectly applied enum localisation 2023-02-03 15:27:11 +09:00
Dean Herbert
32207dc9dd Merge branch 'master' into locale/skin-editor-components 2023-02-03 15:24:00 +09:00
mk56-spn
3f0ce75bf5 Rename NormalSliderBar.cs to RoundedSliderBar.cs 2023-02-02 17:24:45 +01:00
Dean Herbert
edecd2ee25 Merge branch 'master' into middle-click-replay-pause 2023-02-02 15:25:51 +09:00
tsrk
0fb6a63709
refactor: change namespacing to allow osu-localisation-analyzer to process all strings 2023-02-02 00:46:14 +00:00
tsrk
8645e705fd
feat: add localisation for Skin editor components 2023-02-01 23:48:05 +00:00
Ruki
96bd79a6f5
Merge branch 'ppy:master' into hud/avatar-thing 2023-01-30 15:43:29 +01:00
mk56-spn
091cc155d3 Fix nub naming in OsuCheckbox.cs and associated classes 2023-01-26 16:10:02 +01:00
mk56-spn
a630f1113f Rename nub object in NormalSliderBar.cs class 2023-01-26 15:03:51 +01:00
mk56-spn
374c3b56f6 Rename Nub.cs to NormalNub.cs 2023-01-26 15:03:11 +01:00
mk56-spn
3988131475 Rename OsuSliderBar.cs as NormalSliderBar.cs 2023-01-26 12:12:56 +01:00
Dean Herbert
e5d4979bc3 Fix default health bar having a very weird anchor point in the skin editor 2023-01-26 16:56:37 +09:00
Bartłomiej Dach
06aa3f7798
Rename Stop{SampleAndRemoveFilters -> }()
Now that just one method for stopping samples is left, let's just
repurpose st as the general "stop global effects" method rather than
have it there with a hyperspecific name. It also has good symmetry, as
there already was a `Start()` method in the class.
2023-01-22 09:29:22 +01:00
Bartłomiej Dach
9e4e85e3e3
Inline StopSample() into StopSampleAndRemoveFilters()
The first method no longer has any callers except for the second one.
2023-01-22 09:26:01 +01:00
Bartłomiej Dach
0edfd24410
Remove unnecessary sample stop in Restart()
It is unnecessary, as a successful restart will exit the current player
screen, and `OnExiting()` has another `StopSampleAndRemoveFilters()`
call, which means that in the restart flow the sample was actually
getting stopped twice.

Standard exit flow is fine, it only stopped the sample once.
2023-01-22 09:24:12 +01:00
Matheus Filipe dos Santos Reinert
5b1a23c697 Replace RemoveFilters call with StopSampleAndRemoveFilters 2023-01-22 01:44:16 -03:00
Matheus Filipe dos Santos Reinert
2e1ba6ef49 Create StopSampleAndRemoveFilters method and change RemoveFilters to private 2023-01-22 01:43:40 -03:00
Matheus Filipe dos Santos Reinert
a746cbc6ed Fix failSample still playing after player left FailOverlay 2023-01-22 01:14:33 -03:00
Dean Herbert
2ce32e3209 Refactor update logic to be easier to follow 2023-01-19 19:27:05 +09:00
mk56-spn
b22363ed8c Fix JudgementCounterDisplay.cs max judgement always showing upon changing display mode 2023-01-19 10:31:02 +01:00
Dean Herbert
e58abf7d1a
Merge pull request #22284 from bdach/judgement-counter-broken
Fix "show max judgement" setting not applying initially on judgement counter display
2023-01-19 09:09:06 +09:00
Bartłomiej Dach
b62ff8d644
Merge branch 'master' into skin/argon-song-progress-cleaner 2023-01-18 23:52:12 +01:00
Bartłomiej Dach
b8b7442eb8
Make SongProgressInfo.ShowProgress init-only (and remove duplicate init) 2023-01-18 23:35:40 +01:00
Bartłomiej Dach
769f8c6190
Fix ShowMaxJudgement callback conflicting with JudgementCounter.Pop{In,Out}
Both `JudgementCounterDisplay` (via the `ShowMaxJudgement` callback)
and the `JudgementCounter.Pop{In,Out}` methods were operating on the
alpha of the `JudgementCounter`. This meant that if the counter display
was created with max judgement initially hidden, it would be hidden
by the `ShowMaxJudgement` callback first, but then _unhidden_
by `PopIn()`.
2023-01-18 21:46:28 +01:00
Salman Ahmed
12fc5da143
Merge branch 'master' into frame-stable-cache 2023-01-18 14:16:46 +03:00
Dean Herbert
43a037c189
Merge pull request #21620 from mk56-spn/JudgementCounter
Add a judgement counter to skin components
2023-01-18 18:43:49 +09:00
Dean Herbert
4cfb059170 Merge branch 'frame-stable-cache' into skin/argon-song-progress-cleaner 2023-01-18 17:21:08 +09:00
Dean Herbert
04705504c5 Move cache to more appropriate location 2023-01-18 17:19:57 +09:00
Dean Herbert
67b40dd234 Adjust the seek effect to feel better 2023-01-18 17:09:39 +09:00
Dean Herbert
01558a9199 Tidy up height logic and allow hovering above bar for easier interaction 2023-01-18 17:09:29 +09:00
Dean Herbert
f3677ab33d Simplify depth change logic 2023-01-18 16:38:21 +09:00
Dean Herbert
7d0388c55c Cache IFrameStableClock in Player for easier access
Allows directly referencing rather than going through `DrawableRuleset`.
Helps with testing and implementation of the new song progress display
(#22144).
2023-01-18 16:31:58 +09:00
Dean Herbert
42e9b2b48c Tidy up clock logic in all SongProgress classes 2023-01-18 16:29:42 +09:00
Dean Herbert
8bfd853889 Fix missing comment 2023-01-18 16:11:14 +09:00
Dean Herbert
bfb75730a9 Prefix subclasses of DefaultSongProgress with Default 2023-01-18 15:45:16 +09:00
Dean Herbert
7266d8e10d Move "show difficulty graph" settings back to respective implementations to avoid legacy version showing it 2023-01-18 15:31:55 +09:00
Dean Herbert
5a272b4bd6
Merge branch 'master' into skin/argon-song-progress-cleaner 2023-01-18 15:25:02 +09:00
Dean Herbert
742a026077 Add comment mentioning why reference clock fallback logic is required 2023-01-18 15:24:35 +09:00
Dean Herbert
e8770b84cd Remove no longer necessary interface type 2023-01-18 15:23:55 +09:00
Dean Herbert
5429979049 Combine common code into SongProgress base class 2023-01-18 15:23:55 +09:00
Dean Herbert
afc12e0b83 Tidy up ISongProgressBar interface 2023-01-18 14:43:20 +09:00
tsrk
f1989ba24d
quality: remove unused Darken bindable boolean 2023-01-17 17:26:05 +00:00
tsrk
d91aa341e5
refactor(ArgonSongProgress): reorder layering and make density graph visible for past time 2023-01-17 13:16:56 +00:00
Dean Herbert
14649160e1 Adjust transform delay to make things feel more snappy 2023-01-17 18:39:21 +09:00
Dean Herbert
81aa7feeb5 Fix using FadeTo on a visibility container 2023-01-17 18:39:21 +09:00
Dean Herbert
48959c0212 Start name not visible to avoid pop out when hidden on startup 2023-01-17 18:35:19 +09:00
Dean Herbert
7d1fd24ab4 Start all counters hidden to fix pop out animation when some portions are hidden 2023-01-17 18:31:25 +09:00
Dean Herbert
448abf897a Tidy up direction assignment 2023-01-17 18:31:08 +09:00
Dean Herbert
ca17993769 Don't use OverlayContainer (what) 2023-01-17 18:30:50 +09:00
Dean Herbert
181473c5fc Rename flow to better match its purpose 2023-01-17 18:28:08 +09:00
Dean Herbert
35ad66eef9 Give flow container a type to avoid locally casting in every location 2023-01-17 18:27:33 +09:00
Dean Herbert
09c7ab3af6 Rename exposed settings to make more sense 2023-01-17 18:27:15 +09:00
Dean Herbert
f923dc5009 Use framework Direction instead of local enum
It should be stable enough to use.
2023-01-17 18:27:15 +09:00
Dean Herbert
0a7d6948ca Nest model class 2023-01-17 18:19:04 +09:00
Dean Herbert
b62b5714e8 Fix TierColours assignment 2023-01-17 18:07:11 +09:00
Dean Herbert
65bd2e74fd Merge branch 'master' into skin/argon-song-progress-cleaner 2023-01-17 18:00:42 +09:00
MK56
a55ce9b586
Merge branch 'master' into JudgementCounter 2023-01-17 09:55:45 +01:00
Dean Herbert
53e7873f6c
Merge branch 'master' into fix-pause-gameplay-action-not-closing 2023-01-17 17:41:16 +09:00
Joseph Madamba
da0eb9b0cb Simplify TriggerClicks in gameplay menu overlays 2023-01-17 00:34:52 -08:00
Joseph Madamba
8f7cb18217 Use TriggerClick() instead of calling BackButton action for pause gameplay 2023-01-16 23:36:28 -08: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
integer
a68d4fe5d1 make expansion to not use scheduler 2023-01-14 21:18:51 +00:00
integer
2831db53f7 fix wrong control flow on hover lost 2023-01-14 14:19:02 +00:00
ansel
77e8315ee2 Adjust naming 2023-01-14 02:30:10 +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
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
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
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
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 SongProgressBars 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
d6f60db234 Add the ability to toggle the visibility of the main bar in BarHitErrorMeter.cs 2023-01-09 18:51:51 +01:00
Dean Herbert
9d97c1a0bd
Merge branch 'master' into variable_BPM_counter 2023-01-09 19:26:34 +09:00
Joseph Madamba
c2dd822e4a Make pause overlay close with pause gameplay action 2023-01-08 14:12:09 -08: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
Salman Ahmed
408356d05e Fix gameplay leaderboard showing "-" on non-tracked scores 2023-01-06 12:06:47 +03: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
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
3c32a50c12
add new accuracy counter display 2022-12-30 21:19:46 +09: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
08d2fbeb8e Use new ArgumentNullException.ThrowIfNull throw-helper API 2022-12-22 21:27:59 +01: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
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
27c497145f Fix the MOTHERLOAD of undetected issues that are now visible thanks to net6.0 2022-12-16 18:16:26 +09:00
mk56-spn
0c177aa7de Improve tests, simplify "updateDisplay" method 2022-12-15 16:12:34 +01:00
mk56-spn
9a235b3213 remove rolling duration, fix issue with loading 2022-12-15 15:21:03 +01:00
mk56-spn
edb46e422c Fix "using" name in HUD overlay 2022-12-12 15:15:30 +01:00
mk56-spn
99d83315c1 change settings order 2022-12-12 15:10:45 +01:00
mk56-spn
8efe7528e3 change ruleset source to avoid issues with converted beatmaps 2022-12-12 15:10:10 +01:00
mk56-spn
4d592184ca temp cmt 2022-12-12 11:53:07 +01:00
mk56-spn
58bf081096 Fix judgement counter not loading after first attempt in gameplay, Fix typo in Display 2022-12-12 10:52:55 +01:00
Dan Balasescu
caa0b7c290 Move score token to BeginPlaying 2022-12-12 13:59:27 +09:00
mk56-spn
f0c780f1f6 Fix tally header 2022-12-12 00:48:35 +01:00