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
smoogipoo
2e3ecf71c7
Pass track from Player to components
2020-08-06 18:31:08 +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
Dean Herbert
fea6389f69
Hide HUD elements during break time by default
2020-07-22 12:41:06 +09:00
Dean Herbert
a6c6e391ca
Fix player not exiting immediately on Alt-F4
2020-06-23 17:38:30 +09:00
Dean Herbert
add1265d53
Block screen suspend while gameplay is active
2020-06-18 23:48:00 +09: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
smoogipoo
e5de382760
Merge branch 'master' into storyboard-overlay-layer
2020-05-20 15:08:45 +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
Lucas A
4096463d02
Move SkipOverlay internal alpha manipulation to a nested container and adjust visual tests.
2020-05-15 19:43:01 +02: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
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
Dean Herbert
cea6be5e52
Expose as JudgementResult instead of "passing" state
2020-05-03 23:55:44 +09:00
Dean Herbert
ff1d63060d
Add and consume passing state in GameplayBeatmap
2020-05-01 20:08:18 +09: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
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
7fab07670e
Remove no longer necessary usage of IsBreakTime
2020-04-05 21:35:09 +03:00
smoogipoo
1f797207f7
Rework lookups to not require total playfield columns
2020-04-03 12:31:05 +09:00
Dean Herbert
4f5557096c
Fix auto mod results not displaying correctly
2020-03-29 22:51: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
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
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
Dean Herbert
617149fb27
Implement in player
2020-03-23 20:06:18 +09:00