1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-18 01:23:05 +08:00
Commit Graph

181 Commits

Author SHA1 Message Date
Bartłomiej Dach
e314913aeb
Handle null texture case 2023-09-27 11:18:38 +02:00
Dean Herbert
a7237e48aa Merge branch 'master' into fix-storyboard-skin-textures-lookup 2023-09-27 17:17:51 +09:00
Dean Herbert
3705c4c8d5 Avoid potentially incorrect size adjustment when texture doesn't change 2023-09-27 17:16:45 +09:00
Dean Herbert
990c54519b
Merge branch 'master' into limit-gameplay-sprite-dimensions 2023-09-26 16:40:32 +09:00
Dean Herbert
567bc8fcd3 Ensure DrawableStoryboardSprite's texture size propagates corectly on skin change 2023-09-26 14:13:51 +09:00
Dean Herbert
2ca1c684bb
Merge branch 'master' into fix-storyboard-skin-textures-lookup 2023-09-26 14:05:27 +09:00
Dean Herbert
b5e64d933c Apply same fix to DrawableStoryboardAnimation 2023-09-20 12:54:36 +09:00
Dean Herbert
50adb5f7a7 Remove incorrectly merge conflict resolved 2023-09-20 12:54:28 +09:00
Bartłomiej Dach
641e651bf2
Fix DrawableStoryboardVideo attempting to unmap path once too much
The `StoryboardResourceLookupStore` cached at storyboard level is
supposed to already be handling that; no need for local logic anymore.
2023-09-19 20:18:33 +02:00
Bartłomiej Dach
ba518e1da8
Fix StoryboardResourceLookupStore dying on failure to unmap path
Before the introduction of `StoryboardResourceLookupStore`, missing
files would softly fail by use of null fallbacks. After the
aforementioned class was added, however, the fallbacks would not work
anymore if for whatever reason `GetStoragePathFromStoryboardPath()`
failed to unmap the storyboard asset name to a storage path.
2023-09-19 20:11:16 +02:00
Dean Herbert
4a7dc4d792 Fix storyboard UseSkinSprites being implemented incorrectly
This was implemented as a "fallback", but it's actually intended to be
an "override". As in it allows storyboarders to *prefer* a skin sprite
before falling back to a local version contained within the storyboard.

Can be tested with https://osu.ppy.sh/beatmapsets/832364#osu/1743837.

Closes https://github.com/ppy/osu/issues/24813.
2023-09-19 20:20:20 +09:00
Dean Herbert
773ec46989 Expose some storyboard pieces to allow better testability 2023-09-19 20:20:11 +09:00
Dean Herbert
900376b662 Refactor storyboard resource lookup to be more streamlined 2023-09-14 16:15:50 +09:00
Salman Ahmed
6674c70280 Add support for limiting skin texture/animation dimensions 2023-09-03 02:21:47 +03:00
Dean Herbert
20e4e2581a Change IBeatSyncProvider.Clock to always be non-null 2023-07-13 22:13:40 +09:00
Dean Herbert
df5b389629 Manual fixes to reduce warnings to zero 2023-06-24 01:52:53 +09:00
Dean Herbert
0ab0c52ad5 Automated pass 2023-06-24 01:00:03 +09:00
Joseph Madamba
d6fa44240d
Fix storyboard video-only check being inverted 2023-05-16 21:51:32 -07:00
Dean Herbert
1efc78c0f8 Actually use new end time property when setting lifetimes 2023-04-26 13:28:51 +09:00
Dean Herbert
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
Dean Herbert
192536643c Fix some more inspections 2022-12-16 20:21:19 +09:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +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
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
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
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
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
6eb2c28e41 Rename RealmContextFactory to RealmAccess 2022-01-24 20:38:07 +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
59e763467f Move StoragePath implementation to an extension method 2021-11-19 16:08:38 +09:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09: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