Dean Herbert
28185178d6
Add support for weird storyboards which have backwards events
...
Closes https://github.com/ppy/osu/issues/20632 .
Not adding test coverage because this is just weird.
2022-10-10 16:51:55 +09:00
Salman Ahmed
835cae3087
Remove null conditional
2022-09-23 17:06:55 +03:00
Dean Herbert
4e9053b099
Fix crash when storyboard attempts to play at main menu
2022-09-23 20:10:57 +09:00
Dean Herbert
bbf906ee06
Remove unnecessary `virtual` spec
2022-09-12 14:20:48 +09:00
Dean Herbert
24138b65a7
Fix storyboard animations not starting their animation playback from the correct point in time
2022-09-12 14:05:16 +09:00
Dean Herbert
824e68dab3
Fix `VectorScale` set to 0 still showing some sprites in storyboard
...
This implementation was matching the [framework side implementation of
scale](16d1c2d335/osu.Framework/Graphics/Drawable.cs (L973-L976)
)
but I don't think it's required here.
I'm still not sure if the framework implementation is correct, but
removing it locally does seem to fix broken storyboard cases.
Closes https://github.com/ppy/osu/issues/20155 .
2022-09-07 15:39:19 +09:00
Dean Herbert
a3de5f808e
Fix typo in `LoopStartTime` addition
2022-09-06 17:46:03 +09:00
Dean Herbert
677708c5e4
Rewrite logic using a list
2022-09-06 16:58:51 +09:00
Dean Herbert
d667f46830
Refactor alpha check to not overwrite sourced overrides with values from later commands
2022-09-06 16:41:32 +09:00
Dean Herbert
bea42d2862
Handle earliest-alpha-start-time logic in `StoryboardSprite` itself
2022-09-06 16:16:58 +09:00
Dean Herbert
a5e57b083c
Remove `EarliestDisplayTime`'s input to `CommandStartTime`
2022-09-06 16:16:58 +09:00
Dean Herbert
c8764cb333
Move all usage of `GameplayClock` to `IGameplayClock`
2022-08-15 18:30:53 +09:00
Dean Herbert
ac99c1ad69
Migrate the majority of existing file lookups to use new extension methods
2022-08-10 16:01:16 +09:00
Dan Balasescu
b4e55f7309
Apply IRenderer changes
2022-08-02 19:50:57 +09:00
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