Commit Graph

312 Commits

Author SHA1 Message Date
e80c3c317a Rename UnmanagedHitObjectEntry -> SyntheticHitObjectEntry
"Unmanaged" was confusing because its lifetime is still managed by the HitObjectContainer.
2021-04-21 09:23:23 +09:00
c6ee4e900e Ensure a non-null hitobject entry has a non-null Result 2021-04-20 15:18:36 +09:00
8a8b9084ef Make single-argument overloead of DHO.Apply public 2021-04-20 10:11:36 +09:00
1bc63a4c61 Now, DHO.lifetimeEntry can be non-null even it is not fully applied 2021-04-20 09:22:16 +09:00
2c487ddb70 Create synthetic LifetimeEntry for a DHO when not supplied
Now, a DHO is always associated with a HitObjectLifetimeEntry while used.
Result is always stored in the entry, and not in the DHO.
2021-04-19 21:54:19 +09:00
5afdc3ff66 Make DHO application logic clearer with Entry/HitObject separation 2021-04-19 19:56:17 +09:00
50fad47ebc Remove usage of Lazy<List<...>> for NestedHitObjects 2021-04-15 18:26:01 +09:00
b5954a55ad Remove empty <returns> xmldoc 2021-04-12 17:46:14 +09:00
76981f2547 Remove unused using 2021-04-09 13:58:24 +09:00
8293b06c0a Remove obsolete code 2021-04-09 13:56:58 +09:00
09742998cd Fix mistaken obsoletion notice
It was added in c9f38f7bb6, which
specified 2021 in another place (and was committed in October of 2020
anyway). Update the year so that it doesn't get culled prematurely.
2021-01-06 18:38:24 +01:00
a31e8d137f Add guard when clearing samples 2020-12-20 15:42:24 +01:00
a0f92628ac Merge branch 'master' into fix-sample-expire 2020-12-04 13:49:08 +09:00
5ded4b9faa Merge branch 'master' into dho-remove-onparentreceived 2020-12-04 11:04:56 +09:00
0bdf99b97a Remove OnParentReceived() 2020-12-03 20:08:42 +09:00
73e99718bc Change order of OnParentReceived() 2020-12-03 20:06:26 +09:00
6c46046c24 Fix DHO expires while hit sound is playing 2020-12-03 12:32:49 +09:00
51741c4791 Merge branch 'master' into hit-sample-pooling 2020-11-30 22:25:28 +09:00
4bbeb9ebd4 Merge branch 'master' into hit-sample-pooling 2020-11-30 18:31:58 +09:00
8f48389f89 Merge branch 'master' into improve-dho-time-offsets 2020-11-30 18:01:48 +09:00
11d1450c76 Merge branch 'master' into fruit-bindables 2020-11-30 16:48:22 +09:00
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
bcc197f9fe Merge branch 'master' into improve-dho-time-offsets 2020-11-27 15:03:56 +09:00
e36bb7631d Fix colour not updated when index changes 2020-11-27 11:41:39 +09:00
57454bbb1c Remove hitObject argument from OnApply and OnFree 2020-11-27 10:13:05 +09:00
b1864670a2 Merge pull request #10961 from smoogipoo/better-dho-rewind
Rewind pooled DHOs into better states
2020-11-27 00:42:58 +09:00
aa4da2a5f8 Add xmldoc on State 2020-11-26 23:42:05 +09:00
e53f849aa0 Completely separate combo colours from DHOs 2020-11-26 18:14:25 +09:00
0414e5c550 Add MaximumJudgementOffset to DrawableHitObject, use in more places 2020-11-26 01:12:42 +09:00
c744db1b57 Rewind pooled DHOs into better states 2020-11-26 00:42:25 +09:00
87ce8a53ff Merge branch 'master' into on-drawable-hitobject-added 2020-11-24 16:09:57 +09:00
19faa2b9bb Add comment covering intentional call to ClearTransformsAfter 2020-11-23 15:20:59 +09:00
666112cb5a Address @bdach's minor suggestions 2020-11-22 18:51:16 +09:00
c506b438bf Remove more code and make some methods private 2020-11-22 18:51:16 +09:00
281ed49332 Add HasInitialized to DHO
As it turned out, `IsLoaded` is not a reliable way.
2020-11-21 11:19:52 +09:00
82aefa3868 Rework and rename to OnNewDrawableHitObject.
The semantics is changed and hopefully more clear.
2020-11-21 00:27:19 +09:00
70cb197957 Cleanups 2020-11-19 20:38:36 +09:00
730b14b5bb Add initial hit sample pooling 2020-11-19 19:51:09 +09:00
cead67d512 Add back removed InitialLifetimeOffset removal 2020-11-16 21:49:29 +09:00
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
9c0a0031d6 Clear existing transforms on DHO return to pool 2020-11-15 19:50:22 +01:00
f8cabbdd21 Clear result when freeing pooled hitobject 2020-11-14 21:09:22 +01:00
c71b237c4f Merge all pooling support into Playfield 2020-11-14 00:59:08 +09:00
36f1833f6e Move hitobject pooling to Playfield 2020-11-14 00:41:18 +09:00
06fd0d08d1 Merge branch 'master' into nested-hitobject-pooling 2020-11-13 16:53:20 +09:00
35329aa976 Reduce the number of state updates 2020-11-13 14:33:23 +09:00
2840fd0f8f Merge branch 'master' into hitobject-pooling-base 2020-11-12 23:17:36 +09:00
261ddd2b4a Fix samples not being disposed 2020-11-12 18:48:25 +09:00
a8c2b798ad Add support for nested hitobject pooling 2020-11-12 17:43:51 +09:00
606cfacedf Fix state update exception in a better way 2020-11-11 19:01:12 +09:00