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
Dean Herbert
ada8efb4ab
Merge branch 'master' into fix-storyboard-crash
2019-12-19 11:44:20 +09:00
smoogipoo
f38853d229
Improve performance of storyboard loading
2019-12-19 00:52:50 +09:00
smoogipoo
8d6987c870
Refactor storyboard timeline to reduce GC / fix crashes
2019-12-18 23:59:48 +09:00
Dean Herbert
69f888fc49
Fix storyboard flipping potentially not having an effect ( #7260 )
...
Fix storyboard flipping potentially not having an effect
2019-12-18 17:48:41 +09:00
smoogipoo
5aca523d35
Fix storyboard flipping potentially not having an effect
2019-12-18 17:27:13 +09:00
smoogipoo
602ce698d5
Fix storyboard vectorscale and scale cross-pollution
2019-12-18 17:21:38 +09:00
Huo Yaoyuan
caf3f774ba
CA1309: compare strings correctly.
2019-12-17 13:00:15 +08:00
Huo Yaoyuan
40a5c1fd96
Constrain transformable with class.
2019-12-09 17:45:26 +08:00
Huo Yaoyuan
c0fe91a84c
Merge branch 'master' into sharpen
2019-11-26 18:21:50 +08:00
Dean Herbert
8d1b11d4bd
Add storyboard lead-in tests
2019-11-21 18:50:54 +09:00
Dean Herbert
eee5902851
Merge remote-tracking branch 'upstream/master' into lead-in-fixes
2019-11-15 14:05:31 +09:00
Huo Yaoyuan
31cc0d13da
Use 'out var'.
2019-11-12 19:55:26 +08:00
Huo Yaoyuan
bbeab6fa76
Use auto property.
2019-11-12 19:53:25 +08:00
Huo Yaoyuan
e9b8cbb516
Apply other styles.
2019-11-11 20:27:04 +08:00
Huo Yaoyuan
ccc8aa6fa4
Apply brace style.
2019-11-11 20:13:13 +08:00
Dean Herbert
4b2cb8854e
Fix storyboard samples not stopping on exit
2019-09-03 19:28:10 +09:00
iiSaLMaN
b6b050d5e9
Add sample path to the lookup names
2019-08-23 14:55:06 +03:00
iiSaLMaN
7b04fb1690
StoryboardSample -> StoryboardSampleInfo
2019-08-23 14:54:39 +03:00
Dean Herbert
48716f8f2b
Update framework
2019-08-21 13:29:50 +09:00
Dean Herbert
90b1fe81f3
Update cached usage in line with framework changes
2019-08-09 19:12:29 +09:00
Dean Herbert
e03a664970
Fix lead-in logic to match stable
...
Also adds storyboard event priority support.
2019-05-31 15:51:19 +09:00
smoogipoo
93b26cd026
Reduce unnecessary allocations
2019-05-14 13:04:49 +09:00
smoogipoo
ad4b4f3422
Use nullable cancellation tokens
2019-05-10 17:42:45 +09:00
smoogipoo
f6dfcc4dcf
Remove unnecessary Storyboard disposal
2019-05-10 16:31:22 +09:00
smoogipoo
d25d39b315
Add cancellation to storyboard/hitobject loading
2019-05-10 16:31:09 +09:00
Dean Herbert
612db31c38
Apply newline additions
2019-04-01 12:16:32 +09:00
Dean Herbert
92184adef5
Add stable sorting of storyboard elements
2019-03-26 16:37:52 +09:00
David Zhao
acc133896b
Correct null check
2019-03-18 18:19:59 +09:00
David Zhao
05147768d3
Permit nulls
2019-03-18 15:50:34 +09:00
David Zhao
6a26972284
DI gameplay clock for Storyboards
2019-03-18 15:25:54 +09:00
Dean Herbert
2dbf7d122c
Merge branch 'master' into use-pattern-matching
2019-02-28 14:53:07 +09:00
Dean Herbert
e2c6a8bc07
Use pattern matching wherever possible
2019-02-28 14:35:00 +09:00
Dean Herbert
0788a7e9f1
Merge branch 'master' into more-inspections
2019-02-28 14:32:57 +09:00
Dean Herbert
42be7857d1
Use expression body for property get/set where possible
2019-02-28 13:58:19 +09:00
Dean Herbert
26d53d06a9
Fix remaining issues
2019-02-28 13:31:40 +09:00
smoogipoo
a07d797d75
Merge remote-tracking branch 'Joehuu/master' into use-lifetime-optimization
2019-02-27 12:08:43 +09:00
smoogipoo
d8c55bc729
Adjust namespaces
2019-02-21 19:05:52 +09:00
Dan Balasescu
c9c8cccd68
Merge branch 'master' into use-lifetime-optimization
2019-02-18 15:22:34 +09:00
Dean Herbert
ca5c8d37d1
Use leased bindables
2019-02-01 16:44:06 +09:00
ekrctb
504e79b968
Merge branch 'master' into use-lifetime-optimization
2019-01-29 12:15:02 +09:00
Dean Herbert
8617aaa2a7
Update licence header (and remove year)
2019-01-24 17:43:03 +09:00
Roman Kapustin
4b5fc85875
Use Find instead of FirstOrDefault
2019-01-05 19:35:33 +03:00
ekrctb
6f8a2e6ff2
Use LifetimeManagementContainer
...
This is a significant performance boost for gameplay,
especially for long or stroyboard-heavy maps.
2018-12-13 15:23:06 +09:00
smoogipoo
f27bd3ef3e
OpenTK -> osuTK
2018-11-20 17:14:59 +09:00
smoogipoo
3ad93d5a07
Remove redundant type specifications
2018-10-16 11:40:51 +09:00
Dean Herbert
841b2e8692
Merge branch 'master' into consistent-terminology-format
2018-10-10 19:19:36 +09:00
ekrctb
68980fc477
Adjust usage of Handle(Non)PositionalInput to follow framework update
2018-10-02 14:45:33 +09:00
smoogipoo
a8f156584b
Update framework with positional/non-positional changes
2018-09-26 14:01:15 +09:00
Dean Herbert
00d0613053
Fix new resharper redundant parenthesis inspections
2018-09-16 00:09:17 +09:00
Joehu
f99eff1192
Use consistent terminology format
2018-09-15 07:30:11 -07:00
Dean Herbert
7cca990be4
Merge remote-tracking branch 'upstream/master' into framework-image-changes
2018-09-07 18:56:00 +09:00
Dean Herbert
4e012042ab
Fix renaming variables too eagerly
2018-09-06 17:57:09 +09:00
Dean Herbert
29b0d62f21
Changes in line with framework refcount changes
2018-09-06 13:29:57 +09:00
Dean Herbert
c160a61fb7
Merge branch 'master' into storyboard-samples
2018-07-13 18:34:51 +09:00
Dean Herbert
2d602c0e3c
Add todo regarding playback skip logic
2018-07-13 18:23:12 +09:00
Dean Herbert
fbc5250bf1
Update framework
2018-07-11 17:12:01 +09:00
smoogipoo
d879b96d9f
Implement storyboard samples
2018-06-28 13:43:56 +09:00
smoogipoo
72cc53aded
Rename GameBeatmap -> BindableBeatmap
2018-06-06 20:16:20 +09:00
smoogipoo
8004b8af4d
Privatise the OsuGame beatmap, add local beatmap to OsuTestCase
2018-05-23 17:38:02 +09:00
Dean Herbert
32a74f95a5
Normalize all the line endings
2018-04-13 18:26:38 +09:00
Dean Herbert
659578e8fa
Add rewind support for storyboards
2018-03-04 01:48:31 +09:00
Dean Herbert
21b641b302
Give storyboards a BeatmapInfo to reduce weird method calls
...
Also removes unnecessary background texture (the actual storyboard background spec wasn't implemented correctly anyway).
2018-02-16 12:09:23 +09:00
TocoToucan
ae032cbf23
Support HandleKeyboardInput, HandleMouseInput, CanReceiveKeyboardInput, CanReceiveMouseInput properties
2018-01-07 23:40:00 +03:00
Dean Herbert
37d393bca0
Update licence headers
2018-01-05 20:21:19 +09:00
smoogipoo
c99ea32574
Merge branch 'master' into beatmap-serialization
2017-12-21 13:39:39 +09:00
smoogipoo
44edb8724f
Add JsonIgnores to CommandTimelineGroup
2017-12-06 13:48:44 +09:00
Aergwyn
96f5bd3323
remove Storyboard from Beatmap, add it to WorkingBeatmap
2017-11-29 21:54:04 +01:00
Damnae
2d4616fd43
Apply beatmap settings when creating the DrawableStoryboard.
2017-09-25 11:03:57 +02:00
Damnae
0996867112
Move StoryboardReplacesBackground and StoryboardAspect properties to Storyboard.
2017-09-25 10:40:22 +02:00
Damnae
2201fc745e
Fix storyboard loops start time when none of their commands start at 0.
2017-09-16 13:32:51 +02:00
Damnae
291486a4d1
Only create drawables for storyboard elements that will be visible.
2017-09-15 14:31:59 +02:00
Damnae
757a159516
Display a non-parallax background at the appropriate size when storyboards do not replace it.
2017-09-15 14:31:54 +02:00
Damnae
ddaf28d7f6
Integrate storyboards with gameplay.
2017-09-15 09:16:56 +02:00
Damnae
bab3ef0669
Rename storyboard classes.
2017-09-13 11:22:24 +02:00
Damnae
2fb203159f
CI fixes.
2017-09-11 12:39:50 +02:00
Damnae
47cd1d486b
Merge branch 'master' into storyboards
2017-09-11 12:29:19 +02:00
Damnae
cd15cfc864
Use case insensitive paths to find storyboard textures.
2017-09-11 12:06:13 +02:00
Damnae
9eaa1cb5cd
Fix sprites not being visible when all their commands are inside loops.
2017-09-11 12:06:00 +02:00
Damnae
59d9dc5ee7
Ignore storyboard sprites with invalid positions.
2017-09-10 20:08:56 +02:00
Damnae
bc01d9a1b0
Animate Additive / FlipH and FlipV.
2017-09-09 15:41:56 +02:00
Damnae
8d55cb7f92
Improve command sorting.
2017-09-09 11:00:58 +02:00
Damnae
4ab243d885
CI fixes.
2017-09-08 21:23:24 +02:00
Damnae
e8ab853f6f
Make storyboard loops work.
2017-09-08 21:07:40 +02:00