164 Commits

Author SHA1 Message Date
d6fa44240d Fix storyboard video-only check being inverted 2023-05-16 21:51:32 -07:00
1efc78c0f8 Actually use new end time property when setting lifetimes 2023-04-26 13:28:51 +09:00
2cce785fa5 Fix storyboard videos not fading out on completion
Closes https://github.com/ppy/osu/issues/22802.

Stable uses a 1,000 ms fade-in / out. Rather than matching that, I've
stuck with 500ms (what lazer was already using for the fade-in) because
I think it feels better.

Tested using the beatmap linked in the issue thread.
2023-03-07 15:54:35 +09:00
192536643c Fix some more inspections 2022-12-16 20:21:19 +09:00
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
835cae3087 Remove null conditional 2022-09-23 17:06:55 +03:00
4e9053b099 Fix crash when storyboard attempts to play at main menu 2022-09-23 20:10:57 +09:00
24138b65a7 Fix storyboard animations not starting their animation playback from the correct point in time 2022-09-12 14:05:16 +09:00
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
c8764cb333 Move all usage of GameplayClock to IGameplayClock 2022-08-15 18:30:53 +09:00
ac99c1ad69 Migrate the majority of existing file lookups to use new extension methods 2022-08-10 16:01:16 +09:00
b4e55f7309 Apply IRenderer changes 2022-08-02 19:50:57 +09:00
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
f23ddfe6cc Move remaining realm classes out of Stores namespace 2022-06-15 21:56:00 +09:00
71c0216c55 Add null check guards to unsubscriptions in Dispose() 2022-04-07 21:37:42 +02:00
040afff670 Change DrawableStoryboardAnimation to derive from TextureAnimation 2022-04-07 17:35:59 +09:00
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
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
c1697c7621 Update DrawableStoryboardSprite to use helper method 2022-03-14 06:30:54 +03:00
740a72e16d Share origin adjustment logic between storyboard sprite and animation 2022-03-14 05:44:34 +03:00
9cf05080da Simplify conditionals to one XOR operations with comments 2022-03-14 04:40:35 +03:00
0b8c89bfa8 Fix drawable storyboard sprites not flipping origin on negative scale 2022-03-14 03:50:12 +03:00
c38126ba9d Make mods argument optional for storyboard construction 2022-03-04 12:05:02 +09:00
3630ab2db2 Remove unnecessary nullability of storyboard mods list 2022-03-03 00:09:12 +03:00
cbb8dc2891 Fix storyboard samples rate not adjusted from actual gameplay mods 2022-03-02 20:56:18 +03:00
6eb2c28e41 Rename RealmContextFactory to RealmAccess 2022-01-24 20:38:07 +09:00
167c399e8a Fix invalid DI resolution of RealmFileStore 2022-01-12 17:00:16 +09:00
00e3af3366 Update model manager and many related classes to get things compiling again 2022-01-12 17:00:00 +09:00
59e763467f Move StoragePath implementation to an extension method 2021-11-19 16:08:38 +09:00
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
06d1bd971c Default DrawableStoryboard to a completed state to avoid state change on empty storyboards 2021-06-18 16:08:49 +09:00
00b3eea840 Merge branch 'legacy-skin-default-fallback' into fix-skin-sample-lookup 2021-05-31 21:39:04 +09:00
631d217f78 Remove no longer necessary conditional access 2021-05-28 15:42:35 +09:00
6268bbea85 Merge branch 'master' into fix-skin-sample-lookup 2021-05-28 14:47:35 +09:00
70a844ac10 Remove allowFallback parameters completely 2021-05-27 14:50:42 +09:00
342acadae2 Change LINQ query for better readability 2021-05-25 18:51:51 +09:00
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
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
e3507d5453 Move DrawableStoryboard's aspect application to inside its own class 2021-05-25 16:06:39 +09:00
18779b1d1e Cache last event time value to avoid super expensive LINQ 2021-05-04 16:48:13 +09:00
bb9fa1a25e Merge branch 'master' into play-storyboard-outro 2021-05-04 14:01:34 +09:00
d28eb399a4 Fix storyboard sample lifetimes not set if seeked past 2021-04-20 17:14:48 +09:00
f6a09be62d Add further xmldoc 2021-04-18 07:25:49 +03:00
97bacbdc76 Show score after the end of the storyboard after it was toggled 2021-04-17 18:10:21 -04:00
b15838b220 Move storyboard outro logic to DrawableStoryboard 2021-04-16 00:59:10 -04:00
dff1d80f39 Update HasFlag usages to HasFlagFast 2021-02-25 15:38:56 +09:00
05982f42ab Add more comprehensive commenting and simplify base call logic
We can call the base method regardless for better safety. Worst case
it's just going to run `Stop()` twice anyway.
2021-02-01 16:43:54 +09:00
ee89aa159c Removed blank line 2021-01-26 23:12:26 -05:00
690feb1c1e Allow looping storyboard samples to follow the base samplePlaybackDisabled event logic. 2021-01-26 23:08:51 -05:00
3307e8357f DrawableStoryboardSample event method override for SamplePlaybackDisabledChanged 2021-01-26 00:36:32 -05:00