1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-23 06:47:24 +08:00
Commit Graph

169 Commits

Author SHA1 Message Date
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
Dean Herbert
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
Mysfit
ee89aa159c Removed blank line 2021-01-26 23:12:26 -05:00
Mysfit
690feb1c1e Allow looping storyboard samples to follow the base samplePlaybackDisabled event logic. 2021-01-26 23:08:51 -05:00
Mysfit
3307e8357f DrawableStoryboardSample event method override for SamplePlaybackDisabledChanged 2021-01-26 00:36:32 -05:00
Bartłomiej Dach
b692abd3c2 Simplify condition from two to one operand 2021-01-22 20:35:34 +01:00
Mysfit
e0f8f6a23f introduce overrideable bool instead of copying event logic entirely 2021-01-22 12:09:40 -05:00
Mysfit
5b1bdfbdc5 Use callback method override 2021-01-21 20:06:24 -05:00
Mysfit
07ec0c0e0b Updated DrawableStoryboardSample to use GetBoundCopy() 2021-01-21 17:46:47 -05:00
Mysfit
b220939650 Fix storyboard samples continuing to play when the beatmap is paused or the intro is skipped. 2021-01-21 17:10:11 -05:00
Dean Herbert
9e0c490141 Remove unused using 2021-01-04 15:40:22 +09:00
Dean Herbert
20d04d6933 Fix Storyboard's FirstEventTime not finding the true earliest event 2021-01-04 15:16:01 +09:00
Dean Herbert
a8569fe15c Fix a couple of simple cases of incorrect TextureLoaderStore initialisation 2020-12-21 13:35:46 +09:00
smoogipoo
c29ad8edf8 Better API for dealing with the contained drawable samples 2020-11-30 19:26:25 +09:00
smoogipoo
a53848ef9b Fix storyboard imlpementation 2020-11-19 22:30:41 +09:00
smoogipoo
730b14b5bb Add initial hit sample pooling 2020-11-19 19:51:09 +09:00
Bartłomiej Dach
61093030ee Remove redundant class name qualifier 2020-11-10 12:20:49 +01:00
Bartłomiej Dach
ce837eaba0 Rename variables 2020-11-10 12:20:26 +01:00
cadon0
539806e9d6 Rewrite - Add empty drawable whenever sprite not found 2020-11-10 23:52:37 +13:00
cadon0
6446074976 Fix paths for storyboard animation sprites 2020-11-10 23:52:37 +13:00
Dean Herbert
4f746792fb Fix regression causing storyboard sprites to have incorrect origin support 2020-10-23 15:46:24 +09:00
Dean Herbert
1b84402b96 Centralise and share logic for storyboard frame lookup method 2020-10-23 15:34:00 +09:00
Bartłomiej Dach
58a54c5b6c Utilise UseSkinSprites value in storyboard sprite logic 2020-10-20 23:01:25 +02:00
Bartłomiej Dach
cdd56ece87 Read UseSkinSprites when decoding storyboards 2020-10-20 22:49:56 +02:00
Bartłomiej Dach
e54836a63e Use SkinnableSprite to avoid unnecessary reloads 2020-10-20 22:49:56 +02:00
Sebastian Krajewski
f41fc71e42 Allow storyboard animations to load textures from skins 2020-10-09 18:02:21 +02:00
Sebastian Krajewski
cf76d77762 Fix osu!classic skin elements not showing up in storyboards 2020-10-09 17:34:01 +02:00
Sebastian Krajewski
e0b5ead223
Merge branch 'master' into storyboard-skin-sprites 2020-10-09 16:55:45 +02:00
Dean Herbert
367b35bb10 Merge branch 'master' into fix-storyboard-sample-pausing 2020-09-30 22:42:26 +09:00
Dean Herbert
136843c8e4 Make DrawableStoryboardSample a SkinnableSound
Allows sharing pause logic with gameplay samples.
2020-09-29 14:25:39 +09:00
Dean Herbert
69cb9f3091 Fix potential crash if disposing a DrawableStoryboardSample twice 2020-08-21 18:19:47 +09:00
Sebastian Krajewski
7cf225520f Change from BDL to Resolved 2020-08-08 02:43:39 +02:00
Sebastian Krajewski
e0ae2b3ebf Switch to SkinReloadableDrawable 2020-08-06 17:07:36 +02:00
Sebastian Krajewski
19a0eaade9 Allow storyboard sprites to load textures from skins 2020-08-06 04:41:44 +02:00
Dean Herbert
0a1e6a8273 Fix storyboard video playback when not starting at beginning of beatmap 2020-07-16 14:25:45 +09:00