1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-18 01:23:05 +08:00
Commit Graph

318 Commits

Author SHA1 Message Date
BlauFx
09230304a4
Improve implementation 2022-08-07 13:20:29 +02:00
BlauFx
0d418559bc
Skip song intro only in case of a quick restart 2022-08-06 17:02:45 +02:00
BlauFx
e411a2d187
Revert reduced wait time commit 2022-08-06 15:12:36 +02:00
BlauFx
d8d7423698
Reduce "wait time" in case restarting the map 2022-08-05 23:04:43 +02:00
Susko3
38a8b9cf0a Add battery info for desktop platforms 2022-07-30 14:26:19 +02:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dean Herbert
6136e4e27a Don't play exit sound if screen is in a non-resumable state when exiting 2022-06-15 17:37:25 +09:00
Jamie Taylor
6b744a14b0
Move 'back' sample playback from OnResuming to OnExiting 2022-06-15 15:41:28 +09:00
Dan Balasescu
1d8ac6917d Send Loaded state from PlayerLoader on update thread 2022-04-28 20:10:47 +09:00
Dan Balasescu
b293d3923c Merge branch 'master' into multiplayer-force-start-2 2022-04-23 01:03:55 +09:00
Dean Herbert
832d37b2c2 Update screen transition events to use new event args 2022-04-22 00:52:44 +09:00
Dan Balasescu
41355384bd Add support for gameplay abort/force start 2022-04-21 23:14:37 +09:00
Salman Ahmed
94335c2938 Update further usages to cache/resolve via interface 2022-04-19 00:18:10 +03:00
Dean Herbert
043599081b Split out INotificationOverlay to allow for easier testing 2022-04-18 20:14:01 +09:00
Dean Herbert
dae5569e36 Use nullable in PlayerLoader 2022-03-19 15:06:22 +09:00
Dean Herbert
da76358ee0 Expose the loading player in PlayerLoader 2022-03-19 15:06:22 +09:00
Dean Herbert
9c43500ad3 Add ability for player loading screen settings to scroll
As we add more items here this is going to become necessary. Until the design no doubt gets changed.
2022-03-03 16:23:31 +09:00
Dean Herbert
2901d2a650 Hook offset adjustment control up to last play via PlayerLoader 2022-03-01 18:44:15 +09:00
Dean Herbert
350b0b488c TODO: Get score from previous play session for further analysis 2022-03-01 18:44:15 +09:00
Dean Herbert
4117a6adf7 Move player loader audio settings to new group 2022-03-01 18:44:15 +09:00
Joseph Madamba
98524d60a4 Fix clear identifier typos 2021-12-27 20:26:28 -08:00
Dean Herbert
a3b53ac2f6 Change comparison to match in all locations 2021-12-09 18:58:47 +09:00
Dean Herbert
0775053a18 Fix the unmute notification potentially overwriting user's volume levels unnecessarily
I've also changed the cutoffs to 5% rather than zero, as this seems like
a saner method of showing this dialog. With levels 5% or less, the game
is basically inaudible.

Arguably, the cutoff can be increased to 10%.
2021-12-08 13:38:43 +09:00
Bartłomiej Dach
b47c0b63f4
Tweak loader transition when testing gameplay in editor 2021-11-13 13:39:18 +01: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
Jamie Taylor
113c95f3f5
Only apply high-pass temporarily 2021-11-12 14:22:43 +09:00
Jamie Taylor
e33c1f9a41
Lower filter cutoff frequency 2021-11-11 11:00:55 +09:00
Jamie Taylor
8d0f5b0d82
Add high-pass filter when song selection is confirmed 2021-11-10 17:15:08 +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
Dean Herbert
ae4dcbd829 Improve PlayerLoader audio and visual transitions 2021-10-13 13:26:20 +09:00
Dean Herbert
310d7965b6 Merge branch 'master' into more-filter-effects 2021-10-07 20:52:38 +09:00
Jamie Taylor
5c48340520
Add filter effect to beatmap loading 2021-10-07 17:55:21 +09:00
smoogipoo
081524b6c8 Privatise setters 2021-08-17 13:44:21 +09:00
Salman Ahmed
2ddf28346a PlayerSettingsGroups -> PlayerSettings 2021-08-14 19:58:20 +03:00
Salman Ahmed
2b86416cb2 Hide player settings overlay on multi-spectator player loader 2021-08-13 06:35:16 +03: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
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
Salman Ahmed
36510309d1 Merge EnableUserDim and IgnoreUserSettings to one bindable 2021-04-13 10:58:56 +03: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
Christine Chen
08311abc5e Remove setters, cache CreatePowerStatus() and use a dummy LocalPowerStatus class in test scene 2021-04-10 00:00:21 -04: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
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
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
Dean Herbert
4fd8501c86 Remove unnecessary using (underlying enumerator change) 2021-02-26 20:03:03 +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
0d7f53b0b9 Fix gameplay loading too fast the first time entering a beatmap 2020-12-14 14:21:21 +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
Bartłomiej Dach
0542a45c43 Change to manual adjustment add/remove 2020-10-25 12:33:35 +01: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
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
Bartłomiej Dach
fd4bab85cf Merge branch 'master' into epilepsy-warning 2020-10-20 01:06:46 +02:00
Bartłomiej Dach
1fc22bdbff Only show warning once on given map 2020-10-20 00:59:36 +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
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
alex
0e2ccac33b Add spaces to comments 2020-05-04 18:36:24 -07: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
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
Dan Balasescu
54798b134e
Add accessibility modifiers 2019-12-08 03:16:41 +09:00
Dean Herbert
de23364608 Add failing test 2019-12-06 13:47:34 +09:00
smoogipoo
636913a4a6 Refactor PlayerLoader changes 2019-10-03 19:22:41 +09:00
Craftplacer
6929847b08 Remove redundant override 2019-10-02 17:22:34 +02: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
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
Dean Herbert
f11156c2dc Fix tests not working correctly 2019-09-25 19:30:25 +09:00
Craftplacer
c3221e1a36 Prepare classes for player loader test scene 2019-09-18 23:27:26 +02: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
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
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
Dean Herbert
b902457f8d Allow PlayerLoader to proceed even if the mouse is hovering an overlay panel 2019-07-05 15:32:07 +09:00
Dean Herbert
7bc7df2249 Reduce background brightness at PlayerLoader 2019-06-25 17:22:10 +09:00
Dean Herbert
20b43c20c8 Rename variables to remove redundant "screen" terminology 2019-06-12 16:33:15 +09:00
Lucas A
a5f758b977 Merge remote-tracking branch 'upstream/master' into user-status-wiring 2019-05-07 18:27:14 +02:00
Lucas A
d5d31282e5 Rename InitialScreenStatus to InitialScreenActivity in Editor / Player classes 2019-05-05 20:55:42 +02:00
Lucas A
5d4aa5a12e Add ScreenStatus property to change the OsuScreen's status + Renamed old ScreenStatus property to InitialScreenStatus 2019-05-02 20:51:19 +02:00