1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-09 09:37:42 +08:00
Commit Graph

203 Commits

Author SHA1 Message Date
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 SkinnableSprites 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
Christine Chen
5a015290b9 Add remarks back to LatestEventTime 2021-04-17 12:34:38 -04:00
Christine Chen
b15838b220 Move storyboard outro logic to DrawableStoryboard 2021-04-16 00:59:10 -04:00
Christine Chen
0e545e1ed9 Add IHasDuration interface with EndTime for storyboard elements to implement 2021-04-15 17:17:02 -04:00
Christine Chen
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
Christine Chen
16d34bcc0a Expose the latest end time of storyboard elements
Co-authored-by: Marlina Bowring <marlina@umich.edu>
2021-04-12 23:08:43 -04:00
Dean Herbert
efb4a366d4
Fix xmldoc explaining incorrect behaviour
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-03-11 12:15:59 +09:00
Dean Herbert
8aaba32431 Fix storyboard commands occurring before the earliest point of visibility delaying gameplay
In osu-stable, storyboard intros start from the first command, but in
the case of storyboard drawables which have an initial hidden state, all
commands before the time at which they become visible (ie. the first
command where `Alpha` increases to a non-zero value) are ignored.

This brings lazer in line with that behaviour. It also removes several
unnecessary LINQ calls.

Note that the alpha check being done in its own pass is important, as
it must be the "minimum present alpha across all command groups,
including loops". This is what makes the implementation slightly
complex.

Closes #11981.
2021-03-09 15:55:12 +09:00
smoogipoo
dff1d80f39 Update HasFlag usages to HasFlagFast 2021-02-25 15:38:56 +09:00