ekrctb
ce57e8ddfb
Separate Lifetime computation and layout update
2020-11-24 18:56:05 +09:00
ekrctb
cabc8aa63b
Revert "Simplify ScrollingHitObjectContainer logic"
...
This reverts commit b4cc39149c117e6a0e95ee917a67cec8ba723d06.
2020-11-24 18:56:05 +09:00
ekrctb
8f39b54e58
Simplify ScrollingHitObjectContainer logic
2020-11-24 18:56:05 +09:00
ekrctb
5c743adbae
Support hit object pooling scrolling playfield
2020-11-24 18:56:05 +09:00
Dean Herbert
c9a41f9dae
Make all objects in selection candidates for spatial snapping
...
Closes #10898 .
2020-11-24 17:35:54 +09:00
Dan Balasescu
87ce8a53ff
Merge branch 'master' into on-drawable-hitobject-added
2020-11-24 16:09:57 +09:00
Dean Herbert
1682260677
Remove left over logging line
2020-11-24 15:28:03 +09:00
Dean Herbert
ee33f62809
Fix DrawableJudgement not always animating correctly on skin change
...
If the skin is changed before gameplay has started (at the loading
screen) it is possible for a sequence of events to occur which results
in the animation not being played:
- `SkinReloadableDrawable` runs its BDL load (and calls `OnSkinChanged`
once)
- User changes skin, triggering `DrawableJudgement`'s skin change
handling (binding directly on the `SkinSource` locally)
- This will call `PrepareDrawables` and reinitialise the
`SkinnableDrawable` child hierarchy, then immediately apply the
animations to it.
- The new `SkinnableDrawable` will then get the `SkinChanged` event and
schedule a handler for it, which will run on its first Update call.
- Any added animations will be lost as a result.
Fixed by binding directly to the `SkinnableDrawable`'s `OnSkinChanged`.
This has the added bonus of not needing to reinitialise the child
hierarchy on skin change (which felt a bit weird in the first place).
2020-11-24 15:23:53 +09:00
Dean Herbert
060acb9010
Merge pull request #10935 from bdach/fix-mania-judgement-fade-in
...
Rewind judgement transforms before clearing
2020-11-23 17:05:04 +09:00
Dean Herbert
19faa2b9bb
Add comment covering intentional call to ClearTransformsAfter
2020-11-23 15:20:59 +09:00
Bartłomiej Dach
827a089810
Merge branch 'master' into change-taiko-ez
2020-11-22 13:29:02 +01:00
ekrctb
666112cb5a
Address @bdach's minor suggestions
2020-11-22 18:51:16 +09:00
ekrctb
c506b438bf
Remove more code and make some methods private
2020-11-22 18:51:16 +09:00
Bartłomiej Dach
9f997db958
Rewind judgement transforms before clearing
2020-11-21 17:56:49 +01:00
ekrctb
295ca38cda
Merge remote-tracking branch 'origin/master' into on-drawable-hitobject-added
2020-11-21 15:25:16 +09:00
ekrctb
4345d8dcb6
Event -> virtual method
2020-11-21 15:20:33 +09:00
ekrctb
281ed49332
Add HasInitialized
to DHO
...
As it turned out, `IsLoaded` is not a reliable way.
2020-11-21 11:19:52 +09:00
ekrctb
82aefa3868
Rework and rename to OnNewDrawableHitObject.
...
The semantics is changed and hopefully more clear.
2020-11-21 00:27:19 +09:00
ekrctb
772f6df668
Add a remark for DrawableHitObjectAdded
2020-11-20 18:00:00 +09:00
ekrctb
c013cd11c9
Add DrawableHitObjectAdded event
2020-11-20 17:56:47 +09:00
Dean Herbert
53b6d90ab4
Don't show default judgements in front of objects for now
2020-11-20 16:30:58 +09:00
Dean Herbert
a00e0d7279
Move CanBeNull specification to the interface
2020-11-20 16:30:48 +09:00
Dean Herbert
7fe0923fcf
Show main judgement content above hitobjects
2020-11-20 16:25:48 +09:00
smoogipoo
7180bfe4ba
Unlimit number of samples per pool
2020-11-19 21:21:57 +09:00
smoogipoo
f013928fa3
Set maximum pool size
2020-11-19 20:40:01 +09:00
smoogipoo
70cb197957
Cleanups
2020-11-19 20:38:36 +09:00
smoogipoo
8920534a25
Fix pools not being added to hierarchy
2020-11-19 20:24:03 +09:00
smoogipoo
730b14b5bb
Add initial hit sample pooling
2020-11-19 19:51:09 +09:00
Dean Herbert
ba735584fa
Add null check for disposal safety
2020-11-19 14:04:43 +09:00
Bartłomiej Dach
24d7fa03d8
Merge branch 'master' into legacy-jugement-match-stable-transforms
2020-11-18 20:33:58 +01:00
Bartłomiej Dach
5156de3a10
Merge branch 'master' into fix-judgement-transform-logic
2020-11-18 19:20:11 +01:00
smoogipoo
cb5d1d0d77
Remove obsolete method
2020-11-18 21:26:35 +09:00
Dean Herbert
b3bec81b79
Update xmldoc to match new behaviour
2020-11-18 19:38:38 +09:00
Dean Herbert
8522ddc61e
Reduce nesting of skinned component to reduce exposed surface
2020-11-18 19:34:27 +09:00
Dean Herbert
ee8804b50b
Fix animation playback not running on skin change
2020-11-18 19:03:34 +09:00
Dean Herbert
c47e70da9b
Update animations for new/old miss style and add fades
2020-11-18 19:03:34 +09:00
Dean Herbert
9d3de5bca0
Fix hit lighting dictating lifetime even when not present in skin
2020-11-18 19:03:34 +09:00
Dean Herbert
72a15ef2dc
Handle DrawableJudgement lifetime more flexibly
2020-11-18 19:03:34 +09:00
Dean Herbert
94886a09b2
Remove fades from DrawableJudgement itself
2020-11-18 19:03:34 +09:00
Bartłomiej Dach
875d7dec79
Remove redundant this.
qualifier
2020-11-17 20:11:13 +01:00
Dean Herbert
8247e6ce91
Move result type to ctor
2020-11-17 15:43:54 +09:00
Dean Herbert
e4f1e52422
Add xmldoc coverage of Apply()
2020-11-17 15:03:26 +09:00
Dean Herbert
f465dd5a5e
Move all extended animation logic out of DrawableJudgement
2020-11-17 14:59:34 +09:00
Dean Herbert
9dfa4249e0
Make Apply non-virtual
2020-11-17 14:05:13 +09:00
Bartłomiej Dach
8da40ce2dc
Reduce duplication by extracting ModEasyWithExtraLives
2020-11-16 19:54:00 +01:00
Bartłomiej Dach
128adce017
Merge branch 'master' into change-taiko-ez
2020-11-16 19:37:47 +01:00
Bartłomiej Dach
72a8734f93
Merge branch 'master' into add-back-initiallifetimeoffset
2020-11-16 18:54:37 +01:00
smoogipoo
e8dbc190f1
Remove ability to pool DHOs in parent playfields
2020-11-16 23:30:24 +09:00
smoogipoo
cead67d512
Add back removed InitialLifetimeOffset removal
2020-11-16 21:49:29 +09:00
PercyDan54
f2ef7bee5d
Fix checks
2020-11-16 18:17:50 +08:00
PercyDan54
d7acfd5413
Remove retires from ModEasy
2020-11-16 18:15:15 +08:00
Dan Balasescu
09298139e1
Merge pull request #10844 from bdach/spinner-rotation-tracker-state
...
Fix rotation tracker state not being reset on drawable spinner re-use
2020-11-16 17:10:40 +09:00
Dean Herbert
6706840b54
Merge pull request #10853 from bdach/add-to-legacy-conversion-tests
2020-11-16 15:22:04 +09:00
Bartłomiej Dach
9c0a0031d6
Clear existing transforms on DHO return to pool
2020-11-15 19:50:22 +01:00
Bartłomiej Dach
5d44286d38
Add missing generic mappings to legacy mods
2020-11-15 15:35:06 +01:00
Bartłomiej Dach
5ace7abaa8
Add abstract non-generic ModNightcore to pattern-match over
2020-11-15 15:32:02 +01:00
Bartłomiej Dach
f8cabbdd21
Clear result when freeing pooled hitobject
2020-11-14 21:09:22 +01:00
Bartłomiej Dach
610ed99ae3
Add null checks to unguarded resolved-as-null fields
2020-11-14 14:52:58 +01:00
smoogipoo
21b015d63a
Remove explicit public
2020-11-14 01:06:38 +09:00
smoogipoo
c71b237c4f
Merge all pooling support into Playfield
2020-11-14 00:59:08 +09:00
smoogipoo
36f1833f6e
Move hitobject pooling to Playfield
2020-11-14 00:41:18 +09:00
Dean Herbert
f093acc9d5
Merge pull request #10823 from smoogipoo/pooling-editor-support
...
Add pooling support to the editor
2020-11-13 19:58:46 +09:00
smoogipoo
d83b479c81
Internalise lifetime extensions and events too
2020-11-13 19:21:45 +09:00
smoogipoo
4a4219fd11
Add region
2020-11-13 19:21:45 +09:00
smoogipoo
92189e35cc
Make playfield KeepAlive methods internal
2020-11-13 19:21:45 +09:00
smoogipoo
688a442fb3
Add missing dictionary
2020-11-13 17:26:46 +09:00
smoogipoo
942ecde0e1
Merge branch 'master' into pooling-editor-support
2020-11-13 17:23:35 +09:00
smoogipoo
3957697c48
Add pooling support to the editor
2020-11-13 17:08:20 +09:00
smoogipoo
4ef2e9548c
Pass HitObjectComposer to BlueprintContainer via ctor
2020-11-13 16:59:37 +09:00
Dean Herbert
06fd0d08d1
Merge branch 'master' into nested-hitobject-pooling
2020-11-13 16:53:20 +09:00
smoogipoo
4236dd826d
Improve documentation and make abstract again
2020-11-13 14:57:09 +09:00
smoogipoo
a07d4a7915
Remove unnecessary dictionary for now
2020-11-13 14:42:41 +09:00
smoogipoo
35329aa976
Reduce the number of state updates
2020-11-13 14:33:23 +09:00
Dan Balasescu
2840fd0f8f
Merge branch 'master' into hitobject-pooling-base
2020-11-12 23:17:36 +09:00
smoogipoo
261ddd2b4a
Fix samples not being disposed
2020-11-12 18:48:25 +09:00
smoogipoo
8aaa500431
Add lifetime extensions
2020-11-12 18:34:50 +09:00
smoogipoo
243e913e4a
Add hitobject usage events
2020-11-12 18:32:20 +09:00
smoogipoo
fe347c8661
Add playfield support for keeping hitobjects alive
2020-11-12 18:30:32 +09:00
smoogipoo
7548db7ecc
Fix hitobjects sometimes not fading in completely with HD mod
2020-11-12 18:29:22 +09:00
smoogipoo
a8c2b798ad
Add support for nested hitobject pooling
2020-11-12 17:43:51 +09:00
smoogipoo
e44a8b3934
Resort as early as possible
2020-11-12 17:07:20 +09:00
Dean Herbert
41a1730927
Merge pull request #10794 from smoogipoo/fix-osu-hd-mod
2020-11-12 17:06:04 +09:00
smoogipoo
cf91962865
Fix test failures due to on-the-fly starttime changes
2020-11-12 16:58:40 +09:00
smoogipoo
974390bda7
Make Add() + Remove() virtual
2020-11-12 15:36:02 +09:00
smoogipoo
72a6b75626
Add back removed event
2020-11-12 15:34:51 +09:00
smoogipoo
4e43235955
Fix double bind leading to test failures
2020-11-12 15:33:49 +09:00
smoogipoo
653f5bce67
Reword xmldocs
2020-11-12 15:00:58 +09:00
smoogipoo
16e4e8d032
Fix possible nullref
2020-11-12 14:54:33 +09:00
smoogipoo
1f8d376b85
Replace CreatePool() with non-virtual RegisterPool() overload
2020-11-12 14:17:33 +09:00
smoogipoo
5dbbe11fc6
Remove PoolHitObjects, use return value of CreateDrawableRepresentation() instead
2020-11-12 14:04:16 +09:00
smoogipoo
f652eb9982
Remove GetDrawableRepresentation() override, add null hinting
2020-11-12 13:18:44 +09:00
smoogipoo
d7d77460fb
Small refactorings
2020-11-12 12:55:42 +09:00
smoogipoo
a8929b0764
Revert unnecessary change of casting
2020-11-11 19:27:07 +09:00
smoogipoo
7fdaf69903
Add some more xmldocs
2020-11-11 19:12:12 +09:00
smoogipoo
606cfacedf
Fix state update exception in a better way
2020-11-11 19:01:12 +09:00
smoogipoo
7d02018134
Remove some unnecessary implementations for now
2020-11-11 18:54:40 +09:00
smoogipoo
d7bee80d4e
Merge branch 'fix-incorrect-framestability-value' into hitobject-pooling-base
2020-11-11 18:52:51 +09:00
smoogipoo
90499329bd
Fix frame stable playback not being set correctly
2020-11-11 18:50:38 +09:00
smoogipoo
6f7a1dd57d
Merge branch 'master' into hitobject-pooling-base
2020-11-11 17:09:18 +09:00
smoogipoo
5d55af5818
Fix hitobjects sometimes not fading in completely with HD mod
2020-11-11 16:35:48 +09:00