1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-30 13:32:55 +08:00
Commit Graph

4197 Commits

Author SHA1 Message Date
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
Dean Herbert
3208b2c5bf Fix potential nullref if mods are never set 2021-02-17 23:13:51 +09:00
Dean Herbert
403536ef80 Fix ModDisplay potentially being operated on before loaded completely
Closes https://github.com/ppy/osu/issues/11810.
2021-02-17 21:11:46 +09:00
Dean Herbert
9cba350337 Refactor again to better cover cases where the pause dialog should definitely be shown 2021-02-15 15:57:36 +09:00
Dean Herbert
1aea840504 Add missing return in early exit scenario (MakeCurrent isn't compatible with the following Exit) 2021-02-15 15:03:12 +09:00
Dean Herbert
2b69c7b325 Fix incorrect order of operation in pause blocking logic 2021-02-15 14:24:08 +09:00
smoogipoo
d3f0c0730d Merge branch 'master' into non-concurrent-sample-playback 2021-02-12 17:22:15 +09:00
Dean Herbert
2c052d70e8 Only trigger pause cooldown on pause (not exit) 2021-02-09 17:29:18 +09:00
Dean Herbert
cba116ff09 Fix incorrect call parameter for quick exit 2021-02-09 17:28:57 +09:00
Dean Herbert
61b9539864 Fix regression in quick exit logic 2021-02-09 17:14:16 +09:00
Dean Herbert
5bd4f74ddf Fix a potential crash when exiting play during the results screen transition 2021-02-09 16:24:29 +09:00
Dean Herbert
2cac373365
Merge pull request #11706 from smoogipoo/fix-failing-test
Fix failing test
2021-02-08 20:57:38 +09:00
Dean Herbert
156f5bd5df
Add newline between statements 2021-02-08 20:05:16 +09:00
smoogipoo
19368f87fb Fix failing test 2021-02-08 19:59:07 +09:00
smoogipoo
69ca440ae5 Merge branch 'master' into more-accurate-most-common-bpm 2021-02-08 18:40:58 +09:00
Dean Herbert
9e0724b138 Remove unnecessary double resolution of OsuGame 2021-02-08 15:58:41 +09:00
Dean Herbert
93f1a3c1bf
Merge branch 'master' into instant-pause-on-focus-loss 2021-02-08 14:31:40 +09:00
Joehu
d74a1437be Fix player loader metadata not being centred 2021-02-07 15:14:08 -08:00
Salman Ahmed
d0ca2b99a8 Remove unnecessary injected dependency 2021-02-06 20:57:01 +03:00
Salman Ahmed
40ddccf0c7 Do not consider replays for "pause on focus lost"
Replays are not pausable as can be seen in the `canPause` check.
2021-02-06 20:56:08 +03:00
Salman Ahmed
c9db0bf886 Call break time update when loaded 2021-02-06 20:54:13 +03:00
Salman Ahmed
f29938e15d Make last binding game activity more sensible 2021-02-05 20:39:57 +03:00
Salman Ahmed
8d18c7e929 Fix BreakTracker.IsBreakTime not updated properly on breaks set
Causes a pause from focus lose when playing a beatmap that has a break section at the beginning, due to `IsBreakTime` incorrectly set to `false`
2021-02-05 10:28:35 +03:00
Salman Ahmed
e1789c29b1 Use Pause() instead of performUserRequestedExit() to avoid unexpected operations 2021-02-05 10:28:13 +03:00
Salman Ahmed
730e66f0ee Make pausing on window focus lose instant 2021-02-05 09:07:59 +03:00
Dean Herbert
328bd191d4
Merge pull request #11561 from Mysfit/fix-storyboard-samples
Fix storyboard samples continuing to play when the beatmap is paused or intro is skipped
2021-02-01 17:48:08 +09:00
Dean Herbert
f054b38105 Merge branch 'master' into revert-beatmap-controlpointinfo-cloning 2021-01-25 18:25:53 +09:00
Dean Herbert
91ce3df3a9 Bind MultiplayerGameplayLeaderboard to player updates later in load process 2021-01-25 17:44:01 +09:00
Mysfit
b220939650 Fix storyboard samples continuing to play when the beatmap is paused or the intro is skipped. 2021-01-21 17:10:11 -05:00
smoogipoo
de9d075f94 Initial sample + samplechannel rework 2021-01-19 17:11:40 +09:00
Dean Herbert
d6e6b4bbee Revert forced cloning of ControlPointInfo
This reverts commit 3c3e860dbc.

Closes https://github.com/ppy/osu/issues/11491.
2021-01-15 17:34:59 +09:00
smoogipoo
c6e9a6cd5a Make most common BPM more accurate 2021-01-15 14:28:49 +09:00
Mysfit
5f10bcce02 Added beatmap colour settings checkbox and associated tests. 2021-01-13 00:09:22 -05:00
Bartłomiej Dach
25b4628672
Merge branch 'master' into fix-transform-mutation-from-background 2021-01-06 11:04:51 +01:00
Bartłomiej Dach
2b253f6d01 Remove now-unused fields & locals 2021-01-05 22:56:53 +01:00
Dean Herbert
54982dcdd7 Refactor LoadingLayer to avoid applying effects to external drawables
In theory this seemed like a good idea (and an optimisation in some
cases, due to lower fill rate), but in practice this leads to weird edge
cases.

This aims to do away with the operations on external drawables by
applying a dim to the area behind the `LoadingLayer` when required.
I went over each usage and ensured they look as good or better than
previously.

The specific bad usage here was the restoration of the colour on dispose
(if the `LoadingLayer` was disposed in a still-visible state).

I'm aware that the `BeatmapListingOverlay` will now dim completely during
load. I think this is fine for the time being.
2021-01-05 17:31:45 +09:00
Dean Herbert
b3f08b29ca Ensure that all changes to screen backgrounds are on the correct thread 2021-01-05 15:22:50 +09:00
Dean Herbert
20d04d6933 Fix Storyboard's FirstEventTime not finding the true earliest event 2021-01-04 15:16:01 +09:00
mcendu
17abe90c27 move SkinnableHealthDisplay
Similar components are in osu.Game.Screens.Play.HUD while this is not
2020-12-31 20:23:13 +08:00
Dean Herbert
e3a41f6118 Rename variable to make more sense
It needs to be explicitly stated that the users in this list are related
to the *joined* room. Especially since it's sharing its variable name
with `SpectatorStreamingClient` where it has the opposite meaning (is a
list of *globally* playing players).
2020-12-29 14:27:35 +09:00
Bartłomiej Dach
a9822800fc Add more null hinting in GameplayLeaderboard 2020-12-28 13:00:05 +01:00
Dean Herbert
447a55ce11 Fix incorrect null handling in GameplayLeaderboard 2020-12-28 20:16:53 +09:00
Bartłomiej Dach
2ff49f4758 Merge branch 'master' into fix-quit-user-showing-in-leaderboard 2020-12-27 13:02:40 +01:00
Bartłomiej Dach
f75dccc9e4 Explicitly use discard in value changed callback 2020-12-27 13:00:27 +01:00
Bartłomiej Dach
6b6b1514e2 Rename method to be less misleading
As it doesn't only change colour, but also width.
2020-12-27 12:58:37 +01:00
Dean Herbert
1b34f2115f Remove dignostics using 2020-12-27 16:57:23 +09:00
Dean Herbert
d14a8d24b5 Remove assert for now 2020-12-27 16:42:20 +09:00
Dean Herbert
fa0576f47f Move quit colour change implementation to updateColour for better coverage 2020-12-27 13:40:02 +09:00
Bartłomiej Dach
15948de2f0 Fix gameplay leaderboard avatars being clickable 2020-12-26 14:35:14 +01:00
Dean Herbert
71dcbeaf7c Mark user as quit visually on the leaderboard 2020-12-26 12:11:09 +09:00
Dean Herbert
116acc2b5e Add flow for marking user as quit for further handling 2020-12-26 11:35:51 +09:00
Dean Herbert
ff57562956 Fix multiplayer leaderboard not unsubscribing from quit users 2020-12-26 11:35:31 +09:00
Bartłomiej Dach
83fb7c7a1a Re-namespace all files in OnlinePlay directory 2020-12-25 16:50:09 +01:00
Dean Herbert
f991448a3e Re-sort the leaderboard order a maximum of once a second 2020-12-24 21:49:38 +09:00
Bartłomiej Dach
d5fc517fab
Merge branch 'master' into disallow-skipping 2020-12-24 12:35:22 +01:00
Bartłomiej Dach
ee5a6ff9fa Merge branch 'master' into improved-loading-experience 2020-12-24 11:59:46 +01:00
Bartłomiej Dach
4fb2610c82
Merge branch 'master' into frame-bundle-accuracy 2020-12-24 11:20:06 +01:00
Dean Herbert
6bd6888a93 Disallow skipping in multiplayer for now 2020-12-24 16:29:51 +09:00
Dean Herbert
e86e9bfae6 Don't begin gameplay until all users are in a completely prepared state 2020-12-24 15:32:55 +09:00
Dean Herbert
d66e218318 Source display accuracy from header and remove from ScoreProcessor function 2020-12-24 14:57:23 +09:00
Dean Herbert
76935b93b6 Merge branch 'master' into disallow-multiplayer-restart-retry 2020-12-24 13:31:54 +09:00
Bartłomiej Dach
980e85ce25 Refactor player exit logic to convey intention better 2020-12-23 16:16:24 +01:00
Bartłomiej Dach
c839892a4c Merge branch 'master' into fix-multiplayer-server-disconnection-flow 2020-12-23 11:57:43 +01:00
Dean Herbert
f9fd909187 Fix missed inspections 2020-12-23 18:07:38 +09:00
Dean Herbert
3c8f871b28 Move player constructor configuration to dedicated class; add AllowRestart parameter 2020-12-23 17:47:46 +09:00
Dean Herbert
f5d27b40a8 Standardise flow for aborting realtime player exit to avoid double-exit call 2020-12-23 16:35:39 +09:00
Dean Herbert
6517acc510 Add leaderboard display to realtime player 2020-12-22 19:10:08 +09:00
Dean Herbert
8ac76bd524
Merge pull request #11199 from smoogipoo/refactor-player-score-creation
Asyncify player score creation and submission
2020-12-20 17:30:11 +09:00
Bartłomiej Dach
4e5064c4f6 Start accuracy at 1 2020-12-19 21:31:17 +01:00
Bartłomiej Dach
c738a57b39 Fix username overflow in new leaderboard design 2020-12-19 18:48:17 +01:00
Dean Herbert
b3bff281ce
Merge branch 'master' into spectator-driven-leaderboard 2020-12-20 01:13:59 +09:00
Bartłomiej Dach
06a17a9d8c Rename other constant to be distinguishable 2020-12-19 15:18:05 +01:00
Bartłomiej Dach
315a957a0c Extract constant for text transition duration 2020-12-19 15:17:31 +01:00
Bartłomiej Dach
e2cc401c12 Move BDL above LoadComplete() 2020-12-19 15:05:59 +01:00
Bartłomiej Dach
d392e0f27e Extract shared rank-formatting helper 2020-12-19 15:04:22 +01:00
Bartłomiej Dach
22a2c3efdf Add back xmldoc of AddPlayer 2020-12-19 15:04:18 +01:00
Bartłomiej Dach
28ca21b432 Seal banned method & throw better exception 2020-12-19 14:50:09 +01:00
Dean Herbert
beaced3211 Remove unnecessary async state machine 2020-12-19 13:58:56 +09:00
smoogipoo
772dd0287e Split submission and import into two methods 2020-12-19 03:32:05 +09:00
Salman Ahmed
030dce5559 Increase leaderboard score width a bit 2020-12-18 13:09:50 +03:00
Salman Ahmed
c9e75e7908 Add user avatar to leaderboard scores 2020-12-18 13:09:05 +03:00
smoogipoo
eccfc8ccd2 Fix potential cross-reference access 2020-12-18 18:31:49 +09:00
smoogipoo
8826d01559 Create completion progress delegate immediately 2020-12-18 18:20:36 +09:00
smoogipoo
1369b75a86 Fix potential multiple submission 2020-12-18 17:48:42 +09:00
smoogipoo
2958cab239 Remove GotoRanking 2020-12-18 17:47:33 +09:00
Dean Herbert
75c5b99ac5 Merge branch 'gameplay-leaderboard-update' into spectator-driven-leaderboard 2020-12-18 17:33:25 +09:00
Dean Herbert
fdad5e86d3 Remove stray newline 2020-12-18 17:33:18 +09:00
Dean Herbert
470c68d6a5 Merge branch 'gameplay-leaderboard-update' into spectator-driven-leaderboard 2020-12-18 17:30:21 +09:00
Dean Herbert
615352c1e4 Fix shear offset not being included in GameplayLeaderboard's own size 2020-12-18 17:30:11 +09:00
Dean Herbert
668536ce56 Fix vertical size potentially changing during relayout 2020-12-18 17:25:48 +09:00
Dean Herbert
5cc2156801 Merge branch 'gameplay-leaderboard-update' into spectator-driven-leaderboard 2020-12-18 17:20:20 +09:00
Dean Herbert
e82986b763 Fix panel x positions getting weird duration relayouts
Also adjust the transitions a bit to feel better.
2020-12-18 17:19:55 +09:00
Dean Herbert
4cf013c005 Fix animation replacing itself even when score position hasn't changed 2020-12-18 17:19:55 +09:00
Dean Herbert
bca4d83af7 Revert previous player add flow via interface 2020-12-18 17:19:55 +09:00
Dean Herbert
cb3f89d0a5 Hook up with new leaderboard design 2020-12-18 17:13:51 +09:00
Dean Herbert
5e83605026 Merge branch 'gameplay-leaderboard-update' into spectator-driven-leaderboard 2020-12-18 17:07:43 +09:00
Dean Herbert
157a72ec5d Revert previous player add flow via interface 2020-12-18 17:07:38 +09:00
Dean Herbert
96f23a1135 Merge branch 'master' into gameplay-leaderboard-update 2020-12-18 16:56:21 +09:00
Dean Herbert
70cda680c0 Update to match new implementation 2020-12-18 16:55:55 +09:00
Dean Herbert
869cac819d Merge branch 'gameplay-leaderboard-update' into spectator-driven-leaderboard 2020-12-18 16:55:44 +09:00
smoogipoo
2db7433c0b Refactor player score creation and submission process 2020-12-18 16:51:59 +09:00
Dean Herbert
99f2032fdf
Merge branch 'master' into gameplay-leaderboard-update 2020-12-18 16:44:52 +09:00
Dean Herbert
c84807ed5c Refactor implementation 2020-12-18 16:20:54 +09:00
smoogipoo
c80ecec0b4 Reorder methods 2020-12-18 15:36:24 +09:00
Dean Herbert
4af508235e Rename long variable 2020-12-18 15:35:18 +09:00
Dean Herbert
fa524d64f8
Merge branch 'master' into spectator-driven-leaderboard 2020-12-18 13:34:03 +09:00
Salman Ahmed
92bf74ba29 localUser -> localOrReplayPlayer 2020-12-18 03:37:24 +03:00
Salman Ahmed
a8abefcd66 Make GameplayLeaderboardScore a model class 2020-12-18 03:34:33 +03:00
Salman Ahmed
0faf3fdfd3 Update gameplay leaderboard scores with the new design 2020-12-17 15:19:10 +03:00
Dean Herbert
3ff70d331a Mark recordingScore as nullable 2020-12-17 16:17:13 +09:00
Dean Herbert
81b0db0401 Remove double construction of empty replay object 2020-12-17 16:17:08 +09:00
Dean Herbert
de9c21e7d1 Tenatively mark leaderboard class as LongRunningLoad until final integration 2020-12-17 15:48:53 +09:00
Dean Herbert
a01bb3d5a3 Better limit bindable exposure of data class 2020-12-16 16:20:29 +09:00
Dean Herbert
6bce587b59 Pass users in via constructor and correctly unbind on disposal 2020-12-16 16:20:29 +09:00
Dean Herbert
6e2131c164 Don't track local user score in any special way 2020-12-16 16:20:29 +09:00
Dean Herbert
09d0ceb766 Add testing setup to get a better visual idea of how scoreboard will work
fixup! Add method to ScoreProcessor to calculate score and accuracy from statistics
2020-12-16 16:20:29 +09:00
Dean Herbert
d009a0be51 Move class to final location 2020-12-16 16:20:29 +09:00
Dean Herbert
88b3bf06e8 Merge branch 'master' into add-bundle-header 2020-12-16 13:40:15 +09:00
Dean Herbert
ea6c196f81 Remove unused using statement 2020-12-15 16:03:18 +09:00
Dean Herbert
e37089af5e Further code cleanup 2020-12-15 15:44:56 +09:00
Dean Herbert
8b68ccc0ff Rename class and move inside HUD namespace 2020-12-15 15:34:11 +09:00
Dean Herbert
dd5572b20a Remove unnecessary methods and event 2020-12-15 15:26:20 +09:00
Dean Herbert
8362ad37e3 Bring up-to-date with code changes 2020-12-15 15:22:14 +09:00
Dean Herbert
70e5d4495a
Merge branch 'master' into ingame-leaderboard-general-implementation 2020-12-15 15:14:56 +09:00
Dean Herbert
ae22f75406 Bind replay recording score to judgement changes 2020-12-14 17:33:33 +09:00
Dean Herbert
1793385e96 Pass a score to the replay recorder to allow reading more general scoring data 2020-12-14 16:52:14 +09:00
Dean Herbert
0d7f53b0b9 Fix gameplay loading too fast the first time entering a beatmap 2020-12-14 14:21:21 +09:00
Bartłomiej Dach
d457926523
Merge branch 'master' into fix-player-load-stuck-at-empty-screen 2020-12-11 20:49:27 +01:00
Dean Herbert
2dd5911256 Rename method to better match purpose 2020-12-11 14:44:01 +09:00
Dean Herbert
01bd765384 Simplify pause handling by moving transform logic to bindable change event 2020-12-10 17:42:47 +09:00
Dean Herbert
679a550d83 Fix single threaded seeking not working due to unnecessary seek call 2020-12-10 17:42:28 +09:00
Dean Herbert
437c0506ce Refactor to allow for special disposal handling to still work 2020-12-10 16:56:56 +09:00
Dean Herbert
67dd7be71a Move cancelLoad call to OnResuming
This has no real effect; it just feels more readable to me.
2020-12-10 16:34:59 +09:00
Dean Herbert
491ab74059 Schedule pushWhenLoaded once ever
Previously it was being scheduled another time each OnResume, resulting
in more and more calls as a user retries the same beatmap multiple
times.

To simplify things I've decided to just schedule once ever. This means
that on resuming there's no 400ms delay any more, but in testing this
isn't really an issue (load time is still high enough that it will never
really be below that anyway). Even if gameplay was to load faster, the
animation should gracefully proceed.
2020-12-10 16:33:30 +09:00
Dean Herbert
cc996ec7fc Ensure player is consumed at the point of scheduled push running the first time 2020-12-10 16:32:14 +09:00
Dean Herbert
a147b7186d Remove unnecessary call to updateVisibility 2020-12-01 14:01:34 +09:00
Dean Herbert
63ff722963 Fix code formatting 2020-12-01 14:00:54 +09:00
Ryan Zmuda
e102f2e8fa Moved enum to bottom, change defualt bind to Shift-Tab, Fixed Notification 2020-11-30 21:38:16 -05:00
Ryan Zmuda
9145557522 Revert "Revert "forgot to remove something... sorry""
This reverts commit 6478bed431.
2020-11-29 23:15:12 -05:00
Ryan Zmuda
6478bed431 Revert "forgot to remove something... sorry"
This reverts commit a780a8bbd8.
2020-11-29 23:14:43 -05:00
Ryan Zmuda
a780a8bbd8
forgot to remove something... sorry 2020-11-29 21:52:58 -05:00
Ryan Zmuda
3994cf082d add keybind for in game overlay 2020-11-29 20:59:02 -05:00
Dean Herbert
3346c06aca Rename variable/text to be more verbose as to toggle purpose 2020-11-26 20:04:44 +09:00
Dean Herbert
1d82557d9f Avoid blocking global actions when skip overlay is not actually active 2020-11-24 15:42:14 +09:00
Dean Herbert
72b8eef36e Add ability to pause/resume replay playback 2020-11-24 15:41:56 +09:00
Dean Herbert
2db42f8e67 Remove default allowRetry parameter value from ResultsScreen 2020-11-20 14:35:44 +09:00
Bartłomiej Dach
b344a13734 Add support for previewing tracks on spectator screen 2020-11-14 17:08:27 +01:00
Bartłomiej Dach
d55eae55ad
Merge branch 'master' into fix-combo-break-rewind-replay 2020-11-13 21:46:32 +01:00
Bartłomiej Dach
405407ff9e
Merge branch 'master' into fix-combo-break-sounds 2020-11-13 21:07:34 +01:00
Dean Herbert
4b5743d993 Fix combo break sound not playing after rewind 2020-11-13 13:38:14 +09:00
Dean Herbert
43626573df Fix combo break sounds playing when seeking 2020-11-13 13:36:19 +09:00
smoogipoo
6f7a1dd57d Merge branch 'master' into hitobject-pooling-base 2020-11-11 17:09:18 +09:00
Dean Herbert
11cf04eed1 Fix frames potentially getting added to spectator replay in wrong format
The way spectator currently works, the `Spectator` screen is responsible
for adding new frames to the replay, even when it has a child
(`SpectatorPlayer`) present.

There was a possibility that a new play had already started, and on
returning to the Spectator screen (to initialise the new play) there
would be a brief period where the Player instance is still reading from
the replay, the `userBeganPlaying` call had not yet finished
initialising the new target replay, and `userSentFrames` is run
(asynchronously), writing frames to the previous replay using the
incorrect ruleset instance).

To make this work, it doesn't `Schedule` frame addition to the replay
(making things a bit unsafe). Changing this itself isn't such a simple
one to do, so I instead opted to fix this via locking.

Closes https://github.com/ppy/osu/issues/10777.
2020-11-11 13:39:43 +09:00
smoogipoo
66213f2ed0 Add pooling support to DrawableRuleset + Playfield 2020-11-10 23:56:32 +09:00
Dean Herbert
07166ec819 Fix a couple of remaining unnecessary casts 2020-11-06 13:29:47 +09:00
Dean Herbert
1b2bd6a8c9 Remove redundant base call 2020-11-03 20:10:13 +09:00
Dean Herbert
3e29e468ea Ensure "start watching" button starts in a disabled state 2020-11-03 20:06:42 +09:00
Dean Herbert
414f65c1ef Merge branch 'master' into spectator-listing 2020-11-02 15:48:21 +09:00
Dan Balasescu
04178e9458
Merge branch 'master' into spectator-replay-watcher 2020-11-02 14:54:51 +09:00
Dan Balasescu
1b53e6c782
Merge branch 'master' into sample-lookup-improvements 2020-11-02 13:04:35 +09:00
Bartłomiej Dach
716458344f Ensure spectator player is unsubscribed to prevent leak 2020-11-01 16:13:19 +01:00
Bartłomiej Dach
b7696c85ad Add more xmldocs 2020-11-01 15:23:03 +01:00
Dean Herbert
a088151e58 Merge branch 'spectator-replay-watcher' into spectator-listing 2020-10-31 16:22:10 +09:00
Dean Herbert
79aecc9a98
Merge branch 'master' into spectator-replay-watcher 2020-10-30 16:31:24 +09:00
Dan Balasescu
0ef1459f4b
Merge pull request #10621 from peppy/hud-momentary-visibility
Add momentary HUD toggle
2020-10-30 15:40:54 +09:00
Dean Herbert
8928aa6d92 Add key binding to show HUD while held 2020-10-30 14:19:40 +09:00
Dean Herbert
b4eda65383 Commit missing pieces 2020-10-30 13:53:51 +09:00
Dean Herbert
9bb86ccb83 Change shift-tab to cycle available HUD visibility modes 2020-10-30 13:09:22 +09:00
Dean Herbert
2ea4aa0a37 Fix incorrect specification on some sample lookups 2020-10-30 11:59:41 +09:00
Dean Herbert
bca317b151 Remove excess using statement 2020-10-28 23:43:16 +09:00
Dean Herbert
e1bf751dac Merge branch 'spectator-replay-watcher' into spectator-listing 2020-10-28 23:17:50 +09:00
Dean Herbert
5d02de29ca Fix attempt to change ruleset/beatmap bindables while screen is not active 2020-10-28 22:50:45 +09:00
Dean Herbert
25ab3a5fea Construct replay after being sure a ruleset is available to avoid nullrefs 2020-10-28 22:10:37 +09:00
Dean Herbert
dd2f44f393 Add basic "currently watching" text to player to signify that spectator is active 2020-10-28 19:43:06 +09:00
Dean Herbert
93fd913876 Add setting to allow automatically downloading during a spectating session 2020-10-28 19:43:06 +09:00
Dean Herbert
9807089834 Fix screen exit potentially occuring during transition 2020-10-28 19:43:06 +09:00
Dean Herbert
4df8119852 Add missing schedule 2020-10-28 19:43:06 +09:00
Dean Herbert
93e3e1a4db Don't inherit ReplayPlayer to make results screen work correctly 2020-10-28 19:02:38 +09:00
Dean Herbert
344ff8f4bc "Improve" visuals of spectator screen 2020-10-28 19:02:38 +09:00
Dean Herbert
2d73dfbe39 Add more safety around beatmap panel and button display logic 2020-10-28 19:02:38 +09:00
Dean Herbert
c97feb09bf Allow continuing to automatically spectate user from results screen 2020-10-28 19:02:38 +09:00
Dean Herbert
16b0a7b33e Add button flow to allow resuming watching after exiting manually 2020-10-28 19:02:38 +09:00
Dean Herbert
6169349f7c Fix switching to new beatmap not working correctly 2020-10-28 17:44:11 +09:00
Dean Herbert
730cc645fb Avoid reconstructing ruleset for each frame bundle 2020-10-28 16:33:52 +09:00
Dean Herbert
48b0357e7d Fix "finished playing" events handled for potentially incorrect user 2020-10-28 16:11:14 +09:00
Dean Herbert
0a7f3dc19b
Avoid null reference on finalization
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-10-28 07:29:07 +09:00
Dean Herbert
d5e0fa322b Fix a couple of inspections 2020-10-27 22:30:45 +09:00
Dean Herbert
2cacdaa11b Add basic beatmap download and play flow 2020-10-27 19:28:34 +09:00
Dean Herbert
42b3aa3359 Fix spectating when starting from a point that isn't at the beginning of the beatmap 2020-10-27 18:58:37 +09:00
Dean Herbert
851d45d2eb Add sane pausing logic 2020-10-27 18:58:37 +09:00
Dean Herbert
3ec3321a3d Add missing space 2020-10-27 18:58:37 +09:00
Dean Herbert
b737a8bf6e Add field to Replay denoting whether the full replay have been received or not 2020-10-27 18:58:37 +09:00
Dean Herbert
9bac8f3792 Add null check on replay as safety measure 2020-10-27 18:58:37 +09:00
Dean Herbert
ac4671c594 Add basic implementation of spectator screen 2020-10-27 18:58:37 +09:00
Dean Herbert
5fd97bd043 Add basic spectator screen 2020-10-27 18:58:37 +09:00
Dean Herbert
9cfb81589e Use bindable flow instead 2020-10-27 14:10:12 +09:00
Dean Herbert
6853da459d Move sample pausing logic out of FrameStabilityContainer 2020-10-27 13:54:33 +09:00
Dean Herbert
b86347dc81 Merge branch 'master' into spectator 2020-10-26 13:39:07 +09:00
Bartłomiej Dach
0542a45c43 Change to manual adjustment add/remove 2020-10-25 12:33:35 +01:00
Bartłomiej Dach
85e14f3f0c Shorten fade duration to make fade out snappier 2020-10-25 00:40:11 +02:00
Bartłomiej Dach
e101ba5cba Move volume manipulations to player loader 2020-10-25 00:40:11 +02:00
Bartłomiej Dach
73174961f0 Rework animation sequence for readability 2020-10-24 22:30:08 +02:00
Dean Herbert
4fca7675b0 Don't send spectate data when an autoplay mod is active 2020-10-23 14:47:21 +09:00
Dan Balasescu
bd4e0e1a60
Merge branch 'master' into epilepsy-warning 2020-10-20 17:43:37 +09:00
Dean Herbert
55d08fad5c Remove unused field 2020-10-20 15:18:15 +09:00
Dean Herbert
7a68636f71 Adjust fade sequence and durations to feel better 2020-10-20 15:03:33 +09:00
Dean Herbert
4e57751ca1 Fix background dim application to avoid overdraw, transition smoother 2020-10-20 15:03:12 +09:00
Dean Herbert
80b1f816c7 Merge branch 'master' into hide-hud-during-break-time 2020-10-20 14:19:04 +09:00
Dean Herbert
c57fecd1fc Update comment to make it clear this is a hack 2020-10-20 12:43:57 +09:00
Bartłomiej Dach
fd4bab85cf Merge branch 'master' into epilepsy-warning 2020-10-20 01:06:46 +02:00
Bartłomiej Dach
05251c646e Fade volume back up on pop out 2020-10-20 01:06:20 +02:00
Bartłomiej Dach
1fc22bdbff Only show warning once on given map 2020-10-20 00:59:36 +02:00
Bartłomiej Dach
a164d330e5 Improve feel of transition 2020-10-20 00:51:31 +02:00
Bartłomiej Dach
6e50ae0458 Reformulate push sequence code 2020-10-20 00:22:30 +02:00
Bartłomiej Dach
8505903041 Move warning construction to load() 2020-10-20 00:08:05 +02:00
Bartłomiej Dach
aeca61eb3e Split warning to separate file 2020-10-19 23:48:02 +02:00
Bartłomiej Dach
44279ed347 Remove unused using directive 2020-10-19 23:46:09 +02:00
Salman Ahmed
6e4b28ed1e Different version of epilepsy warning display 2020-10-20 00:32:44 +03:00
Joehu
fef6e55b39 Remove unused using and field 2020-10-19 12:32:16 -07:00
Joehu
dbda18acea Fix autoplay/replay settings going off screen on some legacy skins 2020-10-19 12:04:23 -07:00
Dan Balasescu
b5cadd6a2c
Merge pull request #10555 from peppy/fix-score-display-zero-padding
Fix incorrect zero padding for classic scoring mode
2020-10-19 15:54:12 +09:00
Dean Herbert
ba99c5c134 Remove rolling delay on default combo counter 2020-10-19 14:39:02 +09:00
Dean Herbert
cb1784a846 Fix score displays using non-matching zero padding depending on user score display mode 2020-10-19 14:05:28 +09:00
Dan Balasescu
b7c12ff61e
Merge pull request #10530 from peppy/fix-catch-dual-combo-counter
Fix osu!catch showing two combo counters for legacy skins
2020-10-16 23:52:14 +09:00
smoogipoo
dfbc0965e4 Merge branch 'master' into peppy/skinnable-health-display 2020-10-16 23:17:17 +09:00
Dean Herbert
8a3bce3cc3 Fix osu!catch showing two combo counters for legacy skins 2020-10-16 18:20:17 +09:00
Dean Herbert
a774de2270 Also add support in LegacyComboCounter 2020-10-16 17:52:22 +09:00
Dean Herbert
77bf050a80 Ignore IgnoreHits for flashiness 2020-10-16 17:24:43 +09:00
Dean Herbert
f0b15813e2 Add support for both legacy styles 2020-10-16 17:08:46 +09:00
Dean Herbert
a810f56ec8 Move "flash on hit only" logic to binding 2020-10-16 17:08:46 +09:00
Dean Herbert
c0a1f2158c Add basic component structure for skinnable health displays 2020-10-16 17:08:46 +09:00
Dan Balasescu
583fdc3a95
Merge pull request #10510 from peppy/skinnable-accuracy-display
Add legacy skinning support for accuracy display
2020-10-15 21:20:48 +09:00
Dan Balasescu
5d8cf87155
Merge pull request #10511 from peppy/bottom-error-display
Add support for bottom-anchored hit error display
2020-10-15 20:51:09 +09:00
Dan Balasescu
70b050f212
Merge branch 'master' into skinnable-accuracy-display 2020-10-15 20:28:57 +09:00
Dan Balasescu
1ce0e83e59
Merge branch 'master' into skinnable-score-display 2020-10-15 19:16:03 +09:00
Dan Balasescu
93dfbd5d9e
Merge pull request #10505 from peppy/skin-disabler-refactor
Move ISampleDisabler implementation to Player and FrameStabilityContainer
2020-10-15 19:14:52 +09:00
Dean Herbert
70806deba1 Add support for bottom-anchored hit error display 2020-10-15 19:14:02 +09:00
Dean Herbert
d76365ed1b Make container readonly 2020-10-15 18:38:41 +09:00
Dan Balasescu
5640d33d1a
Merge branch 'master' into skin-disabler-refactor 2020-10-15 18:32:50 +09:00
Dean Herbert
6983978c98 Correct top-right element offset by finding the lower top anchor element 2020-10-15 18:30:44 +09:00
Dean Herbert
b31a3fbabb Add test 2020-10-15 18:11:30 +09:00
Dean Herbert
254eba9008 Add and consume skinnable accuracy counter 2020-10-15 17:53:16 +09:00
Dean Herbert
90ff8ff050 Merge branch 'skinnable-combo-counter' into skinnable-score-display 2020-10-15 17:52:06 +09:00
Dean Herbert
37e9f331ad Simplify score font lookup 2020-10-15 17:49:55 +09:00
Dean Herbert
43e5cb90e2 Merge branch 'skinnable-combo-counter' into skinnable-score-display 2020-10-15 17:30:29 +09:00
Dean Herbert
9f51327e4b Fix completely incorrect default positioning logic 2020-10-15 17:29:40 +09:00
Dean Herbert
5b5ba7df93 Remove unused offset 2020-10-15 17:22:34 +09:00
Dean Herbert
d8d085ede9 Align top-right elements with lowest point in score display 2020-10-15 17:14:42 +09:00
Dean Herbert
74c031cfbb Fix ModOverlay not including "UNRANKED" text in size 2020-10-15 17:14:42 +09:00
Dean Herbert
b210147c2e Update combo counter to read from default score display's position correctly 2020-10-15 17:14:42 +09:00
Dean Herbert
950c47287c Fix positioning of score display in HUD overlay 2020-10-15 17:14:42 +09:00
Dean Herbert
e1da64398e Add and consume skinnable score counter 2020-10-15 17:14:42 +09:00
Dean Herbert
219cbec6bd Split out DefaultScoreCounter and make ScoreCounter abstract 2020-10-15 16:32:30 +09:00
Dean Herbert
d5f2aab52e Tidy up SkinnableComboCounter class slightly 2020-10-15 15:37:40 +09:00
Dean Herbert
e0210f5c4c Ignore failed casts to make tests happy 2020-10-14 23:52:58 +09:00
Dean Herbert
e3eaba7b2c Move ISampleDisabler implementation to Player and FrameStabilityContainer 2020-10-14 19:39:48 +09:00
Dean Herbert
ac4f56403d Adjust size/position 2020-10-14 19:16:34 +09:00
Dean Herbert
7f5ea57bd4 Clean-up pass (best effort) on LegacyComboCounter 2020-10-14 19:16:34 +09:00
Dean Herbert
9bb8a43bce Combine LegacyComboCounter and ComboCounter classes 2020-10-14 19:16:34 +09:00
Dean Herbert
fbbea48c8c Add score text skinnability 2020-10-14 19:16:34 +09:00
Dean Herbert
2fce064e32 Add basic legacy combo counter and updating positioning logic 2020-10-14 19:16:34 +09:00
Dean Herbert
6a6718ebab Allow bypassing origin/anchor setting of skinnable components
It makes little sense to set these when using RelativeSizeAxes.Both
2020-10-14 19:16:34 +09:00
Dean Herbert
899bac6ca5 Rename catch combo counter for clarity 2020-10-14 19:16:34 +09:00
Dean Herbert
f5623ee21e Setup skinnable combo counter component with default implementation 2020-10-14 19:16:34 +09:00
Dean Herbert
60603d2918 Add skin components and interfaces 2020-10-14 19:16:34 +09:00
Dean Herbert
98acf1e31d Make field read only 2020-10-14 19:16:25 +09:00
Dean Herbert
a7f8e26e35 Adjust bottom-right elements positions based on song progress display 2020-10-14 18:51:53 +09:00
Dean Herbert
0cf3e90904 Update SongProgress height based on its dynamic height during resize 2020-10-14 18:44:22 +09:00
Dean Herbert
ace9fbc8d3 Confine available area for HUD components to excluse the song progress area 2020-10-14 18:44:22 +09:00
Dean Herbert
de6fe34361 Bind to local bindable and combine dual bindings 2020-10-11 21:51:48 +09:00
Dean Herbert
5fcdee6fd8 Remove cast and expose as IBindable 2020-10-11 21:46:55 +09:00
unknown
6a52c98a42 make IsBreakTime its own bindable and bind it to BreakTracker on load 2020-10-11 06:15:20 +08:00
unknown
7bbdd6ab25 expose break time bindable 2020-10-10 21:07:17 +08:00
Dean Herbert
8dddd8aff5
Merge pull request #9883 from swoolcock/confine-during-gameplay
Add "During Gameplay" option for mouse confining
2020-10-08 20:25:27 +09:00
Dean Herbert
dbdb25ccf7 Move reset logic to OsuGame 2020-10-08 18:29:19 +09:00
Dean Herbert
43a575484a Remove pointless comments 2020-10-08 18:29:09 +09:00
Dean Herbert
0f6eb9d4cb Ensure music playback is stopped when retrying by any means 2020-10-07 17:40:54 +09:00
Shane Woolcock
2e0a9f53c1 Add test coverage 2020-10-07 17:52:39 +10:30
Shane Woolcock
8b8eb00bd7 Permit nulls rather than casting to OsuGame 2020-10-07 16:16:58 +10:30
Shane Woolcock
485bd962c7 Also reset LocalUserPlaying in OnSuspending 2020-10-07 16:15:17 +10:30
Shane Woolcock
7fff762dfc Rename IsGameplay 2020-10-07 16:14:49 +10:30
Shane Woolcock
8847b88e65 Fix unit tests trying to resolve OsuGame 2020-10-07 11:44:41 +10:30
Shane Woolcock
ec12a21088 Merge branch 'master' into confine-during-gameplay
# Conflicts:
#	osu.Game/Overlays/Settings/Sections/Input/MouseSettings.cs
2020-10-07 11:07:00 +10:30
Shane Woolcock
478f2dec96 Maintain the current gameplay state in OsuGame 2020-10-06 22:39:35 +10:30
Shane Woolcock
782fc1d60f Use OsuGame.OverlayActivationMode rather than per-Player 2020-10-06 20:27:35 +10:30
Dean Herbert
d5782c95bd
Merge branch 'master' into confine-during-gameplay 2020-10-06 18:05:15 +09:00
Dean Herbert
9d7880afda Make SettingsItem conform to IHasCurrentValue 2020-10-06 17:18:54 +09:00
Dean Herbert
e4710f82ec Fix sample disabled status not being updated correctly from seek state 2020-10-05 14:27:51 +09:00
Shane Woolcock
a483dfd2d7 Allow confineMouseTracker to be null 2020-10-05 11:54:39 +10:30
Shane Woolcock
5859755886 Use current OverlayActivationMode to determine confine logic 2020-10-05 11:11:46 +10:30
Shane Woolcock
4b6f893408 Merge branch 'master' into confine-during-gameplay
# Conflicts:
#	osu.Game/Configuration/OsuConfigManager.cs
#	osu.Game/OsuGame.cs
#	osu.Game/Screens/Play/Player.cs
2020-10-05 10:23:37 +10:30
Bartłomiej Dach
6f2b991b32 Ensure true gameplay rate is finite when paused externally 2020-10-04 14:54:51 +02:00
Bartłomiej Dach
1f0620ffd4 Replace assignment references to HitResult.Miss with Judgement.MinResult 2020-10-02 23:31:24 +02:00
Bartłomiej Dach
2b1ef16f89 Replace comparison references to HitResult.Miss with IsHit 2020-10-02 23:31:24 +02:00
Dean Herbert
367b35bb10 Merge branch 'master' into fix-storyboard-sample-pausing 2020-09-30 22:42:26 +09:00
Dean Herbert
b0f8e11bd4 Fix incorrect caching 2020-09-30 17:34:14 +09:00
Dean Herbert
7f579850dd
Merge branch 'master' into fix-editor-silence-on-seek 2020-09-30 17:03:23 +09:00
Dean Herbert
414c40d298 Reverse inheritance order of SkinnableSound's pause logic 2020-09-30 15:45:14 +09:00
Dean Herbert
136843c8e4 Make DrawableStoryboardSample a SkinnableSound
Allows sharing pause logic with gameplay samples.
2020-09-29 14:25:39 +09:00
Dean Herbert
74e74e1c31 Fix pause loop sound not working because paused 2020-09-29 14:20:41 +09:00
Dean Herbert
c5f6b77bba Add missing cached type 2020-09-29 13:42:17 +09:00
Dean Herbert
d6f3beffb6 Use existing bindable flow instead 2020-09-29 12:50:17 +09:00
Dean Herbert
4f0c0ea5f9 Fix hit samples playing while paused / seeking in the editor 2020-09-28 18:17:47 +09:00
Dean Herbert
26ba7d3100 Remove unused method (was moved to a more local location) 2020-09-25 13:20:19 +09:00
Dean Herbert
7df8b5bce7 Merge branch 'master' into fix-spinner-rpm-user-rate-adjust 2020-09-25 13:17:03 +09:00
Joehu
c5b684bd2e Fix typo in log when beatmap fails to load 2020-09-23 00:30:20 -07:00
Dean Herbert
3276b9ae9c Fix fail animation breaking on post-fail judgements 2020-09-22 15:08:53 +09:00
Dean Herbert
508278505f Make local clock private 2020-09-21 19:40:57 +09:00
Dean Herbert
3f788da06d Fix SPM changing incorrectly with playback rate changes 2020-09-21 19:39:54 +09:00
smoogipoo
06c49070b1 Remove player collection settings 2020-09-11 16:04:09 +09:00
Dean Herbert
d3957e6155 Move title specification for settings groups to constructor
Using an abstract property was awkward for this as it is being consumed
in the underlying constructor but could not be dynamically set in time from a
derived class.
2020-09-09 18:50:31 +09:00
Lucas A
82e314da59 Fix merge conflicts. 2020-09-03 21:56:47 +02:00
Dan Balasescu
84b3604192
Merge branch 'master' into game-overlay-activation-mode 2020-09-03 13:34:22 +09:00
smoogipoo
7e1844ed77 Fix track adjusments being reset incorrectly 2020-09-01 18:07:19 +09:00
smoogipoo
26b4226b55 Fix ModTimeRamp not working 2020-09-01 16:55:10 +09:00
Dan Balasescu
f08e7828da
Merge branch 'master' into beatmap-track-rework 2020-09-01 16:06:38 +09:00
Lucas A
dd093f44d8 Cast base immutable bindable to mutable for testing purposes and make InitialOverlayActivationMode property protected 2020-08-31 11:26:55 +02:00
Dean Herbert
a171d0e292 Remove unused methods and classes 2020-08-31 18:14:22 +09:00
Dean Herbert
3b03116179 Remove unnecessary using statement 2020-08-21 16:45:59 +09:00
Dean Herbert
f7e4feee34 Update remaining Player components to use WorkingBeatmap again 2020-08-21 15:25:57 +09:00
Dean Herbert
357fb3a10e Merge branch 'master' into beatmap-track-rework 2020-08-21 12:53:09 +09:00
Dean Herbert
5714c761eb
Merge pull request #9768 from frenzibyte/allow-counter-customize-sprite-text
Allow providing custom sprite text for RollingCounter<T>
2020-08-20 00:14:48 +09:00
Salman Ahmed
8f1a71c6b1 Remove counter sprite attributes for not being of any reasonable use 2020-08-19 07:44:45 +03:00
Dean Herbert
93a8bc3d5a Remove local reset method in GameplayClockContainer 2020-08-17 22:36:09 +09:00
Dean Herbert
d9debef156 Add explicit LoadTrack method 2020-08-17 15:38:16 +09:00
Lucas A
589d4eeb52 Remove setting. 2020-08-16 17:18:40 +02:00
Shane Woolcock
85b3fff9c8 Update mouse confine when gameplay state changes 2020-08-16 23:11:09 +09:30
Dean Herbert
71f4e753f0 Merge branch 'master' into beatmap-track-rework 2020-08-16 22:35:32 +09:00
Bartłomiej Dach
a426ff1d5b Refactor gameplay menu overlay to fix regression 2020-08-15 14:18:50 +02:00
Dean Herbert
e465afa280 Merge branch 'master' into beatmap-track-rework 2020-08-14 20:02:43 +09:00
Dan Balasescu
b7ae70ff96
Merge branch 'master' into fix-skinnable-sound-mute 2020-08-14 19:01:32 +09:00
Lucas A
84cb36b6a8 Defer subscriptions for updateOverlayActivationMode() to OnEntering() 2020-08-13 10:57:18 +02:00
Dean Herbert
99bea6b8e9 Add missing null check (player construction is potentially delayed now) 2020-08-13 12:52:35 +09:00
Dean Herbert
27cd9e119a Delay beatmap load until after transition has finished
Previously the beatmap would begin loading at the same time the
`PlayerLoader` class was. This can cause a horribly visible series of
stutters, especially when a storyboard is involved.

Obviously we should be aiming to reduce the stutters via changes to the
beatmap load process (such as incremental storyboard loading,
`DrawableHitObject` pooling, etc.) but this improves user experience
tenfold in the mean time.
2020-08-13 12:04:32 +09:00
smoogipoo
c0031955c9 Update with further framework changes 2020-08-12 01:50:18 +09:00
smoogipoo
e47a1eb313 Use adjustable ITrack 2020-08-12 01:41:21 +09:00
smoogipoo
eec94e1f53 Make track not-null in GameplayClockContainer/FailAnimation 2020-08-12 00:51:43 +09:00
smoogipoo
c66a14e9c5 Remove beatmap from FailAnimation 2020-08-11 12:37:48 +09:00
Lucas A
f74e162bbc Fix overlay activation mode being updated when player is not current screen. 2020-08-10 20:27:42 +02:00
Lucas A
052bb06c91 Add ability to open overlays during gameplay breaks. 2020-08-10 20:13:50 +02:00
Dean Herbert
365aae799e
Merge branch 'master' into fix-skinnable-sound-mute 2020-08-10 23:55:51 +09:00
Bartłomiej Dach
9a09f97478 Extract constant to avoid double initial value spec 2020-08-08 21:21:30 +02:00
Dean Herbert
e3105fd4c8 Add more resilient logic for whether to avoid playing SkinnableSound on no volume 2020-08-06 19:16:26 +09:00
smoogipoo
2e3ecf71c7 Pass track from Player to components 2020-08-06 18:31:08 +09:00
smoogipoo
5c05fe3988 Expose track from MusicController 2020-08-06 16:24:14 +09:00
smoogipoo
6e42b8219c Move track to MusicController, compiles 2020-08-06 16:24:14 +09:00
smoogipoo
9a00ad48c6 Update components to use extension methods 2020-08-06 14:43:39 +09:00
Lucas A
71895964f4 Refactor overlay activation logic and reword tip. 2020-08-05 11:21:09 +02:00
Lucas A
30c7a6f6a7 Fix CI issue and use method instead of triggering change on bindable. 2020-08-03 21:33:18 +02:00
Lucas A
242a035f7e Apply review suggestions. 2020-08-03 21:25:45 +02:00
Lucas A
25ebb8619d Add tests. 2020-08-03 16:04:11 +02:00
Lucas A
fe97d472df Enable back overlays when a replay is loaded. 2020-08-02 21:53:13 +02:00
Lucas A
f1ba576438 Disable overlay activation when in gameplay. 2020-08-02 21:34:35 +02:00
Joe Yuan
e795b1ea31 Failing effect displays vertically 2020-07-28 00:42:48 -07:00
Dean Herbert
ee05d5cb14 Remove no-longer-necessary play trigger on skin change 2020-07-23 09:06:15 +09:00
Dean Herbert
fea6389f69 Hide HUD elements during break time by default 2020-07-22 12:41:06 +09:00
Gagah Pangeran
95f52573f7 change font size 2020-07-21 15:58:25 +07:00
Gagah Pangeran
055e31ddd5 update minor 2020-07-20 18:37:02 +07:00
Gagah Pangeran
6a144fba80 add epilepsy warning in metadata display 2020-07-20 17:24:17 +07:00
Dean Herbert
a39c4236c7 Fix multiple issues and standardise transforms 2020-07-17 19:08:50 +09:00
Dean Herbert
aa992f2e34 Merge branch 'master' into Issue#9170 2020-07-17 18:29:40 +09:00
Joehu
ecbd8067e9 Add ability to seek replays/auto with arrow keys 2020-07-14 20:18:47 -07:00
Dan Balasescu
c49ce65326
Merge pull request #9540 from peppy/gameplay-pause-via-middle-mouse
Allow pausing gameplay via middle mouse button
2020-07-14 21:13:31 +09:00
Dean Herbert
2626ab41c3 Add implicit braces for clarity 2020-07-14 20:15:31 +09:00
Dean Herbert
c7d3b025ad Rename variable and change default to true 2020-07-14 20:11:54 +09:00
Dean Herbert
690f2fd482 Merge branch 'master' into always-combo-break 2020-07-14 20:11:02 +09:00
Dean Herbert
f442df75a9 Add missing released conditional 2020-07-13 09:00:10 +09:00
Dean Herbert
c1aafe83fa Add note about future behaviour 2020-07-12 23:05:47 +09:00
Dean Herbert
08696b9bca Allow pausing gameplay via middle mouse button 2020-07-12 23:03:03 +09:00
BananeVolante
f03303573e formating 2020-07-08 13:54:22 +02:00
BananeVolante
e8f23e35a5 WIP : replaced TransformBindableTo by VolumeTo
Currently, the VolumeTO calls taht use a fading does not do anything.
calling VolumeTo calls pauseLoop.samplesContainer.TransformBindableTo(....), while i used to call pauseLoop.TransformBindableTo(....)
2020-07-03 14:33:42 +02:00
BananeVolante
ab1eb469af removed unneeded null checks 2020-07-01 13:30:23 +02:00
BananeVolante
ab134c0ed7 removed unneeded information in a comment 2020-07-01 13:27:33 +02:00
BananeVolante
946fcf75ac Merge branch 'master' of https://github.com/ppy/osu into Issue#9170
update local code
2020-07-01 13:06:44 +02:00
Dan Balasescu
0e80d6629b
Merge branch 'master' into red-tint 2020-06-30 15:44:22 +09:00
Bartłomiej Dach
678767918e Centralise logic further 2020-06-28 23:32:04 +02:00
Bartłomiej Dach
3637bf2f9b Clean up member order & access modifiers 2020-06-26 19:39:55 +02:00
Bartłomiej Dach
02f590309d Add xmldoc for public property 2020-06-26 19:39:55 +02:00
Bartłomiej Dach
a63b6a3ddf Simplify binding 2020-06-26 19:39:55 +02:00
Bartłomiej Dach
415e1c05ff Simplify implementation 2020-06-26 19:39:55 +02:00
Bartłomiej Dach
3783fe8d6a Rename fields for clarity 2020-06-26 19:39:53 +02:00
Power Maker
798e8e7a8d Fix CI fail 2020-06-26 15:12:01 +02:00
Power Maker
efeaa1cc10 Make some changes, fix and add tests 2020-06-26 14:58:42 +02:00
Power Maker
97a212a7f6 Hide red tint based on "Show health display even when you can't fail" setting 2020-06-26 14:32:01 +02:00
BananeVolante
a4bb238c45 fixed bug preventing the pause loop from playing during the first pause after changing a skin 2020-06-26 14:07:27 +02:00
BananeVolante
7d2d6a52c9 now uses SkinnableSample instead of Drawable sample
Still does not support switching skins after Pause overlay loading,
there will be no sound for the first pause (works fine the the nexts)

Also, the pause loop seems to play for approximately 1 second when exiting the
screens via restart or quit

finally, since SkinnableSound does not play a sound if its aggregate
volume is at 0, i had turn up the volume a bit before playing the loop
2020-06-25 18:58:04 +02:00
BananeVolante
9e5cc1b7a2 added skin support for the pause loop 2020-06-25 13:26:42 +02:00
BananeVolante
2e8f30461f play/stops music when entering the pause overlay, instead of letting it play silently in the background 2020-06-24 14:22:12 +02:00
BananeVolante
53107973a3
merged 2 lines
Co-authored-by: Salman Ahmed <email@iisalman.me>
2020-06-24 14:01:13 +02:00
Dean Herbert
9119f41604 Merge branch 'master' into results-screen-statistics-overlapping-transition 2020-06-24 18:22:51 +09:00
Bartłomiej Dach
43be75d481
Merge branch 'master' into Issue#9170 2020-06-23 20:49:13 +02:00
BananeVolante
624ad65806 formating 2020-06-23 13:09:24 +02:00
Dean Herbert
a6c6e391ca Fix player not exiting immediately on Alt-F4 2020-06-23 17:38:30 +09:00
BananeVolante
579d7cedcc Merge branch 'master' of https://github.com/ppy/osu into Issue#9170
updated local source
2020-06-22 15:29:05 +02:00
BananeVolante
836386d03b removed duplicate lines 2020-06-22 15:22:13 +02:00
BananeVolante
9dea96e5fd added pause sound with fading 2020-06-22 14:02:21 +02:00
BananeVolante
a4eb6c81c5 undid changes to the file 2020-06-22 13:40:31 +02:00
smoogipoo
261adfc4e6 Create a local playable beatmap instead 2020-06-22 18:38:41 +09:00
smoogipoo
33fdd7466c Merge branch 'master' into results-screen-statistics-overlapping-transition 2020-06-22 15:38:48 +09:00
smoogipoo
49bdd89775 Cleanup ReplayPlayer adjustments 2020-06-19 21:54:09 +09:00
Dean Herbert
290ae37346 Add assertion of only usage game-wide 2020-06-18 23:54:20 +09:00
Dean Herbert
7da56ec7fd Add null check and xmldoc 2020-06-18 23:52:35 +09:00
Dean Herbert
add1265d53 Block screen suspend while gameplay is active 2020-06-18 23:48:00 +09:00
smoogipoo
9442fc00ac Temporary hack to make replay player populate scores 2020-06-16 17:48:59 +09:00
Dean Herbert
17a70bf6ee Add test coverage 2020-06-15 20:32:27 +09:00
BananeVolante
4e7d60b6ff Merge branch 'master' of https://github.com/ppy/osu into Issue#9170
updated local source
2020-06-15 12:58:47 +02:00
Dean Herbert
0d53d0ffc8 Fix back-to-front math 2020-06-15 00:46:20 +09:00
Dean Herbert
7b95c55afb Fix HardwareCorrectionOffsetClock breaking ElapsedTime readings 2020-06-14 11:33:59 +09:00
BananeVolante
04c1efe298 resolved issues with inspect code script 2020-06-13 14:33:55 +02:00
BananeVolante
794b8673e2 formated using dotnet format 2020-06-13 10:56:02 +02:00
BananeVolante
8b8f2dfda2 Removed duplicate samplepause.stop() calls, removed test lines
Since restart() always call perform immediate exit when the function lead
to a restart, there is no need to stop the pause sample in restart
2020-06-13 10:31:54 +02:00
BananeVolante
6fd8548f79 no longer crash if the restart sample isn't found 2020-06-13 10:13:41 +02:00
BananeVolante
2feaf2c74a added music during pause 2020-06-12 19:17:52 +02:00
Dean Herbert
64550fe87c
Merge branch 'master' into fix-draining-in-between-break-sections 2020-06-02 16:06:08 +09:00
smoogipoo
de0b6ec9f1 Create abstract implementation 2020-05-26 17:00:41 +09:00
Dean Herbert
ce223a2bd8 Silence hit sounds while seeking 2020-05-21 11:08:06 +09:00
smoogipoo
e5de382760 Merge branch 'master' into storyboard-overlay-layer 2020-05-20 15:08:45 +09:00
smoogipoo
85088c9b3b Privatise setter 2020-05-20 15:08:33 +09:00
Bartłomiej Dach
ce4301c5b8 Add overlay layer to player by proxying 2020-05-19 19:47:50 +02:00
smoogipoo
6d70f4b410 Merge branch 'master' into allowgameplayoverlays-hide-skip 2020-05-18 19:54:38 +09:00
smoogipoo
49ee05c3c4 Make into CompositeDrawable 2020-05-18 19:37:49 +09:00
Lucas A
4096463d02 Move SkipOverlay internal alpha manipulation to a nested container and adjust visual tests. 2020-05-15 19:43:01 +02:00
Dean Herbert
9b6525bb03 Fix applied platform/user offsets being incorrect when rate adjust mods are active 2020-05-15 18:44:47 +09:00
Lucas A
7874045b1f Allow disabling SkipOverlay through AllowGameplayOverlays. 2020-05-12 23:05:56 +02:00
Dean Herbert
de50b725d5 Fix mod failure checks executing actual game logic 2020-05-12 20:08:35 +09:00
Dan Balasescu
6841bd5609
Merge branch 'master' into taiko-scroller 2020-05-11 11:10:55 +09:00
Bartłomiej Dach
ee2ff77b89 Merge branch 'master' into fix-draining-in-between-break-sections 2020-05-10 17:57:44 +02:00
Dean Herbert
c712e98f2b
Merge branch 'master' into publicly-expose-hud 2020-05-10 20:06:28 +09:00
Dean Herbert
9b8589583c Merge branch 'master' into taiko-scroller 2020-05-08 19:10:39 +09:00
Lucas A
30dd158c33 Rename property to AllowGameplayOverlays and update XMLDoc accordingly. 2020-05-08 09:37:50 +02:00
Lucas A
83be5455d3 Disable the display of HUD through DisplayHud property. 2020-05-07 08:52:36 +02:00
Lucas A
aff74db80d Publicly expose HUDOverlay in Player. 2020-05-05 10:40:10 +02:00
alex
0e2ccac33b Add spaces to comments 2020-05-04 18:36:24 -07:00
Dean Herbert
cea6be5e52 Expose as JudgementResult instead of "passing" state 2020-05-03 23:55:44 +09:00
Bartłomiej Dach
8118747732 Make PeriodTracker actually immutable 2020-05-02 01:33:33 +02:00
Dean Herbert
ff1d63060d Add and consume passing state in GameplayBeatmap 2020-05-01 20:08:18 +09:00
Salman Ahmed
6fa9feb15c
Merge remote-tracking branch 'upstream/master' into add-interval-list 2020-04-29 05:14:40 +03:00
Salman Ahmed
6e76e5900a
Rename is-in-any check method to a more legible name 2020-04-29 05:11:44 +03:00
Salman Ahmed
8d899f4e77
Apply changes to the BreakTracker and more adjustment 2020-04-29 05:11:43 +03:00
Dean Herbert
a91c63819b Refactor updateCompletionState implementation for legibility and code share 2020-04-21 11:55:28 +09:00
Salman Ahmed
e12e3391fb Base wait steps duration on the delay used for results display
With `* 2` for safety of not potentially going to the next step and the delegate not executed yet.
2020-04-20 06:42:33 +03:00
Endrik Tombak
f893d523f5 User setting for always playing first combo break 2020-04-19 12:23:41 +03:00
Salman Ahmed
6d276890a7 Fix results screen pushed after rewinding in-between push delay 2020-04-19 05:59:56 +03:00
Salman Ahmed
7e64bec94f Use HasCompleted in Player 2020-04-19 05:58:22 +03:00
Salman Ahmed
fc6c245de5 Replace all judged event logic with HasCompleted bindable 2020-04-19 05:36:04 +03:00
smoogipoo
f3dbddd75c Update bindings in LoadComplete() 2020-04-14 15:52:38 +09:00
smoogipoo
b8b334ca27 Always unbind bindings 2020-04-14 15:21:56 +09:00
smoogipoo
3183827329 Reorder fields 2020-04-14 15:09:31 +09:00
smoogipoo
7d2d0785fd Fix potential unsafe ordering of binds 2020-04-14 15:07:32 +09:00
smoogipoo
9619fb9f6a Remove bind in Player 2020-04-14 15:00:36 +09:00
Salman Ahmed
9a29797a5b Use IntervalList<double> for tracking break periods 2020-04-09 23:00:16 +03:00
Dean Herbert
c5005eb378 Adjust gradient size slightly and make const 2020-04-09 14:55:02 +09:00
Dean Herbert
5a78e74470 Use Lerp instead of ValueAt 2020-04-09 14:51:50 +09:00
Dean Herbert
c44957db3f Change initial health to 1 to avoid false fail display 2020-04-09 14:49:09 +09:00
Dean Herbert
947745d87e Change fail effect to be less distracting 2020-04-09 14:34:23 +09:00
Dean Herbert
4976f80b71 Move implementation to HUD 2020-04-09 14:31:25 +09:00
Dean Herbert
0e2d5213ce
Merge branch 'master' into low-hp-red-layer 2020-04-09 13:53:57 +09:00
Joehu
0f11ecce01 Make icons container private 2020-04-05 14:53:49 -07:00
Salman Ahmed
7fab07670e Remove no longer necessary usage of IsBreakTime 2020-04-05 21:35:09 +03:00
Joehu
493b654011 Remove horizontal margin from mod display
Can skew center alignment on fill flow containers.

Fixes affected areas. Vector2(5, 0) is similar to MarginPadding { Left = 10 }.
2020-04-03 11:30:02 -07:00
smoogipoo
1f797207f7 Rework lookups to not require total playfield columns 2020-04-03 12:31:05 +09:00
Lucas A
1562612f41 Update visual tests and remove unessecary XMLDoc tag 2020-04-01 15:12:31 +02:00
Lucas A
ab01111c36 Fix merge conflicts. 2020-03-30 17:39:11 +02:00
Lucas A
3cae0cedee Add a game setting to disable the layer 2020-03-30 12:59:39 +02:00
Dean Herbert
6e68b968f8 Hide "retry" button on results screen after watching a replay 2020-03-29 23:52:50 +09:00
Dean Herbert
4f5557096c Fix auto mod results not displaying correctly 2020-03-29 22:51:28 +09:00
Dean Herbert
944926e950
Merge branch 'master' into fix-break-overlay-z-order 2020-03-28 13:04:19 +09:00
Dean Herbert
a317ef65b8 Remove default for argument 2020-03-28 12:18:28 +09:00
Bartłomiej Dach
3a3bfe9a5e Reorder children to fix pause overlay z-order 2020-03-27 21:19:49 +01:00
Bartłomiej Dach
adc759771f Hook up score processor in player 2020-03-27 19:47:42 +01:00
Dan Balasescu
5e1cb0e9e9
Merge branch 'master' into fix-minia-mod-replay-recording 2020-03-27 19:26:41 +09:00
Dean Herbert
f75c082601 Fix osu!mania replays recording incorrectly when key mod applied 2020-03-27 15:50:11 +09:00
Lucas A
00c1ff993a Fix merge conflicts. 2020-03-26 15:48:18 +01:00
Lucas A
c1ac57e70f Add back visual tests and add easing to alpha fade. 2020-03-26 12:14:44 +01:00
Dean Herbert
07462120e4 Split break tracking into its own component 2020-03-26 15:30:23 +09:00
Dean Herbert
d372ddaadd Move break overlay to a location it is not affected by gameplay scale 2020-03-26 12:50:18 +09:00
Dean Herbert
800e395bc8 Merge branch 'master' into replay-recording 2020-03-25 20:20:59 +09:00
Dean Herbert
6d81da5419
Merge branch 'master' into video-offset 2020-03-25 11:28:59 +09:00
Dean Herbert
a7bfaad60f More correctly handle rulesets which don't support replay recording 2020-03-24 15:44:39 +09:00
Dean Herbert
022465f546 Add encoding and import support 2020-03-24 14:51:52 +09:00
voidedWarranties
4bb15a8b93 Allow individual storyboard layers to disable masking 2020-03-23 22:51:37 -07:00
Dean Herbert
617149fb27 Implement in player 2020-03-23 20:06:18 +09:00
Dean Herbert
729e006c3a
Merge branch 'master' into video-offset 2020-03-21 20:03:46 +09:00
Dean Herbert
855f0a4253 Fix bracket style 2020-03-19 14:38:49 +09:00
Dean Herbert
17c3455b36 Fix potentially invalid push in player while already exiting 2020-03-19 14:10:59 +09:00
Lucas A
a4171253a3 Make LowHealthThreshold a field. 2020-03-18 21:45:01 +01:00
Lucas A
e9f224b5e8 Apply review suggestions 2020-03-18 21:16:54 +01:00
Lucas A
a1274a9eb0 Fix and add missing XMLDoc 2020-03-18 08:29:00 +01:00
Lucas A
ed4f9f8ba9 Bind every HealthDisplay on Player load 2020-03-17 22:57:47 +01:00
Lucas A
6b0c5bc65d Rename to LowHealthLayer to FaillingLayer. 2020-03-17 22:32:07 +01:00
smoogipoo
3628814e4e Merge branch 'fix-score-population' into results-screen 2020-03-17 17:48:39 +09:00
smoogipoo
1c4296f5e7 Implement the new results screen 2020-03-17 17:43:16 +09:00
smoogipoo
daa5e63d0d Fix replay scores not being populated via player 2020-03-17 16:42:55 +09:00
Joehu
f7ea20a926 Limit font weight to bold 2020-03-16 16:32:25 -07:00
Lucas A
1aacd1aaa2 Initial implementation of LowHealthLayer 2020-03-16 21:04:59 +01:00
voidedWarranties
c27751050b Switch back to strings and update setting labels 2020-03-12 23:29:11 -07:00
Dan Balasescu
1d556bfc5f
Merge branch 'master' into video-offset 2020-03-11 15:13:18 +09:00
voidedWarranties
6de244389b Use OffsetClock instead of ManualClock 2020-03-10 22:50:20 -07:00
Dan Balasescu
5b8035052f
Merge branch 'master' into fix-hit-error-ticks-outside-bounds 2020-03-09 09:16:51 +09:00
voidedWarranties
22dd93a4f6 Code quality, read position offsets 2020-03-08 14:02:39 -07:00
Lucas A
0953751d24 Clamp relative position of judgement ticks in range [0;1] 2020-03-08 15:51:57 +01:00
voidedWarranties
48282dea8b Remove individual setting to disable videos, fix tests 2020-03-07 22:08:38 -08:00
voidedWarranties
76c832518f Render video as a part of the storyboard 2020-03-07 21:32:03 -08:00
voidedWarranties
d68d7edea3 Start background video playback based on provided offset 2020-03-07 14:08:13 -08:00
Dean Herbert
fa8e7adf07 Merge branch 'master' into fix-testscene-rate 2020-03-06 22:40:02 +09:00
Dean Herbert
a59c3d997d Refactor implementation to better match what already existed 2020-03-06 18:00:17 +09:00
Dean Herbert
90dbb90470 Merge branch 'master' into disable-keycounter-breaks 2020-03-06 17:53:10 +09:00
Dean Herbert
ebc86c1075 Fix random test failure 2020-03-06 02:14:16 +09:00
Dan Balasescu
e77cefeabe
Merge branch 'master' into fix-volume-bninding-handling 2020-03-03 16:32:18 +09:00
smoogipoo
2e4adc056f Fix potential deadlock during gameplay tests 2020-03-03 13:42:05 +09:00
naoey
3d344a076d
Add test for disabled keycounter, don't discard change event values 2020-03-03 06:17:25 +05:30
Dean Herbert
48f2f615cd
Merge branch 'master' into fix-volume-bninding-handling 2020-03-02 19:28:36 +09:00
Dean Herbert
489bf16bea Add SelectNext and SelectPrevious global actions 2020-03-02 18:55:28 +09:00
Dean Herbert
dc79c11b6a Merge branch 'master' into layout-rework 2020-03-02 16:36:48 +09:00
naoey
bca58ddb42
Make KeyCounter stop counting during breaks 2020-02-29 21:18:43 +05:30
Dean Herbert
f18a1cde53 Fix crash when reaching results screen on single threaded execution mode 2020-02-29 08:39:27 +09:00
Dean Herbert
ed2bdd7106 Fix stutter when showing game HUD after being hidden for a while 2020-02-26 20:45:57 +09:00
smoogipoo
da89798765 Merge remote-tracking branch 'origin/master' into layout-rework 2020-02-26 15:06:40 +09:00
smoogipoo
6c28fd21c7 osu-side changes 2020-02-24 20:52:15 +09:00
Dean Herbert
0c3286fa5e Merge branch 'judgement-line-performance' into follow-point-performance 2020-02-23 05:36:22 +09:00
Dean Herbert
560cf21b12 Add lenience to comparison
Noticed that they could still stack up on maps with hitcircles at the same point in time (centipede).
2020-02-23 05:29:17 +09:00
Dean Herbert
4949977d7e Merge branch 'judgement-line-performance' into follow-point-performance 2020-02-23 05:14:21 +09:00
Dean Herbert
8dbcdebd28 Use LoadingLayer at player loading screen 2020-02-23 05:00:08 +09:00
Dean Herbert
e8ebb31517 Expire old judgement lines if too many exist 2020-02-23 03:53:51 +09:00
Dean Herbert
3daa49f1bd Clean up old judgement lines if too many are already present 2020-02-23 03:39:12 +09:00
Dean Herbert
5aa5a1bbdd Reduce transform time of judgement lines (visually looks almost the same) 2020-02-23 03:36:15 +09:00
Dean Herbert
92f6f0207c Rename LoadingAnimation to LoadingSpinner 2020-02-21 15:33:31 +09:00
recapitalverb
7c9569c9a3
Merge branch 'master' into remove-duplicated-load 2020-02-15 12:10:34 +07:00
recapitalverb
c753cb46c5 Use [Resolved] wherever possible 2020-02-14 20:14:00 +07:00
Dan Balasescu
851e353093
Merge branch 'master' into fix-player-loader-focused-overlay-interaction 2020-02-14 20:36:38 +09:00
Dan Balasescu
45734f8e8d
Merge branch 'master' into player-loader-code-quality 2020-02-14 19:35:40 +09:00
Dean Herbert
4d4ec3515d Fix player loading sequence continuing even when a priority overlay is visible 2020-02-14 19:16:08 +09:00
Dean Herbert
2808f8167d Use more regions 2020-02-14 18:28:58 +09:00
Dean Herbert
b69d1ad678 Reorder and clean up PlayerLoader 2020-02-14 18:22:57 +09:00
Dean Herbert
be30ef3cca Move BeatmapMetadataDisplay to its own class 2020-02-14 18:13:52 +09:00
Dean Herbert
884a5fbad4 Fix osu! gameplay cursor not adjusting to mod/convert circle size changes 2020-02-14 14:30:15 +09:00
smoogipoo
d4f14e552a Improve extensibility of mod display expansion 2020-02-13 18:05:53 +09:00
Bartłomiej Dach
9bfd3a1a63 Make PercentageBreakInfoLine use FormatAccuracy 2020-02-08 00:11:19 +01:00
Dean Herbert
b7996f91fc Update the windows platform offset to match stable 2020-02-07 17:51:38 +09:00
Salman Ahmed
4cd4055e7c Rename to AlwaysVisible and add XMLDoc 2020-02-03 20:00:43 +03:00
Salman Ahmed
51ed289c59 Revert namings and behaviour changes 2020-02-03 19:59:58 +03:00
Salman Ahmed
351cb8ac1a Rename Visible to HasReplayLoaded and change default value
Doesn't make sense to be true by default
2020-02-03 15:47:52 +03:00
Salman Ahmed
4cdf4b223c Rename to alwaysShow and add XMLDoc 2020-02-02 18:47:12 +03:00
Salman Ahmed
28e340c486 Inherit Container and fade the key flow instead of individual children 2020-02-02 18:46:27 +03:00
Salman Ahmed
6a11c3a8f9 Expose ConfigVisibility bindable for testing purposes 2020-02-02 14:48:07 +03:00
Salman Ahmed
abccf05155 Update visibility of each key counter instead of this container
For isolating changing visibility of the key counter display based on config and internal values from just fading the container.
2020-02-02 14:47:14 +03:00
Dean Herbert
bea20efb64
Merge branch 'master' into mod_content_centering 2020-01-30 10:34:46 +09:00
Bartłomiej Dach
c9dda78ded Refactor drawable hierarchy to center properly
* Use FillFlowContainer.Spacing instead of manually applying margins.
* Use Update() for calculating button padding to preserve it after
  mod button expansion and adjust FooterButtonRandom to use this method
  while avoiding flickering.
* Expose mod display margin to clear it in the footer button.
2020-01-29 18:59:51 +01:00
unknown
aa264cd2a8 allow tooltip to show as percentage as needed 2020-01-28 12:32:30 +08:00
Dean Herbert
997b49f6dc Change display to always show progress bar, only hiding seeking handle instead 2020-01-24 14:21:22 +09:00
Dean Herbert
da65fff48e Merge remote-tracking branch 'upstream/master' into collapse-graph-option 2020-01-24 13:55:42 +09:00
Dean Herbert
eb5abcab8c Rename and simplify circle logic 2020-01-24 12:01:40 +09:00
Dean Herbert
851b891285 Fix incorrect insert logic 2020-01-24 12:01:14 +09:00
Dean Herbert
c390348eab Merge remote-tracking branch 'upstream/master' into colour-score-meter 2020-01-24 11:45:33 +09:00
Dean Herbert
8a7f7c5e46 Merge remote-tracking branch 'smoogipoo/void-key-up-returns' into update-framework 2020-01-22 22:57:56 +09:00
Dean Herbert
7c62cc3ac3 Merge remote-tracking branch 'smoogipoo/void-mouse-up-returns' into update-framework 2020-01-22 22:57:52 +09:00
smoogipoo
7b2f58eb30 Apply OnRelease method signature refactorings 2020-01-22 13:22:34 +09:00
smoogipoo
40f502c6d1 Apply input method signature refactorings 2020-01-20 19:35:37 +09:00
smoogipoo
1b1003bd73 Refactor 2020-01-20 18:31:25 +09:00
smoogipoo
bfb056c612 Apply input method signature refactorings 2020-01-20 18:17:21 +09:00
Dan Balasescu
03c778df75
Merge branch 'master' into update-framework 2020-01-09 19:02:26 +09:00
smoogipoo
91735ff367 Update MathUtils namespace usages 2020-01-09 13:43:44 +09:00
Bartłomiej Dach
f0fe3bc804 Pass bindable to BeatmapMetadataDisplay
It was reported that mods selected in song select would show up during
loading of replays which were recorded under a different set of mods.
This was caused by BeatmapMetadataDisplay accepting a plain read-only
value of the Mods bindable in PlayerLoader.load(), therefore making the
mod value assignment in ReplayPlayerLoader.OnEntering() have no effect
on that component.

To resolve this issue, make BeatmapMetadataDisplay accept the
higher-level bindable, bind to it locally and pass it down the hierarchy
to ModDisplay.
2020-01-08 20:10:43 +01:00
Bartłomiej Dach
a3f7d3c445 Add failing test
Add test case demonstrating the lack of update of the metadata display's
mods upon setting the Mods property in PlayerLoader.
2020-01-08 19:55:35 +01:00
Dean Herbert
ca862124a5 Fix replay import from main menu causing a hard crash 2019-12-27 19:36:48 +09:00
Dean Herbert
b330aec03e Drain starting at the first hitobject, not gameplay start 2019-12-27 16:16:30 +09:00
Dean Herbert
cac011edc1
Merge branch 'master' into hp-drain 2019-12-26 23:51:12 +09:00
Dean Herbert
033bb15500
Fix early-escape not continuing to results screen (#7362)
Fix early-escape not continuing to results screen
2019-12-26 23:50:21 +09:00
Dean Herbert
a041f32072 Use cleaner solution via cancellation of older schedule 2019-12-26 19:05:32 +09:00
smoogipoo
8903f286ef Fix escape not continuing to results screen 2019-12-26 18:27:48 +09:00
smoogipoo
522847987b Implement break/gameplay start times 2019-12-26 15:00:58 +09:00
smoogipoo
b348abcd07 Only drain health in non-break times 2019-12-26 14:59:49 +09:00
smoogipoo
977fb3d1bf Make processors and break overlay frame-stable 2019-12-26 14:59:49 +09:00
smoogipoo
a4b1c79e18 Initial implementation of HP drain 2019-12-26 14:59:49 +09:00
smoogipoo
90cb9d9162 Simplify scoreprocesor/healthprocessor implementations 2019-12-26 14:59:49 +09:00
smoogipoo
7414a6aadd Merge remote-tracking branch 'huoyaoyuan/master' into health-processor
# Conflicts:
#	osu.Game.Rulesets.Catch/CatchRuleset.cs
#	osu.Game.Rulesets.Mania/ManiaRuleset.cs
#	osu.Game.Rulesets.Taiko/TaikoRuleset.cs
2019-12-26 14:56:54 +09:00
smoogipoo
c7936e40d5 Protect against potential nullref 2019-12-23 19:13:36 +09:00
Andrei Zavatski
7a0d76ae77 Fix nullref 2019-12-22 03:41:19 +03:00
Andrei Zavatski
aded12af9e Refactoor to avoid bindable usage 2019-12-22 03:30:17 +03:00
Andrei Zavatski
eb75c6c70f Update FadeIn animation for new judgement 2019-12-22 03:17:56 +03:00
Andrei Zavatski
46501cf0ac Use FillFlowContainer 2019-12-22 03:06:57 +03:00
Andrei Zavatski
14a77a8f16 Improve animations 2019-12-21 16:08:28 +03:00
Andrei Zavatski
b61aa660c6 Move colours to HitErrorMeter class 2019-12-21 14:52:53 +03:00
Andrei Zavatski
5e3c3f2a90 Make judgements work 2019-12-21 14:30:41 +03:00
Andrei Zavatski
5b115d8d8a Implement basic logic 2019-12-21 13:41:50 +03:00
Salman Ahmed
7d090d6cd9 Fix key overlay appearing regardless of the setting 2019-12-19 17:52:58 +03:00
smoogipoo
76f2fb378f Separate score and health parts of ScoreProcessor 2019-12-19 20:03:14 +09:00
Dean Herbert
e0ce87adca
Move CreateScoreProcessor() to Ruleset (#7244)
Move CreateScoreProcessor() to Ruleset
2019-12-17 22:15:42 +09:00
Dan Balasescu
fd2785bab3
Merge branch 'master' into fxcop 2019-12-17 20:14:45 +09:00
smoogipoo
49bf8d27d1 Move CreateScoreProcessor() to Ruleset 2019-12-17 20:08:13 +09:00
Huo Yaoyuan
d5994ed484 CA2208: create exceptions correctly. 2019-12-17 13:00:10 +08:00
Huo Yaoyuan
ecfc6dfa3d CA1825: use Array.Empty. 2019-12-17 12:59:48 +08:00
Dean Herbert
b5db927d93 Merge branch 'master' into cinema-mod 2019-12-17 12:56:06 +09:00
smoogipoo
6cf318c34b Merge remote-tracking branch 'refs/remotes/origin/master' into improve-hud-hiding 2019-12-16 18:41:21 +09:00
smoogipoo
a276643a4b Reorder health display and score elements 2019-12-16 18:41:14 +09:00
smoogipoo
83f77d9c35 Make the layout faster 2019-12-16 18:41:02 +09:00
Dean Herbert
59538bfd32 Merge branch 'global-available-mods' into adjustable-rate-mods 2019-12-13 21:57:27 +09:00
Dean Herbert
7559012fb7 Merge remote-tracking branch 'upstream/master' into lighten-playfield-during-breaks 2019-12-12 19:55:09 +09:00
Dean Herbert
d15f49f60f Also hide the break overlay 2019-12-12 16:13:02 +09:00
Dean Herbert
37a94988a3 Merge branch 'improve-hud-hiding' into cinema-mod 2019-12-12 16:12:19 +09:00
Dean Herbert
94f3dbb2f6 Adjust transitions slightly 2019-12-12 16:09:50 +09:00
Dean Herbert
3ccfee64f6 Add HUDOverlay tests 2019-12-12 16:09:42 +09:00
smoogipoo
5861eca80d Make DrawableRuleset take a converted beatmap 2019-12-12 15:58:11 +09:00
Dean Herbert
ffb5cdc6ae Hide settings overlay along with other HUD-hidden content 2019-12-12 15:20:42 +09:00
Dean Herbert
ad2528d4d2 Hide key counter along with other hud elements
Also tidies up HUD hide logic and protects against incorrect hiding.
2019-12-12 15:19:45 +09:00
Dean Herbert
9961fa7385
Merge branch 'master' into adjustable-rate-mods 2019-12-12 15:10:23 +09:00
Dean Herbert
a93d57b77e
Merge branch 'master' into lighten-playfield-during-breaks 2019-12-12 11:57:21 +09:00
Dean Herbert
d2ada90434
Merge branch 'master' into single-scoreprocessor 2019-12-12 11:36:45 +09:00
Albie
4a1c6db3ed
Merge branch 'master' into cinema-mod 2019-12-11 18:00:17 +00:00
Dan Balasescu
b77f9504d0
Merge branch 'master' into adjustable-rate-mods 2019-12-11 19:28:59 +09:00
smoogipoo
48f1dad4aa Remove abstract ScoreProcessor class 2019-12-11 17:25:06 +09:00
Dean Herbert
75f9250645 Don't automatically pause when window is inactive if in break time 2019-12-11 15:46:07 +09:00
Dean Herbert
9ebad16436 Fix logic regression 2019-12-11 14:37:10 +09:00
Dean Herbert
77b9989e11 Fix some weird private field names 2019-12-11 14:10:35 +09:00
Salman Ahmed
53daa37eaa Fix failing tests 2019-12-10 23:06:13 +03:00
Albie
a61f8cc2c3
Merge branch 'master' into cinema-mod 2019-12-10 17:06:53 +00:00
Salman Ahmed
38f1a8bc17 Bind UserDimContainer.IsBreakTime from Player 2019-12-10 15:14:47 +03:00
Dean Herbert
7fd52c21f5 Update mods and user adjust to use adjustments 2019-12-09 19:41:31 +09:00
Dean Herbert
d650bfb6d6 Remove unnecessary cast 2019-12-09 18:05:14 +09:00
Dean Herbert
eb074b7058 Allow mods to apply to track, not clock 2019-12-09 17:44:45 +09:00
Dan Balasescu
54798b134e
Add accessibility modifiers 2019-12-08 03:16:41 +09:00
Dean Herbert
48c6279e8b Only undo adjustments in GameplayClockContainer if applied at least once 2019-12-06 13:49:22 +09:00
Dean Herbert
de23364608 Add failing test 2019-12-06 13:47:34 +09:00
Albie
7864899249
Merge branch 'master' into cinema-mod 2019-11-28 16:42:01 +00:00
smoogipoo
f504370867 Make player block exit if pausable 2019-11-28 15:58:26 +09:00
Dan Balasescu
c6a85a11bd
Merge branch 'master' into sharpen 2019-11-27 17:09:11 +09:00
Huo Yaoyuan
eba8657d38 Remove newly introduced redundant this. 2019-11-26 18:41:19 +08:00
Huo Yaoyuan
c0fe91a84c Merge branch 'master' into sharpen 2019-11-26 18:21:50 +08:00
Albie
09158b6b08
Merge branch 'master' into cinema-mod 2019-11-26 06:57:47 +00:00
Dean Herbert
77ce9642ba Add test coverage and simplify break time updating 2019-11-26 15:32:48 +09:00
Dean Herbert
a453129d44 Fix nullref in tests 2019-11-26 15:13:50 +09:00
Dan Balasescu
8a8e863c0e
Merge branch 'master' into intro-outro-break 2019-11-26 12:47:42 +09:00
Dean Herbert
fbebbab5db Remove excess parenthesis 2019-11-25 22:37:07 +09:00
Dean Herbert
709ec1404f Centralise End/StartTime retrieval to extension method 2019-11-25 19:09:14 +09:00
Dean Herbert
6b8983b489 Consider intro and outro time as "break" time 2019-11-25 19:02:11 +09:00
Albie
9fdbb2a58e change name of interface and expose method instead of seperate values 2019-11-25 07:24:29 +00:00
Albie
9a8e3fe1da add brackets 2019-11-24 07:44:35 +00:00
Albie
1d6665fe57 improve code quality using resharper and codefactor advice 2019-11-24 07:42:39 +00:00
Albie
b8e5796af5 add forced video/storyboard and disabled dim for mod inside new interface 2019-11-24 07:37:06 +00:00
Dean Herbert
83080c3b5f Fix merge regression 2019-11-22 14:14:18 +09:00
Dan Balasescu
5d2a608be0
Merge branch 'master' into lead-in-fixes 2019-11-22 13:48:55 +09:00
Huo Yaoyuan
818553027b Merge branch 'master' into sharpen 2019-11-21 23:42:46 +08:00
Dean Herbert
bd6831624a Decouple skip button animations from gameplay clock 2019-11-21 19:51:22 +09:00
Dean Herbert
ffd0e17826 Merge branch 'skip-multiple-times' into lead-in-fixes 2019-11-21 19:01:28 +09:00
Dean Herbert
46a94821d4 Add support for consecutive skips 2019-11-21 18:59:55 +09:00
Dean Herbert
29d2374928 Add back skip button actuation count tests 2019-11-21 17:23:52 +09:00
Dean Herbert
2dd2e3d861 Add correct AudioLeadIn support 2019-11-21 16:55:18 +09:00
Dean Herbert
8369be90f2 Allow skip button to actuate more than once 2019-11-21 15:19:06 +09:00
Dean Herbert
c0b9bb5a12 Merge remote-tracking branch 'upstream/master' into lead-in-fixes 2019-11-21 14:22:17 +09:00
Berkan Diler
6cab517b2d .NET Standard 2.1 implements Math.Clamp , use it instead of MathHelper.Clamp from osuTK. 2019-11-20 13:37:47 +01:00
Huo Yaoyuan
374ef6ff83 Merge branch 'master' into sharpen 2019-11-20 17:30:58 +08:00
Dean Herbert
eee5902851 Merge remote-tracking branch 'upstream/master' into lead-in-fixes 2019-11-15 14:05:31 +09:00
Huo Yaoyuan
87d40cf8d0 Resolve equals usages. 2019-11-13 22:35:50 +08:00
Huo Yaoyuan
7d7b9e36b2 Use compound assignment. 2019-11-12 19:53:50 +08:00
Huo Yaoyuan
ccc8aa6fa4 Apply brace style. 2019-11-11 20:13:13 +08:00
Dean Herbert
cd1dd0f898 Fix adjustments not being removed correctly on retry from pause 2019-11-06 10:38:04 +09:00
Dean Herbert
6dde755ef2
Merge branch 'master' into add-retry-button 2019-11-02 21:23:16 +09:00
Dean Herbert
fd13f0bc55
Move ReplayDownloadButton to correct namespace (#6689)
Move ReplayDownloadButton to correct namespace
2019-11-02 21:22:23 +09:00
Dean Herbert
551032803d
Fix GameplayClockContainer operating on beatmap's track after s… (#6688)
Fix GameplayClockContainer operating on beatmap's track after screen exited
2019-11-02 21:22:13 +09:00
Dan Balasescu
8a5d3ab40a
Merge branch 'master' into add-retry-button 2019-11-02 10:51:14 +09:00
Dean Herbert
daa0ebe2b5 Add xmldoc 2019-11-01 15:51:45 +09:00
Dean Herbert
14453da1d2 Centralise MakeCurrent call 2019-11-01 15:51:10 +09:00
Dean Herbert
84d17f3702 Add retry button 2019-11-01 15:41:51 +09:00
Dean Herbert
14fec6f1f3 Move ReplayDownloadButton to correct namespace 2019-11-01 15:06:36 +09:00
Dean Herbert
dcc8f6e827 Better group cancel conditional 2019-11-01 14:43:52 +09:00
Dean Herbert
d089e47a56
Merge branch 'master' into master 2019-11-01 14:15:57 +09:00
Dean Herbert
ac02bb005d Fix GameplayClockContainer operating on beatmap's track after scren exited 2019-11-01 14:11:18 +09:00
Dean Herbert
3f192ca915
Fix song progress not displaying correctly (#6640)
Fix song progress not displaying correctly

Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2019-10-29 18:16:54 +09:00
Dean Herbert
46b44f4f99 Fix PlayerSettingsOverlay being shown by default 2019-10-28 18:37:58 +09:00
Dean Herbert
16e33e8bc7 Fix song progress not displaying correctly 2019-10-28 18:34:58 +09:00
nwabear
b0e21c2749 Fixed Issue #6442 2019-10-25 14:57:49 -05:00
smoogipoo
851773a842 Apply adjustments for framework changes 2019-10-23 14:04:06 +09:00
Joehu
ccc753a315 Make OverlayContainers with no blocking input VisibilityContainers 2019-10-14 16:27:59 -07:00
Dean Herbert
51bf600ea7 Use empty hitwindows instead of null 2019-10-09 19:08:31 +09:00
Dean Herbert
47c1f36f9d Add ValidForResume check 2019-10-04 11:41:53 +08:00
Dean Herbert
71985c7ef1 Update fail logic to match 2019-10-04 11:23:42 +08:00
Joseph Madamba
d87f6d270b
Merge branch 'master' into fix-alt-f4-being-blocked-by-overlays 2019-10-03 08:43:31 -07:00
smoogipoo
636913a4a6 Refactor PlayerLoader changes 2019-10-03 19:22:41 +09:00
Joehu
a69b9f1148 Fix alt-f4 being blocked during gameplay 2019-10-02 11:16:31 -07:00
Craftplacer
4d4e846296
Merge branch 'master' into muted-notification 2019-10-02 17:31:34 +02:00
Craftplacer
6929847b08 Remove redundant override 2019-10-02 17:22:34 +02:00
HDragonHR
faf8fe132e Change bindable int to float 2019-10-02 12:26:46 +08:00
Craftplacer
5f399add82 Resolve @iiSaLMaN 's suggested changes 2019-10-01 18:15:40 +02:00
Craftplacer
2ac5e0bfa0 Make use of SessionStatics 2019-10-01 17:39:01 +02:00
Dean Herbert
02c1f490f1
Merge branch 'master' into muted-notification 2019-09-28 20:33:32 +08:00
Dean Herbert
f4f5a7e9c8 Fix test regressions 2019-09-27 13:20:17 +08:00
Dean Herbert
b50ef8ffa4 Allow null NotificationManager 2019-09-27 13:15:33 +08:00
iiSaLMaN
2670a23e6f Assign to field and move to load complete 2019-09-27 08:15:24 +03:00
iiSaLMaN
7904f77cd5 Bind event to activation delay change 2019-09-27 02:59:42 +03:00
iiSaLMaN
911094e790 Replace menu button text with "press for menu" on 0ms activation delay 2019-09-26 01:42:56 +03:00
Dean Herbert
f11156c2dc Fix tests not working correctly 2019-09-25 19:30:25 +09:00
Craftplacer
9a687ae8e2
Merge branch 'master' into muted-notification 2019-09-23 01:59:37 +02:00
smoogipoo
db24cfbead Merge remote-tracking branch 'origin/master' into auto-restart-mod-perfect
# Conflicts:
#	osu.Game/Screens/Play/Player.cs
2019-09-19 17:57:04 +09:00
smoogipoo
c76e27549a Remove spacing 2019-09-19 14:56:52 +09:00
iiSaLMaN
da4d83063e Simplify LINQ expression 2019-09-19 08:31:11 +03:00
iiSaLMaN
e793854735 Invert BypassFail usage 2019-09-19 08:00:41 +03:00
iiSaLMaN
9de0bcae1e Check for blocking fail mods by default 2019-09-19 07:58:54 +03:00
Craftplacer
c3221e1a36 Prepare classes for player loader test scene 2019-09-18 23:27:26 +02:00
iiSaLMaN
775b90e066 Bypass fail on replays 2019-09-18 22:49:48 +03:00
iiSaLMaN
ecd721e8c5 Add bypass fail property to Player 2019-09-18 22:49:28 +03:00
Dean Herbert
2fcc8c2d72 Simplify implementation, play fail animation during restart 2019-09-19 01:45:59 +09:00
Dean Herbert
ff3a7c1d13 Merge remote-tracking branch 'upstream/master' into auto-restart-mod-perfect 2019-09-19 01:36:29 +09:00
Dean Herbert
ec5f420818
Merge branch 'master' into key-counter-fixes 2019-09-17 22:56:34 +09:00
Dean Herbert
77947e8309 Fix rewind tests failing 2019-09-17 22:33:27 +09:00
Dean Herbert
38d85e44be Merge branch 'master' into key-counter-fixes 2019-09-17 22:33:15 +09:00
smoogipoo
f0bcb2b933 Debounce user-requested replay seeks 2019-09-17 16:12:18 +09:00
Craftplacer
220fdd0a04 Make muteWarningShownOnce static
... so it will actually get an instance per osu session.
2019-09-16 06:56:52 +02:00
Craftplacer
cb033591c4
Merge branch 'master' into muted-notification 2019-09-15 17:59:27 +02:00
Craftplacer
ecce12981e Use block body for constructor to fix remaining code inspection issue 2019-09-15 17:47:44 +02:00
Craftplacer
e3884658af Resolve code inspection errors 2019-09-15 17:36:53 +02:00
Dean Herbert
2381b4c003 Move video behind storyboard 2019-09-16 00:20:56 +09:00
Craftplacer
ec788ac09d Make notification only show up once per session 2019-09-15 17:20:07 +02:00
Craftplacer
811a08d18f Use Bindable instead of bool 2019-09-15 16:50:01 +02:00
Craftplacer
00e46fdefe Add check if game is muted by MuteButton 2019-09-15 16:32:23 +02:00
Craftplacer
4a10e6c44e Use ResolvedAttribute for NotificationOverlay 2019-09-15 16:11:45 +02:00
Craftplacer
78931c8e23 Implement notification when user has track or master volume muted
This took around under a hour to implement, it has the same behavior and content from osu!stable.
A notification will show up when the user has either its master or track volume set to the minimum, clicking it will set it to the default values.
2019-09-15 15:59:46 +02:00
Andrei Zavatski
9febeb1f3d Add black background 2019-09-14 06:32:00 +03:00
Andrei Zavatski
a36c808682 Use Fit FillFode 2019-09-14 06:28:59 +03:00
Andrei Zavatski
9a94405b3a Fix video playback is stretched on client resize 2019-09-14 06:05:09 +03:00
Dan Balasescu
b10ce0b12d
Merge branch 'master' into key-counter-fixes 2019-09-13 19:43:33 +09:00
Andrei Zavatski
437e121056 Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-video 2019-09-13 13:39:58 +03:00
smoogipoo
cf2f841b4d Fix player not correctly exiting after an unpause 2019-09-13 15:42:58 +09:00
Dean Herbert
831d04f339 Don't use gameplay clock in KeyCounter 2019-09-12 15:48:07 +09:00
Dean Herbert
0cdf125c1e Handle key counter rewinding in a better way
Use ElapsedFrameTime rather than storing state data
2019-09-12 15:42:14 +09:00
Dean Herbert
cb0cf6e2c5 Remove reset functions 2019-09-12 14:27:52 +09:00
Dean Herbert
158737e001 Remove FadeTime customisation
Also adjusts fade transitions to feel better, especially in fast forward scenarios.
2019-09-12 14:27:29 +09:00
Dean Herbert
f9c969788a Fix keys not reaching full brightness as soon as they should 2019-09-12 13:56:23 +09:00
Dean Herbert
3a18e9907b
Merge branch 'master' into ingame-leaderboard-general-implementation 2019-09-11 22:32:53 +09:00
Dean Herbert
88d0756107 Allow global actions to propagate through pause screen 2019-09-06 17:17:30 +09:00
Dean Herbert
f925e781a9 Refactor HitWindows for legibility 2019-09-06 15:24:14 +09:00
Dean Herbert
986ac08397
Fix pause menu keyboard navigation being affected by initial cu… (#6002)
Fix pause menu keyboard navigation being affected by initial cursor hover
2019-09-05 17:27:48 +09:00
Dean Herbert
a1d7291ffa Fix pause menu keyboard navigation being affected by initial cursor hover 2019-09-05 16:31:10 +09:00
smoogipoo
a87a1e6031 Don't redraw certain buffered containers on scale change 2019-09-04 19:38:12 +09:00
Dean Herbert
1802d2efaf Merge remote-tracking branch 'upstream/master' into fix-gameplay-menu-button-hover-ani 2019-09-04 10:35:14 +09:00
Dean Herbert
4cad55cee6 Move hit windows lookup to DrawableRuleset 2019-09-03 13:05:03 +09:00
smoogipoo
0c73c5acf3 Expose full hitobject rather than hit windows 2019-09-02 17:14:40 +09:00
smoogipoo
f2bdf94a1d Add HitWindows to JudgementResult to indicate timing errors 2019-09-02 16:28:14 +09:00
smoogipoo
0a89603e79 Fix hit error potentially not displaying with null hitwindows 2019-09-02 16:07:16 +09:00
Dean Herbert
7ca51d3866 Fix resume overlay being drawn below cursor
Closes #5905.
2019-09-02 11:20:55 +09:00
Andrei Zavatski
94512fea8e Apply naming suggestions 2019-08-31 16:20:33 +03:00
Andrei Zavatski
d2f7a653a8 Fix nullref 2019-08-31 16:10:07 +03:00
Andrei Zavatski
28b19e8d54 Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-video 2019-08-31 15:49:21 +03:00
Dean Herbert
1ddf292ad6 Fix vertical alignment of hit error display ticks
Wasn't correctly centered before.
2019-08-31 12:20:50 +09:00
Andrei Zavatski
d4291556ee Remove unused using 2019-08-31 02:57:14 +03:00
Andrei Zavatski
fd958ec1ab Remove unused property accessor 2019-08-31 02:56:41 +03:00
Andrei Zavatski
fa3591e5ec Add setting to turn on/off the video 2019-08-31 00:42:20 +03:00
Andrei Zavatski
5dd688a51b Fix video doesn't use gameplay clock 2019-08-31 00:09:23 +03:00
Andrei Zavatski
d55be4d59c Implement DimmableVideo component 2019-08-30 23:48:38 +03:00
Andrei Zavatski
58a0b4e19b Add basic layout for player 2019-08-30 23:19:55 +03:00
Dean Herbert
8f5dc06d55 Merge remote-tracking branch 'upstream/master' into accuracy-bar 2019-08-30 20:18:25 +09:00
Dean Herbert
f1db6c7039 Fix likely nullref 2019-08-30 20:18:21 +09:00
smoogipoo
fc813347ac Make JudgementLine private 2019-08-30 19:54:36 +09:00
smoogipoo
dfccc60361 Reorder HitErrorDisplay 2019-08-30 19:53:38 +09:00
smoogipoo
fab12fa9cd Centre align the icons
Seems to look better this way.
2019-08-30 19:53:38 +09:00
Dean Herbert
665fc95d49 Handle no hitobjects / no hitwindows (osu!catch) 2019-08-30 19:37:20 +09:00
Dean Herbert
80671cefd7 Final visual polish 2019-08-30 19:14:07 +09:00
Dean Herbert
c3abf0ccb7 Improve visuals 2019-08-30 18:50:38 +09:00
Dean Herbert
8fc177b743 Fix namespacing and hitwindow source 2019-08-30 18:46:42 +09:00
Dean Herbert
741bd0a5cf Fix incorrect colour sizes and simplify alignment specification 2019-08-30 18:35:17 +09:00
Dean Herbert
54696eef39 Reverse display, add animation and reduce width 2019-08-30 17:06:23 +09:00
Dean Herbert
a73d672c2f Tidy up judgement line logic (and fix it displaying at the wrong place) 2019-08-30 16:40:39 +09:00
Dean Herbert
6640161bc1 Simplify event propagation 2019-08-30 15:51:36 +09:00
Dean Herbert
bdbfa7bd2f Fix class naming 2019-08-30 15:32:47 +09:00
Dean Herbert
835ee0aa2f Code quality fixes 2019-08-30 15:29:13 +09:00
Joehu
73fd3cf03c Fix gameplay menu button initial hover animation 2019-08-28 19:00:01 -07:00
Dean Herbert
7aeeb65ae7 Tidy up Player's container loading logic
Fixes drawable ruleset being loaded before skin sources are finished, by loading them as a separate operation (to avoid children being loaded first).
2019-08-27 18:27:21 +09:00
Dean Herbert
5e362d10b1 Add ruleset-specific legacy skin providers
This moves implementation of osu! skinnables to OsuLegacySkin.
2019-08-26 12:21:49 +09:00
Andrei Zavatski
0ccfaeb8d9 Simplify moving average 2019-08-21 10:13:59 +03:00
Andrei Zavatski
a5acc913ea CI fixes 2019-08-21 09:58:47 +03:00
Andrei Zavatski
a994ad9c84 Use moving average to calculate arrow position 2019-08-21 09:40:15 +03:00
Andrei Zavatski
71cbc3525d Add/remove displays only if necessary 2019-08-21 09:16:09 +03:00
Andrei Zavatski
f72edb8bf8 Add missing blank line 2019-08-20 09:03:31 +03:00
Andrei Zavatski
596ee150c6 Add xmldoc for not obvious const 2019-08-20 08:51:41 +03:00
Andrei Zavatski
9f64e09625 Move HitErrorDisplayOverlay back to the HUD 2019-08-20 08:45:51 +03:00
Andrei Zavatski
d337f9b482 DefaultHitErrorDisplay -> BarHitErrorDisplay 2019-08-20 08:03:17 +03:00
Andrei Zavatski
c4251d512e Simplify bar building 2019-08-20 08:00:09 +03:00
Andrei Zavatski
415f180261 Delete extra semicolon 2019-08-19 22:53:28 +03:00
Andrei Zavatski
50c47568e4 Don't present Meh hit windows if it has no value 2019-08-19 22:45:27 +03:00
Andrei Zavatski
f1c3a60660 Add ability to select side 2019-08-19 22:04:27 +03:00
Andrei Zavatski
1bff103d32 CI fixes 2019-08-19 21:25:14 +03:00
Andrei Zavatski
6d3aa0520b Make HitErrorDisplay an abstract class 2019-08-19 20:44:06 +03:00
Andrei Zavatski
70084b5553 Move HitErrorDisplay outside of the HUD 2019-08-19 20:28:03 +03:00
Andrei Zavatski
4c817b18b7 Use direct cast 2019-08-18 17:03:11 +03:00
Andrei Zavatski
dd6351b8ca Apply suggested changes 2019-08-18 16:51:16 +03:00
Andrei Zavatski
6c60db550f Fix crash if ruleset has no Meh hit windows 2019-08-18 16:24:13 +03:00
Andrei Zavatski
55cd1cecdf Add missing blank line 2019-08-18 15:53:42 +03:00
Andrei Zavatski
8740ebd13f Simplify layout 2019-08-18 15:45:18 +03:00
Andrei Zavatski
a59a14c9e6 Add setting to enable/disable hit error visibility 2019-08-18 15:01:04 +03:00
Andrei Zavatski
ee5568e596 Use Queue instead of List for stored Judgements 2019-08-18 14:43:34 +03:00
Andrei Zavatski
50133ba863 naming adjustments 2019-08-18 02:57:12 +03:00
Andrei Zavatski
906984ad95 Fix the math 2019-08-18 02:49:07 +03:00
Andrei Zavatski
f7024b513e Visual improvements 2019-08-18 01:43:43 +03:00
Andrei Zavatski
94dbd6386f Merge remote-tracking branch 'refs/remotes/ppy/master' into accuracy-bar 2019-08-18 01:14:27 +03:00
Dean Herbert
d0f2d22995
Merge branch 'master' into fix-storyboard-not-shown-on-disabled-user-dim 2019-08-12 05:46:15 +09:00
Andrei Zavatski
e7964c165f Make judgement lines alive for a bit longer 2019-08-11 19:09:50 +03:00
Andrei Zavatski
3136d46c7f Do not generate new judgement line on miss 2019-08-11 19:04:56 +03:00
Andrei Zavatski
5e0ac28ca8 Add basic colours 2019-08-11 18:30:03 +03:00
Andrei Zavatski
177a317a48 rename AccuracyBar to HitErrorDisplay 2019-08-11 18:11:49 +03:00
Andrei Zavatski
2a35c3c3e2 Calculate real position for judgement lines 2019-08-11 18:04:54 +03:00
Andrei Zavatski
0a255fe4d1 Add moving arrow 2019-08-11 16:38:03 +03:00
Andrei Zavatski
ed409d113b Add judgement lines generator 2019-08-11 15:53:15 +03:00
Andrei Zavatski
fd334e0319 Implement basic layout for AccuracyBar 2019-08-11 14:57:21 +03:00
Dean Herbert
90b1fe81f3 Update cached usage in line with framework changes 2019-08-09 19:12:29 +09:00
iiSaLMaN
0fcc6c1676 Add DimLevel property 2019-08-08 22:13:48 +03:00
iiSaLMaN
bedb744a2e Add parentheses 2019-08-08 17:11:26 +03:00
iiSaLMaN
88b9942b2a Move EnableUserDim check to defualt value of ShowDimContent 2019-08-08 17:07:06 +03:00
Dean Herbert
2172c5a52b
Merge branch 'master' into use-bindable-break-time-in-player 2019-08-08 14:24:52 +09:00
Dean Herbert
7d42561da9 Remove linq usage in BreakOverlay update 2019-08-08 12:58:20 +09:00
Salman Ahmed
3f9f9e7bc9
Merge branch 'master' into use-bindable-break-time-in-player 2019-08-08 05:36:45 +03:00
Dean Herbert
99f5ca07ce Remove redundant comment 2019-08-08 10:42:54 +09:00
Dean Herbert
40a33b3382 Move IsLoaded check to more correct place 2019-08-08 10:41:23 +09:00
Dean Herbert
a2e3ab6463
Merge branch 'master' into add-bindable-for-break-times 2019-08-08 10:13:14 +09:00
iiSaLMaN
ba269a49ee Expose break fade duration and add it in the calculation 2019-08-07 16:59:35 +03:00
iiSaLMaN
d3657d82cd Simplify final check for break time 2019-08-07 16:28:16 +03:00
iiSaLMaN
c2b3c28c79 Use IsBreakTime for checking if currently in a break
Rather than iterating over all breaks to find which is in current time
2019-08-07 16:15:53 +03:00
Dean Herbert
dda078277a Minor variable name changes 2019-08-06 23:05:12 +09:00
iiSaLMaN
2a68bb2749 onCompletionEvent -> pushResults 2019-08-06 14:11:43 +03:00
iiSaLMaN
dd701eaa62 Safely cancel the completion task on restart or immediate exit 2019-08-06 14:10:03 +03:00
iiSaLMaN
fdd00c0820 Remove position fading
Unnecessary effect
2019-08-04 18:35:53 +03:00
iiSaLMaN
91f35dde58 Actual fix of position declaring bug 2019-08-04 18:27:49 +03:00
iiSaLMaN
9325c024bb Add InitialPosition field 2019-08-04 18:26:01 +03:00
iiSaLMaN
5e4e150330 Use normal Action 2019-08-04 18:20:45 +03:00
iiSaLMaN
7675c679db Fix reordering not declaring new position properly
Small bug fix
2019-07-31 16:09:40 +03:00
iiSaLMaN
e6e315e07b Expose current break index 2019-07-30 13:29:41 +03:00
iiSaLMaN
32498d5d50 Add xmldocs and return score items.
Return for usage in later PR
2019-07-30 12:35:49 +03:00
iiSaLMaN
4874746525 Add OnScoreChange event
For use in scrolling system on a later PR
2019-07-30 12:32:12 +03:00
iiSaLMaN
d467dd5747 Add simple implementation of in-game leaderboard 2019-07-29 06:51:44 +03:00
iiSaLMaN
5bf0277fd4 Remove unnecessary quick check
Not saving for anything
2019-07-28 09:17:13 +03:00
iiSaLMaN
1dd3a66300 Remove unnecessary index resets 2019-07-28 09:16:19 +03:00
iiSaLMaN
95b568eb46 Remove unnecessary condition 2019-07-27 15:52:30 +03:00
iiSaLMaN
6c580ac9d5 Use while loops instead 2019-07-27 15:52:01 +03:00
Salman Ahmed
934439e138
Merge branch 'master' into add-bindable-for-break-times 2019-07-26 12:57:52 +03:00
iiSaLMaN
4c9e8527d8 Modify global index directly in the for loop
Moves the global index to a near break if not in a break yet
2019-07-26 09:24:53 +03:00
iiSaLMaN
5a94a22314 Add a quick check if we're not in a break with current index 2019-07-26 09:17:39 +03:00
iiSaLMaN
3fa6804501 Use better loops for moving index
Easy to read, suggested by peppy
2019-07-26 08:12:32 +03:00
iiSaLMaN
806d41daf4 Add function to reset break index 2019-07-26 08:11:13 +03:00
iiSaLMaN
91fa8a6552 Simplify null and any check 2019-07-26 08:09:18 +03:00
iiSaLMaN
44895c4b69 Use IReadOnlyList for break periods list 2019-07-26 05:41:10 +03:00
iiSaLMaN
b4c93b1777 Use lookup direction than 2 while loops 2019-07-26 05:11:01 +03:00
iiSaLMaN
a08d54eb06 Remove unnecessary checks 2019-07-26 03:11:59 +03:00
Shane Woolcock
1d6c321e14 Ensure we don't ping-pong nearestBreakIndex between breaks 2019-07-26 08:34:18 +09:30
Shane Woolcock
5e51012800 Rewrite updateBreakTimeBindable 2019-07-25 22:54:05 +09:30
iiSaLMaN
cdda264c49 Use global index and move it to find if break time
Avoid using iterations
2019-07-25 12:28:21 +03:00
iiSaLMaN
5a55433d6c Return if breaks are null
Fixes a test
2019-07-25 11:53:32 +03:00
iiSaLMaN
172a9ce33a Use a for loop instead of foreach
avoid allocating an iterator
2019-07-25 11:40:45 +03:00
iiSaLMaN
9bd66b6e7a Better xmldoc 2019-07-25 11:27:32 +03:00
iiSaLMaN
69d2f57f4f Avoid using LINQ 2019-07-25 11:27:01 +03:00
iiSaLMaN
0ea0a10ca4 Expose as IBindable<bool> 2019-07-25 11:26:38 +03:00
iiSaLMaN
7b82d184bd Add bindable boolean for break times 2019-07-25 11:07:53 +03:00
Dan Balasescu
986031e127
Merge branch 'master' into storyboard-clock-di 2019-07-12 23:14:12 +09:30
Dean Herbert
8b67f88d16 Don't expose dimmable container creation in player 2019-07-12 12:04:45 +09:00
Dean Herbert
46f7bb885b Move classes to local namespaces
Also renames test scene to more appropriate name.
2019-07-12 11:50:06 +09:00
Dean Herbert
ecbd0f7eff
Merge branch 'master' into fix-skip-button-clickability 2019-07-11 23:10:28 +09:00
David Zhao
6c0de0b436 Merge remote-tracking branch 'upstream/master' into storyboard-clock-di 2019-07-11 13:33:35 +09:00
David Zhao
321266e96f Make UserDimContainer abstract 2019-07-11 13:17:28 +09:00
David Zhao
7929104b8a move default into StoryboardContainer, fix load bug, remove comment 2019-07-10 12:24:05 +09:00
David Zhao
41afe89c0b
delete no longer needed bindable 2019-07-10 00:46:34 +09:00
Dean Herbert
27e79d56ec
Merge branch 'master' into collapse-graph-option 2019-07-09 23:40:43 +09:00
David Zhao
5bb21ecae0 remove storyboard region 2019-07-09 16:50:37 +09:00
David Zhao
89cb8a0cac Move storyboard initialization to new StoryboardContainer 2019-07-09 16:23:59 +09:00
Dean Herbert
8a98aff318
Merge branch 'master' into replay-local-mods 2019-07-08 22:38:02 +09:00
Dean Herbert
54f5e6aedf Add assertion and comment about lease logic 2019-07-08 22:37:39 +09:00
David Zhao
0cf4bf2352 Manually set clock for storyboard if loading before being given a parent 2019-07-08 18:46:12 +09:00
David Zhao
d489a77fe1 remove new container and comment 2019-07-08 17:57:29 +09:00
David Zhao
fbd300e664 Move ruleset into ReplayPlayerLoader as well 2019-07-08 17:37:20 +09:00
David Zhao
e78e326f34 remove unused using 2019-07-08 17:02:42 +09:00
David Zhao
ef22ab9340 remove bindable 2019-07-08 16:32:11 +09:00
David Zhao
6a86f62d17 Get mods from score info 2019-07-08 16:13:03 +09:00
David Zhao
5853a877c2 create base dependencies before caching, create player in playerloader 2019-07-08 15:40:10 +09:00
David Zhao
2747d7692b Create ReplayPlayerLoader for local mod caching 2019-07-08 14:55:05 +09:00
Dean Herbert
8f2ec73626 Move logic inside of HUDOverlay
Add vertical offset adjust.
2019-07-07 05:30:53 +09:00
Salman Ahmed
dfabed3d85
Merge branch 'master' into applicable-to-hud 2019-07-06 16:30:02 +03:00
Dan Balasescu
3a9f16ccf2
Merge branch 'master' into idle-still-starts 2019-07-06 00:08:59 +09:30
Unknown
d05512a12a invert usage corresponding to previous description change 2019-07-05 09:16:50 +02:00
Unknown
ee44caf964 better setting description 2019-07-05 08:52:44 +02:00
Unknown
2d5fd7f1c4 remove unnecessarily setting value of bindable that was already bound to 2019-07-05 08:49:56 +02:00
Unknown
b425df6c75 various fixes
- make AllowSeeking a Bindable which fixes incorrect initial position and removes unnecessary variables
- make SongProgressInfo fixed height
2019-07-05 08:48:40 +02:00
Dean Herbert
b902457f8d Allow PlayerLoader to proceed even if the mouse is hovering an overlay panel 2019-07-05 15:32:07 +09:00
Unknown
ed22c23f37 mask SongProgress 2019-07-05 08:30:32 +02:00