feat(vfx): port retail effect scheduling and delivery
This commit is contained in:
parent
363e046112
commit
96ddfdf175
28 changed files with 2473 additions and 691 deletions
|
|
@ -277,6 +277,24 @@ Chorizite.DatReaderWriter, and replace only its incomplete
|
|||
payload. Core consumes the loaders through delegates/interfaces and therefore
|
||||
does not depend on Content or a database implementation.
|
||||
|
||||
Runtime effect delivery is owned by App-layer `EntityEffectController`. It
|
||||
retains pre-materialization F754/F755 packets in one mixed FIFO per server GUID,
|
||||
resolves the canonical local ID through `LiveEntityRuntime` only after
|
||||
renderer/resources/profile are ready, and resolves typed/default/part-default
|
||||
hooks through the live owner's current `EntityEffectProfile`. It does not own a
|
||||
second GUID map. The same profile publishes Setup/static or network/live
|
||||
SoundTable ownership at readiness and on every same-generation PhysicsDesc
|
||||
replacement, including present-zero clearing. Core `PhysicsScriptRunner` mirrors retail's one
|
||||
serial FIFO per owner: duplicate plays append, owners progress independently,
|
||||
`CallPES` uses an injected uniform delay, and every hook traverses the shared
|
||||
`AnimationHookRouter`. Existing queues on cell-less or Frozen live roots do
|
||||
not advance; a new play for an already-created cell-less object is dropped as in
|
||||
retail. Attached children advance through their eligible parent. Every effect
|
||||
resource uses the canonical, globally unique `WorldEntity.Id`; static
|
||||
allocators fail before their namespace can wrap. Live anchors are refreshed from the current
|
||||
`WorldEntity` before script dispatch; Step 5 extends that root pose to exact
|
||||
animated part transforms for emitters and dynamic lights.
|
||||
|
||||
The remaining aggregation is primarily `_playerController`'s player-specific
|
||||
movement plus the separate `WorldEntity`/animation/physics component types.
|
||||
Those should become ONE class:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue