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
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
6a0bf89401
Merge branch 'master' into replay-menu-expanded-state-memory
2023-01-17 14:30:23 +09: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
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
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
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
Berkan Diler
08d2fbeb8e
Use new ArgumentNullException.ThrowIfNull throw-helper API
2022-12-22 21:27:59 +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
99d83315c1
change settings order
2022-12-12 15:10:45 +01:00
mk56-spn
8efe7528e3
change ruleset source to avoid issues with converted beatmaps
2022-12-12 15:10:10 +01:00
mk56-spn
4d592184ca
temp cmt
2022-12-12 11:53:07 +01:00
mk56-spn
58bf081096
Fix judgement counter not loading after first attempt in gameplay, Fix typo in Display
2022-12-12 10:52:55 +01:00
mk56-spn
f0c780f1f6
Fix tally header
2022-12-12 00:48:35 +01:00
mk56-spn
a107fca5d0
Hide "Full" option from counter flow directions
2022-12-12 00:33:28 +01:00
mk56-spn
161894da3b
Add more test checks and fix deserialisation test
2022-12-11 23:58:10 +01:00
mk56-spn
4c17b27273
Add Display, Counter, Tests
2022-12-11 23:47:17 +01:00
mk56-spn
f798951f09
Create Judgement Info struct
2022-12-11 22:09:14 +01:00
mk56-spn
ffbe68bd26
Add judgementTally to HUD overlay
2022-12-11 22:08:48 +01:00
mk56-spn
fc630165fd
Adjust formatting of BPM text
2022-12-06 15:08:21 +01:00
mk56-spn
f69c084969
Add roll duration
2022-12-05 17:08:00 +01:00
mk56-spn
b6a6db1160
Add dynamic BPM counter to SkinEditor
2022-12-05 12:29:23 +01:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
Dean Herbert
d59befc9d3
Fix initial visual state of positions before sort
runs
2022-11-18 16:08:27 +09:00
Dean Herbert
aff218dfd5
Redirect through validity function rather than overriding Sort
2022-11-18 16:03:40 +09:00
Dean Herbert
20af8217f4
Tidy up bindable flow
2022-11-18 15:50:41 +09:00
Dean Herbert
e4f522aad1
Fix inspections / typos
2022-11-18 15:47:37 +09:00
Dean Herbert
d17c091d63
Move constant to a better location
2022-11-18 15:47:31 +09:00
Dean Herbert
3faa7f5f74
Merge branch 'master' into gameplay-leaderboard-fix
2022-11-18 15:44:30 +09:00
Dan Balasescu
57b8495c7a
Merge branch 'master' into long-standard
2022-11-18 14:24:04 +09:00
Dawid Sośnia
0dbf491872
Merge branch 'master' into gameplay-leaderboard-fix
2022-11-17 22:06:51 +01:00
Piggey
eb691266c1
cleanup
2022-11-17 21:50:39 +01:00
Piggey
fa00fc5c6d
change scoresType to be a bindable
2022-11-17 13:27:56 +01:00
Piggey
dea2a6ed8d
override sort()
function in SoloGameplayLeaderboard
2022-11-17 12:12:36 +01:00
Dean Herbert
489dca79a1
Remove upper limit for pooling
2022-11-15 12:31:25 +09:00
Dean Herbert
308ed1abd1
Fix number of judgements shown potentially exceeding upper limit
2022-11-15 12:31:25 +09:00
Dean Herbert
59a8603728
Ensure flowing animation starts correctly from zero
2022-11-15 12:04:40 +09:00
Dean Herbert
aef6ee23eb
Apply pooling support to ColourHitErrorMeter
2022-11-15 12:04:40 +09:00
Dean Herbert
a86b50d62a
Apply nullability to BarHitErrorMeter
2022-11-15 11:33:27 +09:00
Dean Herbert
576f462f59
Add pooling support to BarHitErrorMeter
2022-11-15 11:33:27 +09:00
Piggey
0011f4e7be
fix comment lol
2022-11-09 19:59:04 +01:00
Piggey
ab53fb17d3
change displayed text from #?
to -
2022-11-09 19:53:36 +01:00
Piggey
d48c56818f
change positionText
to display "#?" if tracked score is being 51st on the leaderboard
2022-11-08 20:02:21 +01:00
maromalo
8eef2ba8de
quality shenanigans
2022-11-06 20:12:26 -03:00
maromalo
b7ef9b176d
Make score type consistent
2022-11-06 19:59:27 -03:00
Joseph Madamba
87328dd1f5
Fix bar hit error meter labels not clearing when setting to none
2022-10-27 23:59:01 -07:00
Dean Herbert
71970d83cf
Remove obsoleted ShowProgressGraph
global setting
...
This was moved to the component itself.
2022-10-28 12:47:45 +09:00
Dean Herbert
1e7b8cd227
Fix formatting issues
2022-10-17 13:22:06 +09:00
outfoxxed
85de802793
Only create hit error bar icon containers once
...
Move icon container creation to BDL, and only recreate the contained
icon when `recreateLabels` is called
2022-10-16 11:47:21 -07:00
outfoxxed
d6030891a2
Reuse existing code in hit error bar fix
...
Use `UprightAspectMaintainingContainer` instead of a local fix for
hit error bar orientation
2022-10-16 10:06:38 -07:00
outfoxxed
cd1885a17b
Fix hit error bar icon orientation
...
Icons now keep their original orientation when the hit error bar is
flipped
2022-10-16 02:55:10 -07:00
Dean Herbert
19f3810020
Revert namespace change
...
Let's not
2022-10-12 18:50:47 +09:00
Dario Headley
b72c8970eb
Max Combo Counter added
2022-10-12 09:50:01 +02:00
Dan Balasescu
c18d4afdcc
Merge branch 'master' into fix-leaderboard-first-place-fade
2022-10-07 19:55:16 +09:00
Dean Herbert
276021dd85
Remove now unnecessary ScheduleAfterChildren
2022-10-05 14:20:01 +09:00
Dean Herbert
42aac16b37
Adjust leaderboard score panels sizing based on accuracy/combo width
2022-10-03 18:12:36 +09:00
nanashi-1
2493468800
display highest combo instead of current combo
2022-10-02 18:40:31 +08:00
Dean Herbert
cbbca616c1
Merge branch 'master' into fix-leaderboard-first-place-fade
2022-09-28 17:58:45 +09:00
Dean Herbert
cdcc8494c9
Fix fade being applied for too long when leaderboard scrolls to start
2022-09-28 16:10:19 +09:00
Dean Herbert
c8643ed265
Set ClampExtension
to zero to stop jittering
2022-09-28 15:58:00 +09:00
Dean Herbert
8edb1cb98a
Add test coverage of current score staying on screen
2022-09-28 15:57:50 +09:00
Dean Herbert
0296685c74
Start key counter / gameplay leaderboard hidden to avoid initial fade out
2022-09-27 17:25:24 +09:00
Dean Herbert
320f134634
Use same logic as KeyCounterDisplay
2022-09-27 15:01:18 +09:00
nanashi-1
5d18001d75
move config
2022-09-26 21:11:38 +08:00
nanashi-1
4295d9c169
revert
2022-09-26 21:11:14 +08:00
nanashi-1
ee4d1b2d58
add config visibility
2022-09-26 20:13:07 +08:00
Dean Herbert
20da1051d9
Apply NRT to GameplayLeaderboard
hierarchy
...
Just some cleanup work that I wanted to do as part of my last changes.
2022-09-26 16:21:24 +09:00
Dan Balasescu
1d1012e196
Merge pull request #20286 from peppy/gameplay-leaderboards
...
Add basic gameplay leaderboard display
2022-09-22 21:16:12 +09:00
Dan Balasescu
445e026a32
Merge pull request #20389 from peppy/fix-gameplay-leaderboard-layout
...
Fix gameplay leaderboard sometimes not showing up
2022-09-22 20:51:54 +09:00
Dean Herbert
8f7a306d81
Inline comment regarding margin necessity
2022-09-22 19:53:16 +09:00
Dean Herbert
f0dcda9acc
Decrease precision of spacing setting
2022-09-22 15:49:02 +09:00
Dean Herbert
26d98323ff
Fix bindable flow, code quality, everything
2022-09-22 15:45:23 +09:00
Dean Herbert
0f663deda0
Fix changing shape causing alpha to be permanently reset to zero
2022-09-22 15:24:57 +09:00
Dean Herbert
ae70b2c32f
Fix other weirdness in variable and description naming
2022-09-22 15:21:27 +09:00
Dean Herbert
19db7c5977
Remove "Opacity" setting
...
This should be implemented at a higher level
2022-09-22 15:19:01 +09:00
Dean Herbert
f3898da37a
Rename judgement count to not mention "shape"
2022-09-22 15:18:20 +09:00
Dean Herbert
29c4d06d36
Merge branch 'fix-gameplay-leaderboard-layout' into gameplay-leaderboards
2022-09-21 14:58:58 +09:00
Dean Herbert
b04871f40a
Animate scroll for a better visual experience
2022-09-21 14:51:12 +09:00
Dean Herbert
087ca59ebb
Add extra margin space to flow equal to height of leaderboard
...
This ensures the content is always on screen, but also accounts for the
fact that scroll operations without animation were actually forcing the
local score to a location it can't usually reside at.
Basically, the local score was in the scroll extension region (due to always trying
to scroll the local player to the middle of the display, but there being
no other content below the local player to scroll up by).
2022-09-21 14:51:12 +09:00
Dean Herbert
a8338c4efd
Add local score after existing scores to avoid initial re-sort
2022-09-21 13:38:40 +09:00
Ryuki
ecf71df8a2
Change CornerRadius Max Value
2022-09-18 00:04:56 +02:00
Ryuki
c1077d909c
Basic avatar HUD implementation
2022-09-17 21:09:34 +02:00
Dean Herbert
4c4fdfd153
Provide scores directly to Player
instance rather than relying on DI
2022-09-16 18:15:17 +09:00
HiddenNode
8286ab0d04
Revert "Fix SongProgress
invalidating too often"
...
This reverts commit 2b4b14ca99
.
2022-09-15 11:11:58 +01:00
Dean Herbert
fcf54f1bc8
Fix gameplay leaderboard not being sorted correctly in tie situations
2022-09-14 14:18:12 +09:00
Dean Herbert
8a6977213a
Fix displayed scores in gameplay leaderboard not tracking display mode changes
2022-09-14 14:02:35 +09:00
Dean Herbert
6d167070f8
Add back DI leaderboard retrieval via bindable pathway
2022-09-13 18:45:11 +09:00
Dean Herbert
70e6b595f1
Refactor SoloGameplayLeaderboard
to not read scores via DI
...
Also allows updating scores if they arrive late.
2022-09-13 18:00:21 +09:00
Dean Herbert
d2b80645ab
Change Leaderboard
to use IUser
instead of APIUser
2022-09-13 18:00:21 +09:00
Dean Herbert
368faa0084
Make constructor protected
in base implementation
2022-09-13 18:00:21 +09:00
Dean Herbert
4c669e2bce
Track local Player.Score
's user rather than using APIProvider
2022-09-13 18:00:21 +09:00
Salman Ahmed
3490b16056
Add simplified SoloGameplayLeaderboard
implementation
...
Note that this doesn't support waiting until leaderboard finishes fetching scores.
2022-09-13 18:00:21 +09:00
Dean Herbert
2b4b14ca99
Fix SongProgress
invalidating too often
...
This regressed with https://github.com/ppy/osu/pull/19556 . Rather than
try and figure whether that new container needs to handle size
differently, this is a simple solution.
Height was taken from a runtime check (maxes out at about 14.5).
Closes #20235 .
2022-09-12 20:06:53 +09:00
Mk-56spn
c00bf61273
Framework change adressed
2022-09-10 21:24:29 +02:00
MK56
8661dc3c93
Merge branch 'ppy:master' into Colour_hit_meter_improved
2022-09-10 21:16:23 +02:00
Mk-56spn
f6aef73f9e
fixed shape bindable not working, test creation, removal of Clear(), adjusted settings names
2022-09-10 20:30:43 +02:00
Dean Herbert
27f745b980
Merge branch 'master' into fix_progress_bar_info
2022-09-09 17:34:13 +09:00
Dean Herbert
05797cb9e5
Fix enum to STRING????????? conversion (and use bindable flow)
2022-09-09 16:30:08 +09:00
Dean Herbert
45239fc737
Update TrueGameplayRate
accessing
2022-09-08 23:03:15 +09:00
Dean Herbert
d4afc3629c
Merge branch 'master' into kps
2022-09-08 23:00:36 +09:00
Dean Herbert
a98c6b2c1f
Add comment metioning why we need to use DrawableRuleset
lookup
2022-09-08 19:14:23 +09:00
Mk-56spn
07c16224d2
Fix Main file issues
2022-09-08 11:58:14 +02:00
Dean Herbert
5c2fb3e434
Simplify calculation method
2022-09-08 18:22:53 +09:00
Acid Chicken (硫酸鶏)
267465df18
chore(osu.Game): combine Osu.Colour.{Draw,Text}ForHitResult
into OsuColour.ForHitResult
2022-09-07 23:34:46 +09:00
Mk-56spn
aace334fb3
Fix some test issues
2022-09-05 04:49:48 +02:00
Acid Chicken (硫酸鶏)
5f0832ead7
refactor(osu.Game): separate OsuColour.ForHitResult
by usage
2022-09-05 01:58:57 +09:00
Mk-56spn
0c6d8efa28
Large code refactor, Implementation of shapes option drop down
2022-09-04 17:24:12 +02:00
Mk-56spn
51061c3a12
Bug fixing and parameter adjustments
2022-09-03 01:27:22 +02:00
Mk-56spn
534c40e18e
Initial version
2022-09-02 23:07:30 +02:00
Dean Herbert
bc5340e33a
Merge branch 'master' into fix_progress_bar_info
2022-09-02 18:00:35 +09:00
HiddenNode
4a630b5384
Implemented SizePreservingSpriteText
2022-08-31 22:05:06 +01:00
Dean Herbert
7337d4c1aa
Merge branch 'master' into kps
2022-08-31 15:41:42 +09:00
Dean Herbert
2c780eab5f
Merge branch 'master' into fix_progress_bar_info
2022-08-26 16:14:21 +09:00
Dean Herbert
23efec6505
Fix naming and comment typos
2022-08-26 15:57:36 +09:00
HiddenNode
d98357aa57
Made text inside SongProgressInfo scale.
2022-08-26 01:30:44 +01:00
Ryuki
5cddc7ed1f
Code cleanup (CPS)
2022-08-24 17:13:23 +02:00
HiddenNode
1098e24c40
Improved UprightUnscaledContainer
2022-08-22 14:24:52 +01:00
Ryuki
5cf54a788a
Code cleanup for CPS counter
2022-08-21 16:00:58 +02:00
Dean Herbert
da407aa827
Merge branch 'master' into kps
2022-08-20 15:24:58 +09:00
Ryuki
3de35a1518
Update calculator and tests to match changes on clocks
2022-08-18 18:40:02 +02:00
Dean Herbert
2c6fd1ec6e
Fix `GameplayClockContainer potentially resetting external seeks
2022-08-18 18:54:10 +09:00
Dean Herbert
c8764cb333
Move all usage of GameplayClock
to IGameplayClock
2022-08-15 18:30:53 +09:00
Dean Herbert
623e90a7b2
Fix div-by-zero in SongProgress
when no object duration could be calculated
2022-08-15 15:05:35 +09:00
Ryuki
2aa3a1b50d
Rename all "KeysPerSecond" usages to "ClicksPerSecond"
2022-08-14 20:12:11 +02:00
Ryuki
9dc806506e
Make ActionListener
and KeysPerSecondCalculator
not rely on events to add timestamps
2022-08-14 19:31:14 +02:00
Ryuki
e08f71797e
Change displayed metric from "KPS" to "clicks/s"
2022-08-13 04:27:26 +02:00
Ryuki
d29cba80e9
Remove useless comment in KeysPerSecondCounter
2022-08-11 11:01:16 +02:00
Ryuki
3c6461b9e4
Remove KPS acronym usage
2022-08-11 10:01:39 +02:00
Ryuki
0a94fb4039
Make KPS counter strictly depending only on KPS calculator
...
`KeysPerSecondCounter` now depends on `KeysPerSecondCalculator` via the
`BackgroundDependencyLoaderAttribute` method, making it appear only in a
gameplay context without requiring `GameplayClock` without using it.
2022-08-11 00:46:39 +02:00
Ryuki
46e372cb99
Add more readiness checks in KeysPerSecondCalculator
2022-08-11 00:43:15 +02:00
Ryuki
9e80d3f71c
Re-adjust timespan conditions in KeysPerSecondCalculator
2022-08-11 00:42:22 +02:00
Ryuki
b52a07c16a
Use DI to provide dependencies for KPS Calculator and improve input
...
gathering
KPS Calculator now uses DI to retrieve the clocks. Using `HUDOverlay` it
is now cached for `KeysPerSecondCounter`s to resolve it. This also
allows to make an "Attach" flow like `KeyCounter`.
2022-08-08 21:54:06 +02:00
HiddenNode
ed86255e2b
Use UprightUnscaledContainer instead of KeepUprightAndUnscaled
2022-08-07 13:20:22 +01:00
Ryuki
b2557a8d2d
Refactor KPS
...
- Remove '#nullable disable' in KeysPerSecondCalculator and
KeysPerSecondCounter
- Remove KeysPerSecondCalculator IDisposable implementation
- Make KeysPerSecondCalculator static instance initialized once by
KeysPerSecondCounters
- Auto transfer dependencies from KeysPerSecondCounter to
KeysPerSecondCalculator using Resolved properties
- Add internal reset logic to KeysPerSecondCalculator and make it
independent from Player
- Use GameplayClock.TrueGameplayRate to get real-time rate. If 0 then it
defaults to the last non 0 rate if no such mod is enabled
2022-08-07 00:53:00 +02:00
Ryuki
0886137e39
Prevent KeysPerSecondCounter from NRE when no instance is initialized
2022-08-05 21:03:00 +02:00
HiddenNode
b46bc5d65b
Remove empty line
2022-08-05 14:57:33 +01:00
Ryuki
24c29b7e2f
Do not add KPS calculation when gameplay rate is 0
2022-08-05 15:51:07 +02:00
HiddenNode
0243f8d6ac
Clean up
2022-08-05 14:28:15 +01:00
HiddenNode
12ef99a1a1
Fix text position
2022-08-05 12:56:08 +01:00
Ryuki
42d1bdfc95
Move KPS calculation to a standalone class
2022-08-05 04:17:01 +02:00
Dean Herbert
6ad6561e1c
Fix LegacySongProgress
incorrectly blocking mouse input from gameplay
...
Closes #19555 .
2022-08-03 17:42:29 +09:00
HiddenNode
bc21a2ed56
Remove unnecessary using directive
2022-08-02 17:41:17 +01:00
HiddenNode
78a98cdb9c
Prevent TextSprites inside SongProgressInfo from being stretched or flipped
2022-08-02 17:37:31 +01:00
HiddenNode
df85bd74d7
Keep TextSprites in SongProgressInfo upright
2022-08-01 21:46:37 +01:00
Dean Herbert
5b98a73edc
Apply nullability to SkinComponentToolbox
and split out reflection method to get all skinnable components
2022-08-01 14:04:08 +09:00
Ryuki
89855cc1d6
Change KPS Counter implementation base and add better replay integration
...
The counter implementaiton is now list based, and will not invalidate
previous hits by removing them but by testing if they are within the 1
second span, allowing better integration with replays and spectators.
2022-07-31 01:29:57 +02:00
Salman Ahmed
905bbdc8ee
Remove caching of GameplayClockContainer
in favour of GameplayClock
...
Also fixes `SongProgress` being displayed in skin editor on non-gameplay
screens, due to `GameplayClock` not marked as a required dependency.
2022-07-29 16:45:29 +03:00
Ryuki
b2e7da5aa0
Add basic Queue based implementation of KPS
2022-07-28 18:37:12 +02:00
Dean Herbert
3005ff1b9f
Merge branch 'master' into pie-chart-progress
2022-07-28 22:19:27 +09:00
Dean Herbert
86c2b7e449
Apply nullability to DefaultSongProgress
and clean up more stuff
2022-07-28 18:37:17 +09:00
Dean Herbert
ea027eda46
Move initial show to base implementation and add transition for legacy version
2022-07-28 18:29:49 +09:00
Dean Herbert
d5e5761892
Fix DefaultSongProgress
graph not resetting if time is in intro
2022-07-28 18:25:24 +09:00
Dean Herbert
7108553883
Tidy up various things everywhere
2022-07-28 18:25:14 +09:00
Nitrous
0d36907cad
apply code quality fixes
2022-07-28 15:30:45 +08:00
Nitrous
bca3994d91
set FirstHitTime
and LastHitTime
once
2022-07-28 15:25:12 +08:00
Nitrous
db62d4be3a
apply suggestions
...
- refactor `SongProgress`
- make`UpdateProgress` more readable
- enable NRT on new classes
- refactor `TestSceneSongProgress` to use `GameplayClockContainer`
2022-07-28 15:15:41 +08:00
Nitrous
9088caa377
move LegacyComboCounter
to osu.Game.Skinning
2022-07-28 08:36:26 +08:00
Nitrous
45c11f2b7b
account for gameplay start time
2022-07-28 08:01:38 +08:00
Nitrous
37e642b0bd
make SongProgress
abstract
...
- move unrelated logic to `DefaultSongProgress`
- make `LegacySongProgress` inherit `SongProgress`
2022-07-27 15:19:21 +08:00
Bartłomiej Dach
6f37487528
Replace calls to defective Humanizer methods with correct version
2022-07-18 22:34:58 +02:00
Dean Herbert
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
bd9ea9bd6f
Revert most unnecessary changes
...
Turns out `AlwaysPresent` at top level is actually enough.
This reverts commit 86163d2225
.
2022-06-13 23:58:14 +09:00
Dean Herbert
86163d2225
Fix hit error meters not updating visual state when hidden
...
It is an expectation of users that when the HUD is shown after a period
of being hidden, it will visually reflect the state based on recent
judgements.
To achieve this, I've added `AlwaysPresent` and moved the transform
application to the meter level, rather than at a child level. If this is
seen as a bad direction, `AlwaysPresent` can be applied to the drawable
children and the transforms can be moved back.
Also of note, `ColourHitErrorMeter` is pretty weird. The flow class
could potentially be removed and reduce `AlwaysPresent` usage by one.
Can do that refactor as part of this PR if preferred.
Closes #18624 .
2022-06-13 16:38:57 +09:00
Dean Herbert
17eaf7bb5c
Add failing test coverage showing hit meters don't update when not visible
2022-06-13 16:36:22 +09:00
Dan Balasescu
22d998dc2a
Use new score processor in MultiplayerGameplayLeaderboard
2022-05-30 19:26:26 +09:00
Bartłomiej Dach
1641918c51
Revert "Avoid throwing unobserved exception when PerformancePointsCounter
requests timed attributes"
...
This reverts commit 19b655d75b
.
2022-05-28 15:23:28 +02:00
Bartłomiej Dach
f5026bbbeb
Bind to button's activation delay directly
2022-05-06 10:04:36 +02:00
Bartłomiej Dach
f39fcee41b
Remove commented-out code
2022-05-06 10:04:00 +02:00
Dean Herbert
78959a6e05
Add animation to denote a dangerous player exit
2022-05-06 15:02:22 +09:00
Dean Herbert
1c4aa12585
Rename non-descript Button
nested class
2022-05-06 14:45:53 +09:00
Dean Herbert
a11771c11b
Better encapsulate exposed bindables of HoldToConfirmContainer
2022-05-06 14:45:53 +09:00
Dean Herbert
be960eb092
Move dangerous hold specification to base class
2022-05-06 14:34:31 +09:00
Dean Herbert
2896612c5c
Make exiting multiplayer a dangerous operation, requiring hold
2022-05-03 16:06:04 +09:00
Joseph Madamba
5e5c8e78a6
Use existing web localisation for most hardcoded strings
2022-04-20 16:31:11 -07:00
Dean Herbert
017f3852c8
Replace incorrectly chosen ??=
with ??
2022-04-13 13:32:36 +09:00
Dean Herbert
8b1cee75fa
Use BindableLong
instead of BindableInt
for user score tracking
2022-04-12 14:13:07 +09:00
Dean Herbert
0ba95a4483
Ensure all users are shown on leaderboard (even when API lookup fails)
2022-04-12 11:54:30 +09:00
Dean Herbert
ebee9e6888
Fix MultiplayerGameplayLeaderboard
not immediately updating totals on scoring mode change
2022-04-12 11:27:27 +09:00
Dean Herbert
19b655d75b
Avoid throwing unobserved exception when PerformancePointsCounter
requests timed attributes
2022-04-11 13:30:21 +09:00
Dean Herbert
01829cf2d8
Move SkinnableInfo
error handling to lower level
...
Handling was recently added to handle the usage in
`Skin.GetDrawableCompoent`, but it turns out this is also required for
`DrawableExtensions.ApplySkinnableInfo` which can throw in a similar
fashion.
Found while working on sprite support for the editor, where this becomes
an actual issue (ie. switching to a branch where the new sprite support
is not present can cause unexpected crashes).
2022-04-01 14:30:04 +09:00
Salman Ahmed
9c19ae1df8
Remove no longer necessary ruleset field
2022-03-31 06:40:38 +03:00
Dan Balasescu
6e94a9780b
Remove ScoreInfo allocations in multi leaderboard
2022-03-31 12:23:00 +09:00
Sebastian Krajewski
cb62d3d4b9
Remove skin dependency as component is reinitialized on skin change
2022-03-30 01:09:05 +02:00
Sebastian Krajewski
7582c943a4
Use In/Out instead of {In/Out}Quad
2022-03-30 00:48:59 +02:00
Dean Herbert
8948bcce19
Restructure transforms slightly
2022-03-29 13:18:31 +09:00
Sebastian Krajewski
caf641e1ab
Remove redundant ClearTransforms
2022-03-28 23:50:35 +02:00
Sebastian Krajewski
981ef735cf
Always start small pop out from its initial size
2022-03-28 19:57:59 +02:00
Sebastian Krajewski
e3289bb080
Don't scale big pop out as much
2022-03-28 19:33:00 +02:00
Sebastian Krajewski
265b2111ef
Remove comment
2022-03-28 18:08:51 +02:00
Sebastian Krajewski
001a98e069
Fix LegacyComboCounter not unsubscribing from skin
2022-03-28 18:08:35 +02:00
Sebastian Krajewski
05a978ce8c
Update LegacyComboCounter layout and scaling
2022-03-28 16:36:37 +02:00
Salman Ahmed
ad9b119e3d
Reduce "hold for menu" radius of visibility
2022-03-19 05:04:54 +03:00
Salman Ahmed
486be83177
Calculate position adjustment distance in local parent space
2022-03-19 05:04:13 +03:00
Dean Herbert
ed90dc6d6b
Fix centering of labels using Height
instead of location to better handle rotations
2022-03-18 20:17:04 +09:00
Dean Herbert
bd488d139d
Better centre text labels for hit error meter
2022-03-18 20:11:05 +09:00
Dean Herbert
7c9fe4036c
Add setting to change the style of the early/late markers
2022-03-18 17:50:37 +09:00
Dean Herbert
919583137e
Add line style for centre marker
2022-03-18 17:50:37 +09:00
Dean Herbert
cdeab1b14e
Add setting to change the style of the centre marker
2022-03-18 17:50:37 +09:00
Dean Herbert
331cb2aa80
Add setting to show or hide the moving average arrow
2022-03-18 17:50:37 +09:00
Dean Herbert
3f92bef9df
Add setting for judgement line thickness
2022-03-18 17:50:37 +09:00
Dean Herbert
ac739c9dae
Change PerformancePointsCounter
resolution requirements to be required
...
All other similar UI components have required dependencies, so this is
mainly to bring things in line with expectations. I am using this fact
in the skin editor to only show components which can be used in the
current editor context (by `try-catch`ing their
`Activator.CreateInstance`).
2022-03-17 14:56:35 +09:00
Dan Balasescu
d80830b415
Merge pull request #17226 from peppy/skin-component-settings
...
Allow skin components to have settings
2022-03-16 17:12:11 +09:00
Dean Herbert
1814a325d8
Move GetSettingUnderlyingValue
to a SettingSource
extension method
2022-03-15 14:54:00 +09:00
Dean Herbert
6fb06d69cc
Merge branch 'master' into pp-counter-alloc-reduction
2022-03-15 13:31:57 +09:00
Dean Herbert
deb4aeb4b2
Merge pull request #17242 from smoogipoo/performance-calculator-cleanup
...
Restructure PerformanceCalculator to not require ScoreInfo argument
2022-03-15 13:31:34 +09:00
Dean Herbert
163cd48bf6
Further metrics tweaking
2022-03-14 19:27:53 +09:00
Dean Herbert
e91b3ae5f1
Move constants closer to usages
2022-03-14 19:18:47 +09:00
Dean Herbert
6eed2c35a4
Adjust visual appearance of BarHitErrorMeter
for easier reading
2022-03-14 19:16:38 +09:00
Dan Balasescu
028750936c
Apply review suggestions
2022-03-14 17:10:37 +09:00
Dan Balasescu
3fff7f4b7e
Require ScoreProcessor to receive ruleset
2022-03-14 15:51:10 +09:00
Dan Balasescu
926827207a
Reduce calculator allocations in counter
2022-03-14 14:44:06 +09:00
Dan Balasescu
4a3e3aba65
Restructure PerformanceCalculator to not require ScoreInfo argument
2022-03-14 14:25:28 +09:00
Dean Herbert
c99397f75a
Add the ability to add settings to skinnable elements
2022-03-13 17:03:25 +09:00
Dan Balasescu
f1c40bd9ed
Rework GetScore() method signatures + implementations
...
Rename legacy-facing overload to mention as much
2022-03-08 22:30:44 +09:00
Dan Balasescu
2c382bd1d9
Rename GetImmediateScore() as overload of GetScore()
2022-03-08 21:49:40 +09:00
Dean Herbert
7854a0a913
Use double
instead of float
for UIHoldActivationDelay
configuration value
...
All times use double, so let's also use double here.
2022-03-04 12:22:56 +09:00
Dean Herbert
b2efce2656
Merge branch 'master' into expandable-controls
2022-02-03 19:23:34 +09:00
Bartłomiej Dach
a94702b3ae
Remove unused parameters in LegacyComboCounter
...
No longer used since 9bb8a43bce
.
2022-02-01 21:35:41 +01:00
Bartłomiej Dach
1fa2bf5d69
Remove unused parameter from createColourBars()
...
No longer used since b61aa660c6
.
2022-02-01 21:35:40 +01:00
Dean Herbert
28c8e07e3f
Ensure hold for menu button fades out if the cursor is never moved
...
Closes https://github.com/ppy/osu/discussions/16669 .
2022-01-28 14:48:35 +09:00
Salman Ahmed
326f12f847
Add IExpandable
support for SettingsToolboxGroup
2022-01-23 05:41:16 +03:00
Susko3
19467e58c1
Remove unused params from BDL methods
2022-01-15 01:06:39 +01:00
Dean Herbert
00177a3ae1
Update usages to new naming
2022-01-06 22:54:43 +09:00
Dean Herbert
3ea7588a91
Update continuation usages to use GetCompletedResult
2022-01-06 22:53:07 +09:00
Dean Herbert
73b40e6833
Replace usage of .Result
with .WaitSafelyForResult
2022-01-04 11:51:41 +09:00
Joseph Madamba
7de43e3aba
Fix most open compound words in identifiers being closed
2021-12-27 20:26:28 -08:00
Bartłomiej Dach
5a591713ae
Fix legacy combo counter not fully hiding for rulesets that implement their own
2021-12-26 16:49:20 +01:00
Dan Balasescu
98f044881e
Merge branch 'master' into refactor-diffcalc
2021-12-22 12:31:28 +09:00
StanR
cca02a8016
Create PerformanceAttributes
2021-12-21 13:08:31 +03:00
Dean Herbert
edcbd4de6d
Fix incorrect event unbind logic
2021-12-21 13:05:26 +09:00
Dean Herbert
52db7b36fc
Move Schedule
call to base implementation of error meter for extra safety
2021-12-21 12:55:21 +09:00
Dean Herbert
28d6ff5d9c
Fix potential wrong thread mutation in ColourHitErrorMeter
2021-12-21 12:36:04 +09:00
Dean Herbert
6ec3f41839
Fix LegacyComboCounter
not handling non-default anchor/origin specifications correctly
2021-12-08 15:07:15 +09:00
Dean Herbert
1eed2436e6
Clean up unused resolved properties
2021-12-03 18:49:49 +09:00
Bartłomiej Dach
6100bf66a6
Clean up cancellation handling in WorkingBeatmap
...
After the recent changes introducing cancellation support to
`WorkingBeatmap`, it turned out that if the cancellation support was
used, `GetPlayableBeatmap()` would raise timeout exceptions rather than
the expected `OperationCanceledException`.
To that end, split off a separate overload for the typical usage, that
catches `OperationCanceledException` and converts them to beatmap load
timeout exceptions, and use normal `OperationCanceledException`s in the
overload that requires a cancellation token to work.
2021-11-20 17:23:55 +01:00
Dan Balasescu
6ebe54b183
Merge pull request #15494 from Tollii/beatmap-cancellation-token
...
Add support for cancellation tokens for beatmap difficulty calculation
2021-11-19 10:54:32 +09:00
Dean Herbert
3de8125eac
Update UI cases where repeat should not be handled
2021-11-18 13:13:36 +09:00
Dean Herbert
0715d40ea0
Merge branch 'master' into beatmap-cancellation-token
2021-11-17 11:16:10 +09:00
Dean Herbert
13f3e2eea9
Add back default timeout to GetPlayableBeatmap
2021-11-17 11:06:31 +09:00
Dean Herbert
6cca657a2d
Standardise naming of CancellationToken
parameters
2021-11-16 14:45:51 +09:00
Dean Herbert
53c0682a08
Merge branch 'master' into beatmap-cancellation-token
2021-11-16 14:43:13 +09:00
Dean Herbert
369b4ba789
Update DifficultyCalculator
to take an IRulesetInfo
2021-11-15 19:16:48 +09:00
Bartłomiej Dach
759450502f
Merge branch 'master' into pp-counter-fixed-width
2021-11-12 08:05:56 +01:00
Dean Herbert
b9f9c27770
Standardise spacing and padding between UR and PP counters
2021-11-12 13:59:22 +09:00
Dean Herbert
e31ea49dd4
Use fixed width font for performance points counter
...
Matches all other display counters for in-game metrics.
As mentioned in https://github.com/ppy/osu/discussions/15584 .
2021-11-12 13:18:47 +09:00
Bartłomiej Dach
b66758dac7
Fix missing unsubscribe from JudgementReverted
2021-11-11 18:11:18 +01:00
Bartłomiej Dach
2e3acffd1d
Perform initial update of PP counter value on load complete
2021-11-11 16:33:33 +01:00
Bartłomiej Dach
576417947e
Round unstable rate in counter rather than truncating
2021-11-11 13:36:06 +01:00
Bartłomiej Dach
69809390d3
Fix HUD unstable rate counter not including judgements before load complete
...
Also unifies UR calculation logic with the results screen statistic item
to reduce duplication.
2021-11-11 13:36:05 +01:00
Bartłomiej Dach
74c37e248d
Merge branch 'master' into master
2021-11-09 08:40:52 +01:00
Chinmay Patil
d5ad776c33
Remove decimal part of UR Counter and rename methods
2021-11-08 06:27:25 -07:00
Dean Herbert
97345ac9e6
Remove unnecessary TimeSpan timeout
parameter (CancellationToken
can now be used)
2021-11-08 14:33:32 +09:00
Dean Herbert
e338340c6a
Merge branch 'master' into beatmap-cancellation-token
2021-11-08 14:32:56 +09:00
Chinmay Patil
a8c9ad73c1
Make UR Counter isValid into a bindable boolean
2021-11-07 18:06:13 -07:00
Chinmay Patil
cc0bcf6b2c
Clean up judgement checks and clean up setter/getter for UR counter Text
2021-11-07 17:44:50 -07:00
Dean Herbert
0ecf5f201c
Rename User
to APIUser
and move to correct namespace
2021-11-07 11:26:01 +09:00
Tollii
cf0b757b16
Fix PR comments.
...
Nitpick, more cancellation token checks.
2021-11-06 16:03:53 +01:00
Tollii
f0caa10066
Add support for a provided cancellation token for GetPlayableBeatmap()
2021-11-05 23:53:48 +01:00
Chinmay Patil
77e853ce25
Optimized UR Counter and removed redundant code
2021-11-05 12:16:58 -06:00
Chinmay Patil
8bfcb89221
Fixed issue where UR counter was always invalid
2021-11-04 21:24:25 -06:00
Chinmay Patil
0ffd41bb70
Slight logical error in the setValid method
2021-11-04 14:32:28 -06:00
Chinmay Patil
8923561b05
Removed Unnessicary class in the Test file, and optimized UR counter
2021-11-04 14:27:48 -06:00
Chinmay Patil
a76878e053
A bit more formatting
2021-11-04 09:52:16 -06:00
Chinmay Patil
c568888500
Edited to remove unessicary blank lines
2021-11-04 09:47:52 -06:00
Chinmay Patil
9aa3021bbc
Added Unstable Rate Counter as a skinable element
2021-11-03 22:22:44 -06:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
Dean Herbert
794b4c46cf
Split score counter class into two distinct classes to simplify usages
2021-10-10 17:56:32 +09:00
Dean Herbert
06cce0119c
Use localisable format string for comma separator mode
2021-10-10 17:41:16 +09:00
Dean Herbert
446f091d32
Use comma separator for tournament score displays
2021-10-10 16:06:12 +09:00
Dean Herbert
9705c7b546
Use cloned mods in one more place
2021-10-06 21:30:30 +09:00
Dean Herbert
433e7cd403
Fix rate mods not working if pp counter is displayed
2021-10-06 21:26:30 +09:00
Dean Herbert
98fef6ece2
Handle judgement reverts with actual display updates
2021-10-05 19:08:30 +09:00
Dean Herbert
0859c336de
Also dim counter during initial calculation phase
2021-10-05 17:24:36 +09:00
Dean Herbert
f64226ded6
Fix display not displaying correctly after initial load
2021-10-05 17:10:32 +09:00
Dean Herbert
599d82e383
Avoid returning a live IEnumerable
2021-10-05 17:01:07 +09:00
Dean Herbert
fa7f11d906
Add easing to rolling counter value
2021-10-05 16:51:49 +09:00
Dean Herbert
565e888f58
Tidy up attribute retrieval code
2021-10-05 16:40:07 +09:00
smoogipoo
45b63cbad9
Remove unnecessary dependency
2021-10-05 16:03:25 +09:00
Dean Herbert
676df55a0e
Fade display out during rewind (as the value displayed is no longer valid)
2021-10-05 15:39:29 +09:00
Dean Herbert
81a13566bc
Adjust default location slightly, fix alignment of "pp" subtext
2021-10-05 15:28:03 +09:00
Dean Herbert
b6af93d434
Apply some code quality refactoring
2021-10-05 15:14:49 +09:00
smoogipoo
5624dd9af6
Fix incorrect CancellationToken usage
...
Apparently I wrote the BDL system and don't know how this works. I
believe you need `CancellationToken?` or CanBeNull=true, however that doesn't actually
play well when actually using the token in code...
2021-10-05 12:07:41 +09:00
smoogipoo
593da79bbc
Further asyncify load process
2021-10-05 11:26:13 +09:00
smoogipoo
0b0316e27e
Fix missing CanBeNull
2021-10-04 20:59:31 +09:00
smoogipoo
1837e1bf3c
Share rounding with PerformanceStatistic
2021-10-04 20:35:53 +09:00
smoogipoo
fb63e5ed87
Add todo
2021-10-04 20:35:26 +09:00
smoogipoo
221cc1747c
Drop "default" prefix
2021-10-04 20:34:28 +09:00
smoogipoo
5aae673240
Use GameplayState
2021-10-04 20:33:54 +09:00
smoogipoo
0ee148b53f
Extra guard against no attributes
2021-10-01 21:31:26 +09:00
smoogipoo
a1f880a36a
Split classes
2021-10-01 21:00:39 +09:00
smoogipoo
5820a71652
Fix mania difficulty calculator crashing
2021-10-01 19:57:45 +09:00
smoogipoo
4d8418e072
Fix possible nullrefs
2021-09-30 17:54:56 +09:00
smoogipoo
d2a8f35b4c
Update styling
2021-09-30 17:54:52 +09:00
smoogipoo
84bddf0885
Initial PP counter implementation
2021-09-30 17:00:24 +09:00
Bartłomiej Dach
761548e533
Merge branch 'master' into 14470-ur-not-updating
2021-09-20 22:07:33 +02:00
sh0ckR6
9a1db04920
Resolve GameplayClockContainer
instead of Player
2021-09-20 10:28:58 -04:00
sh0ckR6
36a20ab0b3
Resolve failed test compilation
2021-09-20 10:26:07 -04:00