Commit Graph

211 Commits

Author SHA1 Message Date
Dean Herbert 31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
Dean Herbert f71f6302fd Remove unnecessary `null` casts 2022-06-24 14:50:11 +09:00
Dan Balasescu f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dean Herbert f23ddfe6cc Move remaining realm classes out of `Stores` namespace 2022-06-15 21:56:00 +09:00
Bartłomiej Dach 71c0216c55
Add null check guards to unsubscriptions in `Dispose()` 2022-04-07 21:37:42 +02:00
Dean Herbert 040afff670 Change `DrawableStoryboardAnimation` to derive from `TextureAnimation` 2022-04-07 17:35:59 +09:00
Dean Herbert cbc4e5319d Fix `DrawableStoryboardAnimation` to handle skin fallback frame count similar to stable
Reasoning is explained in the inline comment (basically, stable doesn't
care what the user specifies as the frame count when falling back to
skin resources).

This change also removes on to two layers of drawables, which should be
a win in heavy storyboards.
2022-04-07 17:35:56 +09:00
Dean Herbert a7e262627f Fix `DrawableStoryboardAnimation` not specifying sizing correctly
Usually this would be handled by `TextureAnimation`, but because we are
inheriting from `DrawableAnimation` here for reasons, we needed to
implement this ourselves. Follows the implementation in
`TextureAnimation`.
2022-04-07 15:18:55 +09:00
Salman Ahmed c1697c7621 Update `DrawableStoryboardSprite` to use helper method 2022-03-14 06:30:54 +03:00
Salman Ahmed 740a72e16d Share origin adjustment logic between storyboard sprite and animation 2022-03-14 05:44:34 +03:00
Salman Ahmed 9cf05080da Simplify conditionals to one XOR operations with comments 2022-03-14 04:40:35 +03:00
Salman Ahmed 0b8c89bfa8 Fix drawable storyboard sprites not flipping origin on negative scale 2022-03-14 03:50:12 +03:00
Salman Ahmed c9d54834be Fix `SkinnableSprite`s in storyboards not autosizing to their textures 2022-03-14 03:46:13 +03:00
Dean Herbert c38126ba9d Make mods argument optional for storyboard construction 2022-03-04 12:05:02 +09:00
Salman Ahmed 3630ab2db2 Remove unnecessary nullability of storyboard mods list 2022-03-03 00:09:12 +03:00
Salman Ahmed cbb8dc2891 Fix storyboard samples rate not adjusted from actual gameplay mods 2022-03-02 20:56:18 +03:00
Dean Herbert e49da2948d Fix storyboard background replacement logic not working for beatmaps with multiple backgrounds
In the case where the background image of individual difficulties is
different, querying the beatmap *set*'s metadata as we were will cause
issues.

I haven't added test coverage for this but can if required. Can be
manually tested using https://osu.ppy.sh/beatmapsets/1595773#osu/3377474
(specifically the highest difficulty).

Closes https://github.com/ppy/osu/discussions/16873.
2022-02-18 16:24:19 +09:00
Dean Herbert 6eb2c28e41 Rename `RealmContextFactory` to `RealmAccess` 2022-01-24 20:38:07 +09:00
Dean Herbert b2d09b7b10 Fix further warnings 2022-01-12 23:42:12 +09:00
Dean Herbert eb70a1eeb7 Replace compatibility properties with direct references 2022-01-12 18:13:14 +09:00
Dean Herbert 167c399e8a Fix invalid DI resolution of `RealmFileStore` 2022-01-12 17:00:16 +09:00
Dean Herbert 00e3af3366 Update model manager and many related classes to get things compiling again 2022-01-12 17:00:00 +09:00
Dean Herbert e6fdd0e969 Miscellaneous fixes that don't fit elsewhere 2022-01-12 16:39:36 +09:00
Dean Herbert 79dd9674fc Use longer form to read better
Using `l.StartTime` reads like a coding issue, even though if you go
down the call chain looks to be correct.
2021-12-14 17:41:09 +09:00
Dan Balasescu 357a661379 Fix storyboard sprites sometimes starting too early 2021-12-14 13:13:12 +09:00
Dean Herbert 59e763467f Move `StoragePath` implementation to an extension method 2021-11-19 16:08:38 +09:00
Dean Herbert 7c2e79f911 Update all simple cases of switching to `IWorkingBeatmap` 2021-11-17 20:56:57 +09:00
Dean Herbert b80c02b757 Fix crash on gameplay startup if beatmap has no background 2021-11-04 17:24:40 +09:00
Dean Herbert d1e6d1cb98 Update some other missed incorrect null/empty usages 2021-11-04 14:50:43 +09:00
Dean Herbert 6944151486 Apply batch fixing of built-in types using `var` 2021-10-27 13:04:41 +09:00
Dean Herbert 3faafd7200 Rename parameter to `repeatCount` and add guards 2021-10-01 18:26:29 +09:00
Sebastian Krajewski f148fbcc94 Cap LoopCount to at least 1 2021-09-29 00:59:08 +02:00
Dean Herbert 06d1bd971c Default `DrawableStoryboard` to a completed state to avoid state change on empty storyboards 2021-06-18 16:08:49 +09:00
Dean Herbert 00b3eea840 Merge branch 'legacy-skin-default-fallback' into fix-skin-sample-lookup 2021-05-31 21:39:04 +09:00
Dean Herbert 631d217f78 Remove no longer necessary conditional access 2021-05-28 15:42:35 +09:00
Dean Herbert 6268bbea85 Merge branch 'master' into fix-skin-sample-lookup 2021-05-28 14:47:35 +09:00
Dean Herbert 70a844ac10 Remove `allowFallback` parameters completely 2021-05-27 14:50:42 +09:00
Dean Herbert 342acadae2 Change LINQ query for better readability 2021-05-25 18:51:51 +09:00
Dean Herbert 871ca8054f Rename classes as per review feedback 2021-05-25 18:50:33 +09:00
Dean Herbert 5ea948aabe Bypass 640x480 coordinate space for video storyboard elements
This allows the `FillMode.Fill` to take up the full space of the
storyboard container.
2021-05-25 16:17:29 +09:00
Dean Herbert 0c55bba220 Allow storyboards to be widescreen if only a video element exists
This matches stable behaviour, which will allow videos to display
filling the screen if they are the only thing contained within the
"storyboard".
2021-05-25 16:07:19 +09:00
Dean Herbert e3507d5453 Move `DrawableStoryboard`'s aspect application to inside its own class 2021-05-25 16:06:39 +09:00
Dean Herbert 18779b1d1e Cache last event time value to avoid super expensive LINQ 2021-05-04 16:48:13 +09:00
Dean Herbert ffc88db47a Implement Duration via the interface 2021-05-04 16:04:59 +09:00
Dean Herbert bb9fa1a25e
Merge branch 'master' into play-storyboard-outro 2021-05-04 14:01:34 +09:00
smoogipoo d28eb399a4 Fix storyboard sample lifetimes not set if seeked past 2021-04-20 17:14:48 +09:00
Christine Chen 98460c8feb Rename IStoryboardElementHasDuration, remove unnecessary step in tests, add Duration field 2021-04-18 20:20:14 -04:00
Salman Ahmed f6a09be62d Add further xmldoc 2021-04-18 07:25:49 +03:00
Christine Chen 97bacbdc76 Show score after the end of the storyboard after it was toggled 2021-04-17 18:10:21 -04:00
Christine Chen e40cb6797d Use GetEndTime() to get storyboard endtime 2021-04-17 15:27:48 -04:00