1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-16 20:22:55 +08:00
Commit Graph

2374 Commits

Author SHA1 Message Date
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
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