Dean Herbert
de23a4691e
Change JudgementCountController
to a Component
2023-06-27 16:38:15 +09:00
Dean Herbert
113b570bd4
Move controllers above skinnable elements in initialisation order
2023-06-27 16:37:23 +09:00
Dean Herbert
e21583ff1b
Refactor InputCountController
to not require being added to foreign body via Attach
...
I've made the flow match `ClicksPerSecondCalculator` as close as
possible. Hopefully this reads better.
2023-06-27 16:36:00 +09:00
timiimit
e1cbcabe0b
Fix skip not always triggering in multiplayer
2023-06-26 21:26:41 +02:00
Bartłomiej Dach
7200855d46
Rename Judgement{Tally -> CountController}
2023-06-26 19:30:04 +02:00
Bartłomiej Dach
8d91580dc1
Rename {KeyCounter -> InputCount}Controller
2023-06-26 19:27:42 +02:00
Bartłomiej Dach
4ac48e4cd8
Group input handling members together
2023-06-26 19:25:52 +02:00
Bartłomiej Dach
ff562e2dd7
Remove redundant guard
...
In this particular case guarding with `.IsNull()` makes no sense, as the
`Trigger` is supplied in constructor and cannot feasibly be null. Doing
that only makes sense in scenarios where BDL / dependency injection is
involved.
2023-06-26 19:25:52 +02:00
Bartłomiej Dach
dbd76c1193
Fix attempting to add key counter controller to hierarchy in multiple places
2023-06-26 19:02:49 +02:00
Dean Herbert
44c08f3944
Add xmldoc for KeyCounterController
2023-06-26 16:47:33 +09:00
Dean Herbert
c8e081c2b6
Remove unused interface
2023-06-26 16:32:19 +09:00
Dean Herbert
ec20942830
Actuall add composite component to hierarchy
2023-06-26 16:24:36 +09:00
tsrk
350d722c8d
Merge branch 'master' into hud/kc-skinnable
2023-06-25 15:42:08 +02:00
tsrk
a7088ffe22
revert: bring back old attachment flow
...
As discussed, this would bring more problems that anything.
Refs: 4c39708
, f83a4f4
2023-06-25 15:21:55 +02:00
Dean Herbert
df5b389629
Manual fixes to reduce warnings to zero
2023-06-24 01:52:53 +09:00
Dean Herbert
0ab0c52ad5
Automated pass
2023-06-24 01:00:03 +09:00
Dean Herbert
1907beb0c9
Add FireAndForget
to stray Task.Run
2023-06-21 17:48:55 +09:00
Dean Herbert
9ca772421d
Improve and combine logic that exists in two classes
2023-06-21 17:48:12 +09:00
Dean Herbert
4bd121d3b8
Also add hotkey to export replays
2023-06-20 16:54:37 +09:00
Dean Herbert
69526f25bb
Add hotkey to save replay
...
Defaults to `F2` aka stable.
2023-06-19 20:45:29 +09:00
tsrk
f83a4f4952
refactor: tidy up attachement flow
...
TODO: find better naming and improve XMLDocs
2023-06-18 22:57:21 +02:00
tsrk
141f9efad5
style(KeyCounterController): remove reliance on Receptor
2023-06-18 21:26:16 +02:00
tsrk
1a8219adf6
style: guard event handler unsubscriptions
2023-06-18 20:20:56 +02:00
Ruki
aba8219d06
Merge branch 'master' into hud/kc-skinnable
2023-06-15 15:48:43 +02:00
tsrk
fcdaf72915
style(KeyCounter): remove useless IsCounting
bindable
...
Counting logic has been moved to the `Trigger`
2023-06-15 12:40:47 +02:00
tsrk
184c793f56
style(KeyCounter): remove useless Content
override
2023-06-15 12:39:22 +02:00
tsrk
a61c1116f5
style: remove unused IAttachableSkinComponent on KCD
2023-06-15 12:27:37 +02:00
Dan Balasescu
e78950a162
Merge pull request #23884 from peppy/argon-progress-visibility-light-background
...
Adjust argon progress display to work well on bright backgrounds
2023-06-15 15:50:53 +09:00
tsrk
42b740a175
Merge branch 'master' into hud/kc-skinnable
2023-06-14 22:19:45 +02:00
tsrk
e26aeea589
feat: make KeyCounterDisplay
skinnable
2023-06-14 21:15:12 +02:00
tsrk
c637fddf73
refactor: decouple Trigger logic from KeyCounterDisplay
...
This allows to keep a coeherent state regardless of the progress of the play
2023-06-14 21:13:35 +02:00
tsrk
e9ef270e46
refactor: move count logic in InputTrigger
...
This will allow us to keep track of the real count regardless of whether
the key counter has been placed mid-replay or not.
2023-06-14 19:39:28 +02:00
Bartłomiej Dach
af3fbdbfbe
Merge pull request #23829 from Joehuu/truncating-text-tooltips
...
Add tooltips to truncated text
2023-06-12 23:43:31 +02:00
Dean Herbert
855185ca85
Adjust argon song progress bar's background fill to always display
2023-06-12 16:43:28 +09:00
Dean Herbert
84670d4c90
Adjust argon graph to use a non-gray colour range
2023-06-12 16:22:40 +09:00
Dean Herbert
c2663f27a1
Fix audio settings not displaying while watching a replay
2023-06-09 17:58:44 +09:00
Joseph Madamba
85fedbd025
Add tooltips to truncated text
2023-06-08 19:44:07 -07:00
Dean Herbert
a842f79ad4
Refactor IWorkingBeatmap.Background
to GetBackground()
2023-06-08 16:19:32 +09:00
Dean Herbert
247ac3a5fd
Merge pull request #23781 from bdach/fix-progress-bar-blink
...
Fix triangles song progress bar blinking during gameplay
2023-06-07 13:44:43 +09:00
Bartłomiej Dach
be59eb1116
Fix triangles song progress bar blinking during gameplay
...
Closes #23760 .
2023-06-06 18:36:25 +02:00
Dean Herbert
247fa088db
Add IHasNoTimedInputs
interface to scope change further
2023-06-06 22:22:42 +09:00
Dean Herbert
d1300f75c0
Merge branch 'master' into no-offset-calibration-with-relax
2023-06-06 22:22:08 +09:00
Dean Herbert
2f11bd5473
Adjust animations slightly
2023-06-06 14:42:42 +09:00
tsrk
6fc6729677
feat: integrate attachment flow in SkinComponentsContainer
2023-06-06 00:27:43 +02:00
tsrk
4c397085c5
refactor: improve attachement flow
...
This removes the hard reliance on individual classes and makes its usage easiser to ingreate anywhere
else.
2023-06-06 00:12:53 +02:00
tsrk
41b7eacc72
Merge branch 'master' into hud/argon-kc-animations-poc
2023-06-05 15:22:20 +02:00
Dean Herbert
14a376c041
Merge branch 'master' into scorev2
2023-05-30 14:34:43 +09:00
Dean Herbert
1558723420
Merge branch 'master' into scorev2
2023-05-29 20:06:32 +09:00
Dean Herbert
1a6d9e9ff0
Apply NRT to GameplayLeaderboardScore
and change GetDisplayedScore
handling
...
I don't feel too confident with the default scoring function being
assigned in the constructor to a publicly settable delegate. This just
feels a bit more elegant, and handles the (likely-never-used) case where
we need to restore the default function.
An alternative would be to provide the function as a `ctor` argument,
but I believe that wasn't done here to allow using the
`ILeaderboardScore` interface.
2023-05-29 20:00:29 +09:00
Dean Herbert
fcd7a1d51a
Move GetDisplayScore
xmldoc to interface and remove getter
2023-05-29 19:41:53 +09:00
Dean Herbert
9a886125ad
Ensure GameplayScoreCounter
's display score is updated on ScoringMode
change
...
This isn't strictly required, but only because of a kind of hacky
behaviour where `HUDOverlay` will recreate all components on a scoring
mode change currently (see
8f6df5ea0f/osu.Game/Screens/Play/HUDOverlay.cs (L410-L418)
).
Best we do this just in case that happens to go away in the future.
2023-05-29 19:00:02 +09:00
Dean Herbert
22be045de3
Apply NRT to GameplayScoreCounter
2023-05-29 18:48:17 +09:00
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