Commit Graph

186 Commits

Author SHA1 Message Date
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
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
efb4a366d4 Fix xmldoc explaining incorrect behaviour
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-03-11 12:15:59 +09:00
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
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
b692abd3c2 Simplify condition from two to one operand 2021-01-22 20:35:34 +01:00
e0f8f6a23f introduce overrideable bool instead of copying event logic entirely 2021-01-22 12:09:40 -05:00
5b1bdfbdc5 Use callback method override 2021-01-21 20:06:24 -05:00
07ec0c0e0b Updated DrawableStoryboardSample to use GetBoundCopy() 2021-01-21 17:46:47 -05:00
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
9e0c490141 Remove unused using 2021-01-04 15:40:22 +09:00
20d04d6933 Fix Storyboard's FirstEventTime not finding the true earliest event 2021-01-04 15:16:01 +09:00
a8569fe15c Fix a couple of simple cases of incorrect TextureLoaderStore initialisation 2020-12-21 13:35:46 +09:00
c29ad8edf8 Better API for dealing with the contained drawable samples 2020-11-30 19:26:25 +09:00
a53848ef9b Fix storyboard imlpementation 2020-11-19 22:30:41 +09:00
730b14b5bb Add initial hit sample pooling 2020-11-19 19:51:09 +09:00
61093030ee Remove redundant class name qualifier 2020-11-10 12:20:49 +01:00
ce837eaba0 Rename variables 2020-11-10 12:20:26 +01:00