Commit Graph

223 Commits

Author SHA1 Message Date
0c53b4eb93 Fix wrong counting and add test 2021-03-31 14:09:39 +09:00
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
4fd8501c86 Remove unnecessary using (underlying enumerator change) 2021-02-26 20:03:03 +09:00
b3f08b29ca Ensure that all changes to screen backgrounds are on the correct thread 2021-01-05 15:22:50 +09:00
0d7f53b0b9 Fix gameplay loading too fast the first time entering a beatmap 2020-12-14 14:21:21 +09:00
437c0506ce Refactor to allow for special disposal handling to still work 2020-12-10 16:56:56 +09:00
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
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
cc996ec7fc Ensure player is consumed at the point of scheduled push running the first time 2020-12-10 16:32:14 +09:00
0542a45c43 Change to manual adjustment add/remove 2020-10-25 12:33:35 +01:00
e101ba5cba Move volume manipulations to player loader 2020-10-25 00:40:11 +02:00
73174961f0 Rework animation sequence for readability 2020-10-24 22:30:08 +02:00
7a68636f71 Adjust fade sequence and durations to feel better 2020-10-20 15:03:33 +09:00
4e57751ca1 Fix background dim application to avoid overdraw, transition smoother 2020-10-20 15:03:12 +09:00
fd4bab85cf Merge branch 'master' into epilepsy-warning 2020-10-20 01:06:46 +02:00
1fc22bdbff Only show warning once on given map 2020-10-20 00:59:36 +02:00
6e50ae0458 Reformulate push sequence code 2020-10-20 00:22:30 +02:00
8505903041 Move warning construction to load() 2020-10-20 00:08:05 +02:00
aeca61eb3e Split warning to separate file 2020-10-19 23:48:02 +02:00
44279ed347 Remove unused using directive 2020-10-19 23:46:09 +02:00
6e4b28ed1e Different version of epilepsy warning display 2020-10-20 00:32:44 +03:00
99bea6b8e9 Add missing null check (player construction is potentially delayed now) 2020-08-13 12:52:35 +09:00
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
0e2ccac33b Add spaces to comments 2020-05-04 18:36:24 -07:00
4d4ec3515d Fix player loading sequence continuing even when a priority overlay is visible 2020-02-14 19:16:08 +09:00
2808f8167d Use more regions 2020-02-14 18:28:58 +09:00
b69d1ad678 Reorder and clean up PlayerLoader 2020-02-14 18:22:57 +09:00
be30ef3cca Move BeatmapMetadataDisplay to its own class 2020-02-14 18:13:52 +09:00
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
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
ca862124a5 Fix replay import from main menu causing a hard crash 2019-12-27 19:36:48 +09:00
54798b134e Add accessibility modifiers 2019-12-08 03:16:41 +09:00
de23364608 Add failing test 2019-12-06 13:47:34 +09:00
636913a4a6 Refactor PlayerLoader changes 2019-10-03 19:22:41 +09:00
6929847b08 Remove redundant override 2019-10-02 17:22:34 +02:00
5f399add82 Resolve @iiSaLMaN 's suggested changes 2019-10-01 18:15:40 +02:00
2ac5e0bfa0 Make use of SessionStatics 2019-10-01 17:39:01 +02:00
f4f5a7e9c8 Fix test regressions 2019-09-27 13:20:17 +08:00
b50ef8ffa4 Allow null NotificationManager 2019-09-27 13:15:33 +08:00
f11156c2dc Fix tests not working correctly 2019-09-25 19:30:25 +09:00
c3221e1a36 Prepare classes for player loader test scene 2019-09-18 23:27:26 +02:00
220fdd0a04 Make muteWarningShownOnce static
... so it will actually get an instance per osu session.
2019-09-16 06:56:52 +02:00
ecce12981e Use block body for constructor to fix remaining code inspection issue 2019-09-15 17:47:44 +02:00
e3884658af Resolve code inspection errors 2019-09-15 17:36:53 +02:00
ec788ac09d Make notification only show up once per session 2019-09-15 17:20:07 +02:00
811a08d18f Use Bindable instead of bool 2019-09-15 16:50:01 +02:00
00e46fdefe Add check if game is muted by MuteButton 2019-09-15 16:32:23 +02:00
4a10e6c44e Use ResolvedAttribute for NotificationOverlay 2019-09-15 16:11:45 +02:00
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
b902457f8d Allow PlayerLoader to proceed even if the mouse is hovering an overlay panel 2019-07-05 15:32:07 +09:00