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
c9d54834be
Fix SkinnableSprite
s in storyboards not autosizing to their textures
2022-03-14 03:46:13 +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
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
6eb2c28e41
Rename RealmContextFactory
to RealmAccess
2022-01-24 20:38:07 +09:00
b2d09b7b10
Fix further warnings
2022-01-12 23:42:12 +09:00
eb70a1eeb7
Replace compatibility properties with direct references
2022-01-12 18:13:14 +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
e6fdd0e969
Miscellaneous fixes that don't fit elsewhere
2022-01-12 16:39:36 +09:00
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
357a661379
Fix storyboard sprites sometimes starting too early
2021-12-14 13:13:12 +09:00
59e763467f
Move StoragePath
implementation to an extension method
2021-11-19 16:08:38 +09:00
7c2e79f911
Update all simple cases of switching to IWorkingBeatmap
2021-11-17 20:56:57 +09:00
b80c02b757
Fix crash on gameplay startup if beatmap has no background
2021-11-04 17:24:40 +09:00
d1e6d1cb98
Update some other missed incorrect null/empty usages
2021-11-04 14:50:43 +09:00
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
3faafd7200
Rename parameter to repeatCount
and add guards
2021-10-01 18:26:29 +09:00
f148fbcc94
Cap LoopCount to at least 1
2021-09-29 00:59:08 +02: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
871ca8054f
Rename classes as per review feedback
2021-05-25 18:50:33 +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
ffc88db47a
Implement Duration via the interface
2021-05-04 16:04:59 +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
98460c8feb
Rename IStoryboardElementHasDuration, remove unnecessary step in tests, add Duration field
2021-04-18 20:20:14 -04: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
e40cb6797d
Use GetEndTime() to get storyboard endtime
2021-04-17 15:27:48 -04:00
5a015290b9
Add remarks back to LatestEventTime
2021-04-17 12:34:38 -04:00
b15838b220
Move storyboard outro logic to DrawableStoryboard
2021-04-16 00:59:10 -04:00
0e545e1ed9
Add IHasDuration interface with EndTime for storyboard elements to implement
2021-04-15 17:17:02 -04:00
25b8c2f257
Allow skipping storyboard outro
...
Reuses SkipOverlay by calculating the endtime of the storyboard and using that as a "start point". Upon skipping the outro the score is instantly shown.
When the end of the storyboard is reached the score screen automatically shows up. If the player holds ESC (pause) during the outro, the score is displayed
The storyboard endtime is calculated by getting the latest endtime of the storyboard's elements, or simply returning 0 if there is no storyboard.
Co-Authored-By: Marlina José <marlina@umich.edu >
2021-04-15 13:20:40 -04:00