Dan Balasescu
0c36a3c263
Merge branch 'master' into pool-scrolling
2020-11-30 14:04:54 +09:00
Dean Herbert
18bb0cb45b
Remove unnecessary schedule logic from Apply's local updateState call
...
There were cases in the editor where rewinding of transforms would
leave the `DrawableHitObject` in a non-`IsPresent` state, resulting in
this scheduled logic never running.
This would in turn cause ghost hitobjects, which disappear under certain
circumstances.
Reproduction:
- Open editor to empty beatmap
- Place single hitcircle at current point in time
- Drag editor timeline backwards to seek before zero, and wait for
return to zero
- Select hitcircle in playfield
- Drag hitcircle to right in timeline, triggering a start time change
2020-11-27 16:32:05 +09:00
Dean Herbert
bcc197f9fe
Merge branch 'master' into improve-dho-time-offsets
2020-11-27 15:03:56 +09:00
ekrctb
6e40de58e9
Use new OnAdd and OnRemove to invalidate DHO
2020-11-27 13:36:40 +09:00
ekrctb
8f5129323d
Merge branch 'master' into pool-scrolling
2020-11-27 13:12:05 +09:00
ekrctb
e36bb7631d
Fix colour not updated when index changes
2020-11-27 11:41:39 +09:00
ekrctb
57454bbb1c
Remove hitObject argument from OnApply and OnFree
2020-11-27 10:13:05 +09:00
Dean Herbert
94dc61150b
Merge branch 'master' into fix-drawable-judgement-animation-loss
2020-11-27 00:43:47 +09:00
Dean Herbert
b1864670a2
Merge pull request #10961 from smoogipoo/better-dho-rewind
...
Rewind pooled DHOs into better states
2020-11-27 00:42:58 +09:00
smoogipoo
aa4da2a5f8
Add xmldoc on State
2020-11-26 23:42:05 +09:00
Dean Herbert
741902f1b3
Merge pull request #10971 from smoogipoo/fix-timeline-combo-colour
...
Fix timeline blueprints sometimes not receiving combo colours
2020-11-26 19:47:21 +09:00
Dean Herbert
9811c46e35
Rename application method to better describe what it actually does
2020-11-26 19:16:18 +09:00
ekrctb
05e245d445
Allow non-pooled DHO to be reused
2020-11-26 19:07:09 +09:00
smoogipoo
e53f849aa0
Completely separate combo colours from DHOs
2020-11-26 18:14:25 +09:00
Dan Balasescu
aad6cf4ad3
Merge branch 'master' into editor-multiple-object-positional-snap
2020-11-26 17:06:47 +09:00
ekrctb
eae33fe74a
Fix format
2020-11-26 14:16:33 +09:00
ekrctb
e43f928588
Use DHO.HitObjectApplied to invalidate computation
2020-11-26 14:07:40 +09:00
ekrctb
f6faf95e33
Revert changes to HitObjectUsageBegan, not use it.
2020-11-26 14:01:46 +09:00
ekrctb
1a6e5bdaba
Merge branch 'master' into pool-scrolling
2020-11-26 13:52:52 +09:00
Bartłomiej Dach
8ff1688c4b
Merge branch 'master' into fix-drawable-judgement-animation-loss
2020-11-25 20:11:09 +01:00
smoogipoo
0414e5c550
Add MaximumJudgementOffset to DrawableHitObject, use in more places
2020-11-26 01:12:42 +09:00
smoogipoo
c744db1b57
Rewind pooled DHOs into better states
2020-11-26 00:42:25 +09:00
Dean Herbert
c46d655832
Uncomment incorrectly commented lines
2020-11-25 12:11:44 +09:00
ekrctb
b8a5cd94f7
Invoke HitObjectUsageFinished before removal
2020-11-24 19:46:57 +09:00
ekrctb
e34a205104
Rewrite hit object management, take three
2020-11-24 18:56:05 +09:00
ekrctb
7f6e4d5b21
Delay lifetime computation until loaded
2020-11-24 18:56:05 +09:00
ekrctb
d5f082e5fb
Comment about lifetime assumption
2020-11-24 18:56:05 +09:00
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