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
sh0ckR6
10fe2382b0
Address most issues
2021-09-20 10:07:42 -04:00
sh0ckR6
f6e279baa1
Add xmldoc to HitErrorMeter.Clear
...
Explains how the method is called and what inheritors should do when implementing it.
2021-09-18 12:18:11 -04:00
sh0ckR6
b2b3108afa
Resolve addressed issues
...
+ Stopped using testing methods in non-testing classes
+ Resolve Player and add OnSeek event
+ Take bindings away from BarHitErrorMeter
+ Add support for ColourHitErrorMeter
2021-09-17 16:19:41 -04:00
smoogipoo
f9d5abff8a
Update with keybinding changes
2021-09-16 18:26:12 +09:00
AbstractQbit
3c75094f43
Move BarHitErrorMeter
's icon reorintation to Update()
2021-09-13 19:41:55 +03:00
AbstractQbit
7267602b95
Fix icon orientation for horizontal bar hit error meter
2021-09-13 17:14:39 +03:00
sh0ckR6
bde092f816
Clear UR bar display on seek with mouse
2021-09-09 20:08:16 -04:00
sh0ckR6
bf0150bab4
Clear UR bar display on keyboard input
2021-09-09 16:21:51 -04:00
Dean Herbert
c25ab6835c
Remove IJsonSerializable interface
...
Was pretty pointless and made it hard to use the custom serialisation
terms arbitrarily in tests.
2021-08-31 14:39:20 +09:00
Salman Ahmed
e374ef163d
Update localisable formattable extensions usages inline with framework change
2021-08-29 15:00:28 +03:00
Dean Herbert
a10ba17b64
Merge pull request #14250 from peppy/leaderboard-limit-player-count
...
Add ability for gameplay leaderboard scroll when too many users are displayed
2021-08-14 14:08:18 +09:00
Bartłomiej Dach
e2cc96097f
Unify match score display formatting
...
Commas are already applied on the multiplayer leaderboard, as well as
the results screen.
2021-08-13 23:57:51 +02:00
Bartłomiej Dach
00317c0e30
Round when totalling up team scores instead of truncating
...
Matches score handling in `ScoreManager`.
2021-08-13 23:44:07 +02:00
Dean Herbert
90755c0307
Replace condition with matching precalculated bool
2021-08-13 14:50:59 +09:00
Dean Herbert
93574acf72
Fix exception messaging
2021-08-13 14:46:57 +09:00
Dean Herbert
641d57e5e1
Change scroll container subclass name to hopefully read better
2021-08-13 14:46:28 +09:00
Dean Herbert
e84224f64c
Rename AddPlayer
method now that there's no conflict
2021-08-12 16:20:37 +09:00
Dean Herbert
68dbbc17e8
Add support for automatic scrolling in gameplay leaderboard
2021-08-12 16:20:37 +09:00
Dean Herbert
735c5085dd
Fix match score display not doing an initial value update
2021-08-11 14:50:47 +09:00
Dean Herbert
ee3b373e8a
Correctly handle tied scores
2021-08-11 14:48:37 +09:00
Dean Herbert
a503274e1d
Pass through MultiplayerRoomUser
s instead of int
s to avoid re-retrieval
2021-08-10 18:39:20 +09:00
Dean Herbert
58714dbe71
Fix ordering of teams to match colours
2021-08-09 19:48:53 +09:00
Dean Herbert
490f9e1848
Fix overlap in spectator view
2021-08-09 19:45:16 +09:00
Dean Herbert
551929cf5a
Simplify method of marking players as playing in test scenes
2021-08-09 19:18:13 +09:00
Dean Herbert
121648b593
Add gameplay-specific team score display which can expand and contract
2021-08-09 19:17:51 +09:00
Dean Herbert
ebbf6467e8
Support more than two teams
2021-08-09 17:23:02 +09:00
Dean Herbert
cdc173e867
Add tracking of team totals to leaderboard implementation
2021-08-09 17:08:32 +09:00
Dean Herbert
77c9aadd05
Add team colour support to multiplaye gameplay leaderboard panels
2021-08-09 17:06:25 +09:00
Dean Herbert
e1d4eee1d2
Add the ability to set custom overriding colours on GameplayLeaderboardScore
s
2021-08-09 17:06:21 +09:00
Dean Herbert
0fa1f085df
Store MultiplayerRoomUser
as part of tracked data
2021-08-09 16:31:18 +09:00
Dean Herbert
aa4c6b9341
Bring across tournament score display for game usage
2021-08-09 16:30:37 +09:00
Lucas A
ff3d38de6f
Localise accuracy display.
2021-07-23 22:37:08 +02:00
Dean Herbert
b910c21230
Add ModFlowDisplay
and consume in ContractedPanelMiddleContent
2021-07-21 16:53:04 +09:00
Dean Herbert
396ad79d50
Remove unnecessary UnbindAll
call
2021-07-21 16:43:08 +09:00
Dean Herbert
a63065dbe9
Tidy up ModDisplay
2021-07-21 16:38:25 +09:00
Dan Balasescu
32e6c9c5d3
Merge pull request #13786 from peppy/multiplayer-test-fixes
...
Fix multiplayer test failures due to leaderboard load process
2021-07-06 16:33:41 +09:00
Dean Herbert
1a6b8b2c73
Populate UserScores
as early as possible to avoid weird ordering requirements
2021-07-06 14:53:31 +09:00
Bartłomiej Dach
686dd2b5ce
Remove unused constant
2021-07-05 20:35:14 +02:00
Dean Herbert
f5ddd2a53b
Fix critical failure causing scores to not update on the leaderboard
2021-07-06 01:15:30 +09:00
PercyDan54
e1c646b9b2
Remove redundant arguments
2021-07-05 23:52:39 +08:00
Dean Herbert
f1014af284
Move LoadComplete
content to run after user retrieval has completed
...
Feels safer, I think.
2021-07-05 21:35:41 +09:00
Dean Herbert
459f9a0465
Handle nulls and fix missing documentation
2021-07-05 21:35:37 +09:00
Dean Herbert
77adf687c6
Consume ability to lookup multiple users in MultiplayerGameplayLeaderboard
...
Avoids syncrhonously blocking on asynchronous operations (which was
leading to LCA starvation in tests).
2021-07-05 19:56:37 +09:00
Dean Herbert
c751e087ca
Merge branch 'master' into skin-editor-closest-anchor
2021-06-18 18:54:07 +09:00
Dan Balasescu
a44fd887ee
Merge branch 'master' into no-unranked-display
2021-06-10 17:09:46 +09:00
Dean Herbert
7774344f0e
Remove "Unranked" text from ModDisplay
2021-06-09 13:45:09 +09:00
smoogipoo
00efed2c39
Add colours for tick judgements
2021-06-08 23:10:21 +09:00
smoogipoo
c8e14d7710
Ignore non-scorable and bonus judgements
2021-06-08 23:09:23 +09:00
Robin Avery
dc50ae40b9
Rename OverridesClosestAnchor
to UsesFixedAnchor
2021-06-08 08:28:42 -04:00
Bartłomiej Dach
0531c2dcd9
Move empty window check to bar error meter
...
It's not valid in the base `HitErrorMeter`, as the colour meter only
displays colour for a given judgement, so it is still valid to add new
items to it even if the hit window is 0, as misses are still possible.
2021-06-07 13:16:07 +02:00
Bartłomiej Dach
37d062c7cd
Add failing assertions to hit error meter test
2021-06-07 13:16:07 +02:00
Robin Avery
29fa4fdf57
Refactor unacceptable syntax
2021-06-07 01:08:39 -04:00
Robin Avery
133d72a8c0
Rename UsingClosestAnchor
...
It is now "OverridesClosestAnchor". The logic is inverted accordingly.
2021-06-07 00:14:36 -04:00
Robin Avery
f28916e30f
Remove all UsingClosestAnchor() extension logic
...
It is replaced with ISkinnableDrawable.UsingClosestAnchor.
2021-06-07 00:04:53 -04:00
Robin Avery
ce635af83e
Add UsingClosestAnchor to ISkinnableDrawable
...
Also implement it as an auto property in its inheritors.
The auto properties default to true.
2021-06-06 23:47:47 -04:00
Robin Avery
da1c38d5a9
Uninvert logic of SkinnableInfo.UsingClosestAnchor
...
Also rename "IsUsingClosestAnchor" to simply "UsingClosestAnchor".
2021-06-06 10:13:35 -04:00
Robin Avery
11b1b8c633
Add serialization support via SkinnableInfo
2021-06-06 07:18:08 -04:00
Salman Ahmed
4e186b0cf5
ContentVisible
-> HiddenByRulesetImplementation
2021-05-31 09:24:26 +03:00
Salman Ahmed
fb111e23d8
Remove "temporarily"
2021-05-31 07:24:59 +03:00
Salman Ahmed
3fbd4e276d
Add simple xmldoc
2021-05-31 00:07:29 +03:00
Salman Ahmed
fb81e5133f
Merge branch 'master' into catch-hide-combo-workaround
2021-05-30 14:16:46 +03:00
Firmatorenio
471f17547a
switch determining the hit result by offset to getting it from the judgement directly
2021-05-24 16:49:58 +06:00
Firmatorenio
e5f586f2a6
fix colour hit error meter not pushing misses when wrong colour note is hit in taiko
2021-05-24 13:29:12 +06:00
smoogipoo
5a8b8782d3
Fix WatchUser being called asynchronously in BDL
2021-05-20 19:44:43 +09:00
smoogipoo
a74405d0ed
Merge branch 'master' into restructure-spectator-client
2021-05-20 18:53:42 +09:00
smoogipoo
6beeb7f7c4
Rename SpectatorStreamingClient -> SpectatorClient
2021-05-20 15:55:07 +09:00
smoogipoo
d197a7f6f5
Rename multiplayer client classes
2021-05-20 15:39:45 +09:00
Salman Ahmed
43094425e2
Merge branch 'legacy-beatmap-skin-hud-fallback' into catch-hide-combo-workaround
2021-05-19 23:18:27 +03:00
Dean Herbert
00ed699340
Fix origin specifications using incorrect flags
2021-05-20 01:53:24 +09:00
Salman Ahmed
ff419af512
Hide the combo counter content rather than full death
2021-05-18 09:10:15 +03:00
Dean Herbert
829d326e36
Remove alignment logic completely for the time being
...
This was overly complex and does not play well with the new layout
customisation system. We can add it back as required.
2021-05-18 14:55:34 +09:00
Dean Herbert
7137315fa7
Remove HitErrorDisplay
container and hook up data
2021-05-17 19:46:50 +09:00
Dean Herbert
c8b7cfc753
Merge branch 'skin-serialisation' into remove-skinnable-hud-classes
2021-05-13 19:05:08 +09:00
Dean Herbert
7921dc7ece
Rename ISkinnableComponent
to ISkinnableDrawable
2021-05-13 17:06:00 +09:00
Dean Herbert
cdcd31b546
Replace ISkinSerialisable
with IsEditable
property
2021-05-13 17:03:17 +09:00
Dean Herbert
3b862798e9
Standardise naming of methods related to SkinnableInfo
2021-05-13 13:14:49 +09:00
Dean Herbert
6caf4e3879
Add xmldoc to SkinnableInfo
2021-05-13 12:57:28 +09:00
Dean Herbert
0a895fff15
Remove remaining test usage of SkinnableXXX
HUD components
2021-05-12 18:53:25 +09:00
Dean Herbert
494a1b01a5
Move SkinnableElementTargetContainer
out of HUD namespace
2021-05-12 15:59:33 +09:00
Dean Herbert
4aad7b96ea
Merge branch 'health-bar-hud-overlay-dependency' into skin-serialisation
2021-05-12 12:54:37 +09:00
Dean Herbert
184dbaf202
Improve safety of bindings in HealthDisplay
2021-05-12 12:53:30 +09:00
Dean Herbert
8e226319e2
Remove downwards dependency from HUDOverlay
to HealthDisplay
2021-05-11 23:18:23 +09:00
Dean Herbert
a88a8b7d8d
Use ISkinnableComponent
wherever possible (and expose as BindableList
)
2021-05-11 18:39:15 +09:00
Dean Herbert
944f09ec98
Move default skin cross-component dependencies out to default specifications
2021-05-11 18:39:14 +09:00
Dean Herbert
c94df672e5
Also serialise Origin
out
2021-05-11 18:39:14 +09:00
Dean Herbert
f53ce951dc
Remove DefaultScoreCounter
animation for the time being
...
May add this back in the future, but for now it's causing issues as it
operates on `this`. The default skin may be changing quite a bit in the
near future, so we can decide what to do about animation at that point
in time.
2021-05-11 18:39:14 +09:00
Dean Herbert
4c4d75e6f9
Remove AccuracyCounter
sizing dependency in HUDOverlay
2021-05-11 18:39:14 +09:00
Dean Herbert
2396ba42a6
Change HealthDisplay
to be a CompositeDrawable
2021-05-11 18:39:14 +09:00
Dean Herbert
bf65547eec
Allow some serialised components to not be mutable by the user
2021-05-11 18:39:14 +09:00
Dean Herbert
4769a95b49
Fix encapsulation and remove target lookup overhead
2021-05-11 18:39:14 +09:00
Dean Herbert
b248b2e5e3
Hook up full save/load flow
2021-05-11 18:39:14 +09:00
Dean Herbert
004798d61d
Update Legacy components to not require skin in ctor
2021-05-11 18:39:14 +09:00
Dean Herbert
b54eb56169
Move new judgement binding to LoadComplete
to ensure containers are loaded
2021-05-11 18:39:14 +09:00
Dean Herbert
6a88b8888b
Add basic support for child serialisation
2021-05-11 18:39:14 +09:00
Dean Herbert
df72656aa1
Remove downwards dependency from HUDOverlay
to HealthDisplay
2021-05-11 18:39:14 +09:00
Dean Herbert
95a497e9df
Remove unused interface class for simplicity
2021-05-11 18:39:14 +09:00
Dean Herbert
95a8f21ab2
Add the concept of skinnable target containers and mark a basic one for HUD elements
2021-05-11 18:39:14 +09:00
Dean Herbert
67ea4a7e97
Read from skin config
2021-05-11 18:39:14 +09:00
Dean Herbert
b9ab9342fa
Setup basics to allow extracting serializable content from skinnable Drawable
s
2021-05-11 18:39:14 +09:00
Dean Herbert
2ecd638f7f
Merge branch 'master' into skin-components-list
2021-05-10 18:13:10 +09:00
smoogipoo
fa872858b5
Remove unnecessary check
2021-05-10 16:40:06 +09:00
Dean Herbert
97e72849af
Fix regressed HitErrorDisplay
behaviour (and localise binding to meter implementations)
2021-05-10 15:24:13 +09:00
Dan Balasescu
78952c07b0
Merge branch 'master' into remove-hud-overlay-unused-pieces
2021-05-10 14:39:32 +09:00