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
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