Dan Balasescu
d7aca2f641
Add IApplicableHealthProcessor
2023-12-17 19:27:03 +09:00
Dean Herbert
27296c59de
Show back button when spectating
...
Avoids getting stuck at some screens.
It's a bit ugly having the back button visible like this,
but is the best approach we have for now.
2023-12-15 11:26:17 +09:00
Dean Herbert
76c4931f3a
Merge pull request #25673 from frenzibyte/fix-argon-initial-display
...
Fix `ArgonHealthDisplay` not displaying miss correctly during initial transition
2023-12-13 22:16:34 +09:00
Dean Herbert
3131d37621
Clear transformations with more fire
2023-12-13 17:00:21 +09:00
Dean Herbert
f2c6c348be
Fix HitError
Clear
methods not correctly returning pooled drawables
2023-12-13 16:13:23 +09:00
Dean Herbert
110749205d
Cache GameplayClockContainer
to allow usage of OnSeek
2023-12-13 16:13:08 +09:00
Dean Herbert
eb30a603d9
Fix typo in argument name
2023-12-13 15:01:36 +09:00
Bartłomiej Dach
f69a5b44cc
Merge branch 'master' into fix-argon-initial-display
2023-12-06 09:30:28 +01:00
Salman Ahmed
20fd458fac
Perserve miss animation when followed by a hit at same frame
2023-12-05 21:59:28 +03:00
Salman Ahmed
9496cdf42b
Add explanatory note for scheduling
2023-12-05 21:59:28 +03:00
Salman Ahmed
927cfe4257
Fix health processor event leaks
2023-12-05 21:59:28 +03:00
Salman Ahmed
629e64d50a
Fix ArgonHealthDisplay
not displaying miss correctly during initial transition
2023-12-04 23:55:31 +03:00
Salman Ahmed
4d82a55594
Remove method for being unused
2023-12-04 23:24:28 +03:00
Salman Ahmed
5723715ea0
Fix ArgonHealthDisplay
sometimes behaving weirdly on miss judgements
2023-12-04 23:24:28 +03:00
Dean Herbert
a4be28a2ae
Don't show buttons on fail overlay when player interaction is disabled
2023-11-27 12:25:24 +09:00
Bartłomiej Dach
98ab9853ce
Merge branch 'master' into show-spectator-fail-2
2023-11-27 12:24:59 +09:00
Bartłomiej Dach
19639de299
Merge branch 'master' into fix-spectator-quit-2
2023-11-27 11:36:10 +09:00
Dean Herbert
7ceb49fbc0
Add extra test coverage and handle case where still at loading screen
2023-11-24 15:05:39 +09:00
Dean Herbert
d3a55d83c0
Schedule FailScore
inside onFail
instead of onFailComplete
2023-11-24 14:44:57 +09:00
Dean Herbert
ef5dd24589
Update failing test coverage and fix onFail
being called too often
2023-11-24 14:44:57 +09:00
Dean Herbert
4ad3cb3b49
Submit and send failed spectator state more aggressively
2023-11-24 14:44:57 +09:00
Dean Herbert
8375dd72d6
Add xmldoc to new AllowFail
method
2023-11-24 14:44:57 +09:00
Dean Herbert
ca93fdc94b
Add visualisation of when a spectated player fails
...
Create a new stack each time for isolation and safety
2023-11-24 14:44:57 +09:00
Dean Herbert
b024065857
Remove implicit schedule of abstract
methods in SpectatorScreen
...
This allows each implementation to have control over scheduling. Without
this, the solo implementation would not be able to handle quit events
while watching a player, as it would push a child (gameplay) screen to
the stack where the `SpectatorScreen` would usually be.
2023-11-24 14:26:09 +09:00
Dean Herbert
335e8efff7
Apply NRT to SoloSpecatorScreen
2023-11-24 14:26:09 +09:00
Dean Herbert
dabbdf674b
Rename SoloSpectator
to SoloSpectatorScreen
2023-11-24 14:26:08 +09:00
Dean Herbert
95c00f9666
Add HexaconIcons
lookup to allow usage with SpriteIcon
2023-11-24 13:17:39 +09:00
Dean Herbert
5239fee947
Allow use of skin username/flag/avatar components outside of gameplay
2023-11-23 17:15:03 +09:00
yesseruser
82fec4194d
Disabled RecievePositionalInputAtSubTree in PlayerFlag.
2023-11-22 15:45:32 +01:00
yesseruser
08e0279d72
Revert "Renamed UpdateableFlag to ClickableUpdateableFlag."
...
This reverts commit 671177e871
.
2023-11-22 15:25:43 +01:00
yesseruser
be8b59e59d
Revert "Created and implemened a BaseUpdateableFlag."
...
This reverts commit cd7e0bf620
.
2023-11-22 15:25:35 +01:00
yesseruser
cd7e0bf620
Created and implemened a BaseUpdateableFlag.
...
The tooltip still shows.
2023-11-21 19:27:33 +01:00
yesseruser
671177e871
Renamed UpdateableFlag to ClickableUpdateableFlag.
2023-11-21 19:02:23 +01:00
Bartłomiej Dach
b6e3e42445
Merge branch 'master' into bspline-sliders
2023-11-20 12:03:29 +09:00
Dean Herbert
b45872d2e0
Merge branch 'master' into argon-hide-counter-labels
2023-11-16 14:20:13 +09:00
Dean Herbert
73eda6c09c
Move non-matching default value to argon skin default speficiation instead
2023-11-16 14:18:49 +09:00
Dean Herbert
2987c0e802
Add note about enfocing size methodology
2023-11-15 19:01:52 +09:00
Bartłomiej Dach
8cd1f08a92
Fix argon health bar folding in on itself
2023-11-15 15:42:45 +09:00
Joseph Madamba
62352ce5f3
Add ability to toggle labels on argon counter components
2023-11-14 20:46:42 -08:00
Joseph Madamba
87ace7565d
Use existing localisation for argon counter component labels
2023-11-14 20:44:33 -08:00
Bartłomiej Dach
159cf41f82
Fix default argon health bar width being zero
...
Closes #25460 .
2023-11-15 12:53:09 +09:00
Bartłomiej Dach
711bf14c06
Merge pull request #25443 from peppy/fix-argon-custom-skins
...
Fix customised argon skins no longer loading due to incorrect resource store specification
2023-11-14 23:11:39 +09:00
Dean Herbert
a745642f76
Fix customised argon skins no longer loading due to incorrect resource store spec
2023-11-14 22:01:56 +09:00
Bartłomiej Dach
83f8f03c7e
Fix argon health bar not relative sizing correctly
2023-11-14 21:54:06 +09:00
Dean Herbert
798e677c09
Refactor KeyCounterDisplay
to use autosize
...
A previous attempt at this was unsuccessful due to a partially
off-screen elements not getting the correct size early enough (see
https://github.com/ppy/osu/issues/14793 ). This can be accounted for by
setting `AlwaysPresent` when visibility is expected.
This fixes [test failures](https://github.com/ppy/osu/actions/runs/6838444698/job/18595535795 )
due to the newly added `Width` / `Height` being persisted with
floating-point errors (by not persisting the values in the first place,
via `AutoSize.Both`).
2023-11-12 17:19:25 +09:00
Thomas Müller-Höhne
926636cc03
Generalize Bezier curves to BSplines of Nth degree
2023-11-11 13:32:53 +01:00
Bartłomiej Dach
ea556abad8
Merge branch 'skin-size-editing' into gameplay-hud-redesign/counters
2023-11-11 21:28:29 +09:00
Bartłomiej Dach
50789d2e18
Fix song progress bars not sizing vertically properly
2023-11-11 21:28:04 +09:00
Bartłomiej Dach
870e4ce27e
Fix argon health display not handling invalidation correctly
2023-11-11 20:42:45 +09:00
Bartłomiej Dach
b7972e3c84
Merge branch 'skin-size-editing' into gameplay-hud-redesign/counters
2023-11-11 20:16:14 +09:00
Bartłomiej Dach
c522a703eb
Merge branch 'master' into skin-size-editing
2023-11-10 18:19:27 +09:00
Bartłomiej Dach
374e13b496
Remove argon health display bar length setting
...
It is no longer needed.
Intentionally not doing backwards migration to simplify things; users
can fix their skins.
2023-11-10 18:18:58 +09:00
Dean Herbert
1c63f1f89d
Merge pull request #25348 from bdach/less-basic-touchscreen-detection
...
Implement basic touchscreen detection
2023-11-10 18:01:40 +09:00
Dean Herbert
a02aeed50a
Adjust combo animation slightly
2023-11-10 16:53:16 +09:00
Dean Herbert
67312a2db9
Remove ArgonScoreWedge
and use ArgonWedgePiece
directly
2023-11-10 16:53:16 +09:00
Dean Herbert
b4ec62473e
Remove width/height bindables from ArgonWedgePiece
2023-11-10 16:53:15 +09:00
Dean Herbert
4f90ac15fa
Reduce the default wireframe opacity a bit
2023-11-10 15:53:05 +09:00
Dean Herbert
7e0b41219c
Change animation to only affect number portion, add miss animation
2023-11-10 15:53:05 +09:00
Dean Herbert
e861681cd4
Adjust argon rolling easings
2023-11-10 15:53:05 +09:00
Dean Herbert
7c3a626f4b
Add basic animation for combo counter
2023-11-10 15:53:05 +09:00
Dean Herbert
6c1d48dfaf
Remove unused function
2023-11-10 15:53:05 +09:00
Dean Herbert
f31c1c9c79
Rename and move skinnable line component to a more commomn place
2023-11-10 15:53:05 +09:00
Salman Ahmed
d3af3c615f
Merge branch 'master' into gameplay-hud-redesign/counters
2023-11-10 01:04:03 +03:00
Salman Ahmed
6f5d905ce7
Update argon accuracy counter design
2023-11-10 01:02:05 +03:00
Susko3
0c4c9aa4b5
Show touch taps setting in player loader on mobile platforms
2023-11-09 14:52:33 +01:00
Bartłomiej Dach
63a0ea5410
Fix PlayerTouchInputDetector
applying touch device mod when other inactive mods present
2023-11-09 17:51:01 +09:00
Bartłomiej Dach
13b599b9b6
Merge branch 'master' into less-basic-touchscreen-detection
2023-11-09 17:36:48 +09:00
Salman Ahmed
2ef17c56b1
Remove unused local
2023-11-08 02:13:35 +03:00
Salman Ahmed
18c71c95cc
Merge branch 'master' into gameplay-hud-redesign/counters
2023-11-08 02:12:37 +03:00
Salman Ahmed
4de5454538
Bring back left-side line next to health display
...
Makes the score counter not look weird when it reaches 8 digits
2023-11-08 02:07:15 +03:00
Salman Ahmed
fdc714a248
Support percentages and ignore dot characters in wireframes part
2023-11-08 02:06:14 +03:00
Salman Ahmed
d30bac3f49
Move "required display digits" feature to reside in argon score counter
2023-11-08 02:06:14 +03:00
Salman Ahmed
e6d3085353
Update accuracy counter design
2023-11-08 02:06:14 +03:00
Salman Ahmed
cbea2db4be
Support absolute-sized health bar and use it for default layout
2023-11-08 02:06:14 +03:00
Dean Herbert
c00a1d948a
Merge branch 'master' into better-touch-settings
2023-11-07 23:21:59 +09:00
Dean Herbert
3e257f1e6c
Remove unused using statements
2023-11-07 23:21:51 +09:00
Susko3
fcd73e62d2
Remove mobile specific changes
...
Will be added back in a separate PR
2023-11-07 13:06:14 +01:00
Susko3
7385c3c97b
Move InputSettings
children creation code to BDL
...
- Avoids now obsolete variable name
- Makes changing to touch detection easier (access to session statics in BDL)
2023-11-07 00:17:15 +01:00
Susko3
05d9418718
Rename setting to TouchDisableGameplayTaps
for better visibility when searching
2023-11-07 00:13:46 +01:00
Salman Ahmed
0dbba13686
Split argon score sprite text and update combo counter design
2023-11-07 01:59:36 +03:00
Salman Ahmed
7c1c62ba8a
Remove argon combo wedge and update combo counter position
2023-11-07 01:59:36 +03:00
Salman Ahmed
ce36884ef0
Make score wireframes display up to required digits count
2023-11-07 01:59:36 +03:00
Salman Ahmed
754e05213c
Update argon score wedge design
2023-11-07 01:59:36 +03:00
Susko3
f8b5ecc92a
Update UI to use the new setting
2023-11-06 21:07:15 +01:00
Bartłomiej Dach
682668ccf0
Remove touch device toasts entirely
2023-11-06 10:54:32 +01:00
Bartłomiej Dach
97fee6143c
Rename touch "input handlers" to detectors
2023-11-06 10:08:19 +01:00
Dean Herbert
0915ac8891
Use left aligned text for non-rotate key counter
2023-11-06 16:32:12 +09:00
Susko3
9947897c5f
Use appropriate clicks/taps text in player loader input settings
2023-11-05 12:53:40 +01:00
Susko3
fa1d1df594
Rename mouse button string to Disable clicks during gameplay
2023-11-05 12:43:14 +01:00
Salman Ahmed
1d4f4cf4c3
Merge branch 'master' into gameplay-hud-redesign/counters
2023-11-05 02:02:36 +03:00
Salman Ahmed
6c3169a0ed
Remove PP wedge and logic for gameplay layout
2023-11-05 01:56:54 +03:00
Salman Ahmed
a23dfbeab5
Revert "Abstractify PP counter logic from the "Triangles" implementation"
...
This reverts commit daf4a03fd0
.
2023-11-05 01:55:54 +03:00
Salman Ahmed
58a830fc5b
Revert "Add "Argon" performance points counter"
...
This reverts commit 56eeb117ce
.
2023-11-05 01:55:54 +03:00
Salman Ahmed
1c844a155e
Remove health line detail
2023-11-05 01:55:54 +03:00
Salman Ahmed
91cf237fc1
Revert health display settings changes
2023-11-05 01:55:54 +03:00
Joseph Madamba
16731ff85f
Fix text positioning
2023-11-02 20:42:28 -07:00
Joseph Madamba
b3dfe19472
Fix UprightAspectMaintainingContainer
not being centred
2023-11-02 20:42:28 -07:00
Joseph Madamba
090601b485
Apply peppy's upright key counter attempt diff
...
Co-Authored-By: Dean Herbert <pe@ppy.sh>
2023-11-02 20:42:23 -07:00
Bartłomiej Dach
a78fab0e7d
Do not hardcode ruleset name in touch device detection toast
2023-11-03 00:17:29 +01:00
Bartłomiej Dach
a613292802
Fix unknown mod test failure
2023-11-02 23:44:40 +01:00
Bartłomiej Dach
0dd0a84312
Move player touch handler to SubmittingPlayer
...
Shouldn't be there in `ReplayPlayer`.
2023-11-02 22:56:43 +01:00
Bartłomiej Dach
3a6d65d395
Touch up PlayerTouchInputHandler
2023-11-02 21:24:58 +01:00
Bartłomiej Dach
f2df02b60f
Automatically activate touch device mod in player
2023-11-02 21:24:58 +01:00
Dean Herbert
7ceced7012
Scope TestPauseWithLargeOffset
to focus on what matters
...
See https://github.com/ppy/osu/actions/runs/6693917410/job/18186111009
This test is to make sure we don't seek before the original
pause time, so I've exposed that value precisely to avoid
CI woes.
2023-10-31 14:47:04 +09:00
Bartłomiej Dach
19d10e5e45
Merge pull request #25300 from peppy/better-submission-logging
...
Improve log output surrounding score submission
2023-10-30 09:04:06 +01:00
Dean Herbert
caddbacfe8
Merge branch 'master' into gameplay-hud-redesign/counters
2023-10-30 16:35:10 +09:00
Dean Herbert
a91b704d21
Fix some new nullable inspections
2023-10-30 15:10:10 +09:00
Dean Herbert
d90f29a5ff
Improve log output surrounding score submission
2023-10-30 15:07:26 +09:00
Dean Herbert
5a9d4170e8
Merge pull request #24794 from bdach/score-encoding-cleanup
...
Correctly handle multiple online score ID types
2023-10-28 02:29:56 +09:00
Bartłomiej Dach
35f30d6135
Scale back debug assertion
...
The import preparation task can actually be non-null when exiting even
if the player hasn't passed:
- fail beatmap
- click import button to import the failed replay
2023-10-27 14:39:58 +02:00
Bartłomiej Dach
dc7f5cd6ed
Add preventive assertions concerning submission flow state
2023-10-27 13:30:51 +02:00
Bartłomiej Dach
2d5b1711f6
Share !HasPassed
condition
2023-10-27 13:27:48 +02:00
Bartłomiej Dach
86a8ab6db6
Fix quick retry immediately after completion marking score as failed
...
Closes https://github.com/ppy/osu/issues/25247 .
The scenario involved here is as follows:
1. User completes beatmap by hitting all notes.
2. `checkScoreCompleted()` determines completion, and calls
`progressToResults(withDelay: true)`.
3. `progressToResults()` schedules `resultsDisplayDelegate`, which
includes a call to `prepareAndImportScoreAsync()`, a second in the
future.
4. User presses quick retry hotkey.
This calls `Player.Restart(quickRestart: true)`,
which invokes `Player.RestartRequested`,
which in turn calls `PlayerLoader.restartRequested(true)`,
which in turn causes `PlayerLoader` to make itself current,
which means that `Player.OnExiting()` will get called.
5. `Player.OnExiting()` sees that `prepareScoreForDisplayTask` is null
(because `prepareAndImportScoreAsync()` - which sets it -
is scheduled to happen in the future), and as such assumes that
the score did not complete. Thus, it marks the score as failed.
6. `Player.Restart()` after invoking `RestartRequested` calls
`PerformExit(false)`, which then will unconditionally call
`prepareAndImportScoreAsync()`. But the score has already been marked
as failed.
The flow above can be described as "convoluted", but I'm not sure I have
it in me right now to try and refactor it again. Therefore, to fix,
switch the `prepareScoreForDisplayTask` null check in
`Player.OnExiting()` to check `GameplayState.HasPassed` instead, as it
is not susceptible to the same out-of-order read issue.
2023-10-27 12:17:03 +02:00
Dean Herbert
fc25e24397
Merge branch 'master' into score-encoding-cleanup
2023-10-27 18:03:38 +09:00
Bartłomiej Dach
fdb81bfa4c
Rename methods to not mention "source clock" anymore
2023-10-26 19:38:52 +02:00
Bartłomiej Dach
565ae99e0d
Fix StopUsingBeatmapClock()
applying adjustments to track it was supposed to stop using
...
- Closes https://github.com/ppy/osu/issues/25248
- Possibly also closes https://github.com/ppy/osu/issues/20475
Regressed in e33486a766
.
`StopUsingBeatmapClock()` intends to, as the name says, stop operating
on the working beatmap clock to yield its usage to other components on
exit. As part of that it tries to unapply audio adjustments so that
other screens can apply theirs freely instead.
However, the aforementioned commit introduced a bug in this. Previously
to it, `track` was an alias for the `SourceClock`, which could be
mutated in an indirect way via `ChangeSource()` calls. The
aforementioned commit made `track` a `readonly` field, initialised in
constructor, which would _never_ change value. In particular, it would
_always_ be the beatmap track, which meant that
`StopUsingBeatmapClock()` would remove the adjustments from the beatmap
track, but then at the end of the method, _apply them onto that same
track again_.
This was only saved by the fact that clock adjustments are removed again
on disposal of the `MasterGameplayClockContainer()`. This - due to async
disposal pressure - could explain infrequently reported cases wherein
the track would just continue to speed up ad infinitum.
To fix, fully substitute the beatmap track for a virtual track at the
point of calling `StopUsingBeatmapClock()`.
2023-10-26 19:38:52 +02:00
Bartłomiej Dach
ca4b09f8ef
Merge branch 'master' into score-encoding-cleanup
2023-10-26 09:04:05 +02:00
Salman Ahmed
07e7d533bf
Bake external scale factors into glyph scale
2023-10-26 10:01:27 +03:00
Salman Ahmed
df80b4dcab
Update "Argon" health display specifications to match design
...
Also adds a little white bar next to the display to match with the
components below it (score/accuracy/combo counters).
2023-10-26 09:12:05 +03:00
Salman Ahmed
50af1574cf
Add "Argon" background wedges
2023-10-26 09:10:56 +03:00
Salman Ahmed
56eeb117ce
Add "Argon" performance points counter
2023-10-26 09:10:10 +03:00
Salman Ahmed
daf4a03fd0
Abstractify PP counter logic from the "Triangles" implementation
2023-10-26 09:09:55 +03:00
Salman Ahmed
0aa0562dc0
Add "Argon" combo counter
2023-10-26 09:09:55 +03:00
Salman Ahmed
1f36acca1a
Add "Argon" accuracy counter
2023-10-26 09:09:52 +03:00
Salman Ahmed
9ca672d689
Add "Argon" total score counter
2023-10-26 08:58:25 +03:00
Dean Herbert
e081fa48a2
Fix various other inspections
2023-10-17 17:48:51 +09:00
Bartłomiej Dach
c4af8591a5
Preserve OnlineID
when importing scores
...
Previously, for lazer scores, the ID returned from `osu-web` was
discarded and replaced with -1, due to the fact that the appropriate
structures for unification with stable, as well as unification across
solo and multiplayer, were not in place yet.
Now we're at the point where scores from all the aforementioned sources
receive a `solo_scores` DB row, and as such, we can start treating
`solo_scores`-scheme IDs as canonical "online IDs" for a score.
2023-10-16 11:20:02 +02:00
Dean Herbert
48832c64ac
Fix health bar animating when it shouldn't be
...
It wasn't correctly checking the current underlying health, which could
be zero in usages of `AccumulatingHealthProcessor`, for instance.
Closes #25046 .
2023-10-16 13:12:04 +09:00
Dean Herbert
fa47309eef
Fix exit key during storyboard outro not progressing to results
2023-10-12 19:31:54 +09:00
Dean Herbert
d174a6ce61
Remove dead code which was only there for the exit-specific scenario
2023-10-12 19:27:35 +09:00
Dean Herbert
32eda99c3a
Add missing xmldoc returns
2023-10-12 19:06:34 +09:00
Dean Herbert
242a41371c
Fix HotkeyOverlay
fade out occurring when exit is blocked
2023-10-12 15:42:54 +09:00
Dean Herbert
7c0d496730
Show results immediately if user hits "back" key after finishing gameplay
...
I've gone ahead and matched the osu!stable behaviour for this, as it
seems like it's what people are used to and they will settle for no
less.
Closes https://github.com/ppy/osu/issues/18089 .
2023-10-12 15:42:23 +09:00
Dean Herbert
b9dbc8139b
Merge branch 'master' into fix-argon-health-bar-flash
2023-10-11 00:20:08 +09:00
Bartłomiej Dach
d701e88a08
Merge pull request #25076 from peppy/fix-argon-health-bar-perf
...
Ensure health displays don't pile up transforms when off-screen
2023-10-10 16:33:32 +02:00
Dean Herbert
b9dadc52b7
Adjust comment to match current behaviour
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-10-10 22:54:19 +09:00
Dean Herbert
e2e28ef0ca
Remove comment regarding inlined delegate
2023-10-10 22:12:20 +09:00
Dean Herbert
682aa06acf
Remove JudgementResult
from Miss
/Flash
as it is not used
2023-10-10 22:10:44 +09:00
Dean Herbert
f0bd975393
Change GameplayClockContainer.Reset
to directly call GameplayClock.Stop
...
The reasoning is explained in the inline comment, but basically this was
getting blocked by `isPaused` being in an initial `true` state (as it is
on construction), while the source clock was still `IsRunning`.
There's no real guarantee of sync between the source and the `isPaused`
bindable right now. Maybe there should be in the future, but to restore
sanity, let's ensure that a call to `Reset` can at least stop the track
as we expect.
2023-10-10 18:16:14 +09:00
Dean Herbert
eee7dc02da
Reduce severity of clock running check to avoid production crashes
2023-10-10 17:58:11 +09:00
Dean Herbert
4674f63655
Fix Scheduler.AddOnce
not working in one location
2023-10-10 16:17:34 +09:00
Dean Herbert
7e68b64526
Avoid running finishInitialAnimation
when already finished
2023-10-10 15:59:48 +09:00
Dean Herbert
1eb6c93916
Also debounce updatePathVertices
to reduce overhead
2023-10-10 15:50:42 +09:00
Dean Herbert
6c346874d3
Add TODO mentioning that ArgonHealthDisplay
is doing lerp wrong
2023-10-10 15:24:54 +09:00
Dean Herbert
57f588fa86
Ensure health displays don't pile up transforms when off-screen
2023-10-10 15:24:54 +09:00
Dean Herbert
6ee958743e
Adjust glow animation specifics slightly
2023-10-10 15:10:42 +09:00
Dean Herbert
aeb579eb54
Syncrhonise initial colour of glowBar
for sanity
2023-10-10 15:10:27 +09:00
Dean Herbert
8e26b3c405
Fix argon health bar not completing flash animation correctly
2023-10-10 15:09:33 +09:00
Dean Herbert
e5207167c8
Rename FailAnimation
to FailAnimationContainer
2023-10-08 00:39:30 +09:00
Dean Herbert
7c7771afca
Merge pull request #24986 from peppy/health-animates-in-intro
...
Add initial animation for health bars
2023-10-07 10:31:34 +09:00
Bartłomiej Dach
cfcdbe1c30
Merge pull request #25028 from peppy/bindable-fixes
...
Fix some incorrect bindable-related code
2023-10-06 22:31:30 +02:00
Bartłomiej Dach
a099cc0f36
Merge pull request #25030 from peppy/adjustable-health-bar
...
Adjust argon health bar to fit with existing layout
2023-10-06 21:51:18 +02:00
Bartłomiej Dach
b7d0bf3756
Only flush the Current
transform specifically
2023-10-06 21:39:29 +02:00
Bartłomiej Dach
ce0d4bd0df
Fix health display potentially desyncing from actual if health was changed during initial animation
2023-10-06 21:35:08 +02:00
Dean Herbert
58448d3dd9
Fix health animation affecting failing tint
2023-10-07 01:06:31 +09:00
Dean Herbert
d87ab9c82d
Adjust transition time based on miss/hit
2023-10-06 19:34:38 +09:00
Dean Herbert
3f2a00d90d
Add argon health display to default skin layout
2023-10-06 19:34:27 +09:00
Dean Herbert
f40e910c51
Remove left line from health display
2023-10-06 19:34:27 +09:00
Dean Herbert
db5178e453
Change ArgonHealthDisplay
to be relative sized for now
2023-10-06 18:56:39 +09:00
Dean Herbert
f2e56bbb65
Fix publicly-settable bindables
2023-10-06 16:51:24 +09:00
Bartłomiej Dach
bd71403309
Merge branch 'master' into health-animates-in-intro
2023-10-04 13:53:42 +02:00
Dean Herbert
5a17a86d1d
Merge branch 'master' into clock-fix-attempt-2
2023-10-04 16:57:49 +09:00
Bartłomiej Dach
844a3b6c1b
Merge pull request #24980 from frenzibyte/gameplay-hud-redesign/health-display
...
Implement redesigned health bar display for "Argon" skin
2023-10-03 11:26:21 +02:00
Dean Herbert
4f3c433946
Move vertex related constants local to method
2023-10-03 17:41:52 +09:00
Dean Herbert
32b2ac4974
Rename and refactor glow/miss bars to hopefully make more sense
2023-10-03 17:41:11 +09:00
Dean Herbert
4f9daa1c14
Tidy up ArgonHealthDisplay
code quality
2023-10-03 17:32:35 +09:00
Dean Herbert
8178cf3a8d
Tidy up background colour gradient logic
...
This changes things visually a touch, but I think it feels better.
And reads better.
2023-10-03 17:17:11 +09:00
Dean Herbert
82ba545358
Add initial animation for health bars
2023-10-02 17:01:58 +09:00
Dean Herbert
3a45bcad15
Improve flash and glow further
2023-10-02 02:11:07 +09:00
Dean Herbert
c4f47974bc
Improve glow further
2023-10-02 02:11:07 +09:00
Dean Herbert
88d608e1fa
Tidy up common animation code
2023-10-02 02:11:07 +09:00
Dean Herbert
df51e61234
Improve animation
2023-10-02 00:42:51 +09:00
Dean Herbert
22aa7ffd06
Use additive colour
2023-10-01 22:09:59 +09:00
Salman Ahmed
eef099e69d
Do not display "miss" bar if health is already zero
2023-10-01 15:25:34 +03:00
Salman Ahmed
7825bea959
Use interpolation for health bar opacity instead of transforms
2023-10-01 15:25:23 +03:00
Salman Ahmed
30d9004ef9
Fix small mistake
2023-10-01 13:41:11 +03:00
Salman Ahmed
446c9c2efe
Apply adjustments on the "miss" bar display
2023-10-01 13:39:36 +03:00
Salman Ahmed
9e2b8254d9
Add argon-specific health display test scene
2023-10-01 13:26:47 +03:00
Salman Ahmed
a331fb993a
Adjust health bar outer stroke colour
2023-10-01 01:21:37 +03:00
Salman Ahmed
319208ca3d
Adjust health bar glow intensity
2023-10-01 01:18:05 +03:00
Salman Ahmed
776536e816
Add "Argon" health display implementation
2023-10-01 00:56:16 +03:00
Salman Ahmed
33b0cb15a8
Add handling for miss judgements in HealthDisplay
2023-10-01 00:21:25 +03:00
Bartłomiej Dach
8215c4cb0e
Merge branch 'master' into mods-stable-ordering
2023-09-28 18:30:56 +02:00
Dean Herbert
7d74d84e6c
Display mod icons using stable ordering
...
In discussion with nanaya, we likely want this now that we're adding the
ability for some icons to be extended. Historically mod icons have been
displayed in a stable but arbitrary order (based on their position in
the `Mods` enum).
This change aims to make them stable across lazer scores (where they are
stored based on .. the order the user selected them).
2023-09-28 16:48:09 +09:00
Dean Herbert
9f4df29880
Adjust fade durations at player loader to better hide mod jank
2023-09-27 19:29:03 +09:00
Dean Herbert
251a85db43
Fix StopUsingBeatmapClock
not transferring time and running state
2023-09-22 16:22:36 +09:00
Dean Herbert
8367bb6bee
Don't apply decoupling to SpectatorPlayerClock
s
...
See inline comment for reasoning. It's a bit complicated.
2023-09-22 16:22:35 +09:00
Dean Herbert
bf08fbe196
Set source directly in FramedBeatmapClock
ctor
...
This isn't required, but avoids creating a temporary `StopwatchClock`
and generally just makes debug easier with less state changes.
2023-09-22 16:22:35 +09:00
Dean Herbert
586311d508
Fix souce clock not always being transferred to FramedBeatmapClock
in time
2023-09-22 16:22:35 +09:00
Dean Herbert
a1e298930c
Remove second hopefully-unnecessary workaround
2023-09-22 14:41:07 +09:00
Dean Herbert
df08c4e1ad
Disable decoupling for OsuGameBase
's beatmap implementation
...
This avoids it ever mutating the underlying track (aka attempting to start
it). Resolves the one caveat mentioned in
aeef92fa710648d4a00edc523e13c17ac6104125.
2023-09-22 12:49:25 +09:00
Dean Herbert
117cd74af6
Update usage of DecoupleableInterpolatingFramedClock
in FramedBeatmapClock
2023-09-22 12:49:25 +09:00
Dean Herbert
600651795b
Change FramedBeatmapClock
to always be decoupled
2023-09-22 12:49:25 +09:00
Dean Herbert
bf984388b3
Update clocks in line with framework changes
2023-09-20 21:17:08 +09:00
Dean Herbert
71ac5cfc79
Don't bother binding to friends changes for score display purposes
2023-09-20 14:14:37 +09:00
Dean Herbert
1927b524db
Merge branch 'master' into leaderboard-friend-highlight
2023-09-20 14:14:08 +09:00
Bartłomiej Dach
3bddf4bf9a
Rename spectator-specific settings to more generic (with backwards migration)
2023-09-18 14:56:06 +02:00
Dean Herbert
541cd972e1
Rename ArchiveReader
implementations to read better
2023-09-14 13:36:07 +09:00
cdwcgt
68752f95e5
color friend score to pink
2023-09-06 22:58:03 +09:00
Bartłomiej Dach
ed84be2f26
Merge pull request #24566 from peppy/multiplayer-spectator-score-diff
...
Add score difference display to multiplayer spectator
2023-08-16 12:57:17 +02:00
Bartłomiej Dach
35af15f491
Merge branch 'master' into multi-spectator-fix-startup-delay
2023-08-16 10:34:20 +02:00
Dean Herbert
8b9759c569
Apply nullability to MatchScoreDisplay
2023-08-16 17:26:10 +09:00
Dean Herbert
ab826c35b7
Add score diff display to multiplayer spectator
...
Basically pulling changes over from the tournament client implementation
2023-08-16 17:26:10 +09:00
Bartłomiej Dach
add1ef77d0
Fix typo in comment
2023-08-16 10:07:12 +02:00
Dean Herbert
bb98f10ff6
Use CurrentTime
instead of StartTime
for hotfix seek (and update comment)
2023-08-16 16:38:49 +09:00
Dean Herbert
184eabb902
Merge branch 'master' into multi-spectator-fix-startup-delay
2023-08-16 16:27:49 +09:00
Dean Herbert
31c2b7f925
Merge branch 'master' into leaderboard-toggle
2023-08-16 15:49:55 +09:00
Dean Herbert
e8bde6504a
Fix score being cloned in async method causing random crashes
...
Closes https://github.com/ppy/osu/issues/24445 .
2023-08-15 16:08:13 +09:00
Bartłomiej Dach
1b3806539a
Merge branch 'master' into leaderboard-toggle
2023-08-10 22:50:55 +02:00
Bartłomiej Dach
500a1363ec
Merge branch 'master' into fix-break-info-decimal-separator
2023-08-08 22:49:00 +02:00
nanashi-1
bd67e93310
fix code format
2023-08-07 11:16:51 +08:00
nanashi-1
f3f7d1ba7c
remove measly abstract
2023-08-07 09:50:24 +08:00
nanashi-1
92bf363ecf
use Drawable Rank
2023-08-06 20:43:09 +08:00
nanashi-1
4060373e03
add rank display element
2023-08-05 21:15:31 +08:00
Bartłomiej Dach
52b1073d93
Fix playfield skin layer not rotating correctly with barrel roll mod
2023-08-03 21:08:00 +02:00
Bartłomiej Dach
dde03b7d46
Merge branch 'master' into playfield-skin-layer
2023-08-03 20:42:15 +02:00
Joseph Madamba
aab462fd95
Fix valueText
being replaced even if current is not binding to anything
2023-08-02 09:40:22 -07:00
Dean Herbert
87fee001c7
Fix multiplayer spectator potentially taking too long to start
...
When watching from the middle of gameplay, due to a series of failures,
`SpectatorClock` would not get seeked to the current time, causing all
clients to look like they were out of sync.
This is a hotfix for the issue. A better fix will require framework
changes or considerable restructuring.
I'd recommend testing this works in practice and agreeing that while it
is a hack, it's likely not going to cause issues and is something we
want to see fixed sooner rather than later.
2023-08-02 19:05:43 +09:00
Dean Herbert
a618ed140e
Move StoryboardReplacesBackground
bindable more local to usage
2023-08-02 15:29:18 +09:00
QuantumSno
054ca5e59c
Merge branch 'master' into leaderboard-toggle
2023-08-01 10:06:03 -04:00
Bartłomiej Dach
e208f38bcb
Merge pull request #24361 from peppy/fix-editor-global-music-hotkey-conflicts
...
Disallow interacting with the global track state in `Player` and `Editor`
2023-07-30 12:28:53 +02:00
Dean Herbert
945d89e955
Move disables to loading screens for better coverage of edge cases
2023-07-30 13:45:42 +09:00
Joseph Madamba
4ddf05602f
Update BreakInfoLine
to formatting standards
2023-07-29 11:05:15 -07:00
Joseph Madamba
6ebfafa9c3
Remove unnecessary text comparison
2023-07-29 11:02:04 -07:00
Joseph Madamba
740898dffb
Remove unnecessary prefix parameter
2023-07-29 10:40:18 -07:00
Joseph Madamba
9d928c0225
Apply NRT to BreakInfoLine
2023-07-29 10:39:50 -07:00
Joseph Madamba
a3301dc7ff
Fix accuracy break info decimal separator being incorrect in certain languages
2023-07-28 23:26:07 -07:00
Bartłomiej Dach
1fd4a6dc96
Fix tests crashing due to HUDOverlay
not finding DrawableRuleset
in Update()
2023-07-29 01:07:49 +02:00
QuantumSno
a4065486c1
bound bind during gameplay
2023-07-28 14:39:41 -04:00
Dean Herbert
6cf065f6d1
Add playfield layer to skin editor
2023-07-28 15:50:44 +09:00
Dean Herbert
4889864478
Fix files references not correctly being copied after replay import in Player
2023-07-26 15:22:00 +09:00
Dean Herbert
3485b72eaa
Disallow interacting with the global track state in Player
and Editor
2023-07-25 20:20:53 +09:00
Dean Herbert
157b1f301b
Rename AllowTrackAdjustments
to more understandable ApplyModTrackAdjustments
2023-07-25 20:20:53 +09:00
Dean Herbert
5ec9cd84b2
Change offset calibration control to adjust for all difficulties of the current beatmap set
2023-07-19 17:13:19 +09:00
Dean Herbert
fbf14a0f7c
Allow autoplay to fail
...
Feels more correct.
2023-07-13 13:41:35 +09:00
Bartłomiej Dach
84138849cf
Merge pull request #24134 from peppy/skin-retry-sound
...
Add support for skinnable "retry" sound
2023-07-08 15:24:26 +02:00
Bartłomiej Dach
287418e214
Merge branch 'master' into skin-retry-sound
2023-07-08 14:00:52 +02:00
Bartłomiej Dach
832c1c0009
Merge branch 'master' into fix-gameplay-samepl-trigger-source-rewind
2023-07-08 13:33:04 +02:00
Dean Herbert
67746e1369
Move retry sample playback to PlayerLoader
2023-07-07 15:36:17 +09:00
Dean Herbert
e0fc97bb93
Replace various local implementations of rewinding checks with new property
2023-07-07 15:21:24 +09:00
Dean Herbert
2e98ab0a48
Expose rewinding state of IGameplayClock
s
...
The implementation of this requires a bit of a special case
for 0, so makes sense to implement in a central place.
2023-07-06 19:08:42 +09:00
Dean Herbert
9ff6b3fcd3
Merge branch 'master' into editor-save-local-score-management
2023-07-06 12:28:44 +09:00
Dean Herbert
170bc5bfce
Add support for skinnable "retry" sound
2023-07-06 12:25:15 +09:00
Bartłomiej Dach
cdb8a56df4
Remove weird aliased using
...
Doesn't appear to be required.
2023-07-05 22:41:22 +02:00
Dean Herbert
9291895305
Make key for toggling replay settings customisable
2023-07-06 01:00:41 +09:00
Dean Herbert
95a9b532df
Remember state of replay settings visibility
2023-07-06 00:53:37 +09:00
Dean Herbert
fbab5acac1
Remove not-yet-implemented settings group comments
2023-07-06 00:46:09 +09:00
Bartłomiej Dach
e2ddcb2349
Silence a few remaining nullability warnings
2023-07-04 22:39:26 +02:00
Bartłomiej Dach
af66ccbfdf
Merge branch 'master' into hud/kc-skinnable
2023-06-27 20:35:47 +02:00
Dean Herbert
41890cfc65
Change JudgementCountController
to a Component
and remove handling overrides
2023-06-27 16:39:21 +09:00
Dean Herbert
8bd6f7a46a
Rename ClicksPerSecondCalculator
to ClicksPerSecondController
2023-06-27 16:38:46 +09:00
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