1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-26 17:13:07 +08:00
Commit Graph

955 Commits

Author SHA1 Message Date
smoogipoo
c3280083a2 Merge branch 'master' into fix-spectator-frame-conversion 2021-06-03 17:42:01 +09:00
smoogipoo
420df124b5 Add framestable-bypassing seek for spectator 2021-06-03 17:27:21 +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
14570b6fb1 Merge branch 'master' into autoplay-pause-support 2021-06-01 14:19:21 +09:00
smoogipoo
d2d0896298 Expose GameplayBeatmap and GameplayRuleset from Player 2021-05-31 19:22:20 +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
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
smoogipoo
895eb14c5a Forcefully end playing to fix test failures 2021-05-21 14:09:30 +09:00
smoogipoo
c6160d5304 Only ignore online score id for database import 2021-05-18 21:17:41 +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
b80768b44a Hook up seeking flow 2021-05-17 18:52:56 +09:00
Dean Herbert
da0913ca2d Make SongProgress a skinnable component 2021-05-17 18:52:56 +09:00
Dean Herbert
1f3ae901ce Expose DrawableRuleset for consupmtion by HUD components 2021-05-17 18:23:01 +09: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
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
Christine Chen
25312b3e88 Don't restart completion delegate on exit, revert exit behavior to lazer 2021-05-08 11:47:44 -04:00
Christine Chen
8c564a69ed Fix InvalidOperationException when exiting a map at the end 2021-05-07 21:11:03 -04:00
Dean Herbert
1cb10c2a22 Remove unnecessary binding logic from HUDOverlay 2021-05-07 17:51:46 +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
17b93361d5
Merge branch 'master' into skin-components-bind-outwards 2021-05-07 16:20:24 +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
625890381f Update ComboCounter components to use DI to attach data source 2021-05-03 17:43: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
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
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
5e82f40d67 Merge branch 'master' into gcc-abstraction 2021-04-16 20:14:53 +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
smoogipoo
1aa36818df Abstractify GameplayClockContainer 2021-04-14 17:47:11 +09:00
Salman Ahmed
36510309d1 Merge EnableUserDim and IgnoreUserSettings to one bindable 2021-04-13 10:58:56 +03:00
Dean Herbert
571124669d Remove all references to "score submission" from Player 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
Dean Herbert
b1cd01ceb8 Apply ConfigureAwait changes to game side 2021-03-08 14:36:35 +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
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
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
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
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
Dean Herbert
9e0724b138 Remove unnecessary double resolution of OsuGame 2021-02-08 15:58:41 +09: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
f29938e15d Make last binding game activity more sensible 2021-02-05 20:39:57 +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
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
b3f08b29ca Ensure that all changes to screen backgrounds are on the correct thread 2021-01-05 15:22:50 +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
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
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
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
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
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
smoogipoo
2db7433c0b Refactor player score creation and submission process 2020-12-18 16:51:59 +09:00
smoogipoo
c80ecec0b4 Reorder methods 2020-12-18 15:36:24 +09: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
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
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
d55eae55ad
Merge branch 'master' into fix-combo-break-rewind-replay 2020-11-13 21:46:32 +01:00
Dean Herbert
4b5743d993 Fix combo break sound not playing after rewind 2020-11-13 13:38:14 +09:00
smoogipoo
66213f2ed0 Add pooling support to DrawableRuleset + Playfield 2020-11-10 23:56:32 +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
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
4fca7675b0 Don't send spectate data when an autoplay mod is active 2020-10-23 14:47:21 +09:00
Dean Herbert
80b1f816c7 Merge branch 'master' into hide-hud-during-break-time 2020-10-20 14:19:04 +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
e3eaba7b2c Move ISampleDisabler implementation to Player and FrameStabilityContainer 2020-10-14 19:39:48 +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
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
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
Dean Herbert
136843c8e4 Make DrawableStoryboardSample a SkinnableSound
Allows sharing pause logic with gameplay samples.
2020-09-29 14:25:39 +09:00
Joehu
c5b684bd2e Fix typo in log when beatmap fails to load 2020-09-23 00:30:20 -07: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
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
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
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
Lucas A
84cb36b6a8 Defer subscriptions for updateOverlayActivationMode() to OnEntering() 2020-08-13 10:57:18 +02: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
Bartłomiej Dach
9a09f97478 Extract constant to avoid double initial value spec 2020-08-08 21:21:30 +02:00