1
0
mirror of https://github.com/ppy/osu.git synced 2024-10-01 01:37:26 +08:00
Commit Graph

3475 Commits

Author SHA1 Message Date
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
Salman Ahmed
378734a7f8 Separate solo spectator player and "exit on restart" logic to own class 2021-08-27 13:24:37 +03:00
Dean Herbert
e633b2716d Fix regression in outro skip handling logic 2021-08-26 13:58:45 +09:00
Dean Herbert
b1a261c902 Avoid using scheduled delegates at all for skip overload input handling 2021-08-26 12:25:37 +09:00
Dean Herbert
956e3c554b Avoid skip overlay attempting to show when it is already invalid 2021-08-26 12:25:37 +09:00
Bartłomiej Dach
e503182a8d
Merge branch 'master' into activity-on-multiplayer-screens 2021-08-24 18:50:55 +02:00
smoogipoo
16ddbcd208 Don't bind to RoomId where it's expected to be constant 2021-08-24 14:25:40 +09:00
smoogipoo
df170afbc4 Fix multiplayer crashing when entering gameplay 2021-08-24 13:22:06 +09:00
smoogipoo
956c1cc216 Merge branch 'master' into activity-on-multiplayer-screens 2021-08-24 12:33:34 +09:00
Nathan Alo
2877b43824 split multiplayer and playlist activity 2021-08-22 09:54:07 +08:00
Dan Balasescu
c95bf735fe
Merge branch 'master' into multiplayer-chat 2021-08-20 11:54:42 +09:00
Dean Herbert
9d2664cbb1 Merge branch 'master' into star-rating-display-v2 2021-08-18 17:22:33 +09:00
Dean Herbert
4a65888cfc
Merge branch 'master' into multiplayer-chat 2021-08-17 17:34:23 +09:00
Dean Herbert
6ee6a46894 Remove unnecessary public prefix in interface specification 2021-08-17 16:22:14 +09:00
Dean Herbert
0d283aa6a3 Expose LocalUserPlaying from Player 2021-08-17 16:16:49 +09:00
Dean Herbert
82eddeffef Add LocalUserPlayInfo interface to convey common information about player status 2021-08-17 16:15:47 +09:00
smoogipoo
f4b7ee5c7f Merge branch 'master' into hide-player-settings-overlay 2021-08-17 13:44:33 +09:00
smoogipoo
081524b6c8 Privatise setters 2021-08-17 13:44:21 +09:00
Dean Herbert
fc89f2bac4 Revert "Rename element in OsuSettings enum"
This reverts commit c2bbe17562.
2021-08-16 16:56:48 +09:00
Dean Herbert
8d45f86bd3 Rename variable to better reflect its purpose 2021-08-16 16:48:40 +09:00
Dean Herbert
ae8a1adae8 Allow seeking via Player.Seek even if disabled 2021-08-16 16:47:57 +09:00
Dean Herbert
838bcc51b2 Avoid new bindable requirement 2021-08-16 16:27:19 +09:00
Dean Herbert
81480ac4fc Use PlayerConfiguration to convey no-seek state 2021-08-16 16:16:02 +09:00
Salman Ahmed
554b09ac1b Fix SkinnableTargetsContainer blocked from processing scheduled tasks 2021-08-16 06:57:45 +03:00
Nathan Alo
cc3468b4ab apply suggestions
- make `UserActivity.InGame` and derive that to `InSoloGame` and `InMultiplayerGame`
- rename `SoloGame` to `InSoloGame`
- rename `MultiplayerGame` to `InMultiplayerGame`
2021-08-16 06:32:33 +08:00
Salman Ahmed
2ddf28346a PlayerSettingsGroups -> PlayerSettings 2021-08-14 19:58:20 +03:00
Nathan Alo
4ed06a1021 apply suggestions 2021-08-14 22:39:12 +08:00
kj415j45
c2bbe17562
Rename element in OsuSettings enum
`ShowProgressGraph` -> `ShowDifficultyGraph`
2021-08-14 22:35:15 +08: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
Salman Ahmed
34c2b317e2 Hide song progress bar on multi-spectator player 2021-08-13 07:30:09 +03:00
Salman Ahmed
8dc7a925e7 Expire instead of hiding and disabling visibility state
Since it's a temporary change until the spectator interface gets
improved, no need to add further logic.
2021-08-13 07:28:59 +03:00
Salman Ahmed
c10320f239 Hide and disable player settings overlay on multi-spectator player 2021-08-13 06:35:16 +03:00
Salman Ahmed
2b86416cb2 Hide player settings overlay on multi-spectator player loader 2021-08-13 06:35:16 +03:00
Bartłomiej Dach
70005cb39d
Merge branch 'master' into multiplayer-team-vs-results 2021-08-12 20:39:48 +02: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
3f067e3a8d Remove likely unnecessary score null check 2021-08-11 16:59:42 +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 MultiplayerRoomUsers instead of ints 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 GameplayLeaderboardScores 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
fcec714b4f Add safeties to avoid MultiplayerPlayer crashing when beatmap can't be loaded 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
Salman Ahmed
b01893d3f2
Merge branch 'master' into star-rating-display-v2 2021-08-06 13:51:34 +03:00
Dean Herbert
2ccf7e75b0 Fix new possible nullref inspection due to delegate initialisation in constructor 2021-08-05 13:24:59 +09:00
Salman Ahmed
d4399f10f9 Merge both variants of the star rating display 2021-08-04 18:19:28 +03:00
Dean Herbert
9b9dacf3fe Update usages of Drawable.Click() 2021-08-04 17:30:33 +09:00
Salman Ahmed
a75da82986 Add explaining comment 2021-08-01 21:14:54 +03:00
Salman Ahmed
ac930b8918 Fix judgement processors provided to mods while not completely loaded 2021-08-01 19:16:30 +03:00
Joseph Madamba
451c65a2c8 Fix song progress graph not being correctly hidden 2021-07-29 23:41:01 -07:00
Henry Lin
89e8296eb1 Reset all types of adjustments in MusicController; Rename AllowRateAdjustments to AllowTrackAdjustments 2021-07-29 15:39:26 +08: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
5ef1fe6948
Merge branch 'master' into fix-replay-date 2021-07-19 21:58:37 +09:00
Dan Balasescu
f3bcaf7f11
Merge pull request #13929 from peppy/i-deep-cloneable
Create a deep clone of score for score submission purposes
2021-07-19 21:58:27 +09:00
Dean Herbert
b3f60c8253 Fix date being updated on replays unexpectedly 2021-07-19 19:28:35 +09:00
Dean Herbert
f16b4957aa Move clone to earlier in the process 2021-07-19 19:18:34 +09:00
Dean Herbert
caba78cb5d Copy score during submission process to ensure it isn't modified 2021-07-19 14:14:28 +09:00
Dean Herbert
3c028ce05c Add IDeepCloneable interface and update existing CreateCopy methods to use it 2021-07-19 12:54:17 +09:00
Dean Herbert
d7f997a7f3 Set score's rank on a failed submission
As we don't have a `RankInfo.F`, this is the next best choice. I am also
adding a check osu-web side for this - this is just to make sure we
aren't sending scores with SS when they are not actually completed.

I'm working on a separate PR to ensure this does not get mutated during
the player exit process.
2021-07-19 12:36:15 +09:00
Salman Ahmed
07ede7a147 Disallow custom rulesets from score submission 2021-07-11 03:34:57 +03:00
Dean Herbert
6a5f0e8237 Move handling of replay seek operations out of progress bar
This is in order to avoid using the now obsoleted property
`SliderBar.AllowKeyboardInputWhenNotHovered`
(see https://github.com/ppy/osu-framework/pull/4579).
2021-07-09 14:28:59 +09:00
Dean Herbert
e612d7568c
Merge pull request #13771 from LumpBloom7/volume-meter-switch
Add ability to navigate between volume meters via Alt+Left/Right arrows
2021-07-07 21:50:44 +09:00
Derrick Timmermans
4d7c744101
Fix failing test 2021-07-07 12:59:31 +02:00
Derrick Timmermans
ffe18ebe51
Resolve build errors 2021-07-06 14:11:46 +02:00
Derrick Timmermans
07d54d261a
Let selection container handle manual selection changes 2021-07-06 13:24:18 +02:00
Derrick Timmermans
c5a0672277
Use IStateful<SelectionState> instead of ISelected 2021-07-06 12:07:25 +02: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
Derrick Timmermans
d495196b66
Share item cycling logic with GameplayMenuOverlay 2021-07-05 19:22:55 +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
7a710ceffe Check count as well (statistics can be populated with zero counts) 2021-07-04 16:41:09 +09:00
Dean Herbert
ef82528309 Don't attempt to submit score when nothing has been hit 2021-07-04 15:16:18 +09:00
Dean Herbert
f689e788c9 Avoid using game-wide beatmap during score submission 2021-07-02 14:24:27 +09:00
Dean Herbert
74c63e15be Mark score failed on fail and exit 2021-07-01 17:48:09 +09:00
Dean Herbert
04b874bb00 Add flow for submitting score on exiting SubmittingPlayer 2021-07-01 17:02:33 +09:00
Dean Herbert
5bc970af0d Make TestPlayer inherit from SoloPlayer for more flexibility in testing 2021-07-01 16:55:33 +09:00
Dean Herbert
00d3baef11 Exit handling flow 2021-06-30 20:23:48 +09:00
smoogipoo
bcdf36e77b Merge branch 'master' into spectator-start-at-end-2 2021-06-29 15:53:58 +09:00
Dean Herbert
4cb9c6a842
Merge pull request #13423 from frenzibyte/transformers-per-skin
Refactor ruleset skin transforming logic to be per-`ISkin` rather than one `ISkinSource`
2021-06-22 21:24:56 +09:00
Salman Ahmed
b12adc6073 Remove all test skinning changes in favour of the ISkinSource.AllSources path 2021-06-22 10:48:03 +03:00
Dean Herbert
1fff9a93b9 Merge branch 'master' into skin-editor-closest-anchor 2021-06-22 16:41:51 +09:00
Dean Herbert
1b0aadcc6f Merge branch 'master' into transformers-per-skin 2021-06-22 16:03:15 +09:00
Dean Herbert
c751e087ca
Merge branch 'master' into skin-editor-closest-anchor 2021-06-18 18:54:07 +09:00
Dean Herbert
0bc68a7018 Move xmldoc to method 2021-06-18 16:50:31 +09:00
Dean Herbert
19507e107e Reorder methods to make more sense 2021-06-18 16:46:40 +09:00
Dean Herbert
a7f40dc6d4 Merge branch 'remove-synchronous-prepare-score-method' into storyboard-outro-logic-refactor 2021-06-18 16:45:01 +09:00
Dean Herbert
45122594e5 Remove the synchronous version of PrepareScoreForResults
Replaces all existing usages with the `async` version.
2021-06-18 16:24:08 +09:00
Dean Herbert
f3426e38b4 Add note about delay parameter 2021-06-18 16:18:20 +09:00
Dean Herbert
3819a1f03b Remove exit override behaviour
I don't actually know under what scenario this could have been hit, and
actually caused expected behaviour. Consider that in the scenario I
describe in the comment (which I added yesterday), the user is
requesting a pause or exit which would be "cancelled showing the results
instead". But in such a scenario, `PerformExit` would first be run,
which cancels the `resultsDisplayDelegate` in the first place.

The only special case would be pressing the close button on the window
decoration? Which I don't think should be a special case in the first
place, so I'm just going to remove this for the time being to keep
things simple.
2021-06-18 16:12:35 +09:00
Dean Herbert
7ef8eac773 Remove unnecessary (and no longer correct) exception 2021-06-18 16:08:31 +09:00
Dean Herbert
2bf855fcca Move all storyboard outro skip logic out of updateCompletionState
This method should only be called to trigger the score completion
portion of player progression. The storyboard skip/end logic is now
handled separately in `progressToResults`.
2021-06-18 15:50:43 +09:00
Bartłomiej Dach
f282326f9a Move score preparations back below ShowResults check 2021-06-17 19:04:52 +02:00
Bartłomiej Dach
3a1444e75d Fix malformed xmldoc tag
Oops. Made a typo in the PR suggestion.
2021-06-17 19:02:56 +02:00
Dean Herbert
9facfe8964
Apply suggestions from code review
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-06-18 01:07:54 +09:00
Dean Herbert
e0a3696145
Merge branch 'master' into player-completion-refactoring 2021-06-17 23:51:42 +09:00
Bartłomiej Dach
10b0d066be Reword comments slightly 2021-06-17 16:04:58 +02:00
Bartłomiej Dach
561dbea9e1 Use xmldoc-specific syntax for nicer formatting 2021-06-17 15:26:50 +02:00
Dean Herbert
d03c6da60c Refactor and redocument updateCompletionState() and surrounding methods 2021-06-17 19:13:53 +09:00
Dean Herbert
246ab41cc6 Remove special casing for user exit during storyboard outro 2021-06-17 18:11:15 +09:00
Dean Herbert
7cbebe6d11 Rewrite xmldoc and inline comments for PerformExit 2021-06-17 18:10:59 +09:00
Salman Ahmed
ef2c4fd0d8 Make RulesetSkinProvidingContainer able to be overriden for testing purposes 2021-06-10 16:36:46 +03:00
smoogipoo
e18f4cd4ba Combine methods 2021-06-10 22:01:39 +09:00
smoogipoo
5073ede115 Clear existing frames when starting gameplay 2021-06-10 21:38:46 +09:00
smoogipoo
9eecb23fef Only seek to the end on first frame arrival 2021-06-10 21:35:52 +09:00
Salman Ahmed
dde84e5cbd Merge branch 'master' into transformers-per-skin 2021-06-10 11:58:52 +03:00
Dan Balasescu
a44fd887ee
Merge branch 'master' into no-unranked-display 2021-06-10 17:09:46 +09:00
Salman Ahmed
1aaad7bfd4 Apply few adjustments to skinning overlays comment 2021-06-09 22:49:31 +03:00
Salman Ahmed
e30f6581b3 Wrap gameplay content within a RulesetSkinProvidingContainer 2021-06-09 22:49:31 +03:00
Bartłomiej Dach
89cdea8123
Merge branch 'master' into fix-results-exit-transition 2021-06-09 19:40:56 +02:00
Dean Herbert
258d05d1e0 Ensure PlayerLoader restores the background colour to its own value on resume 2021-06-09 17:17:39 +09:00
Dean Herbert
a7ef0173e9 Add safety to ensure background is correct tint when entering gameplay 2021-06-09 17:07:28 +09:00
Bartłomiej Dach
020c63017e Fix inspectcode issues 2021-06-09 09:21:02 +02:00
Dean Herbert
b754c52392 Update ModAutoplay matching to use new UserPlayable flag instead 2021-06-09 14:32:48 +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
smoogipoo
009aa994d0 Fix potential race incorrectly pausing the source clock 2021-06-04 21:58:51 +09:00
Dean Herbert
23096c58bb
Merge branch 'master' into fix-spectator-frame-conversion 2021-06-04 15:06:15 +09:00
Dean Herbert
d444fed46f Detach gameplay score from replay recorder before importing
Closes #13320.
2021-06-04 02:00:02 +09:00
smoogipoo
e887807ae7 Apply review fixes 2021-06-03 18:32:05 +09:00
smoogipoo
be03a2d7d2 Fix multiple calls to seek method potentially not working 2021-06-03 17:47:22 +09:00
smoogipoo
c3280083a2 Merge branch 'master' into fix-spectator-frame-conversion 2021-06-03 17:42:01 +09:00
smoogipoo
662bbed5d1 Fix seeking to gameplay too soon 2021-06-03 17:38:51 +09:00
smoogipoo
420df124b5 Add framestable-bypassing seek for spectator 2021-06-03 17:27:21 +09:00
Dean Herbert
e0eb0adb0a Remove unnecessary bind in ReplayPlayer 2021-06-02 18:32:14 +09:00
Dean Herbert
a15cac6f53 Change the way Score is initialised in Player to better lend to population of metadata 2021-06-02 15:44:04 +09:00
Dean Herbert
3ba0d29108 Fix incorrect beatmap being parsed down for autoplay generation 2021-06-01 15:44:24 +09:00
Dean Herbert
9221213fe5 Fix potential nullref is beatmap load failed 2021-06-01 14:19:23 +09:00
Dean Herbert
14570b6fb1 Merge branch 'master' into autoplay-pause-support 2021-06-01 14:19:21 +09:00
smoogipoo
7f24518004 Fix spectator crashing when converting mania replay frames 2021-05-31 19:24:22 +09:00
smoogipoo
d2d0896298 Expose GameplayBeatmap and GameplayRuleset from Player 2021-05-31 19:22:20 +09: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
Dan Balasescu
7e0a4562c9
Merge branch 'master' into fix-bad-make-current-call 2021-05-28 00:32:51 +09:00
Dean Herbert
7c89dbcd35 Externalise autoplay generation 2021-05-25 18:37:04 +09:00
Dean Herbert
7f9318d976 Expose GameplayBeatmap to derived Player classes 2021-05-25 18:36:47 +09:00
Dean Herbert
c2b938a29f Remove autoplay consideration from Player 2021-05-25 18:09:37 +09:00
Dan Balasescu
3b4fbe22f0
Merge pull request #12928 from Firmatorenio/fix-colour-hitmeter-not-registering-taiko-misses
Fix colour hit error meter incorrectly assuming taiko hits were of correct colour
2021-05-24 23:31:54 +09: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
Dean Herbert
100e2d14a5 Move call inside conditional 2021-05-24 15:14:55 +09:00
Dean Herbert
a69a1b5211 Fix Player potentially running MakeCurrent when already removed from the screen stack
Closes #12919.
2021-05-24 13:53:53 +09:00
Dean Herbert
83981b692e Also handle items exiting bounds on the opposite side 2021-05-24 13:44:13 +09:00
Dean Herbert
593fea0d5f Limit automatically calculated HUD offsets to keep menu items on screen 2021-05-24 13:14:18 +09:00
Salman Ahmed
d605b6bb8d Fix HUD overlay components bottom positioning logic accounting for combo 2021-05-23 16:22:51 +03:00
Salman Ahmed
6751d79ce8 Fix oversight in HUD overlay components top positioning logic 2021-05-23 16:22:22 +03:00
smoogipoo
36aa186c6e Merge branch 'thread-safe-spectator-client' 2021-05-21 16:00:24 +09:00
smoogipoo
895eb14c5a Forcefully end playing to fix test failures 2021-05-21 14:09:30 +09: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
Dean Herbert
363aec8179 Merge branch 'master' into hit-error-skinnable 2021-05-20 01:51:45 +09:00
Salman Ahmed
013fe4928f Unrevert irrelevant changes 2021-05-19 08:48:21 +03:00
Salman Ahmed
c98d036b48 Merge branch 'master' into catch-hide-combo-workaround 2021-05-18 17:47:20 +03:00
Salman Ahmed
e7d2f42149 Revert "Merge branch 'fix-legacy-skin-test' into catch-hide-combo-workaround"
This reverts commit 380d004683, reversing
changes made to ff419af512.
2021-05-18 17:46:15 +03:00
smoogipoo
c6160d5304 Only ignore online score id for database import 2021-05-18 21:17:41 +09:00
Dean Herbert
10c730b37d Add new default locations for hit bar error displays 2021-05-18 15:50:50 +09:00
Salman Ahmed
380d004683 Merge branch 'fix-legacy-skin-test' into catch-hide-combo-workaround 2021-05-18 09:45:43 +03: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
Dan Balasescu
ea4dfd3374
Merge pull request #12842 from peppy/song-progress-skinnable
Add layout customisation support for `SongProgress`
2021-05-17 20:15:01 +09:00
Dean Herbert
7137315fa7 Remove HitErrorDisplay container and hook up data 2021-05-17 19:46:50 +09:00
Dean Herbert
ecf70c1707 Remove unnecessary container 2021-05-17 18:55:18 +09:00
Dean Herbert
b80768b44a Hook up seeking flow 2021-05-17 18:52:56 +09:00
Dean Herbert
0c433cda86 Update HUDOverlay logic to add automatic layout for bottom-aligned components 2021-05-17 18:52:56 +09:00
Dean Herbert
da0913ca2d Make SongProgress a skinnable component 2021-05-17 18:52:56 +09:00
Dan Balasescu
4151f18f74
Merge pull request #12804 from peppy/fix-autoplay-load-fail-nullref
Fix a potential nullref when starting `Player` with autoplay disabled and beatmap fails to load
2021-05-17 18:40:05 +09:00
Dean Herbert
1f3ae901ce Expose DrawableRuleset for consupmtion by HUD components 2021-05-17 18:23:01 +09:00
Salman Ahmed
34d1490754 Remove null conditional
Shouldn't guard against that here.
2021-05-15 10:00:05 +03:00
Dean Herbert
dc56250a3c
Merge branch 'master' into player-loader-star-rating 2021-05-15 15:39:57 +09:00
Salman Ahmed
7c2fc9b412 Update usage due to nullability removal 2021-05-14 16:12:33 +03:00
Salman Ahmed
0dc3bfd0c1 Apply simple transforms to star rating display when ready if not 2021-05-14 15:55:26 +03:00
Dean Herbert
f5dd18f266
Use existing LoadedBeatmapSuccessfully bool instead
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2021-05-14 16:53:51 +09:00
Dean Herbert
dc576c19b4 Fix a potential nullref when starting Player with autoplay enabled and beatmap fails to load 2021-05-14 15:10:02 +09:00
Dean Herbert
c8b7cfc753 Merge branch 'skin-serialisation' into remove-skinnable-hud-classes 2021-05-13 19:05:08 +09:00
Dean Herbert
106fa97a11 Rename SkinnableElementTargetContainer to SkinnableTargetContainer 2021-05-13 17:07:38 +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
8b9ac86d4b Merge branch 'master' into skin-serialisation 2021-05-13 12:35:06 +09:00
Dan Balasescu
4e7c079560
Merge pull request #12753 from peppy/health-bar-hud-overlay-dependency
Remove downwards dependency from `HUDOverlay` to `HealthDisplay`
2021-05-12 19:27:02 +09:00
Dean Herbert
0a895fff15 Remove remaining test usage of SkinnableXXX HUD components 2021-05-12 18:53:25 +09:00
Dean Herbert
c6f0a6aed3
Merge pull request #12538 from smoogipoo/multiplayer-spectator-screen
Implement the multiplayer spectator screen
2021-05-12 17:24:35 +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
048677846b Change HealthDisplay to be a CompositeDrawable 2021-05-11 23:10:30 +09:00
Dean Herbert
a88a8b7d8d Use ISkinnableComponent wherever possible (and expose as BindableList) 2021-05-11 18:39:15 +09:00
Dean Herbert
0cf3efa16b Remove customisation support for SongProgressDisplay 2021-05-11 18:39:14 +09:00
Dean Herbert
03d5f10744 Fix default health bar not being considered for top-right flow layout 2021-05-11 18:39:14 +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 Drawables 2021-05-11 18:39:14 +09:00
smoogipoo
10a4a5decb Merge branch 'master' into multiplayer-spectator-screen 2021-05-11 17:33:09 +09:00
Dan Balasescu
7d9cdd3bc2
Merge branch 'master' into skin-components-list 2021-05-11 17:27:48 +09:00
Salman Ahmed
004ce95f33 Merge branch 'current-star-rating' into player-loader-star-rating 2021-05-11 09:53:10 +03:00
smoogipoo
0f00ee8640 Change failure text
Although this is not visible anywhere.
2021-05-11 11:35:08 +09:00
smoogipoo
8c9390dc75 Remove replay condition 2021-05-11 11:33:21 +09:00
smoogipoo
6db9e26d48 Fix score submission failures with autoplay 2021-05-11 11:28:09 +09:00
smoogipoo
32f7691349 Fix token failure preventing base.LoadAsyncComplete() 2021-05-11 11:24:35 +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
smoogipoo
35a7226cd8 Add newline 2021-05-10 13:41:04 +09:00
Dean Herbert
52ce16f9f1
Merge branch 'master' into player-loader-star-rating 2021-05-10 12:46:10 +09:00
Dean Herbert
3c3500d070 Merge branch 'skin-components-bind-outwards-health' into remove-hud-overlay-unused-pieces 2021-05-10 12:23:18 +09:00
Dean Herbert
1bbbe80420 Fix missing instances of HealthProcessor caching 2021-05-10 12:22:24 +09:00
Dean Herbert
b274fdf20d Merge branch 'master' into skin-components-bind-outwards-health 2021-05-10 11:13:44 +09:00
Dean Herbert
2bcf1ed306
Merge pull request #12715 from Cublibre/fix-early-exit-crash
Fix InvalidOperationException when exiting a map at the end
2021-05-09 23:21:19 +09:00
Bartłomiej Dach
67cea6e762 Remove explicit binding to accuracy counter from overlay 2021-05-08 21:38:06 +02:00
Bartłomiej Dach
0bc6a026eb
Merge branch 'master' into skin-components-bind-outwards-accuracy 2021-05-08 21:08:53 +02:00
Salman Ahmed
c52f1733be Apply further refactoring to star rating display UX-wise 2021-05-08 21:17:19 +03:00
Christine Chen
25312b3e88 Don't restart completion delegate on exit, revert exit behavior to lazer 2021-05-08 11:47:44 -04:00
Salman Ahmed
655e8d3d86 Remove pattern-matching on nullable with simple .HasValue/.Value 2021-05-08 18:44:44 +03:00
Salman Ahmed
a75347cb2a Remove nullable facade logic 2021-05-08 18:43:17 +03:00
Salman Ahmed
dca5efc59a Remove no longer necessary ruleset info requirement 2021-05-08 13:00:39 +03:00
Salman Ahmed
43090067da Use BeatmapDifficultyCache.GetBindableDifficulty(...) instead 2021-05-08 12:59:59 +03:00
Salman Ahmed
b4801faf32 Pass ruleset info to constructor instead
Follows the way working beatmap is passed, not sure why mods are passed as a bindable though, don't wanna bother too much with that.
2021-05-08 11:57:13 +03:00
Salman Ahmed
7b7e7a86bf Allow null logo facade 2021-05-08 11:47:18 +03:00
Salman Ahmed
0f08c2a479 Add star rating display underneath the beatmap metadata 2021-05-08 11:47:18 +03:00
Christine Chen
8c564a69ed Fix InvalidOperationException when exiting a map at the end 2021-05-07 21:11:03 -04:00
Dean Herbert
a1aeac5677 Remove remaining cruft from SkinnableAccuracyCounter 2021-05-07 18:12:18 +09:00
Dean Herbert
68de870986 Merge branch 'skin-components-bind-outwards-health' into remove-hud-overlay-unused-pieces 2021-05-07 18:11:14 +09:00
Dean Herbert
9fe6e1096a Remove cruft from SkinnableHealthDisplay 2021-05-07 18:11:08 +09:00
Dean Herbert
1cb10c2a22 Remove unnecessary binding logic from HUDOverlay 2021-05-07 17:51:46 +09:00
Dean Herbert
a7acecc52b Merge branch 'skin-components-bind-outwards-health' into remove-hud-overlay-unused-pieces 2021-05-07 17:51:41 +09:00
Dean Herbert
04d35826a3 Merge branch 'skin-components-bind-outwards-accuracy' into remove-hud-overlay-unused-pieces 2021-05-07 17:25:39 +09:00
Dean Herbert
755588258e Update HealthDisplay components to use DI to attach data source 2021-05-07 17:22:45 +09:00
Dean Herbert
01eff7f316 Merge branch 'skin-components-bind-outwards' into skin-components-bind-outwards-score-display 2021-05-07 16:30:08 +09:00
Dean Herbert
93f10330e3 Merge branch 'skin-components-bind-outwards' into skin-components-bind-outwards-accuracy 2021-05-07 16:29:10 +09:00
Dean Herbert
ad398165a2 Update AccuracyCounter components to use DI to attach data source 2021-05-07 16:27:25 +09:00
Dean Herbert
17b93361d5
Merge branch 'master' into skin-components-bind-outwards 2021-05-07 16:20:24 +09:00
Dean Herbert
a2e4fb5b6b Update ScoreCounter components to bind outwards 2021-05-07 16:16:48 +09:00
Dean Herbert
ee23124bb1 Remove no-longer-used interface 2021-05-06 15:18:06 +09:00
Dean Herbert
aff32b0d19 Merge branch 'master' into skin-components-list 2021-05-06 14:17:33 +09:00
Bartłomiej Dach
3cac837acf
Merge branch 'master' into skin-bindables 2021-05-05 20:16:27 +02:00
Dean Herbert
9ec3255c50 Fix SkipOverlay's FadeContent not getting correct state from parent 2021-05-05 17:50:25 +09:00
Christine Chen
1472960319 Hide and disable skip outro overlay on rewind 2021-05-04 21:35:36 -04:00
Dean Herbert
b380be7169 Add xmldoc for updateCompletionState 2021-05-04 16:43:51 +09:00
Dean Herbert
4c7a4239f8 Fix AllowGameplayOverlays potentially not working for outro skip overlay 2021-05-04 16:36:07 +09:00
Dean Herbert
b30145de40 Specify explicit primitive type 2021-05-04 16:35:50 +09:00
Dean Herbert
bb9fa1a25e
Merge branch 'master' into play-storyboard-outro 2021-05-04 14:01:34 +09:00
Dean Herbert
ca4b860920 Move BindValueChanged call to LoadComplete 2021-05-03 20:11:24 +09:00
Dean Herbert
625890381f Update ComboCounter components to use DI to attach data source 2021-05-03 17:43:00 +09:00
Dean Herbert
8b82a07914 Move skin-related interfaces out of HUD namespace 2021-04-30 13:10:42 +09:00
Dean Herbert
5585a7d438 Add basic interfaces for skinnable target containers 2021-04-30 13:10:42 +09:00
Dean Herbert
6442fb819f Split out component from test scene and fix SongProgress 2021-04-30 13:10:42 +09:00
Dean Herbert
434e63d629 Add skin customisation support to song progress display 2021-04-29 16:12:15 +09:00
Dean Herbert
fd587a82ff Replace abstract class with interface, attached to the actual components (not skinnable wrapper) 2021-04-29 16:12:15 +09:00
Dean Herbert
defa350aa7 Set defaults on SkinnableHUDComponent to cancel out relative size default
Specifying locally on each HUD component looks to make more sense.
2021-04-29 16:12:15 +09:00
Dean Herbert
2540d6029c Use AutoSize for SkinnableHudComponents 2021-04-29 16:12:15 +09:00
Dean Herbert
59339aa4fd Add support for x/y position and scale back in 2021-04-29 16:12:15 +09:00
Dean Herbert
1cb8fc9a24 Extract editor classes out of test namespace and add anchor support 2021-04-29 16:12:15 +09:00
Dean Herbert
74fb7cd180 Extract storable attributes to bindables 2021-04-29 16:12:15 +09:00
Dean Herbert
fca173225a Refactor editor selection/blueprint components to be generic 2021-04-29 16:12:14 +09:00
Dean Herbert
2d17219c8f Setup basic test and classes for scale adjustment 2021-04-29 16:12:14 +09:00
Dean Herbert
3b876a43c2
Merge branch 'master' into multiplayer-spectator-screen 2021-04-26 14:12:35 +09:00
Bartłomiej Dach
e937b778f6 Fix potential failure in ensureSourceClockSet()
`ensureSourceClockSet()` was intended to only run when the adjustable
source hasn't been set at all yet. As it turns out permitting it to run
unconditionally can break the state of the underlying interpolated
clock. This is caused by the following factors:

* While the decoupleable clock is running, its `CurrentTime` does not
  come from either the source clock, or the internal stopwatch; it is
  instead calculated using the base `InterpolatingFramedClock` logic.

* A source change of a decoupleable clock seeks the provided source
  clock to the decoupleable's current time.

* When an interpolating clock is seeked (decoupleable clock is also
  an interpolating one), its interpolation state
  (`{Last,Current}InterpolatedTime`) are reset to 0.

* If the interpolating clock determines that its current time is too
  far away from the source's time (which was set when the source is
  changed), it will ignore the source and instead continue to use
  its current time until the source clock has caught up.

Overall, the source change is not really necessary if a source is
already there. The only reason to ensure it was set was to make sure
the first seek of the gameplay clock wasn't performed in decoupled
mode. Therefore, add a guard to make sure the source is only set if
there isn't one already.
2021-04-24 14:19:39 +02:00
Bartłomiej Dach
fdb5490e51 Attempt to explain source initialisation better 2021-04-23 21:56:08 +02:00
smoogipoo
ae2fd2f2e1 Ensure source is set on reset 2021-04-23 18:46:59 +09:00
smoogipoo
f32d00c0d9 Fix post-merge errors 2021-04-21 17:13:01 +09:00
smoogipoo
e78ef05fcf Merge branch 'gcc-abstraction' into multiplayer-spectator-screen 2021-04-21 17:11:14 +09:00
smoogipoo
fb848f7544 Rename to MasterGameplayClock 2021-04-21 16:33:14 +09:00
smoogipoo
ec080fcb32 Move seekOffset back to MasterGameplayClockContainer 2021-04-20 18:25:46 +09:00
smoogipoo
a683e5ec34 Seek using local method 2021-04-20 17:40:11 +09:00
smoogipoo
97fb90d9f4 Move clock processing to base.Seek() 2021-04-20 17:35:59 +09:00
smoogipoo
3d6d26039a Remove unused usings 2021-04-20 14:09:54 +09:00
smoogipoo
88ded95e75 Ensure clock is set in GCC.Start() 2021-04-20 13:56:13 +09:00
smoogipoo
8dd9134e3d Move source clock adjustment application to Start() 2021-04-20 13:09:49 +09:00
smoogipoo
a92ae8ce76 Fix Reset() potentially not resetting to the intended start position 2021-04-20 13:01:42 +09:00
smoogipoo
acbf4580a4 Only set initial source in Reset() 2021-04-19 19:57:00 +09:00
smoogipoo
c7183f92f7 Rename Restart() -> Reset() 2021-04-19 19:57:00 +09:00
Christine Chen
abfa6aec87 Remove completionState parameter 2021-04-19 01:58:19 -04:00
Christine Chen
0b36dd9bce Skip outro overlay and PerformExit() call updateCompletionState() instead of scheduleCompletion()
Co-Authored-By: Marlina José <marlina@umich.edu>
2021-04-19 01:23:21 -04:00
Christine Chen
99fab456b5 Storyboard completion calls updateCompletionState
- If the storyboard ends after the beatmap, call updateCompletionState as if the score processor has completed at that time. (completionProgressDelegate is null here since earlier when the score processor actually completed, updateCompletionState returned after showing the skip overlay.)

- If the storyboard ends before the beatmap does, updateCompletionState simply returns and waits until the score processor is completed.

- If the storyboard and beatmap end at the exact same time, make sure updateCompletionState() is called only once by the score processor completion.

Co-Authored-By: Marlina José <marlina@umich.edu>
2021-04-18 23:25:20 -04:00
Salman Ahmed
f45aed1259 Remove new line between skip overlay fields 2021-04-18 07:25:52 +03:00
Salman Ahmed
f6a09be62d Add further xmldoc 2021-04-18 07:25:49 +03:00
Salman Ahmed
a73bae7a66 Schedule completion when storyboard has actually ended 2021-04-18 07:25:33 +03:00
Christine Chen
c77f838fb0 HasStoryboardEnded doesn't trigger updateCompletionState()
Scores won't be shown prematurely if the storyboard ends before the playable portion of the beatmap.
2021-04-17 21:49:07 -04:00
Christine Chen
97bacbdc76 Show score after the end of the storyboard after it was toggled 2021-04-17 18:10:21 -04:00
Christine Chen
fdcb5e924c Initialize skipOutroOverlay with alpha 0, other small changes 2021-04-17 17:45:38 -04:00
Christine Chen
81be562379 Read StoryboardEndTime directly from Beatmap 2021-04-17 12:28:31 -04:00
smoogipoo
c8d38f9983 Merge branch 'gcc-abstraction' into multiplayer-spectator-screen 2021-04-16 20:51:00 +09:00
smoogipoo
314b1646bd Add xmldoc to MasterGameplayClockContainer 2021-04-16 20:47:09 +09:00
smoogipoo
3a78c19f96 More refactoring/xmldocs 2021-04-16 20:33:29 +09:00
smoogipoo
6301111fa3 Remove ClockToProcess, always process underlying clock 2021-04-16 20:17:21 +09:00
smoogipoo
a7aa3cb263 Merge branch 'gcc-abstraction' into multiplayer-spectator-screen 2021-04-16 20:16:26 +09:00
smoogipoo
f98ffbb1b3 Remove ClockToProcess, always process underlying clock 2021-04-16 20:15:42 +09:00
smoogipoo
5e82f40d67 Merge branch 'master' into gcc-abstraction 2021-04-16 20:14:53 +09:00
smoogipoo
65a6f9f8a4 Merge branch 'fix-initial-spectator-state-callback' into multiplayer-spectator-screen 2021-04-16 18:26:46 +09:00
Christine Chen
33a665224e Clean up skipOutroOverlay if skipping is disabled 2021-04-16 01:03:15 -04:00
Christine Chen
b15838b220 Move storyboard outro logic to DrawableStoryboard 2021-04-16 00:59:10 -04:00
Christine Chen
45c2b72a25
Merge branch 'master' into play-storyboard-outro 2021-04-15 15:11:35 -04:00
Christine Chen
25b8c2f257 Allow skipping storyboard outro
Reuses SkipOverlay by calculating the endtime of the storyboard and using that as a "start point". Upon skipping the outro the score is instantly shown.
When the end of the storyboard is reached the score screen automatically shows up. If the player holds ESC (pause) during the outro, the score is displayed

The storyboard endtime is calculated by getting the latest endtime of the storyboard's elements, or simply returning 0 if there is no storyboard.

Co-Authored-By: Marlina José <marlina@umich.edu>
2021-04-15 13:20:40 -04:00
Dan Balasescu
a19f3bac35
Merge pull request #12408 from peppy/hide-top-right-elements-as-part-of-hud
Hide top-right HUD overlay elements as part of HUD visibility
2021-04-15 23:29:55 +09:00
Dean Herbert
5b06a68b93
Merge pull request #12330 from Cublibre/master
Send a warning notification if device is unplugged and at low battery
2021-04-15 19:21:04 +09:00
smoogipoo
fe3ba2b80e Implement IAdjustableClock on GameplayClockContainer 2021-04-15 19:07:25 +09:00
smoogipoo
7993c2b880 Merge branch 'gcc-abstraction' into multiplayer-spectator-screen 2021-04-15 14:23:12 +09:00
smoogipoo
f56125bd68 Update clock from base class 2021-04-14 21:15:14 +09:00
smoogipoo
54643f53e3 Merge branch 'gcc-abstraction' into multiplayer-spectator-screen 2021-04-14 19:56:58 +09:00
smoogipoo
18c69cdaf7 Split out files 2021-04-14 19:50:22 +09:00
smoogipoo
b53b30c1a9 Fix incorrect offset due to another intermediate Decoupleable clock 2021-04-14 19:33:55 +09:00
smoogipoo
2935f87e70 Fix IsPaused not being bound 2021-04-14 18:29:34 +09:00
smoogipoo
1aa36818df Abstractify GameplayClockContainer 2021-04-14 17:47:11 +09:00
Dean Herbert
7654df94f6
Merge pull request #12395 from frenzibyte/fix-cinema-ignore-settings
Fix beatmap background displayed if storyboard is hidden on "Cinema" mod
2021-04-14 14:31:03 +09:00
Dean Herbert
6044083cf7 Speed up the fade of the HUD a touch 2021-04-14 14:25:16 +09:00
Dean Herbert
65a1270f9a Hide top-right HUD overlay elements as part of HUD visibility 2021-04-14 14:16:18 +09:00
smoogipoo
5b53a2b211 Merge branch 'master' into multiplayer-spectator-screen 2021-04-13 20:07:56 +09:00
Dean Herbert
2c1f20a38f Merge branch 'master' into fix-editor-alt-scroll 2021-04-13 19:36:25 +09:00
Salman Ahmed
36510309d1 Merge EnableUserDim and IgnoreUserSettings to one bindable 2021-04-13 10:58:56 +03:00
Dean Herbert
273099d53c Don't store online IDs from score submission responses for now
Closes remaining portion of https://github.com/ppy/osu/issues/12372.
2021-04-13 14:31:44 +09:00
Christine Chen
f66306a81a Remove IsLowBattery 2021-04-12 11:15:24 -04:00
Christine Chen
43b97fe0ad Refactor PowerStatus (now called BatteryInfo) 2021-04-12 10:52:52 -04:00
smoogipoo
c531e38a36 Rework to create a derived tracked user data instead 2021-04-12 22:00:27 +09:00
Dean Herbert
0eab9daf13 Update existing overlay containers to not block scroll input 2021-04-12 16:41:36 +09:00
Salman Ahmed
1fd4cb8963
Merge branch 'master' into master 2021-04-11 10:19:16 +03:00
Christine Chen
08311abc5e Remove setters, cache CreatePowerStatus() and use a dummy LocalPowerStatus class in test scene 2021-04-10 00:00:21 -04:00
smoogipoo
950e4e05ef Merge branch 'multiplayer-spectator-leaderboard' into multiplayer-spectator-screen 2021-04-09 18:30:21 +09:00
smoogipoo
7cbc8f2695 Add some xmldocs 2021-04-09 18:29:02 +09:00
smoogipoo
bb15baf118 Add initial multiplayer spectator leaderboard 2021-04-09 17:31:14 +09:00
Dean Herbert
51fee79ef1 Fix scores not being accepted due to missing ruleset ID 2021-04-09 15:18:02 +09:00
Christine Chen
59d13b0dd3 Fixed indentation
sorry about the style fixes... I'm using JetBrains Rider from now on.
2021-04-08 21:53:42 -04:00
Christine Chen
493c095535 Fixed code style 2021-04-08 20:28:23 -04:00
Christine Chen
6bccb3aab6 Use DI to implement battery detection, add BatteryCutoff property
- Removed the Xamarin.Essentials package from osu.Game and added it to osu.iOS and osu.Android only.
- iOS and Android implementations use Xamarin.Essentials.Battery, while the Desktop implementation
only returns 100% battery for now.
- Added a BatteryCutoff property to PowerStatus so it can be different for each platform (default 20%, 25% on iOS)
2021-04-08 19:55:11 -04:00
smoogipoo
709016f0d6 Add initial multiplayer screen implementation 2021-04-08 22:07:00 +09:00
Christine Chen
0a6baf670e Send a warning notification if device is unplugged and low battery
- Uses Xamarin.Essentials in osu.Game.PlayerLoader to check battery level
- Encapsulated battery checking in the public BatteryManager class so battery level and plugged in status can be accessed and edited in TestPlayerLoader
- When checking battery level, catch NotImplementedException thrown by Xamarin.Essentials.Battery on non-mobile platforms
- Added visual unit tests for battery notification
  To mock battery status and level, we had to define a batteryManager object in TestPlayerLoader and add a new function ResetPlayerWithBattery()

Co-Authored-By: Marlina José <marlina@umich.edu>
2021-04-07 15:56:50 -04:00
smoogipoo
1f4c17b8f8 Apply changes to AllowScreenSuspension bindable 2021-04-07 21:20:44 +09:00
smoogipoo
cd53074941 Schedule spectator callbacks 2021-04-02 21:27:20 +09:00
smoogipoo
9bc2a486e0 Make SoloSpectator use the new SpectatorScreen class 2021-04-01 22:10:17 +09:00
smoogipoo
9e95441aa6 Rename Spectator -> SoloSpectator 2021-04-01 22:08:52 +09:00
Dean Herbert
0c53b4eb93 Fix wrong counting and add test 2021-03-31 14:09:39 +09:00
Dean Herbert
e0c61f4dc5 Fix retry count not updating correctly
Regressed with changes to player reference retention logic. Could add a
test but the logic is so local now it seems quite redundant.
2021-03-31 13:57:58 +09:00
Salman Ahmed
6aa0c9d8fd Merge branch 'master' into legacy-sprite-text-fonts 2021-03-25 14:52:01 +03:00
Dean Herbert
4269cb7124 Extract majority of token retrieval code out of LoadComponentAsync for legibility 2021-03-25 13:48:41 +09:00
Dean Herbert
d55324585d Change RoomSubmittingPlayer's request implementation to return null on RoomID missing, rather than silently succeeding 2021-03-24 13:23:23 +09:00
Dean Herbert
84b2f9a848 Make token private 2021-03-24 13:20:44 +09:00
Dean Herbert
a0c6c4da35 Rename and refactor token request process to be easier to understand 2021-03-24 13:17:29 +09:00
Dean Herbert
e372e355ef Reorder overrides in SoloPlayer to better follow chronological request order 2021-03-24 13:12:51 +09:00
Dean Herbert
8bed7748d6 Rename token request method to avoid double Request terminology 2021-03-24 13:02:37 +09:00
Dean Herbert
a1c35677ef Add more xmldoc 2021-03-24 13:02:17 +09:00
Dean Herbert
e649a330a4 Implement SoloPlayer's request construction 2021-03-23 18:23:25 +09:00
Dean Herbert
242b847516 Add flow for allowing gameplay to continue even when an error occurs with token retrieval 2021-03-23 18:23:25 +09:00
Dean Herbert
3cd8bf2d7f Move token request construction to LoadAsyncComplete to better allow DI usage 2021-03-23 18:20:55 +09:00
Dean Herbert
571124669d Remove all references to "score submission" from Player 2021-03-23 18:20:55 +09:00
Dean Herbert
194b2d05d3 Update SoloPlayer to derive SubmittingPlayer 2021-03-23 18:20:55 +09:00
Dean Herbert
12f050264a Further split out a player class which submits to "rooms" 2021-03-23 18:20:55 +09:00
Dean Herbert
7045fce555 Move score submission logic in general out to its own Player type 2021-03-23 18:20:55 +09:00
Dean Herbert
6cb14e91c9 Make Player abstract and introduce SoloPlayer 2021-03-23 18:18:49 +09:00
Salman Ahmed
43c1e1d217 Update existing usages
Resolve post-conflict issues
2021-03-13 06:09:07 +03:00
Dean Herbert
b1cd01ceb8 Apply ConfigureAwait changes to game side 2021-03-08 14:36:35 +09:00
Dean Herbert
503f29609a Also set additive mode to match stable 2021-03-07 23:40:09 +09:00
Joehu
3e4dfdb675 Fix pop out count being above displayed count on legacy combo counter 2021-03-06 20:37:27 -08:00
Dean Herbert
4fd8501c86 Remove unnecessary using (underlying enumerator change) 2021-02-26 20:03:03 +09:00
Dean Herbert
90e8308716 Merge branch 'master' into localisation-refactor-framework 2021-02-25 17:28:55 +09:00
Dean Herbert
e82eaffaed Flip order back to original for romanisable strings 2021-02-25 14:14:07 +09:00
Dean Herbert
6a5c6febc5 Add inline comment explaining the retry loop 2021-02-23 13:23:32 +09:00
Salman Ahmed
5493c55da7 Fix silly mistake 2021-02-22 16:59:35 +03:00
Salman Ahmed
5e9040c291 Use "pausing supported" conditional instead 2021-02-22 16:26:35 +03:00
Dean Herbert
8a97e2e28d Update LocalisedString usages to RomanisedString 2021-02-22 19:01:42 +09:00
Dean Herbert
1fd76ea3fb Apply changes to UI components overriding functions with changing signatures 2021-02-22 19:01:42 +09:00
Salman Ahmed
6bac83964a Merge branch 'master' into fix-pofl-on-cooldown 2021-02-22 10:03:27 +03:00
Dean Herbert
38a2124921 Support instant exit if pausing is not allowed in the current game mode 2021-02-20 14:26:50 +09:00
Dan Balasescu
52372fe50d
Merge pull request #11713 from peppy/fix-error-exit-during-results-transition
Fix a potential crash when exiting play during the results screen transition
2021-02-19 18:39:21 +09:00
Salman Ahmed
0771154dd2 Make PauseCooldownActive protected and expose on test class 2021-02-19 11:42:30 +03:00
Salman Ahmed
ddd1dcff88 Attempt pausing every single frame 2021-02-19 11:33:26 +03:00
Dean Herbert
82cc06ca57 Fix new logic not considering fail overlay correctly 2021-02-19 17:26:54 +09:00
Dean Herbert
4c214b74ce Merge branch 'master' into fix-error-exit-during-results-transition 2021-02-19 17:13:55 +09:00
Salman Ahmed
4436585aa4 Keep attempting to pause gameplay while window not active 2021-02-19 10:46:32 +03:00
Salman Ahmed
772471a6d8 Add failing test case 2021-02-19 10:46:31 +03:00
Dean Herbert
691cfa5bc3 Add expanded/compact display modes for GameplayLeaderboard 2021-02-19 16:46:30 +09:00
Dean Herbert
ee9e6fff40 Add bindable flow for expanded leaderboard state 2021-02-19 15:09:41 +09:00