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
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 TriggerClick
s 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 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
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
mk56-spn
a107fca5d0
Hide "Full" option from counter flow directions
2022-12-12 00:33:28 +01:00
mk56-spn
161894da3b
Add more test checks and fix deserialisation test
2022-12-11 23:58:10 +01:00
mk56-spn
4c17b27273
Add Display, Counter, Tests
2022-12-11 23:47:17 +01:00
mk56-spn
f798951f09
Create Judgement Info struct
2022-12-11 22:09:14 +01:00
mk56-spn
ffbe68bd26
Add judgementTally to HUD overlay
2022-12-11 22:08:48 +01:00
Dan Balasescu
4a65f5c864
Add score token to spectator state
2022-12-09 19:09:51 +09:00
mk56-spn
fc630165fd
Adjust formatting of BPM text
2022-12-06 15:08:21 +01:00
mk56-spn
f69c084969
Add roll duration
2022-12-05 17:08:00 +01:00
mk56-spn
b6a6db1160
Add dynamic BPM counter to SkinEditor
2022-12-05 12:29:23 +01:00
Dean Herbert
896f2d8f74
Fix multiple instances of last hitobject time being calculated incorrectly
2022-12-01 18:04:06 +09:00
Bartłomiej Dach
894ef15e79
Merge branch 'master' into update-framework
2022-11-26 16:19:36 +01:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
Dean Herbert
53b03df93d
Combine TriangleButton
and RoundedButton
classes
2022-11-24 16:26:57 +09:00
Dean Herbert
b381b4fd2d
Merge branch 'master' into update-framework
2022-11-24 01:27:58 +09:00
Dean Herbert
06ce8130c2
Apply changes in line with framework NRT updates
2022-11-18 18:13:15 +09:00
Dean Herbert
d59befc9d3
Fix initial visual state of positions before sort
runs
2022-11-18 16:08:27 +09:00
Dean Herbert
aff218dfd5
Redirect through validity function rather than overriding Sort
2022-11-18 16:03:40 +09:00
Dean Herbert
20af8217f4
Tidy up bindable flow
2022-11-18 15:50:41 +09:00
Dean Herbert
e4f522aad1
Fix inspections / typos
2022-11-18 15:47:37 +09:00
Dean Herbert
d17c091d63
Move constant to a better location
2022-11-18 15:47:31 +09:00
Dean Herbert
3faa7f5f74
Merge branch 'master' into gameplay-leaderboard-fix
2022-11-18 15:44:30 +09:00
Dan Balasescu
219d049edf
Merge pull request #21140 from maromalo/long-standard
...
Standardise scores to `long` type
2022-11-18 15:26:33 +09:00
Dan Balasescu
57b8495c7a
Merge branch 'master' into long-standard
2022-11-18 14:24:04 +09:00
Dean Herbert
e4d134a820
Reduce time waited on a score submission token from 60 to 30s
2022-11-18 14:07:40 +09:00
Dawid Sośnia
0dbf491872
Merge branch 'master' into gameplay-leaderboard-fix
2022-11-17 22:06:51 +01:00
Piggey
eb691266c1
cleanup
2022-11-17 21:50:39 +01:00
Piggey
fa00fc5c6d
change scoresType to be a bindable
2022-11-17 13:27:56 +01:00
Piggey
dea2a6ed8d
override sort()
function in SoloGameplayLeaderboard
2022-11-17 12:12:36 +01:00
Dean Herbert
489dca79a1
Remove upper limit for pooling
2022-11-15 12:31:25 +09:00
Dean Herbert
308ed1abd1
Fix number of judgements shown potentially exceeding upper limit
2022-11-15 12:31:25 +09:00
Dean Herbert
59a8603728
Ensure flowing animation starts correctly from zero
2022-11-15 12:04:40 +09:00
Dean Herbert
aef6ee23eb
Apply pooling support to ColourHitErrorMeter
2022-11-15 12:04:40 +09:00
Dean Herbert
a86b50d62a
Apply nullability to BarHitErrorMeter
2022-11-15 11:33:27 +09:00
Dean Herbert
576f462f59
Add pooling support to BarHitErrorMeter
2022-11-15 11:33:27 +09:00
maromalo
1911120afe
Merge branch 'master' into long-standard
2022-11-12 09:52:11 -03:00
Dan Balasescu
db25e9e9c8
Merge branch 'master' into combo-colour-brightness-limit
2022-11-11 15:31:28 +09:00
Piggey
0011f4e7be
fix comment lol
2022-11-09 19:59:04 +01:00
Piggey
ab53fb17d3
change displayed text from #?
to -
2022-11-09 19:53:36 +01:00
Dean Herbert
1aa0e40f2f
Add "Component" prefix to lookup naming
2022-11-09 17:46:43 +09:00
Dean Herbert
e75c3b3f94
Rename SkinnableTarget
to GlobalSkinLookup
2022-11-09 17:46:43 +09:00
Piggey
d48c56818f
change positionText
to display "#?" if tracked score is being 51st on the leaderboard
2022-11-08 20:02:21 +01:00
maromalo
8eef2ba8de
quality shenanigans
2022-11-06 20:12:26 -03:00
maromalo
b7ef9b176d
Make score type consistent
2022-11-06 19:59:27 -03:00
Bartłomiej Dach
84179fb087
Merge branch 'master' into combo-colour-brightness-limit
2022-11-05 16:48:56 +01:00
Dean Herbert
4154be6cda
Adjust auto-skip to skip multiple times if necessary
2022-11-03 13:52:29 +09:00
Dean Herbert
aef3c7918c
Add total skip count to SkipOverlay
2022-11-03 13:52:24 +09:00
Dean Herbert
3ec9686e58
Fix test failures and rename configuration value to match better
2022-11-02 18:15:18 +09:00
Dean Herbert
37300ba9e2
Standardise "Visual Settings" components to fix mismatched paddings and labels
2022-11-02 14:01:57 +09:00
Dean Herbert
50b6fe4acb
Localise new label
2022-11-02 14:01:03 +09:00
Dean Herbert
61fc3c8cc0
Add setting to visual settings toolbox
2022-11-02 13:58:34 +09:00
Dean Herbert
d8aa06ea92
Standardise "Visual Settings" components to fix mismatched paddings and labels
2022-11-02 13:55:56 +09:00
Dean Herbert
1035b5fb19
Fix hold to pause button not working when HUD is hidden
2022-10-30 21:38:45 +09:00
Joseph Madamba
87328dd1f5
Fix bar hit error meter labels not clearing when setting to none
2022-10-27 23:59:01 -07:00
Dean Herbert
71970d83cf
Remove obsoleted ShowProgressGraph
global setting
...
This was moved to the component itself.
2022-10-28 12:47:45 +09:00
Dean Herbert
6b26547d03
Merge pull request #20835 from frenzibyte/improve-hide-mouse-on-keyboard
...
Improve automatic cursor hiding logic and limit to gameplay screen
2022-10-20 11:44:20 +09:00
Dean Herbert
77b25c4a5c
Merge pull request #20788 from frenzibyte/handle-submitting-player-request-timeout
...
Fix potential exception in `SubmittingPlayer` token retrieval on request timeout
2022-10-20 09:51:57 +09:00
Salman Ahmed
4bf4938b72
Keep cursor hiding feature to gameplay screens for now
2022-10-20 03:44:58 +03:00
Dean Herbert
fbad33bef7
Adjust durations and make start off screen
2022-10-18 15:01:53 +09:00
Dean Herbert
0f809dcaa7
Merge branch 'master' into player-loader-improvements
2022-10-18 14:22:55 +09:00
Dean Herbert
516320edd9
Merge branch 'master' into handle-submitting-player-request-timeout
2022-10-17 18:51:13 +09:00
Dean Herbert
1e7b8cd227
Fix formatting issues
2022-10-17 13:22:06 +09:00
Salman Ahmed
ae05f374a2
Fix potential invalid operation exception in SubmittingPlayer
token retrieval
2022-10-17 03:26:29 +03:00
outfoxxed
85de802793
Only create hit error bar icon containers once
...
Move icon container creation to BDL, and only recreate the contained
icon when `recreateLabels` is called
2022-10-16 11:47:21 -07:00
outfoxxed
d6030891a2
Reuse existing code in hit error bar fix
...
Use `UprightAspectMaintainingContainer` instead of a local fix for
hit error bar orientation
2022-10-16 10:06:38 -07:00
outfoxxed
cd1885a17b
Fix hit error bar icon orientation
...
Icons now keep their original orientation when the hit error bar is
flipped
2022-10-16 02:55:10 -07:00
Dean Herbert
3645269108
Improve logo transition and reduce delay of exiting player loader in optimal conditions
2022-10-13 17:29:47 +09:00
Dean Herbert
b33935e392
Fix player loading screen settings scaling in
...
This always looked weird, and from the looks of the structure was
probably unintentional from the start (it is in the logo tracking
container for whatever reason).
2022-10-13 17:12:36 +09:00
Dean Herbert
0f4a2a6059
Improve feel of settings toolbox group
2022-10-13 16:36:19 +09:00
Dean Herbert
c9b4cacc20
Merge pull request #20724 from mk56-spn/Highest_Combo_Counter
...
Add "longest combo" counter to HUD components.
2022-10-13 12:26:49 +09:00
Dean Herbert
19f3810020
Revert namespace change
...
Let's not
2022-10-12 18:50:47 +09:00
Dario Headley
b72c8970eb
Max Combo Counter added
2022-10-12 09:50:01 +02:00
Dean Herbert
d2d589a156
Expose HUD state via Player
2022-10-12 15:11:52 +09:00
Dean Herbert
20adc522b9
Fix HUD components being interactive even when the HUD is visually hidden
2022-10-10 16:05:41 +09:00
Dan Balasescu
c18d4afdcc
Merge branch 'master' into fix-leaderboard-first-place-fade
2022-10-07 19:55:16 +09:00
Dan Balasescu
57e4d6cc4a
Merge pull request #20562 from peppy/fix-score-submission-crash
...
Fix potential crash when score submission token retrival fails
2022-10-07 19:24:35 +09:00
Dean Herbert
276021dd85
Remove now unnecessary ScheduleAfterChildren
2022-10-05 14:20:01 +09:00
Dean Herbert
42aac16b37
Adjust leaderboard score panels sizing based on accuracy/combo width
2022-10-03 18:12:36 +09:00
Dean Herbert
65369e96eb
Ensure token retrieval failure logic only runs once
2022-10-03 17:29:46 +09:00
Dean Herbert
c4dd23ed15
Log token retrieval failures even when gameplay is allowed to continue
2022-10-03 17:29:34 +09:00
Dean Herbert
4dbac917fc
Merge pull request #20547 from nanashi-1/solo-gameplay-leaderboard-max-combo
...
Display highest combo rather than current combo for local play on leaderboard
2022-10-03 16:57:05 +09:00
Salman Ahmed
a810afafb3
Reschedule results display delegate to avoid potential softlocks in the future
2022-10-02 15:37:56 +03:00
Salman Ahmed
59728b0ccb
Fix results display delegate potentially cancelled while not exiting
2022-10-02 15:30:06 +03:00
nanashi-1
2493468800
display highest combo instead of current combo
2022-10-02 18:40:31 +08:00
Dean Herbert
cbbca616c1
Merge branch 'master' into fix-leaderboard-first-place-fade
2022-09-28 17:58:45 +09:00
Dean Herbert
cdcc8494c9
Fix fade being applied for too long when leaderboard scrolls to start
2022-09-28 16:10:19 +09:00
Dean Herbert
c8643ed265
Set ClampExtension
to zero to stop jittering
2022-09-28 15:58:00 +09:00
Dean Herbert
8edb1cb98a
Add test coverage of current score staying on screen
2022-09-28 15:57:50 +09:00
Dean Herbert
0296685c74
Start key counter / gameplay leaderboard hidden to avoid initial fade out
2022-09-27 17:25:24 +09:00
Dean Herbert
320f134634
Use same logic as KeyCounterDisplay
2022-09-27 15:01:18 +09:00
nanashi-1
5d18001d75
move config
2022-09-26 21:11:38 +08:00
nanashi-1
4295d9c169
revert
2022-09-26 21:11:14 +08:00
nanashi-1
ee4d1b2d58
add config visibility
2022-09-26 20:13:07 +08:00
Dean Herbert
20da1051d9
Apply NRT to GameplayLeaderboard
hierarchy
...
Just some cleanup work that I wanted to do as part of my last changes.
2022-09-26 16:21:24 +09:00
o-dasher
feadac1f79
Cleanup all other leftover binding instantiation
2022-09-25 16:02:40 -04:00
Dan Balasescu
1d1012e196
Merge pull request #20286 from peppy/gameplay-leaderboards
...
Add basic gameplay leaderboard display
2022-09-22 21:16:12 +09:00
Dan Balasescu
445e026a32
Merge pull request #20389 from peppy/fix-gameplay-leaderboard-layout
...
Fix gameplay leaderboard sometimes not showing up
2022-09-22 20:51:54 +09:00
Dean Herbert
8f7a306d81
Inline comment regarding margin necessity
2022-09-22 19:53:16 +09:00
Dean Herbert
f0dcda9acc
Decrease precision of spacing setting
2022-09-22 15:49:02 +09:00
Dean Herbert
26d98323ff
Fix bindable flow, code quality, everything
2022-09-22 15:45:23 +09:00
Dean Herbert
0f663deda0
Fix changing shape causing alpha to be permanently reset to zero
2022-09-22 15:24:57 +09:00
Dean Herbert
ae70b2c32f
Fix other weirdness in variable and description naming
2022-09-22 15:21:27 +09:00
Dean Herbert
19db7c5977
Remove "Opacity" setting
...
This should be implemented at a higher level
2022-09-22 15:19:01 +09:00
Dean Herbert
f3898da37a
Rename judgement count to not mention "shape"
2022-09-22 15:18:20 +09:00
Dean Herbert
7d93fa9f65
Merge branch 'master' into Colour_hit_meter_improved
2022-09-22 15:11:58 +09:00
Dean Herbert
29c4d06d36
Merge branch 'fix-gameplay-leaderboard-layout' into gameplay-leaderboards
2022-09-21 14:58:58 +09:00
Dean Herbert
b04871f40a
Animate scroll for a better visual experience
2022-09-21 14:51:12 +09:00
Dean Herbert
087ca59ebb
Add extra margin space to flow equal to height of leaderboard
...
This ensures the content is always on screen, but also accounts for the
fact that scroll operations without animation were actually forcing the
local score to a location it can't usually reside at.
Basically, the local score was in the scroll extension region (due to always trying
to scroll the local player to the middle of the display, but there being
no other content below the local player to scroll up by).
2022-09-21 14:51:12 +09:00
Dean Herbert
4385001d28
Fix solo leaderboard seeing imported score via realm subscription flow
2022-09-21 13:59:11 +09:00
Dean Herbert
a8338c4efd
Add local score after existing scores to avoid initial re-sort
2022-09-21 13:38:40 +09:00
Dan Balasescu
7f15dc6e6c
Merge pull request #20321 from HiddenNode/fix_graph_info_overlap
...
Fix Progress bar info text overlapping with progress graph
2022-09-20 19:30:51 +09:00
Dean Herbert
b5771ece41
Reduce the amount by which clicking the mute notification incraeses volume
2022-09-20 13:00:08 +09:00
Dean Herbert
a9c120c214
Reduce volume requirement for showing muted notification to 1%
2022-09-20 12:46:35 +09:00
Dean Herbert
1c02fa8399
Update comment to not mention horizontal plane
2022-09-20 00:08:06 +09:00
Dean Herbert
46db3ad96d
Move implementation to individual classes
2022-09-20 00:06:02 +09:00
Ryuki
ecf71df8a2
Change CornerRadius Max Value
2022-09-18 00:04:56 +02:00
Ryuki
c1077d909c
Basic avatar HUD implementation
2022-09-17 21:09:34 +02:00
HiddenNode
2dfa89c62e
Clean up
2022-09-17 15:05:25 +01:00
HiddenNode
d580b07063
Refactor update condition logic
2022-09-17 14:40:36 +01:00
HiddenNode
e3d5ba5301
Check if graph DrawSize changed
2022-09-17 11:44:25 +01:00
HiddenNode
0d76f4501d
Revert "Set InvalidationSource to Self"
...
This reverts commit 2092008251
.
2022-09-17 10:10:20 +01:00
Dean Herbert
4c4fdfd153
Provide scores directly to Player
instance rather than relying on DI
2022-09-16 18:15:17 +09:00
Dean Herbert
0227eddda1
Merge branch 'master' into gameplay-leaderboards
2022-09-16 15:44:58 +09:00
HiddenNode
2092008251
Set InvalidationSource to Self
2022-09-15 11:16:00 +01:00
HiddenNode
8286ab0d04
Revert "Fix SongProgress
invalidating too often"
...
This reverts commit 2b4b14ca99
.
2022-09-15 11:11:58 +01:00
Dean Herbert
eb18d3661d
Merge pull request #20309 from mk56-spn/dead_class_removal
...
Unused class KeyCounterState.cs Removal
2022-09-15 03:38:39 +09:00
Mk-56spn
d6db82283a
Removes unused class
2022-09-14 18:01:29 +02:00
Dean Herbert
fcf54f1bc8
Fix gameplay leaderboard not being sorted correctly in tie situations
2022-09-14 14:18:12 +09:00
Dean Herbert
8a6977213a
Fix displayed scores in gameplay leaderboard not tracking display mode changes
2022-09-14 14:02:35 +09:00
Dean Herbert
81b5e4a865
Fix back-to-front condition on leaderboard always show configuration
2022-09-13 19:57:40 +09:00
Dean Herbert
e15a25ea49
Fix leaderboard positioning logic to actually consider elements on the left side
2022-09-13 18:45:11 +09:00
Dean Herbert
678eec1c67
Move LeaderboardFlow
to HUDOverlay
to share positioning logic
2022-09-13 18:45:11 +09:00
Dean Herbert
5894d2f0bc
Ensure gameplay leaderboard hides with rest of HUD when it should
2022-09-13 18:45:11 +09:00
Dean Herbert
6d167070f8
Add back DI leaderboard retrieval via bindable pathway
2022-09-13 18:45:11 +09:00
Dean Herbert
70e6b595f1
Refactor SoloGameplayLeaderboard
to not read scores via DI
...
Also allows updating scores if they arrive late.
2022-09-13 18:00:21 +09:00
Dean Herbert
d2b80645ab
Change Leaderboard
to use IUser
instead of APIUser
2022-09-13 18:00:21 +09:00
Dean Herbert
d251c0b2ac
Move leaderboard implementation to Player
itself
2022-09-13 18:00:21 +09:00
Dean Herbert
368faa0084
Make constructor protected
in base implementation
2022-09-13 18:00:21 +09:00
Dean Herbert
4c669e2bce
Track local Player.Score
's user rather than using APIProvider
2022-09-13 18:00:21 +09:00
Salman Ahmed
3490b16056
Add simplified SoloGameplayLeaderboard
implementation
...
Note that this doesn't support waiting until leaderboard finishes fetching scores.
2022-09-13 18:00:21 +09:00
Dean Herbert
2b4b14ca99
Fix SongProgress
invalidating too often
...
This regressed with https://github.com/ppy/osu/pull/19556 . Rather than
try and figure whether that new container needs to handle size
differently, this is a simple solution.
Height was taken from a runtime check (maxes out at about 14.5).
Closes #20235 .
2022-09-12 20:06:53 +09:00
Mk-56spn
c00bf61273
Framework change adressed
2022-09-10 21:24:29 +02:00
MK56
8661dc3c93
Merge branch 'ppy:master' into Colour_hit_meter_improved
2022-09-10 21:16:23 +02:00
Mk-56spn
f6aef73f9e
fixed shape bindable not working, test creation, removal of Clear(), adjusted settings names
2022-09-10 20:30:43 +02:00
andy840119
3d7367a842
Move the CreateConvertibleReplayFrame() into the base ruleset class for avoid api breaking change in the customized ruleset.
2022-09-10 11:07:23 +08:00
andy840119
e62999fb16
Merge branch 'master' of https://github.com/ppy/osu into remove-the-nullable-disable-in-the-ruleset
...
# Conflicts:
# osu.Game.Rulesets.Catch/CatchRuleset.cs
# osu.Game.Rulesets.Osu/OsuRuleset.cs
# osu.Game.Rulesets.Taiko/TaikoRuleset.cs
# osu.Game/Rulesets/Ruleset.cs
2022-09-10 10:40:12 +08:00
Dean Herbert
27f745b980
Merge branch 'master' into fix_progress_bar_info
2022-09-09 17:34:13 +09:00
Dean Herbert
05797cb9e5
Fix enum to STRING????????? conversion (and use bindable flow)
2022-09-09 16:30:08 +09:00
Dean Herbert
45239fc737
Update TrueGameplayRate
accessing
2022-09-08 23:03:15 +09:00
Dean Herbert
d4afc3629c
Merge branch 'master' into kps
2022-09-08 23:00:36 +09:00
Dan Balasescu
9aab502adc
Merge pull request #20157 from peppy/true-gameplay-rate
...
Refactor `TrueGameplayRate` to account for only gameplay adjustments, no matter what
2022-09-08 19:54:32 +09:00
Dan Balasescu
4fc03998a1
Merge pull request #20189 from peppy/fix-playlist-item-download-button-visibility
...
Fix playlist items showing download button briefly during initial display
2022-09-08 19:47:35 +09:00
Dean Herbert
a98c6b2c1f
Add comment metioning why we need to use DrawableRuleset
lookup
2022-09-08 19:14:23 +09:00
Mk-56spn
07c16224d2
Fix Main file issues
2022-09-08 11:58:14 +02:00
Dean Herbert
5c2fb3e434
Simplify calculation method
2022-09-08 18:22:53 +09:00
Dan Balasescu
b559d4ecdf
Rename GameplayAdjustments -> AdjustmentsFromMods
2022-09-08 17:14:06 +09:00
Dean Herbert
ed81297611
Fix playlist items showing download button briefly during initial local presence checks
2022-09-08 17:10:45 +09:00
Salman Ahmed
50923b6e5b
Move track assignment below
2022-09-08 00:25:55 +03:00
Acid Chicken (硫酸鶏)
267465df18
chore(osu.Game): combine Osu.Colour.{Draw,Text}ForHitResult
into OsuColour.ForHitResult
2022-09-07 23:34:46 +09:00
Dean Herbert
e6b449fe0b
Fix case of zero rate calculating a zero true gameplay rate
2022-09-07 19:23:44 +09:00
Dean Herbert
fa15502384
Move full track adjustment flow inside MasterGameplayClockContainer
2022-09-07 19:12:16 +09:00
Dean Herbert
75d0deef72
Apply proposed changes to remove inheritance from MasterGameplayClockContainer
2022-09-07 17:49:05 +09:00
Dean Herbert
66c44f5913
Delegate interface to valid target
2022-09-06 22:26:46 +09:00
Dean Herbert
bc1212f4e6
Change NonGameplayAdjustments
to GameplayAdjustments
and convert TrueGameplayRate
to extension method
2022-09-06 22:26:46 +09:00
Dean Herbert
266eb758aa
Use new flow to calcaulate TrueGameplayRate
2022-09-05 23:37:49 +09:00
Dean Herbert
7084aeee05
Add method flow to reset applied adjustments
2022-09-05 23:22:38 +09:00
Dean Herbert
e33486a766
Implement IAdjustableAudioComponent
in MasterGameplayClockContainer
2022-09-05 23:20:02 +09:00
Mk-56spn
aace334fb3
Fix some test issues
2022-09-05 04:49:48 +02:00
Acid Chicken (硫酸鶏)
5f0832ead7
refactor(osu.Game): separate OsuColour.ForHitResult
by usage
2022-09-05 01:58:57 +09:00
Mk-56spn
0c6d8efa28
Large code refactor, Implementation of shapes option drop down
2022-09-04 17:24:12 +02:00
Mk-56spn
51061c3a12
Bug fixing and parameter adjustments
2022-09-03 01:27:22 +02:00
Mk-56spn
534c40e18e
Initial version
2022-09-02 23:07:30 +02:00
Dean Herbert
bc5340e33a
Merge branch 'master' into fix_progress_bar_info
2022-09-02 18:00:35 +09:00
Dean Herbert
6a35b233e5
Merge branch 'master' into remove-dispose-updates
2022-09-01 23:03:19 +09:00
HiddenNode
4a630b5384
Implemented SizePreservingSpriteText
2022-08-31 22:05:06 +01:00
Dan Balasescu
c852c54055
Consume auto skip setting during play
2022-08-31 20:24:15 +09:00
Dan Balasescu
000412c50f
Merge pull request #20014 from peppy/fix-resume-skip-forward
...
Fix gameplay skipping forward during resume operation
2022-08-31 16:30:37 +09:00
Dan Balasescu
ccc08b816c
Merge pull request #20030 from peppy/notification-design-update
...
Update notification overlay design
2022-08-31 16:06:59 +09:00
Dean Herbert
7337d4c1aa
Merge branch 'master' into kps
2022-08-31 15:41:42 +09:00
Dean Herbert
51346e0154
Fix skip button getting stuck on screen for certain beatmaps
...
Closes #20034 .
2022-08-31 13:22:51 +09:00
Dean Herbert
09aa3e065d
Move colouring to full icon content rather than background
2022-08-30 18:06:48 +09:00
Dean Herbert
27ad224f13
Remove probably unnecessary Seek
on start
2022-08-30 01:21:44 +09:00
Dean Herbert
1bff540381
Remove debug changes
2022-08-29 22:14:07 +09:00
Dean Herbert
75531d2d62
Fix gameplay skipping forward during resume operation
2022-08-29 19:51:16 +09:00
Dean Herbert
105aa01e7d
Update usages of RemoveInternal
2022-08-29 15:57:40 +09:00
Dan Balasescu
cf6bb3b030
Merge pull request #19958 from peppy/fix-fail-freq-stuck
...
Ensure fail animation sequence isn't run after the player exit sequence has started
2022-08-27 00:58:41 +09:00
Dean Herbert
b9d9bf3004
Merge pull request #19938 from frenzibyte/fix-multi-spectator-results-screen
...
Fix multi-spectator potentially getting stuck for passed players
2022-08-26 21:53:17 +09:00
Dean Herbert
ed0843aa84
Reword xmldoc regarding final clock source to read better
2022-08-26 16:46:22 +09:00
Dean Herbert
2c780eab5f
Merge branch 'master' into fix_progress_bar_info
2022-08-26 16:14:21 +09:00
Dean Herbert
23efec6505
Fix naming and comment typos
2022-08-26 15:57:36 +09:00
Dean Herbert
9862b79b47
Fix typo in long comment
2022-08-26 15:20:09 +09:00
HiddenNode
d98357aa57
Made text inside SongProgressInfo scale.
2022-08-26 01:30:44 +01:00
Dean Herbert
a6ed589db4
Remove guard against RemoveFilters
running more than once
...
It turns out this is required to remove some filters immediate, and some
later. Weird.
2022-08-25 14:47:33 +09:00
Dean Herbert
ad3dd1c700
Fix a couple of oversights regarding track
nullability
2022-08-25 14:45:00 +09:00
Dean Herbert
ec60e16439
Apply NRT to FailAnimation
2022-08-25 14:35:42 +09:00
Dean Herbert
8f4a953d11
Ensure fail animation sequence isn't run after the player exit sequence has started
2022-08-25 14:26:42 +09:00
Dean Herbert
4c45f7d938
Ensure FailAnimation
can't be Start
ed after filters are already removed
2022-08-25 14:26:20 +09:00
Ryuki
5cddc7ed1f
Code cleanup (CPS)
2022-08-24 17:13:23 +02:00
Dean Herbert
f3847b90fd
Tidy up attach logic
2022-08-24 19:36:01 +09:00
Dean Herbert
5129716612
Merge branch 'master' into kps
2022-08-24 18:18:45 +09:00
Salman Ahmed
8f4a2b4936
Separate passed/failed states from calling EndGameplay
2022-08-24 10:36:13 +03:00
Dean Herbert
29fed0c4a3
Avoid setting the source clock until gameplay is ready to start
...
Without this change, the audio track may audibly seek during load
proceedings.
2022-08-23 18:34:17 +09:00
Dean Herbert
ec61a94dc9
Merge branch 'master' into no-gameplay-clock-gameplay-offset
2022-08-23 17:36:06 +09:00
HiddenNode
1098e24c40
Improved UprightUnscaledContainer
2022-08-22 14:24:52 +01:00
Dean Herbert
489e172a76
Simplify track start/stop/paused tracking
2022-08-22 19:43:18 +09:00
Dean Herbert
058d67f8e8
Merge pull request #19695 from naoei/ruleset-localization
...
Change most ruleset-accessible string types to Localisable strings
2022-08-22 16:13:23 +09:00
Dean Herbert
e6b669db8e
Elaborate with example of GameplayClockContainer
managing its own Stop
state
2022-08-22 14:14:44 +09:00
Dean Herbert
af2e82d7d5
Move operation of setting GameplayClockContainer.StartTime
to Reset
call
2022-08-22 14:11:06 +09:00
Ryuki
5cf54a788a
Code cleanup for CPS counter
2022-08-21 16:00:58 +02:00
Nao
189a407cb1
Merge branch 'master' into ruleset-localization
2022-08-20 21:39:10 -04:00
Dean Herbert
8566e93c72
Guard against SubmittingPlayer
potentially getting stuck waiting on request forever
2022-08-20 17:19:17 +09:00
Dean Herbert
da407aa827
Merge branch 'master' into kps
2022-08-20 15:24:58 +09:00
Dean Herbert
7bf318541c
Reword comment to hopefully read better
2022-08-19 20:57:55 +09:00
Dean Herbert
3f0da14065
Delay start operation by one frame to allow children to see initial start time
2022-08-19 17:39:51 +09:00
Dean Herbert
3eb1cda6aa
Reorganise call order of Start
/ Reset
to make more sense
2022-08-19 01:46:36 +09:00
Ryuki
3de35a1518
Update calculator and tests to match changes on clocks
2022-08-18 18:40:02 +02:00
Dean Herbert
1d774f3f12
Remove redundant ProcessFrame
calls
...
Of note, I'm not sure whether the `IsPaused` check was meaningful, but
it's not reimplemented in the new `FramedBeatmapClock`.
2022-08-19 01:39:02 +09:00
Dean Herbert
7bc96431a7
Remove unnecessary virtual
spec from GameplayClockContainer.Seek
2022-08-19 01:39:01 +09:00
Dean Herbert
43879633db
Ensure setting a StartTime
on a GameplayClockContainer
always resets to the new time
2022-08-18 18:54:10 +09:00
Dean Herbert
343efa1d11
Split OffsetCorrectionClock
out of MasterGameplayClockContainer
2022-08-18 18:54:10 +09:00
Dean Herbert
2c6fd1ec6e
Fix `GameplayClockContainer potentially resetting external seeks
2022-08-18 18:54:10 +09:00
Dean Herbert
6003afafc7
Use FramedBeatmapClock
in GameplayClockContainer
2022-08-18 18:54:10 +09:00
Dean Herbert
9735728cf6
Reverse conditionals to better define intent in addSourceClockAdjustments
2022-08-18 15:08:09 +09:00
Dean Herbert
20256aad11
Merge branch 'master' into no-gameplay-clock
2022-08-17 15:21:20 +09:00
Dean Herbert
63819648df
Fix up flow of actual skip operation
2022-08-16 14:40:02 +09:00
Dean Herbert
9a1a7bae89
Make test actually test things
2022-08-16 14:40:02 +09:00
Dean Herbert
6761f869f9
Modify flow to avoid weird bindable and value resetting
2022-08-16 14:17:35 +09:00
Dean Herbert
c9baadcf88
Merge branch 'master' into improve_retry_behaviour
2022-08-16 13:06:04 +09:00
Dean Herbert
61a8873266
Ensure GameplayClockContainer
's FramedClock
is always non-null
2022-08-15 20:22:36 +09:00
Dean Herbert
1696a905ba
Reduce exposed properties in GameplayClockContainer
2022-08-15 20:22:36 +09:00
Dean Herbert
704568ae3b
Remove remaining usage of GameplayClock
2022-08-15 20:22:36 +09:00
Dean Herbert
27569e2ed5
Remove FrameStableClock
(and redirect usages to FrameStabilityContainer
)
2022-08-15 19:19:19 +09:00
Dean Herbert
cc982d374c
Cache self rather than GameplayClock
2022-08-15 18:30:53 +09:00
Dean Herbert
c5f8529d20
Mark unused methods as NotImplemented
for safety
2022-08-15 18:30:53 +09:00
Dean Herbert
f81c7644b4
Make GameplayClockContainer
also an IGameplayClock
and expose to remaining tests
2022-08-15 18:30:53 +09:00
Dean Herbert
c8764cb333
Move all usage of GameplayClock
to IGameplayClock
2022-08-15 18:30:53 +09:00
Dean Herbert
6d78218142
Update usages of GameplayClockContainer.GameplayClock
to access properties directly
2022-08-15 18:08:49 +09:00
Dean Herbert
224f3eaa84
Make GameplayClockContainer
non-abstract
and use in MultiSpectatorPlayer
2022-08-15 18:08:49 +09:00
Dean Herbert
623e90a7b2
Fix div-by-zero in SongProgress
when no object duration could be calculated
2022-08-15 15:05:35 +09:00
Ryuki
2aa3a1b50d
Rename all "KeysPerSecond" usages to "ClicksPerSecond"
2022-08-14 20:12:11 +02:00
Ryuki
9dc806506e
Make ActionListener
and KeysPerSecondCalculator
not rely on events to add timestamps
2022-08-14 19:31:14 +02:00
Ryuki
d5f10cbb9d
Revert 787dee24
and initialize calculator in HUDOverlay
2022-08-14 18:53:00 +02:00
Ryuki
e08f71797e
Change displayed metric from "KPS" to "clicks/s"
2022-08-13 04:27:26 +02:00
Ryuki
9b252b1d81
Make KeysPerSecondCalculator
dependency in HUDOverlay
nullable
2022-08-11 11:58:30 +02:00
Ryuki
d29cba80e9
Remove useless comment in KeysPerSecondCounter
2022-08-11 11:01:16 +02:00
Ryuki
787dee249d
Move KeysPerSecondCalculator
instantiation from HUDOverlay
to Player
...
This prevents messing with *future* Skin (de)serialization
2022-08-11 10:37:16 +02:00
Ryuki
3c6461b9e4
Remove KPS acronym usage
2022-08-11 10:01:39 +02:00
Ryuki
0a94fb4039
Make KPS counter strictly depending only on KPS calculator
...
`KeysPerSecondCounter` now depends on `KeysPerSecondCalculator` via the
`BackgroundDependencyLoaderAttribute` method, making it appear only in a
gameplay context without requiring `GameplayClock` without using it.
2022-08-11 00:46:39 +02:00
Ryuki
46e372cb99
Add more readiness checks in KeysPerSecondCalculator
2022-08-11 00:43:15 +02:00
Ryuki
9e80d3f71c
Re-adjust timespan conditions in KeysPerSecondCalculator
2022-08-11 00:42:22 +02:00
naoei
8cb2e11766
Change most ruleset-accessible string types to Localisable strings
2022-08-10 15:51:11 -04:00
Dean Herbert
a5081826b7
Handle cancellation at more points during Player
initialisation
...
As discussed in discord, this will help avoid null references during
cancellation which can otherwise be quite confusing to debug.
2022-08-09 23:25:19 +09:00
Ryuki
b52a07c16a
Use DI to provide dependencies for KPS Calculator and improve input
...
gathering
KPS Calculator now uses DI to retrieve the clocks. Using `HUDOverlay` it
is now cached for `KeysPerSecondCounter`s to resolve it. This also
allows to make an "Attach" flow like `KeyCounter`.
2022-08-08 21:54:06 +02:00
BlauFx
0afa3a5ec8
Fix xml doc
2022-08-08 21:20:09 +02:00
BlauFx
f6e65cf1af
Improve implementation
2022-08-08 20:53:05 +02:00
BlauFx
fac2596eee
Change type from BindableBool to IBindable<bool>
2022-08-08 13:38:52 +02:00
BlauFx
cd68134565
Call skip method directly
2022-08-08 13:10:28 +02:00
HiddenNode
ed86255e2b
Use UprightUnscaledContainer instead of KeepUprightAndUnscaled
2022-08-07 13:20:22 +01:00
BlauFx
bb344e064f
Add xml docs
2022-08-07 13:31:26 +02:00
BlauFx
09230304a4
Improve implementation
2022-08-07 13:20:29 +02:00
Ryuki
b2557a8d2d
Refactor KPS
...
- Remove '#nullable disable' in KeysPerSecondCalculator and
KeysPerSecondCounter
- Remove KeysPerSecondCalculator IDisposable implementation
- Make KeysPerSecondCalculator static instance initialized once by
KeysPerSecondCounters
- Auto transfer dependencies from KeysPerSecondCounter to
KeysPerSecondCalculator using Resolved properties
- Add internal reset logic to KeysPerSecondCalculator and make it
independent from Player
- Use GameplayClock.TrueGameplayRate to get real-time rate. If 0 then it
defaults to the last non 0 rate if no such mod is enabled
2022-08-07 00:53:00 +02:00
BlauFx
bd43a9e96e
Add missing type specification
2022-08-06 18:49:07 +02:00
BlauFx
fa6d55b5b5
Remove redundant lambda signature parentheses
2022-08-06 18:47:11 +02:00
BlauFx
0d418559bc
Skip song intro only in case of a quick restart
2022-08-06 17:02:45 +02:00
BlauFx
e411a2d187
Revert reduced wait time commit
2022-08-06 15:12:36 +02:00
BlauFx
445f921756
Move IsSkippable event into load method
2022-08-05 23:21:03 +02:00
BlauFx
d8d7423698
Reduce "wait time" in case restarting the map
2022-08-05 23:04:43 +02:00
BlauFx
99e07aa09a
Skip intro if the map gets restarted
2022-08-05 23:01:52 +02:00
BlauFx
6717f0606c
Add property to SkipOverlay
2022-08-05 23:00:37 +02:00
Ryuki
0886137e39
Prevent KeysPerSecondCounter from NRE when no instance is initialized
2022-08-05 21:03:00 +02:00
HiddenNode
b46bc5d65b
Remove empty line
2022-08-05 14:57:33 +01:00
Ryuki
24c29b7e2f
Do not add KPS calculation when gameplay rate is 0
2022-08-05 15:51:07 +02:00
HiddenNode
0243f8d6ac
Clean up
2022-08-05 14:28:15 +01:00
HiddenNode
12ef99a1a1
Fix text position
2022-08-05 12:56:08 +01:00
Ryuki
42d1bdfc95
Move KPS calculation to a standalone class
2022-08-05 04:17:01 +02:00
Salman Ahmed
7c45c571a0
Merge branch 'master' into more-beat-sync-dependence
2022-08-03 20:22:42 +03:00
Dean Herbert
6ad6561e1c
Fix LegacySongProgress
incorrectly blocking mouse input from gameplay
...
Closes #19555 .
2022-08-03 17:42:29 +09:00
HiddenNode
bc21a2ed56
Remove unnecessary using directive
2022-08-02 17:41:17 +01:00
HiddenNode
78a98cdb9c
Prevent TextSprites inside SongProgressInfo from being stretched or flipped
2022-08-02 17:37:31 +01:00
Dean Herbert
cc4cde2c79
Improve IBeatSyncProvider
interface and reduce beatmap track dependence
2022-08-02 17:59:18 +09:00
HiddenNode
df85bd74d7
Keep TextSprites in SongProgressInfo upright
2022-08-01 21:46:37 +01:00
Dean Herbert
5b98a73edc
Apply nullability to SkinComponentToolbox
and split out reflection method to get all skinnable components
2022-08-01 14:04:08 +09:00
Ryuki
89855cc1d6
Change KPS Counter implementation base and add better replay integration
...
The counter implementaiton is now list based, and will not invalidate
previous hits by removing them but by testing if they are within the 1
second span, allowing better integration with replays and spectators.
2022-07-31 01:29:57 +02:00
Susko3
38a8b9cf0a
Add battery info for desktop platforms
2022-07-30 14:26:19 +02:00
Salman Ahmed
3bc1774c87
Merge branch 'master' into pie-chart-progress
2022-07-29 16:54:59 +03:00
Salman Ahmed
905bbdc8ee
Remove caching of GameplayClockContainer
in favour of GameplayClock
...
Also fixes `SongProgress` being displayed in skin editor on non-gameplay
screens, due to `GameplayClock` not marked as a required dependency.
2022-07-29 16:45:29 +03:00
Salman Ahmed
3f72e76348
Expose StartTime
from gameplay clock
2022-07-29 16:18:05 +03:00
Ryuki
b2e7da5aa0
Add basic Queue based implementation of KPS
2022-07-28 18:37:12 +02:00
Dean Herbert
3005ff1b9f
Merge branch 'master' into pie-chart-progress
2022-07-28 22:19:27 +09:00
Dan Balasescu
ce694123eb
Move spectator begin/end playing to SubmittingPlayer
2022-07-28 20:44:04 +09:00
Dean Herbert
86c2b7e449
Apply nullability to DefaultSongProgress
and clean up more stuff
2022-07-28 18:37:17 +09:00
Dean Herbert
ea027eda46
Move initial show to base implementation and add transition for legacy version
2022-07-28 18:29:49 +09:00
Dean Herbert
d5e5761892
Fix DefaultSongProgress
graph not resetting if time is in intro
2022-07-28 18:25:24 +09:00
Dean Herbert
7108553883
Tidy up various things everywhere
2022-07-28 18:25:14 +09:00
Nitrous
0d36907cad
apply code quality fixes
2022-07-28 15:30:45 +08:00
Nitrous
bca3994d91
set FirstHitTime
and LastHitTime
once
2022-07-28 15:25:12 +08:00
Nitrous
db62d4be3a
apply suggestions
...
- refactor `SongProgress`
- make`UpdateProgress` more readable
- enable NRT on new classes
- refactor `TestSceneSongProgress` to use `GameplayClockContainer`
2022-07-28 15:15:41 +08:00
Nitrous
9088caa377
move LegacyComboCounter
to osu.Game.Skinning
2022-07-28 08:36:26 +08:00
Nitrous
45c11f2b7b
account for gameplay start time
2022-07-28 08:01:38 +08:00
Nitrous
37e642b0bd
make SongProgress
abstract
...
- move unrelated logic to `DefaultSongProgress`
- make `LegacySongProgress` inherit `SongProgress`
2022-07-27 15:19:21 +08:00
Salman Ahmed
fa9daa6899
Fix TestSceneReplayRecorder
not using score provided by gameplay state
2022-07-25 05:21:27 +03:00
Salman Ahmed
ad09e728fd
Move Passed
assignment inside FailScore
2022-07-21 08:12:06 +03:00
Salman Ahmed
0f0b19da4a
Populate score with remaining "miss" statistics on fail/exit
2022-07-21 06:01:36 +03:00
Bartłomiej Dach
6f37487528
Replace calls to defective Humanizer methods with correct version
2022-07-18 22:34:58 +02:00
Salman Ahmed
e6236ba088
Update save score button to check availability after import
...
Previously was relying on whether `SaveReplay` returns null, but since
I've changed it to use the standard "prepare score for import" path, the
button has to check for local availability after import since that path
doesn't return null on fail.
2022-07-15 23:39:52 +03:00
Salman Ahmed
6285442b7d
Fix failed scores not prepared before import
2022-07-15 22:57:12 +03:00
Dean Herbert
2beed6d7b7
Allow failed scores to fail in replay playback
2022-07-15 20:45:48 +09:00
Dean Herbert
d325c534ab
Check whether score is already imported and show correct state for save button
2022-07-15 20:45:37 +09:00
Dean Herbert
0200ef1d48
Make delegate firing more safe to being set later than BDL
2022-07-15 19:06:44 +09:00
Dean Herbert
0e788ac714
Simplify bindable logic greatly
2022-07-15 19:02:12 +09:00
Dean Herbert
8a48cb701d
Tidy up implementation and remove unnecessary enum
2022-07-15 19:02:04 +09:00
Dean Herbert
ab6665d88c
Merge branch 'master' into Save-Score-Failed
2022-07-15 18:02:58 +09:00
Dean Herbert
937692604e
Remove mention of autoplay mod for now
2022-07-13 22:37:20 +09:00
Dean Herbert
ab3ec80159
Update LastPlayed
on gameplay starting in a SubmittingPlayer
2022-07-13 16:43:43 +09:00
Dean Herbert
b52ea16133
Show basic error message when score submission fails
2022-07-12 15:10:59 +09:00
為什麼
6a643cb6ea
Use Debug.Assert instead.
2022-07-12 09:41:19 +08:00
為什麼
857377e145
Move CreateConvertibleReplayFrame() into legacy ruleset interface because technically only legacy ruleset use it to convert the legacy frame.
...
But seems some of the customized ruleset use it for save the replay frame.
2022-07-10 10:15:27 +08:00
cdwcgt
d2406242ae
rename updateTooltip to updateState
2022-07-09 00:38:17 +09:00
cdwcgt
91f471ebe0
disabled button instead of shake
...
removed `ShakeContainer`
2022-07-09 00:37:53 +09:00
cdwcgt
a38c6704c2
Use ContinueWith, Check is Task empty
2022-07-09 00:23:32 +09:00
Dean Herbert
e4ebab92c6
Rename lots of weird variables
2022-07-08 18:37:03 +09:00
Dean Herbert
f3a6e646a6
Merge branch 'master' into Save-Score-Failed
2022-07-08 18:32:13 +09:00
Dean Herbert
9d730f8440
Fix custom rulesets not importing scores at all
...
Replaces the error with the ability to import, minus replays.
Closes https://github.com/ppy/osu/issues/17350 (arguably, but let's go with it for now).
2022-07-07 14:49:23 +09:00
Dan Balasescu
1ccfd69690
Merge pull request #18978 from peppy/send-beatmap-hash-to-server
...
Send beatmap hash to server on solo score request
2022-07-03 13:18:17 +09:00
Salman Ahmed
19d300e311
Fix player loader not accepting star difficulty updates after display
2022-07-02 09:17:38 +03:00
Dean Herbert
634b6cdbbe
Send beatmap has to server on solo score request
...
Right now, the client does nothing to ensure a beatmap is in a valid
state before requesting to submit a score. There is further work to be
done client-side so it is more aware of this state (already handled for
playlists, but not for the solo gameplay loop), but the solution I have
in mind for that is a bit more involved.
This is not used server-side yet, but I want to get this sending so we
can start using it for some very basic validation.
Will resolve the basic portion of #11922 after implemented server-side.
2022-07-02 12:16:17 +09:00
cdwcgt
33209ecd25
remove useless value change
2022-06-30 19:51:58 +09:00
cdwcgt
fd0d8b1ce3
Add button state, fix async issues, watch replay method
...
Most borrowed from `ReplayDownloadButton`
2022-06-29 22:50:47 +09:00
Dean Herbert
6bfd351dec
Add logging of GameplayClockContainer
seeks
2022-06-28 15:23:29 +09:00
Dean Herbert
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Dean Herbert
f71f6302fd
Remove unnecessary null
casts
2022-06-24 14:50:11 +09:00
cdwcgt
bff35cb348
Shake button when replay already save
2022-06-22 01:19:20 +09:00
cdwcgt
f2eb7e0551
Use better design and fix some problem
...
Let saveReplay async but still void
Make failed score's rank = F
2022-06-21 19:06:38 +08:00
Dan Balasescu
b3e5642dfd
Use WaitingOnFrames instead
2022-06-21 12:23:43 +09:00
cdwcgt
43ead5820a
deal with test
2022-06-21 00:54:50 +09:00
cdwcgt
9a6f4ef76d
Save score button on failed screen
2022-06-19 23:59:37 +09:00
Dan Balasescu
98d69c846c
Reset spectator speed at last frame
2022-06-19 17:12:20 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
be2b4e68b9
Don't play player exit sound when restarting
2022-06-15 17:49:18 +09:00
Dean Herbert
6136e4e27a
Don't play exit sound if screen is in a non-resumable state when exiting
2022-06-15 17:37:25 +09:00
Jamie Taylor
6b744a14b0
Move 'back' sample playback from OnResuming to OnExiting
2022-06-15 15:41:28 +09:00
Dean Herbert
6be4209458
Fix AlwaysPresent
specification in wrong container
2022-06-15 01:04:43 +09:00
Dean Herbert
a20e43c2ae
Ensure containers which are being used to hide HUD elements still update for now
...
I don't think this is necessarily a final solution (as this means all
HUD elements are adding overhead even when not visible), but this will
make the implementations much easier for the time being.
I've checked and can't notice any perceivable overhead in profiling so
we should be fine for now.
2022-06-14 18:22:25 +09:00
Dean Herbert
bd9ea9bd6f
Revert most unnecessary changes
...
Turns out `AlwaysPresent` at top level is actually enough.
This reverts commit 86163d2225
.
2022-06-13 23:58:14 +09:00
Dean Herbert
86163d2225
Fix hit error meters not updating visual state when hidden
...
It is an expectation of users that when the HUD is shown after a period
of being hidden, it will visually reflect the state based on recent
judgements.
To achieve this, I've added `AlwaysPresent` and moved the transform
application to the meter level, rather than at a child level. If this is
seen as a bad direction, `AlwaysPresent` can be applied to the drawable
children and the transforms can be moved back.
Also of note, `ColourHitErrorMeter` is pretty weird. The flow class
could potentially be removed and reduce `AlwaysPresent` usage by one.
Can do that refactor as part of this PR if preferred.
Closes #18624 .
2022-06-13 16:38:57 +09:00
Dean Herbert
17eaf7bb5c
Add failing test coverage showing hit meters don't update when not visible
2022-06-13 16:36:22 +09:00
Dan Balasescu
6e450b7350
Explicitly handle operation cancelled exceptions
2022-06-09 14:35:53 +09:00
Dan Balasescu
ec03dc16db
Don't trigger notification when user quit
2022-06-09 14:13:14 +09:00
Dan Balasescu
bfde334e77
Allow beatmaps to load endlessly when entering Player
2022-06-09 14:03:21 +09:00
Dan Balasescu
22d998dc2a
Use new score processor in MultiplayerGameplayLeaderboard
2022-05-30 19:26:26 +09:00
Dan Balasescu
a052e09ac3
Send ScoreProcessor statistics in SpectatorState
2022-05-30 19:26:26 +09:00
Dan Balasescu
c97b477485
Fix inverted operation order
2022-05-30 19:11:54 +09:00
Bartłomiej Dach
1641918c51
Revert "Avoid throwing unobserved exception when PerformancePointsCounter
requests timed attributes"
...
This reverts commit 19b655d75b
.
2022-05-28 15:23:28 +02:00
Dean Herbert
9c3d0dafbd
Remove implementation at Player
level
...
Turns out this isn't required in the end due to implementation at
`MasterGameplayClockContainer`.
2022-05-23 02:00:21 +09:00
Dean Herbert
007582afb9
Remove unused usings resulting from namespace move
2022-05-22 23:55:33 +09:00