1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-16 06:17:50 +08:00
Commit Graph

3696 Commits

Author SHA1 Message Date
Dean Herbert
1bff540381 Remove debug changes 2022-08-29 22:14:07 +09:00
Dean Herbert
75531d2d62 Fix gameplay skipping forward during resume operation 2022-08-29 19:51:16 +09:00
Dean Herbert
105aa01e7d Update usages of RemoveInternal 2022-08-29 15:57:40 +09:00
Dan Balasescu
cf6bb3b030
Merge pull request #19958 from peppy/fix-fail-freq-stuck
Ensure fail animation sequence isn't run after the player exit sequence has started
2022-08-27 00:58:41 +09:00
Dean Herbert
b9d9bf3004
Merge pull request #19938 from frenzibyte/fix-multi-spectator-results-screen
Fix multi-spectator potentially getting stuck for passed players
2022-08-26 21:53:17 +09:00
Dean Herbert
ed0843aa84 Reword xmldoc regarding final clock source to read better 2022-08-26 16:46:22 +09:00
Dean Herbert
2c780eab5f Merge branch 'master' into fix_progress_bar_info 2022-08-26 16:14:21 +09:00
Dean Herbert
23efec6505 Fix naming and comment typos 2022-08-26 15:57:36 +09:00
Dean Herbert
9862b79b47 Fix typo in long comment 2022-08-26 15:20:09 +09:00
HiddenNode
d98357aa57 Made text inside SongProgressInfo scale. 2022-08-26 01:30:44 +01:00
Dean Herbert
a6ed589db4 Remove guard against RemoveFilters running more than once
It turns out this is required to remove some filters immediate, and some
later. Weird.
2022-08-25 14:47:33 +09:00
Dean Herbert
ad3dd1c700 Fix a couple of oversights regarding track nullability 2022-08-25 14:45:00 +09:00
Dean Herbert
ec60e16439 Apply NRT to FailAnimation 2022-08-25 14:35:42 +09:00
Dean Herbert
8f4a953d11 Ensure fail animation sequence isn't run after the player exit sequence has started 2022-08-25 14:26:42 +09:00
Dean Herbert
4c45f7d938 Ensure FailAnimation can't be Started after filters are already removed 2022-08-25 14:26:20 +09:00
Ryuki
5cddc7ed1f
Code cleanup (CPS) 2022-08-24 17:13:23 +02:00
Dean Herbert
f3847b90fd Tidy up attach logic 2022-08-24 19:36:01 +09:00
Dean Herbert
5129716612 Merge branch 'master' into kps 2022-08-24 18:18:45 +09:00
Salman Ahmed
8f4a2b4936 Separate passed/failed states from calling EndGameplay 2022-08-24 10:36:13 +03:00
Dean Herbert
29fed0c4a3 Avoid setting the source clock until gameplay is ready to start
Without this change, the audio track may audibly seek during load
proceedings.
2022-08-23 18:34:17 +09:00
Dean Herbert
ec61a94dc9 Merge branch 'master' into no-gameplay-clock-gameplay-offset 2022-08-23 17:36:06 +09:00
HiddenNode
1098e24c40 Improved UprightUnscaledContainer 2022-08-22 14:24:52 +01:00
Dean Herbert
489e172a76 Simplify track start/stop/paused tracking 2022-08-22 19:43:18 +09:00
Dean Herbert
058d67f8e8
Merge pull request #19695 from naoei/ruleset-localization
Change most ruleset-accessible string types to Localisable strings
2022-08-22 16:13:23 +09:00
Dean Herbert
e6b669db8e Elaborate with example of GameplayClockContainer managing its own Stop state 2022-08-22 14:14:44 +09:00
Dean Herbert
af2e82d7d5 Move operation of setting GameplayClockContainer.StartTime to Reset call 2022-08-22 14:11:06 +09:00
Ryuki
5cf54a788a
Code cleanup for CPS counter 2022-08-21 16:00:58 +02:00
Nao
189a407cb1
Merge branch 'master' into ruleset-localization 2022-08-20 21:39:10 -04:00
Dean Herbert
8566e93c72 Guard against SubmittingPlayer potentially getting stuck waiting on request forever 2022-08-20 17:19:17 +09:00
Dean Herbert
da407aa827
Merge branch 'master' into kps 2022-08-20 15:24:58 +09:00
Dean Herbert
7bf318541c Reword comment to hopefully read better 2022-08-19 20:57:55 +09:00
Dean Herbert
3f0da14065 Delay start operation by one frame to allow children to see initial start time 2022-08-19 17:39:51 +09:00
Dean Herbert
3eb1cda6aa Reorganise call order of Start / Reset to make more sense 2022-08-19 01:46:36 +09:00
Ryuki
3de35a1518
Update calculator and tests to match changes on clocks 2022-08-18 18:40:02 +02:00
Dean Herbert
1d774f3f12 Remove redundant ProcessFrame calls
Of note, I'm not sure whether the `IsPaused` check was meaningful, but
it's not reimplemented in the new `FramedBeatmapClock`.
2022-08-19 01:39:02 +09:00
Dean Herbert
7bc96431a7 Remove unnecessary virtual spec from GameplayClockContainer.Seek 2022-08-19 01:39:01 +09:00
Dean Herbert
43879633db Ensure setting a StartTime on a GameplayClockContainer always resets to the new time 2022-08-18 18:54:10 +09:00
Dean Herbert
343efa1d11 Split OffsetCorrectionClock out of MasterGameplayClockContainer 2022-08-18 18:54:10 +09:00
Dean Herbert
2c6fd1ec6e Fix `GameplayClockContainer potentially resetting external seeks 2022-08-18 18:54:10 +09:00
Dean Herbert
6003afafc7 Use FramedBeatmapClock in GameplayClockContainer 2022-08-18 18:54:10 +09:00
Dean Herbert
9735728cf6 Reverse conditionals to better define intent in addSourceClockAdjustments 2022-08-18 15:08:09 +09:00
Dean Herbert
20256aad11 Merge branch 'master' into no-gameplay-clock 2022-08-17 15:21:20 +09:00
Dean Herbert
63819648df Fix up flow of actual skip operation 2022-08-16 14:40:02 +09:00
Dean Herbert
9a1a7bae89 Make test actually test things 2022-08-16 14:40:02 +09:00
Dean Herbert
6761f869f9 Modify flow to avoid weird bindable and value resetting 2022-08-16 14:17:35 +09:00
Dean Herbert
c9baadcf88 Merge branch 'master' into improve_retry_behaviour 2022-08-16 13:06:04 +09:00
Dean Herbert
61a8873266 Ensure GameplayClockContainer's FramedClock is always non-null 2022-08-15 20:22:36 +09:00
Dean Herbert
1696a905ba Reduce exposed properties in GameplayClockContainer 2022-08-15 20:22:36 +09:00
Dean Herbert
704568ae3b Remove remaining usage of GameplayClock 2022-08-15 20:22:36 +09:00
Dean Herbert
27569e2ed5 Remove FrameStableClock (and redirect usages to FrameStabilityContainer) 2022-08-15 19:19:19 +09:00
Dean Herbert
cc982d374c Cache self rather than GameplayClock 2022-08-15 18:30:53 +09:00
Dean Herbert
c5f8529d20 Mark unused methods as NotImplemented for safety 2022-08-15 18:30:53 +09:00
Dean Herbert
f81c7644b4 Make GameplayClockContainer also an IGameplayClock and expose to remaining tests 2022-08-15 18:30:53 +09:00
Dean Herbert
c8764cb333 Move all usage of GameplayClock to IGameplayClock 2022-08-15 18:30:53 +09:00
Dean Herbert
6d78218142 Update usages of GameplayClockContainer.GameplayClock to access properties directly 2022-08-15 18:08:49 +09:00
Dean Herbert
224f3eaa84 Make GameplayClockContainer non-abstract and use in MultiSpectatorPlayer 2022-08-15 18:08:49 +09:00
Dean Herbert
623e90a7b2 Fix div-by-zero in SongProgress when no object duration could be calculated 2022-08-15 15:05:35 +09:00
Ryuki
2aa3a1b50d
Rename all "KeysPerSecond" usages to "ClicksPerSecond" 2022-08-14 20:12:11 +02:00
Ryuki
9dc806506e
Make ActionListener and KeysPerSecondCalculator not rely on events to add timestamps 2022-08-14 19:31:14 +02:00
Ryuki
d5f10cbb9d
Revert 787dee24 and initialize calculator in HUDOverlay 2022-08-14 18:53:00 +02:00
Ryuki
e08f71797e
Change displayed metric from "KPS" to "clicks/s" 2022-08-13 04:27:26 +02:00
Ryuki
9b252b1d81
Make KeysPerSecondCalculator dependency in HUDOverlay nullable 2022-08-11 11:58:30 +02:00
Ryuki
d29cba80e9
Remove useless comment in KeysPerSecondCounter 2022-08-11 11:01:16 +02:00
Ryuki
787dee249d
Move KeysPerSecondCalculator instantiation from HUDOverlay to Player
This prevents messing with *future* Skin (de)serialization
2022-08-11 10:37:16 +02:00
Ryuki
3c6461b9e4
Remove KPS acronym usage 2022-08-11 10:01:39 +02:00
Ryuki
0a94fb4039
Make KPS counter strictly depending only on KPS calculator
`KeysPerSecondCounter` now depends on `KeysPerSecondCalculator` via the
`BackgroundDependencyLoaderAttribute` method, making it appear only in a
gameplay context without requiring `GameplayClock` without using it.
2022-08-11 00:46:39 +02:00
Ryuki
46e372cb99
Add more readiness checks in KeysPerSecondCalculator 2022-08-11 00:43:15 +02:00
Ryuki
9e80d3f71c
Re-adjust timespan conditions in KeysPerSecondCalculator 2022-08-11 00:42:22 +02:00
naoei
8cb2e11766 Change most ruleset-accessible string types to Localisable strings 2022-08-10 15:51:11 -04:00
Dean Herbert
a5081826b7 Handle cancellation at more points during Player initialisation
As discussed in discord, this will help avoid null references during
cancellation which can otherwise be quite confusing to debug.
2022-08-09 23:25:19 +09:00
Ryuki
b52a07c16a
Use DI to provide dependencies for KPS Calculator and improve input
gathering

KPS Calculator now uses DI to retrieve the clocks. Using `HUDOverlay` it
is now cached for `KeysPerSecondCounter`s to resolve it. This also
allows to make an "Attach" flow like `KeyCounter`.
2022-08-08 21:54:06 +02:00
BlauFx
0afa3a5ec8
Fix xml doc 2022-08-08 21:20:09 +02:00
BlauFx
f6e65cf1af
Improve implementation 2022-08-08 20:53:05 +02:00
BlauFx
fac2596eee
Change type from BindableBool to IBindable<bool> 2022-08-08 13:38:52 +02:00
BlauFx
cd68134565
Call skip method directly 2022-08-08 13:10:28 +02:00
HiddenNode
ed86255e2b Use UprightUnscaledContainer instead of KeepUprightAndUnscaled 2022-08-07 13:20:22 +01:00
BlauFx
bb344e064f
Add xml docs 2022-08-07 13:31:26 +02:00
BlauFx
09230304a4
Improve implementation 2022-08-07 13:20:29 +02:00
Ryuki
b2557a8d2d
Refactor KPS
- Remove '#nullable disable' in KeysPerSecondCalculator and
  KeysPerSecondCounter
- Remove KeysPerSecondCalculator IDisposable implementation
- Make KeysPerSecondCalculator static instance initialized once by
  KeysPerSecondCounters
- Auto transfer dependencies from KeysPerSecondCounter to
  KeysPerSecondCalculator using Resolved properties
- Add internal reset logic to KeysPerSecondCalculator and make it
  independent from Player
- Use GameplayClock.TrueGameplayRate to get real-time rate. If 0 then it
  defaults to the last non 0 rate if no such mod is enabled
2022-08-07 00:53:00 +02:00
BlauFx
bd43a9e96e
Add missing type specification 2022-08-06 18:49:07 +02:00
BlauFx
fa6d55b5b5
Remove redundant lambda signature parentheses 2022-08-06 18:47:11 +02:00
BlauFx
0d418559bc
Skip song intro only in case of a quick restart 2022-08-06 17:02:45 +02:00
BlauFx
e411a2d187
Revert reduced wait time commit 2022-08-06 15:12:36 +02:00
BlauFx
445f921756
Move IsSkippable event into load method 2022-08-05 23:21:03 +02:00
BlauFx
d8d7423698
Reduce "wait time" in case restarting the map 2022-08-05 23:04:43 +02:00
BlauFx
99e07aa09a
Skip intro if the map gets restarted 2022-08-05 23:01:52 +02:00
BlauFx
6717f0606c
Add property to SkipOverlay 2022-08-05 23:00:37 +02:00
Ryuki
0886137e39
Prevent KeysPerSecondCounter from NRE when no instance is initialized 2022-08-05 21:03:00 +02:00
HiddenNode
b46bc5d65b Remove empty line 2022-08-05 14:57:33 +01:00
Ryuki
24c29b7e2f
Do not add KPS calculation when gameplay rate is 0 2022-08-05 15:51:07 +02:00
HiddenNode
0243f8d6ac Clean up 2022-08-05 14:28:15 +01:00
HiddenNode
12ef99a1a1 Fix text position 2022-08-05 12:56:08 +01:00
Ryuki
42d1bdfc95
Move KPS calculation to a standalone class 2022-08-05 04:17:01 +02:00
Salman Ahmed
7c45c571a0
Merge branch 'master' into more-beat-sync-dependence 2022-08-03 20:22:42 +03:00
Dean Herbert
6ad6561e1c Fix LegacySongProgress incorrectly blocking mouse input from gameplay
Closes #19555.
2022-08-03 17:42:29 +09:00
HiddenNode
bc21a2ed56 Remove unnecessary using directive 2022-08-02 17:41:17 +01:00
HiddenNode
78a98cdb9c Prevent TextSprites inside SongProgressInfo from being stretched or flipped 2022-08-02 17:37:31 +01:00
Dean Herbert
cc4cde2c79 Improve IBeatSyncProvider interface and reduce beatmap track dependence 2022-08-02 17:59:18 +09:00
HiddenNode
df85bd74d7 Keep TextSprites in SongProgressInfo upright 2022-08-01 21:46:37 +01:00
Dean Herbert
5b98a73edc Apply nullability to SkinComponentToolbox and split out reflection method to get all skinnable components 2022-08-01 14:04:08 +09:00
Ryuki
89855cc1d6
Change KPS Counter implementation base and add better replay integration
The counter implementaiton is now list based, and will not invalidate
previous hits by removing them but by testing if they are within the 1
second span, allowing better integration with replays and spectators.
2022-07-31 01:29:57 +02:00
Susko3
38a8b9cf0a Add battery info for desktop platforms 2022-07-30 14:26:19 +02:00
Salman Ahmed
3bc1774c87
Merge branch 'master' into pie-chart-progress 2022-07-29 16:54:59 +03:00
Salman Ahmed
905bbdc8ee Remove caching of GameplayClockContainer in favour of GameplayClock
Also fixes `SongProgress` being displayed in skin editor on non-gameplay
screens, due to `GameplayClock` not marked as a required dependency.
2022-07-29 16:45:29 +03:00
Salman Ahmed
3f72e76348 Expose StartTime from gameplay clock 2022-07-29 16:18:05 +03:00
Ryuki
b2e7da5aa0
Add basic Queue based implementation of KPS 2022-07-28 18:37:12 +02:00
Dean Herbert
3005ff1b9f Merge branch 'master' into pie-chart-progress 2022-07-28 22:19:27 +09:00
Dan Balasescu
ce694123eb Move spectator begin/end playing to SubmittingPlayer 2022-07-28 20:44:04 +09:00
Dean Herbert
86c2b7e449 Apply nullability to DefaultSongProgress and clean up more stuff 2022-07-28 18:37:17 +09:00
Dean Herbert
ea027eda46 Move initial show to base implementation and add transition for legacy version 2022-07-28 18:29:49 +09:00
Dean Herbert
d5e5761892 Fix DefaultSongProgress graph not resetting if time is in intro 2022-07-28 18:25:24 +09:00
Dean Herbert
7108553883 Tidy up various things everywhere 2022-07-28 18:25:14 +09:00
Nitrous
0d36907cad
apply code quality fixes 2022-07-28 15:30:45 +08:00
Nitrous
bca3994d91
set FirstHitTime and LastHitTime once 2022-07-28 15:25:12 +08:00
Nitrous
db62d4be3a
apply suggestions
- refactor `SongProgress`
- make`UpdateProgress` more readable
- enable NRT on new classes
- refactor `TestSceneSongProgress` to use `GameplayClockContainer`
2022-07-28 15:15:41 +08:00
Nitrous
9088caa377
move LegacyComboCounter to osu.Game.Skinning 2022-07-28 08:36:26 +08:00
Nitrous
45c11f2b7b
account for gameplay start time 2022-07-28 08:01:38 +08:00
Nitrous
37e642b0bd
make SongProgress abstract
- move unrelated logic to `DefaultSongProgress`
- make `LegacySongProgress` inherit `SongProgress`
2022-07-27 15:19:21 +08:00
Salman Ahmed
fa9daa6899 Fix TestSceneReplayRecorder not using score provided by gameplay state 2022-07-25 05:21:27 +03:00
Salman Ahmed
ad09e728fd Move Passed assignment inside FailScore 2022-07-21 08:12:06 +03:00
Salman Ahmed
0f0b19da4a Populate score with remaining "miss" statistics on fail/exit 2022-07-21 06:01:36 +03:00
Bartłomiej Dach
6f37487528
Replace calls to defective Humanizer methods with correct version 2022-07-18 22:34:58 +02:00
Salman Ahmed
e6236ba088 Update save score button to check availability after import
Previously was relying on whether `SaveReplay` returns null, but since
I've changed it to use the standard "prepare score for import" path, the
button has to check for local availability after import since that path
doesn't return null on fail.
2022-07-15 23:39:52 +03:00
Salman Ahmed
6285442b7d Fix failed scores not prepared before import 2022-07-15 22:57:12 +03:00
Dean Herbert
2beed6d7b7 Allow failed scores to fail in replay playback 2022-07-15 20:45:48 +09:00
Dean Herbert
d325c534ab Check whether score is already imported and show correct state for save button 2022-07-15 20:45:37 +09:00
Dean Herbert
0200ef1d48 Make delegate firing more safe to being set later than BDL 2022-07-15 19:06:44 +09:00
Dean Herbert
0e788ac714 Simplify bindable logic greatly 2022-07-15 19:02:12 +09:00
Dean Herbert
8a48cb701d Tidy up implementation and remove unnecessary enum 2022-07-15 19:02:04 +09:00
Dean Herbert
ab6665d88c
Merge branch 'master' into Save-Score-Failed 2022-07-15 18:02:58 +09:00
Dean Herbert
937692604e Remove mention of autoplay mod for now 2022-07-13 22:37:20 +09:00
Dean Herbert
ab3ec80159 Update LastPlayed on gameplay starting in a SubmittingPlayer 2022-07-13 16:43:43 +09:00
Dean Herbert
b52ea16133 Show basic error message when score submission fails 2022-07-12 15:10:59 +09:00
為什麼
6a643cb6ea Use Debug.Assert instead. 2022-07-12 09:41:19 +08:00
為什麼
857377e145 Move CreateConvertibleReplayFrame() into legacy ruleset interface because technically only legacy ruleset use it to convert the legacy frame.
But seems some of the customized ruleset use it for save the replay frame.
2022-07-10 10:15:27 +08:00
cdwcgt
d2406242ae
rename updateTooltip to updateState 2022-07-09 00:38:17 +09:00
cdwcgt
91f471ebe0
disabled button instead of shake
removed `ShakeContainer`
2022-07-09 00:37:53 +09:00
cdwcgt
a38c6704c2
Use ContinueWith, Check is Task empty 2022-07-09 00:23:32 +09:00
Dean Herbert
e4ebab92c6 Rename lots of weird variables 2022-07-08 18:37:03 +09:00
Dean Herbert
f3a6e646a6 Merge branch 'master' into Save-Score-Failed 2022-07-08 18:32:13 +09:00
Dean Herbert
9d730f8440 Fix custom rulesets not importing scores at all
Replaces the error with the ability to import, minus replays.

Closes https://github.com/ppy/osu/issues/17350 (arguably, but let's go with it for now).
2022-07-07 14:49:23 +09:00
Dan Balasescu
1ccfd69690
Merge pull request #18978 from peppy/send-beatmap-hash-to-server
Send beatmap hash to server on solo score request
2022-07-03 13:18:17 +09:00
Salman Ahmed
19d300e311 Fix player loader not accepting star difficulty updates after display 2022-07-02 09:17:38 +03:00
Dean Herbert
634b6cdbbe Send beatmap has to server on solo score request
Right now, the client does nothing to ensure a beatmap is in a valid
state before requesting to submit a score. There is further work to be
done client-side so it is more aware of this state (already handled for
playlists, but not for the solo gameplay loop), but the solution I have
in mind for that is a bit more involved.

This is not used server-side yet, but I want to get this sending so we
can start using it for some very basic validation.

Will resolve the basic portion of #11922 after implemented server-side.
2022-07-02 12:16:17 +09:00
cdwcgt
33209ecd25
remove useless value change 2022-06-30 19:51:58 +09:00
cdwcgt
fd0d8b1ce3
Add button state, fix async issues, watch replay method
Most borrowed from `ReplayDownloadButton`
2022-06-29 22:50:47 +09:00
Dean Herbert
6bfd351dec Add logging of GameplayClockContainer seeks 2022-06-28 15:23:29 +09:00
Dean Herbert
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
Dean Herbert
f71f6302fd Remove unnecessary null casts 2022-06-24 14:50:11 +09:00
cdwcgt
bff35cb348
Shake button when replay already save 2022-06-22 01:19:20 +09:00
cdwcgt
f2eb7e0551
Use better design and fix some problem
Let saveReplay async but still void
Make failed score's rank = F
2022-06-21 19:06:38 +08:00
Dan Balasescu
b3e5642dfd Use WaitingOnFrames instead 2022-06-21 12:23:43 +09:00
cdwcgt
43ead5820a
deal with test 2022-06-21 00:54:50 +09:00
cdwcgt
9a6f4ef76d
Save score button on failed screen 2022-06-19 23:59:37 +09:00
Dan Balasescu
98d69c846c Reset spectator speed at last frame 2022-06-19 17:12:20 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dean Herbert
be2b4e68b9 Don't play player exit sound when restarting 2022-06-15 17:49:18 +09:00
Dean Herbert
6136e4e27a Don't play exit sound if screen is in a non-resumable state when exiting 2022-06-15 17:37:25 +09:00
Jamie Taylor
6b744a14b0
Move 'back' sample playback from OnResuming to OnExiting 2022-06-15 15:41:28 +09:00
Dean Herbert
6be4209458 Fix AlwaysPresent specification in wrong container 2022-06-15 01:04:43 +09:00
Dean Herbert
a20e43c2ae Ensure containers which are being used to hide HUD elements still update for now
I don't think this is necessarily a final solution (as this means all
HUD elements are adding overhead even when not visible), but this will
make the implementations much easier for the time being.

I've checked and can't notice any perceivable overhead in profiling so
we should be fine for now.
2022-06-14 18:22:25 +09:00
Dean Herbert
bd9ea9bd6f Revert most unnecessary changes
Turns out `AlwaysPresent` at top level is actually enough.

This reverts commit 86163d2225.
2022-06-13 23:58:14 +09:00
Dean Herbert
86163d2225 Fix hit error meters not updating visual state when hidden
It is an expectation of users that when the HUD is shown after a period
of being hidden, it will visually reflect the state based on recent
judgements.

To achieve this, I've added `AlwaysPresent` and moved the transform
application to the meter level, rather than at a child level. If this is
seen as a bad direction, `AlwaysPresent` can be applied to the drawable
children and the transforms can be moved back.

Also of note, `ColourHitErrorMeter` is pretty weird. The flow class
could potentially be removed and reduce `AlwaysPresent` usage by one.
Can do that refactor as part of this PR if preferred.

Closes #18624.
2022-06-13 16:38:57 +09:00
Dean Herbert
17eaf7bb5c Add failing test coverage showing hit meters don't update when not visible 2022-06-13 16:36:22 +09:00
Dan Balasescu
6e450b7350 Explicitly handle operation cancelled exceptions 2022-06-09 14:35:53 +09:00
Dan Balasescu
ec03dc16db Don't trigger notification when user quit 2022-06-09 14:13:14 +09:00
Dan Balasescu
bfde334e77 Allow beatmaps to load endlessly when entering Player 2022-06-09 14:03:21 +09:00
Dan Balasescu
22d998dc2a Use new score processor in MultiplayerGameplayLeaderboard 2022-05-30 19:26:26 +09:00
Dan Balasescu
a052e09ac3 Send ScoreProcessor statistics in SpectatorState 2022-05-30 19:26:26 +09:00
Dan Balasescu
c97b477485 Fix inverted operation order 2022-05-30 19:11:54 +09:00
Bartłomiej Dach
1641918c51
Revert "Avoid throwing unobserved exception when PerformancePointsCounter requests timed attributes"
This reverts commit 19b655d75b.
2022-05-28 15:23:28 +02:00
Dean Herbert
9c3d0dafbd Remove implementation at Player level
Turns out this isn't required in the end due to implementation at
`MasterGameplayClockContainer`.
2022-05-23 02:00:21 +09:00
Dean Herbert
007582afb9 Remove unused usings resulting from namespace move 2022-05-22 23:55:33 +09:00
Dean Herbert
eabf578282 Use interface to convey beat sync information 2022-05-22 22:44:54 +09:00
Dean Herbert
1c36995606 Expose HoldingForHUD state from HUDOverlay as bindable 2022-05-11 16:09:16 +09:00
Bartłomiej Dach
cbd1169495
Move cache declarations of ISamplePlaybackDisabler to interface 2022-05-08 10:38:58 +02:00
Bartłomiej Dach
9ae019eb39
Move ISamplePlaybackDisabler to more general namespace 2022-05-08 10:38:58 +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
Bartłomiej Dach
2b4a49e17f
Merge branch 'master' into move-difficulty-graph-toggle 2022-05-02 16:38:25 +02:00
Dean Herbert
1f1845d69b
Merge branch 'master' into multiplayer-force-start-2 2022-04-29 14:45:40 +09:00
Dean Herbert
c4495dafb6 Merge branch 'master' into move-difficulty-graph-toggle 2022-04-29 13:44:47 +09:00
Dean Herbert
6ccbdc85a3
Improve setting description text
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-04-29 11:56:46 +09:00
Dan Balasescu
1d8ac6917d Send Loaded state from PlayerLoader on update thread 2022-04-28 20:10:47 +09:00
Salman Ahmed
691bec6f16 Use LocalisableString.Interpolate instead of invalid TranslatableStrings 2022-04-28 11:38:40 +03:00
Dean Herbert
3c45746ba1 Add back schedule for safety 2022-04-28 14:29:57 +09:00
Dean Herbert
7c1b0b41ff Fix migration not working correctly when applying on a default skin 2022-04-28 14:19:24 +09:00
Dean Herbert
7a23363d74 Add migration of song progress setting from config to component 2022-04-27 18:10:58 +09:00
Dean Herbert
e6bb5e84ec Merge branch 'master' into move-difficulty-graph-toggle 2022-04-27 17:22:25 +09:00
Salman Ahmed
e646233722 Use correct translation for "Accuracy" label in break overlay 2022-04-26 19:16:36 +03:00
Dean Herbert
8ab3636f87 Change conditions for HUD being shown to include pause/fail states
As proposed in https://github.com/ppy/osu/discussions/17975. Feels pretty good to me, and probably how it should have been implemented from the start.
2022-04-26 12:09:21 +09:00
Dan Balasescu
b293d3923c Merge branch 'master' into multiplayer-force-start-2 2022-04-23 01:03:55 +09:00
Dean Herbert
832d37b2c2 Update screen transition events to use new event args 2022-04-22 00:52:44 +09:00
Dan Balasescu
41355384bd Add support for gameplay abort/force start 2022-04-21 23:14:37 +09:00
Dean Herbert
848366416e Revert string type changes in MetadataLineInfo 2022-04-21 14:10:58 +09:00
Joseph Madamba
5e5c8e78a6 Use existing web localisation for most hardcoded strings 2022-04-20 16:31:11 -07:00
Salman Ahmed
94335c2938 Update further usages to cache/resolve via interface 2022-04-19 00:18:10 +03:00
Dean Herbert
043599081b Split out INotificationOverlay to allow for easier testing 2022-04-18 20:14:01 +09:00
Dan Balasescu
2abdbe53e7 Cleanup whitespace 2022-04-14 18:55:12 +09:00
Dan Balasescu
9de4d416e2 Merge branch 'master' into fix-spectator-seeks 2022-04-14 18:54:52 +09:00
Dan Balasescu
494955aff1 Resolve inspection issues 2022-04-14 13:11:11 +09:00
Dean Herbert
fbf0e5a45c Remove startFromSkipTarget parameter and update usages that required said behaviour 2022-04-13 14:25:43 +09:00
Dean Herbert
a59c6013c7 Rename latestGameplayStartTime to skipTargetTime 2022-04-13 14:03:52 +09:00
Dean Herbert
d4286255a0 Expose and set GameplayStartTime directly, rather than via Reset parameter 2022-04-13 13:58:44 +09:00
Dean Herbert
017f3852c8 Replace incorrectly chosen ??= with ?? 2022-04-13 13:32:36 +09:00
Dean Herbert
9c68b3edc5 Merge branch 'master' into fix-spectator-seeks 2022-04-13 12:33:41 +09:00
Dean Herbert
282fccb4c8
Fix typo in xmldoc
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-04-13 12:24:47 +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
cb6e557212 Fix MasterGameplayClockContainer having incorrect rate-based offsets immediately after LoadComplete
I've attempted to explain why this is required using inline comments.
There's also further conversation at
https://github.com/ppy/osu/pull/17302#issuecomment-1091850927.
2022-04-11 14:11:26 +09:00
Dean Herbert
808f0ecb74 Ensure running state is updated before performing Seek in GameplayClockContainer.Reset 2022-04-11 14:10:50 +09:00
Dean Herbert
19b655d75b Avoid throwing unobserved exception when PerformancePointsCounter requests timed attributes 2022-04-11 13:30:21 +09:00
Dean Herbert
a3695c7e97
Merge branch 'master' into fix-spectator-seeks 2022-04-06 12:58:43 +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
Joseph Madamba
d0873d67e1 Move difficulty graph toggle to individual skin settings 2022-03-31 18:56:57 -07: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
Dean Herbert
8ca9cbc866 Set a more correct initial value for pauseFreqAdjust
As the `GameplayClock` now starts paused, this value needs to match to
ensure things work correctly.

For a better explanation of how we got here, see discussion at
https://github.com/ppy/osu/pull/17302#discussion_r830017735.
2022-03-24 14:50:00 +09:00
Dean Herbert
6f529cf7a4 Merge branch 'master' into fix-spectator-seeks 2022-03-24 14:24:20 +09:00
Bartłomiej Dach
b7d5a628bc
Merge branch 'master' into fix-spectator-seeks-hot 2022-03-19 11:39:01 +01:00
Dean Herbert
a903aee17e Use schedule to workaround seek issue instead 2022-03-19 18:00:14 +09:00
Dean Herbert
cf2212e794 Revert "Fix spectator not starting from correct seek point (hotfix)"
This reverts commit 2b59eff465.
2022-03-19 17:20:54 +09:00
Dean Herbert
2b59eff465 Fix spectator not starting from correct seek point (hotfix) 2022-03-19 15:14:25 +09:00
Dean Herbert
dae5569e36 Use nullable in PlayerLoader 2022-03-19 15:06:22 +09:00
Dean Herbert
da76358ee0 Expose the loading player in PlayerLoader 2022-03-19 15:06:22 +09:00
Salman Ahmed
b99541fb5e Revert "Swap placements of "hold for menu" and key counter"
This reverts commit 5bcb7c167c.
2022-03-19 08:08:07 +03: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
Salman Ahmed
5bcb7c167c Swap placements of "hold for menu" and key counter 2022-03-19 05:02:22 +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
f09a946722 Start GameplayClockContainer paused for better state control 2022-03-18 15:28:22 +09:00
Dean Herbert
c6be26eb01 Rename start time calculation method and add more commenting to explain purpose better 2022-03-18 01:35:50 +09:00
Dean Herbert
e3ab5de8cd Tidy up constructor logic overlap with gameplayStartTime 2022-03-18 01:35:50 +09:00
Dean Herbert
a4a0241800 Use a more explicit flow to set and reset GameplayClockContainer start time 2022-03-17 20:57:30 +09:00
Dean Herbert
5164b4d640 Use nullable in PlayerLoader 2022-03-17 20:57:30 +09:00
Dean Herbert
e3a5299b1a Expose the loading player in PlayerLoader 2022-03-17 19:32:01 +09:00
Dean Herbert
4650c197a3 Make SongProgress.DrawableRuleset nullable to allow test scene to work 2022-03-17 18:45:37 +09:00
Dean Herbert
fd71aa4a4d Change SongProgress resolution requirements to be required 2022-03-17 15:05:54 +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
dfe98c6536
Merge pull request #17162 from peppy/realm-offset-feedback-fix-2
Fix feedback from realm writes causing offset slider to jump around
2022-03-10 18:53:08 +09:00
Dean Herbert
db5c2c15dc
Merge pull request #17164 from smoogipoo/scoreprocessor-rework
Rework ScoreProcessor score calculation methods to fix various issues
2022-03-10 16:48:58 +09:00
Dean Herbert
2eb3365f46 Fix regressing issues when attempting to exit Player after an unsuccessful beatmap load 2022-03-09 17:57:58 +09:00
Dean Herbert
1ee0be5e39 Ensure gameplay can't start when an UnknownMod is present 2022-03-09 17:57:58 +09:00
Dean Herbert
6bf436cd62 Only null the realm write task if it actually completed 2022-03-09 13:52:58 +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
960b6528ca Ensure the value used during realm async write is the same as whe compared for equality 2022-03-08 19:36:23 +09:00
Dean Herbert
daa42584f4 Fix feedback from realm writes causing offset slider to jump around 2022-03-08 19:36:08 +09:00
Dean Herbert
31d6c75f40 Merge branch 'master' into realm-property-watching 2022-03-07 13:53:17 +09:00
Salman Ahmed
e5a6564034
Merge branch 'master' into fix-storyboard-sample-rate 2022-03-07 03:12:40 +03:00
Bartłomiej Dach
e4b4c3c5c4
Merge branch 'master' into offset-ui-improvements 2022-03-05 16:10:18 +01:00
Bartłomiej Dach
346cec3577
Merge branch 'add-offset-adjust-tooltip-text' into combine-time-slider-implementation 2022-03-05 14:58:56 +01:00
Dean Herbert
ce51ce49cf Revert changes to GetTooltipText and use TooltipText override directly 2022-03-05 22:46:13 +09:00
Dean Herbert
bbc2b36117 Merge branch 'master' into add-offset-adjust-tooltip-text 2022-03-05 22:37:04 +09:00
Dean Herbert
1c40fcb79e
Reorder math to be easier to pass
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-03-04 17:54:04 +09:00
Dean Herbert
e9e92b991e Fix calibrating offset from previous non-zero offset not applying adjustment correctly 2022-03-04 15:09:44 +09:00
Dean Herbert
010fa7ed01 Allow an offset to be shown on the timing distribution graph 2022-03-04 14:05:42 +09:00
Dean Herbert
e09dd7d8fe Fix calibrating offset from previous non-zero offset not applying adjustment correctly 2022-03-04 13:25:14 +09:00
Dean Herbert
cc4f89eef4 Add tooltip text for offset adjustment slider 2022-03-04 12:44:02 +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
b0688cc6dd Merge branch 'master' into fix-storyboard-sample-rate 2022-03-04 12:04:49 +09:00
Dean Herbert
1d7d6a1b65
Merge pull request #17042 from peppy/ruleset-leaderboard-unavailable
Improve leaderboard messaging when using a custom ruleset (and add localisation support)
2022-03-04 11:56:04 +09:00
Bartłomiej Dach
e1610b5d32
Merge branch 'master' into ruleset-leaderboard-unavailable 2022-03-03 22:52:20 +01:00
Bartłomiej Dach
15f65c7897
Rename lambda param to avoid name shadowing 2022-03-03 20:28:19 +01:00
Bartłomiej Dach
2e24e7ef56
Use property expression rather than block 2022-03-03 20:28:00 +01:00
Bartłomiej Dach
edd361d256
Trim unused using directives 2022-03-03 20:21:48 +01:00
Dean Herbert
cecc746f9e Update existing usages to use SubscribeToPropertyChanged 2022-03-03 17:42:50 +09:00
Dean Herbert
3848964faa Add tooltip text for offset adjustment slider 2022-03-03 17:07:46 +09:00
Dean Herbert
9c43500ad3 Add ability for player loading screen settings to scroll
As we add more items here this is going to become necessary. Until the design no doubt gets changed.
2022-03-03 16:23:31 +09:00
Dean Herbert
42e07b7308 Convert to extension method to avoid recursive calls 2022-03-03 14:15:37 +09:00
Dean Herbert
fab9323707 Replace all legacy ruleset checks with a helper property call 2022-03-03 14:08:48 +09:00
Salman Ahmed
cbb8dc2891 Fix storyboard samples rate not adjusted from actual gameplay mods 2022-03-02 20:56:18 +03:00
Dean Herbert
763f881d4a Use more correct mod check to encompass more than just autoplay 2022-03-02 14:42:10 +09:00
Dean Herbert
e184b26cdd Remove Precision call for database write shortcutting
Shouldn't be required.
2022-03-02 14:39:29 +09:00
Dean Herbert
8bd66f1ed7 Fix incorrect precision specification for button disable check 2022-03-02 14:36:49 +09:00
Dean Herbert
3cbcb702f6 Fix calibration button disabled state not checking in corrrect direction 2022-03-02 14:36:15 +09:00
Dean Herbert
c07f754565 Enable nullable on BeatmapOffsetControl 2022-03-02 14:34:24 +09:00
Dean Herbert
222f50d211 Fix calibration being back-to-front 2022-03-01 20:41:54 +09:00
Dean Herbert
6c09237956 Reorder fields in BeatmapOffsetControl and MasterGameplayClockContainer 2022-03-01 20:16:55 +09:00
Dean Herbert
9792f0653a Don't show calibration controls for autoplay 2022-03-01 20:12:59 +09:00
Dean Herbert
4aee57c9c1 Add localisation of all beatmap offset strings 2022-03-01 20:12:59 +09:00
Dean Herbert
4d9efe771b Don't display calibration options when the previous play was too short to be useful 2022-03-01 20:12:59 +09:00
Dean Herbert
bc2a15db96 Handle cases of beatmaps not existing in realm for tests 2022-03-01 20:12:59 +09:00
Dean Herbert
99c1ba19aa Allow BeatmapOffsetControl to react to external changes to offset 2022-03-01 20:12:59 +09:00
Dean Herbert
bb8caabb8b Subscribe to changes in offset 2022-03-01 20:12:59 +09:00
Dean Herbert
071ba5c1df Make writes asynchronously to avoid synchronous overhead 2022-03-01 20:12:59 +09:00
Dean Herbert
047e801da9 Store and retrieve offset from realm 2022-03-01 20:12:59 +09:00
Dean Herbert
2901d2a650 Hook offset adjustment control up to last play via PlayerLoader 2022-03-01 18:44:15 +09:00
Dean Herbert
350b0b488c TODO: Get score from previous play session for further analysis 2022-03-01 18:44:15 +09:00
Dean Herbert
1847f69bf9 Add basic beatmap offset adjustment control 2022-03-01 18:44:15 +09:00
Dean Herbert
4117a6adf7 Move player loader audio settings to new group 2022-03-01 18:44:15 +09:00
Dean Herbert
80ba06b0e3
Merge branch 'master' into expandable-controls 2022-02-14 16:57:45 +09:00
Dean Herbert
beb3731c0b Standardise and combine base implementation of score submission requests
These share too much yet have very different constructor signatures and
property exposure. Just a clean-up pass as I begin to look at replay
submission.
2022-02-11 15:53:47 +09:00
Dan Balasescu
18251c9285 Clean up SpectatorScreen based on suggestions 2022-02-09 12:20:07 +09:00
Dan Balasescu
886d1d2df6 Refactorings 2022-02-08 21:29:43 +09:00
Dan Balasescu
f285060148 Fix MultiSpectatorScreen not continuing to results 2022-02-03 21:50:19 +09:00
Dan Balasescu
483977d5c8 Merge branch 'master' into spectator-state-rework 2022-02-03 19:59:07 +09:00
Dean Herbert
b2efce2656
Merge branch 'master' into expandable-controls 2022-02-03 19:23:34 +09:00
Dean Herbert
c8ce00b26a Trigger a re-layout of HUD components when scoring mode is changed
This is a simple way of fixing the layout of scoring elements
overlapping due to different score display width requirements of
different scoring modes. It will only resolve the case where a user
hasn't customsied the layout of the default skins, but as this is a very
simple / low effort implementation for the most common scenario, I think
it makes sense.

Closes https://github.com/ppy/osu/issues/16067.
2022-02-03 14:50:41 +09:00
Dan Balasescu
6d3bc005ea Merge branch 'master' into spectator-state-rework 2022-02-02 18:57:04 +09:00
Bartłomiej Dach
07d09b3520
Remove unused parameter from createGameplayComponents()
No longer used since 136843c8e4.
2022-02-01 21:35:41 +01: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
Dan Balasescu
41007169f7 Give SpectatorState a user state 2022-02-01 21:51:05 +09:00
Dan Balasescu
38e075c522 Add HasQuit gameplay state 2022-02-01 14:47:19 +09:00
Dan Balasescu
781cb9f18d Move HasPassed/HasFailed into GameplayState 2022-02-01 14:46:24 +09:00
Dan Balasescu
0641264a11 Merge branch 'master' into spectator-consistency-frames 2022-02-01 14:35:30 +09:00
Dan Balasescu
4fb565e15f Reset ScoreProcessor from statistics replay frames 2022-01-31 21:32:56 +09:00
Dan Balasescu
4727aeda01 Give last bundled replay frame the frame header 2022-01-31 18:53:47 +09:00
Dan Balasescu
f3d4756c7f
Merge pull request #16713 from frenzibyte/fix-spectator-gcc-state-2
Fix multiplayer spectator occasionally rewinding time unexpectedly
2022-01-31 18:33:08 +09:00
Salman Ahmed
6556a7e3c3 Handle different gameplay rates when seeking on master clock 2022-01-31 01:40:07 +03:00
Salman Ahmed
3ec193d47e Fix spectator clock container incorrectly starting catch-up clock 2022-01-30 01:46:10 +03:00
Salman Ahmed
4f4f60248f Add failing test case 2022-01-30 01:46:10 +03: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
a34b8fc4d0 Merge branch 'master' into expandable-controls 2022-01-26 10:36:22 +03:00
Dean Herbert
778d2a71b4 Remove Task from the inner-most Import method in RealmArchiveModelImporter
One of my pending work items for post-realm merge.

The lowest-level import task is no longer asynchronous, as we don't want
it to span multiple threads to allow easier interaction with realm.
Removing the `Task` spec simplifies a heap of usages.

Individual usages should decide whether they want to run the import
asynchronously, by either using an alternative override or spooling up a
thread themselves.
2022-01-25 15:30:29 +09:00
Salman Ahmed
326f12f847 Add IExpandable support for SettingsToolboxGroup 2022-01-23 05:41:16 +03:00
Bartłomiej Dach
03e4ec4214
Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-15 14:45:42 +01:00
Susko3
19467e58c1 Remove unused params from BDL methods 2022-01-15 01:06:39 +01:00
Dean Herbert
34dbde6023 Only copy across Hash and ID so statistics aren't lost 2022-01-14 18:22:52 +09:00
Dean Herbert
916b591b1b Fix watch replay button not working immediately after playing 2022-01-14 18:03:06 +09:00
Jamie Taylor
c6ae255326
Add volume dip to track during fail sequence 2022-01-13 18:31:32 +09:00
Dean Herbert
482cf29e28
Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-12 17:57:14 +09:00
Dan Balasescu
52e240230b
Merge branch 'master' into mouse-button-disable-disables-touch 2022-01-12 17:14:39 +09:00
Dean Herbert
5dd0bb1218 Ensure Score created by GameplayState has a valid ruleset 2022-01-12 17:00:17 +09:00
Dean Herbert
2b8706b6ce Detach and reattach scores to make work 2022-01-12 17:00:16 +09:00
Dean Herbert
53792811b2 more fixes (almost compiles, except ruleset and manager) 2022-01-12 16:57:27 +09:00
Dean Herbert
b8cd3cdbbc Various updates to ruleset and primary key usages to move closer to realm support 2022-01-12 16:57:13 +09:00
Dean Herbert
3cd996eb4a Merge branch 'master' into async-deadlock-safety 2022-01-07 17:28:59 +09: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
5baaf356aa Split out SettingsToolboxGroup from PlayerSettingsGroup 2022-01-06 21:05:00 +09:00
Dean Herbert
df6a755c36 Update player loader screen mouse disable text to use localised version 2022-01-05 18:29:09 +09:00
Dean Herbert
73b40e6833 Replace usage of .Result with .WaitSafelyForResult 2022-01-04 11:51:41 +09:00
Dean Herbert
031a40af6a Replace usages of Wait with WaitSafely 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
Joseph Madamba
98524d60a4 Fix clear identifier typos 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
a43cc20ae2 Apply changes to GameplayCompleted from reviews 2021-12-24 21:58:20 +09:00
Dan Balasescu
727335dcad Improve reliability of exiting gameplay 2021-12-24 14:23:09 +09: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
Bartłomiej Dach
88d4e95ad8
Rename BeatmapCard{ => Normal} 2021-12-21 08:26:21 +01: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
ef4ab74565 Also only expose Expanded state of BeatmapCard as read-only 2021-12-15 16:26:19 +09:00
Dean Herbert
7e576ae9d3 Add note about how the background colour is restored 2021-12-14 13:25:19 +09:00
Dean Herbert
cac684c044 Improve appearance of player-wide background after failing with low background dim 2021-12-13 14:53:11 +09:00
Dean Herbert
f7c5a3f506 Use similar method of consuming OnlineID as done in beatmap classes 2021-12-10 18:34:31 +09:00
Dean Herbert
dbb08f7d46 Use OnlineID for set operations 2021-12-10 16:11:48 +09:00
Dean Herbert
bf1418bafc Use OnlineID instead of legacy IDs for equality and lookups 2021-12-10 16:11:48 +09:00
Dan Balasescu
35a208a478
Merge pull request #15999 from peppy/restore-user-volume-muted-notification
Fix the unmute notification potentially overwriting user's volume levels unnecessarily
2021-12-10 02:58:59 +09:00
Dean Herbert
a3b53ac2f6 Change comparison to match in all locations 2021-12-09 18:58:47 +09:00
Dan Balasescu
65a09692da
Merge pull request #16001 from peppy/fix-own-rank-results-panel-in-multiplayer
Fix the local user's rank not showing on multiplayer/playlist results screen
2021-12-08 16:34:36 +09:00
Dean Herbert
872e0884c0 Fix the local user's rank not showing on multiplayer/playlist results screen
Applying the simple solution for now. Not sure how this will evolve over
time, but seems sane enough.
2021-12-08 15:22:10 +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
0775053a18 Fix the unmute notification potentially overwriting user's volume levels unnecessarily
I've also changed the cutoffs to 5% rather than zero, as this seems like
a saner method of showing this dialog. With levels 5% or less, the game
is basically inaudible.

Arguably, the cutoff can be increased to 10%.
2021-12-08 13:38:43 +09:00
Bartłomiej Dach
af35652b8b
Disable beatmap card expansion on solo spectator screen 2021-12-05 20:07:58 +01:00
Bartłomiej Dach
38702beabf
Merge branch 'master' into i-ruleset-store 2021-12-04 15:05:39 +01:00
Dan Balasescu
4145a16d5b
Merge pull request #15920 from peppy/clean-up-unused-resolves
Clean up unused resolved properties
2021-12-03 20:08:48 +09:00
Dean Herbert
1eed2436e6 Clean up unused resolved properties 2021-12-03 18:49:49 +09:00
Dean Herbert
2acf46154a Remove many unused resolutions of RulesetStore 2021-12-03 18:16:29 +09:00
Dean Herbert
6b73672403 Stop Player from blocking volume adjust when Alt it held
Similar case to what we already have in `OsuScrollContainer`, so there
is precedent for handling this locally in this fashion.
2021-12-03 17:18:07 +09:00
Bartłomiej Dach
a188d6662f
Use beatmap card in solo spectator screen 2021-11-25 22:31:02 +01:00
Dean Herbert
716543b5b3 Move beatmap download logic out of BeatmapManager 2021-11-25 17:29:41 +09:00
Dean Herbert
bbd3ea5b77 Update all actual usages of RulesetInfo.ID to use OnlineID instead 2021-11-24 15:50:26 +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
66c307e0ee Remove usage of key repeat helper method 2021-11-18 13:13:36 +09:00
Dean Herbert
3de8125eac Update UI cases where repeat should not be handled 2021-11-18 13:13:36 +09:00
Bartłomiej Dach
8b134914cf
Merge branch 'master' into beatmap-cancellation-token 2021-11-17 21:52:30 +01:00
Dean Herbert
7c2e79f911 Update all simple cases of switching to IWorkingBeatmap 2021-11-17 20:56:57 +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
Dean Herbert
a4aa008793 Fix frequency ramping a second time incorrectly after fail 2021-11-14 14:41:17 +09:00
Bartłomiej Dach
b47c0b63f4
Tweak loader transition when testing gameplay in editor 2021-11-13 13:39:18 +01:00
Dean Herbert
d2d66766d4
Merge branch 'master' into songselect-audio-improvements 2021-11-12 19:40:04 +09:00
Dean Herbert
338e5a78b8 Adjust easing of logo to better match the sound
I'm sure we can come up with something better, but giving it a bit more
speed definitely feels closer to what the sound is portraying.
2021-11-12 19:30:35 +09:00
Dean Herbert
692e846acd Rename BeatmapSetInfo.OnlineBeatmapSetID to OnlineID to match interface 2021-11-12 17:52:44 +09:00
Dean Herbert
6a098a8634 Rename BeatmapInfo.OnlineBeatmapID to OnlineID to match interface 2021-11-12 17:46:24 +09:00
Bartłomiej Dach
759450502f
Merge branch 'master' into pp-counter-fixed-width 2021-11-12 08:05:56 +01:00
Jamie Taylor
113c95f3f5
Only apply high-pass temporarily 2021-11-12 14:22:43 +09: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
Dean Herbert
51a353e12d Rename BeatmapInfo.Version to DifficultyName to match underlying interface 2021-11-11 17:20:53 +09:00
Jamie Taylor
e33c1f9a41
Lower filter cutoff frequency 2021-11-11 11:00:55 +09:00
Jamie Taylor
b13d020a49
Don't re-use confim-selection sample for the skip intro button 2021-11-10 17:15:08 +09:00
Jamie Taylor
8d0f5b0d82
Add high-pass filter when song selection is confirmed 2021-11-10 17:15:08 +09: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
Dean Herbert
62600b47b1 Merge branch 'master' into user-class-cleanup 2021-11-08 12:51:12 +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
Bartłomiej Dach
6d30248cef
Merge branch 'master' into use-class-rename 2021-11-07 15:41:00 +01: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
Dean Herbert
6399c695e8 Update usages of BufferedContainer in line with framework changes 2021-11-05 15:54:49 +09: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
Dean Herbert
ed07ee8c61 Update all existing usages of AuthorString/AuthorId
Unfortunately the getters need to be left in place else EF breaks.
2021-11-04 18:59:37 +09:00
Dean Herbert
b9983add15 Rename User to APIUser and move to correct namespace 2021-11-04 18:21:31 +09:00
Dean Herbert
0df339d0b8 Fix incorrect invocation of download method in SoloSpectator 2021-11-04 13:50:04 +09:00
Dean Herbert
05f1fd4bc9 Remove unnecessary properties and parameters 2021-11-04 13:33:54 +09:00
Chinmay Patil
9aa3021bbc Added Unstable Rate Counter as a skinable element 2021-11-03 22:22:44 -06:00
Dean Herbert
3453160a8b Change PlaylistItem.Beatmap to be an IBeatmapInfo 2021-11-04 13:16:56 +09:00
Dean Herbert
b21e0e7efb Merge branch 'beatmap-refactor/get-and-present' into beatmap-refactor/beatmap-overlays 2021-11-01 18:07:51 +09:00
Dean Herbert
02e69626e3 Reduce fail animation tint slightly 2021-11-01 13:06:26 +09:00
Dean Herbert
a16c8f1ebc Update all beatmap overlay views to use APIBeatmap/APIBeatmapSet 2021-10-29 18:50:55 +09:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
Dean Herbert
91cc77407d Fix low-pass filter continuing to take effect after fail animation has already ended 2021-10-22 17:02:02 +09:00
Dean Herbert
7cf4395875 Merge branch 'master' into default-value-indicator 2021-10-19 16:23:02 +09:00
sh0ckR6
e7b280fc81
Comment out RankDisplay
Commented out as it may be revisited at a later time.
Also currently unused.
2021-10-18 23:12:33 -04:00
Bartłomiej Dach
8db2fc439d
Change ruleset ID assert in player to null-check 2021-10-18 23:45:06 +02:00
Bartłomiej Dach
6d9d85685f
Fix settings item having zero height 2021-10-18 23:30:38 +02:00
Dan Balasescu
8643c725cc
Merge pull request #15175 from peppy/fail-animation-flash-controlled-by-setting
Don't flash screen red on fail if the user has disabled red tinting
2021-10-18 15:27:10 +09:00
Dean Herbert
762949f49f Don't flash screen red on fail if the user has disabled red tinting 2021-10-18 14:20:38 +09:00
Dean Herbert
59dc04017e Fix epilepsy warning not being faded out on an early exit from PlayerLoader 2021-10-18 13:30:37 +09:00
Bartłomiej Dach
874decb3cd
Replace spectator-local fix for wrong ruleset ID with player-global consistency check 2021-10-16 16:10:42 +02:00
Dean Herbert
7a5a612896 Move retry and exit hotkey overlays to same depth / container 2021-10-16 02:29:45 +09:00
Dean Herbert
91754450b2 Remove dispose method completely 2021-10-15 21:27:44 +09:00
Dean Herbert
6f947cacbd Fix test failures 2021-10-15 21:22:38 +09:00
Dean Herbert
b9fd1f52df Tweak animation slightly 2021-10-15 19:37:22 +09:00
Dean Herbert
b08743342b Fix incorrect nesting 2021-10-15 19:35:08 +09:00
Dean Herbert
66f3370a19 Add new fail animation to better match new sound effects 2021-10-15 19:14:59 +09:00
Jamie Taylor
8d6d7fcdbe
Add high-pass filter to gameplay fail sequence 2021-10-15 17:03:37 +09:00
Dean Herbert
f73e505ee6 Further adjustments to glow to be less bright on settings overlay 2021-10-15 12:35:19 +09:00
Dean Herbert
1212b08672 Fix gameplay audio ramping down in frequency a second time at the end of the fail sequence 2021-10-14 16:45:34 +09:00
Dan Balasescu
d88daf0cc2
Merge pull request #15073 from peppy/fix-player-loader-low-pass
Improve `PlayerLoader` audio and visual transitions
2021-10-13 17:01:49 +09:00
Dean Herbert
26a1e40d24 Fix storyboard outro during fail test not being lenient enough 2021-10-13 13:48:57 +09:00
Dean Herbert
ae4dcbd829 Improve PlayerLoader audio and visual transitions 2021-10-13 13:26:20 +09:00
Dean Herbert
3d6602b8df Ensure FailAnimation is disposed synchronously to avoid test failures 2021-10-11 14:05:31 +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
436ead421a Move low pass fail effect to FailAnimation 2021-10-08 12:27:04 +09:00
Dean Herbert
da96cc73d8 Fix dual specification of SuspensionHandler and move fields around slightly 2021-10-07 23:40:47 +09:00
Dean Herbert
310d7965b6 Merge branch 'master' into more-filter-effects 2021-10-07 20:52:38 +09:00
Jamie Taylor
cc209f0f2d
Add filter effect to fail sequence 2021-10-07 17:55:30 +09:00
Jamie Taylor
5c48340520
Add filter effect to beatmap loading 2021-10-07 17:55:21 +09:00
Dean Herbert
5f129ae33c Remove local overridden storage of Mods in Player
Not required and only causing headaches. Accessing mods should now be
done via `GameplayState`.

Closes #14912.
2021-10-07 14:53:39 +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
Dean Herbert
7176dc95e5 Revert Player.Score to protected 2021-10-05 14:55:40 +09:00
Dean Herbert
e19be8ebe4 Make GameplayState.Score immutable 2021-10-05 14:55:40 +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
d120678e30 Fix redundant default value 2021-10-04 21:13:14 +09:00
smoogipoo
d1e7191f94 Pass score into GameplayState 2021-10-04 20:59:51 +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
2e3450b3f5 Make Mods readonly 2021-10-04 20:20:24 +09:00
smoogipoo
031c5a441e Merge branch 'master' into realtime-pp-display 2021-10-04 20:19:37 +09:00
Dean Herbert
853cf6feaa Rename last remaining BeatmapInfo Beatmap usage 2021-10-04 17:35:53 +09:00
Dean Herbert
7e009f6168 Add full xmldoc 2021-10-02 02:31:41 +09:00
Dean Herbert
32afd3f426 Replace all basic usages 2021-10-02 02:22:23 +09:00
Dean Herbert
05ca3aec4f Rename GameplayState to SpectatorGameplayState 2021-10-02 02:10:11 +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
d0081908c5 Make Score internal 2021-10-01 20:52:48 +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
Dan Balasescu
625711e6d2
Merge pull request #14776 from peppy/fix-pause-with-audio-offset
Avoid accounting for the pause pitch adjust effect when "fixing" hardware offset adjustments
2021-09-28 18:44:22 +09:00
Dan Balasescu
ffdaf23329
Merge pull request #14814 from peppy/fix-key-counter-masking
Fix `KeyCounterDisplay` potentially getting stuck invisible due to autosize masking
2021-09-21 16:21:38 +09:00
Bartłomiej Dach
761548e533
Merge branch 'master' into 14470-ur-not-updating 2021-09-20 22:07:33 +02:00
sh0ckR6
fb416c79e9
Fully revert Player 2021-09-20 15:01:03 -04:00
Dean Herbert
a3464c98a7 Fix KeyCounterDisplay potentially getting stuck invisible due to autosize masking
Closes #14793.
2021-09-20 23:52:01 +09: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
04715a5471
Add null-check when invoking OnSeek 2021-09-18 12:20:36 -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
12cc16c598
Remove unused property in SongProgress 2021-09-18 12:05:06 -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
Dean Herbert
5f27f1c099 Avoid accounting for the pause pitch adjust effect when "fixing" hardware offset adjustments
Bit of an unfortunate one. Because we are applying the pitch adjustment
to the lowest level (`Track`), it's hard to filter out in parent clock
calculations.

Tried a few solutions but this feels the best. Note that we can't just
undo the `pauseFreqAdjust` adjustment as it will div-by-zero.

Closes https://github.com/ppy/osu/issues/14773.
2021-09-17 15:43:38 +09:00
smoogipoo
f9d5abff8a Update with keybinding changes 2021-09-16 18:26:12 +09:00
Dean Herbert
fa693bb8a8 Move MusicController adjustment set to inside OsuScreen itself (and result nullable) 2021-09-16 16:08:09 +09:00
AbstractQbit
318f0941ca Move all the "inherit previous AllowTrackAdjustments" logic into OsuScreen 2021-09-15 21:25:39 +03:00
AbstractQbit
f0439ef50b Remove unnecessary AllowTrackAdjustments overrides, add true to SongSelect 2021-09-15 13:12:57 +03:00
AbstractQbit
b9193aae6d Make IOsuScreen.AllowTrackAdjustments nullable
Allows for inheriting value from the previous screen if undefined
2021-09-14 17:37:57 +03: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
Dean Herbert
f64efdc4a9 Merge branch 'update-extension-usages' into update-framework 2021-08-30 16:00:09 +09:00
Dan Balasescu
7be825f470
Merge pull request #14488 from frenzibyte/multi-spectator-player-leaving
Gray out and stop player instances who quit during multi-spectator sessions
2021-08-30 12:04:19 +09:00
Salman Ahmed
e374ef163d Update localisable formattable extensions usages inline with framework change 2021-08-29 15:00:28 +03:00