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
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
Ronnie Moir
f2a48a339e
Remove unused usings
2020-06-24 16:33:19 +01:00
Ronnie Moir
992ada4670
Revert UserPlaybackRate changes
2020-06-24 16:18:46 +01:00
Ronnie Moir
4c28347686
Adjust sample rate by UserPlaybackRate
2020-06-24 15:34:20 +01:00
Bartłomiej Dach
470d5bfce3
Invert if to reduce nesting
2020-06-19 20:15:14 +02:00
Bartłomiej Dach
53861cdde8
Privatise setter
2020-06-19 20:13:43 +02:00
Ronnie Moir
f04f2d2175
Add test scene
2020-06-18 21:46:32 +01:00
Ronnie Moir
9f4f3ce2cc
Handle IApplicableToSample mods
2020-06-16 14:54:50 +01:00
Dean Herbert
978636b90c
Fix storyboard sample playback failing when expected to play at 0ms
2020-06-15 09:38:33 +09:00
Bartłomiej Dach
2398f2e537
Expose drawable overlay layer
2020-05-19 19:47:50 +02:00
Bartłomiej Dach
e211785704
Add overlay layer to storyboard definition
2020-05-19 19:47:45 +02:00
Dean Herbert
c5f8bbb25f
Fix beatmap background not displaying when video is present
2020-04-14 11:56:37 +09:00
Dean Herbert
b7308f5ed4
Fix storyboard videos being offset incorrectly
2020-04-07 00:26:38 +09:00
Dean Herbert
51db361c32
Update usages of Animation and Video in line with framework changes
2020-04-03 16:00:06 +09:00
Bartłomiej Dach
522bbc1e9c
Support widescreen per-layer storyboard masking
2020-03-30 21:51:39 +02:00
Lucas A
01c9112f82
Add a null check to prevent NRE when playing the "no video" version of a beatmap.
2020-03-26 17:09:22 +01:00
voidedWarranties
b8f20831a1
Video no longer modifies storyboard resolution
2020-03-24 20:04:09 -07:00
Dean Herbert
6d81da5419
Merge branch 'master' into video-offset
2020-03-25 11:28:59 +09:00
Dean Herbert
368bf58521
Rename and make fields readonly
2020-03-25 11:08:08 +09:00
voidedWarranties
4bb15a8b93
Allow individual storyboard layers to disable masking
2020-03-23 22:51:37 -07:00
voidedWarranties
c27751050b
Switch back to strings and update setting labels
2020-03-12 23:29:11 -07:00
smoogipoo
424f9afbf4
Fix incorrect offset with custom clock
2020-03-11 17:55:20 +09:00
smoogipoo
ae7245a51b
Refactor + fix fade in too late
2020-03-11 15:11:54 +09:00
voidedWarranties
6de244389b
Use OffsetClock instead of ManualClock
2020-03-10 22:50:20 -07:00
voidedWarranties
5aa99d8b34
Hide background image when video is present
2020-03-09 16:04:23 -07:00
voidedWarranties
4624582703
Revert position offset change for separate pull
2020-03-08 14:40:36 -07:00
voidedWarranties
22dd93a4f6
Code quality, read position offsets
2020-03-08 14:02:39 -07:00
voidedWarranties
48282dea8b
Remove individual setting to disable videos, fix tests
2020-03-07 22:08:38 -08:00
voidedWarranties
76c832518f
Render video as a part of the storyboard
2020-03-07 21:32:03 -08:00
Dean Herbert
740bdee125
Apply remaining uncaught changes
2020-01-20 23:59:21 +09:00
Dean Herbert
cd5290b030
Enforce using get-only auto property where possible
2020-01-20 13:50:27 +09:00
smoogipoo
91735ff367
Update MathUtils namespace usages
2020-01-09 13:43:44 +09:00