checkpoint(render): portal-haze root cause — emitters need own-cell membership (S2 chunk 6 contract)
Instrumented arrivals show the Hidden-state cloud's emitters spawn in the arrival cell, become view-eligible when the world appears, and are never drawn: the walk draws an owner's emitters only through the owner's registry rows, and a hidden owner's shadow is suspended. Retail's CPhysicsObj::add_particle_shadow_to_cell (0x00514a70) gives an emitter one shadow in its own cell, drawn at that cell's turn regardless of the parent's hidden state. S2 chunk 6 (packet §10) ports that: per-cell emitter draw membership, owner-union particle path deleted. Route timing fixed so the arrival screenshots anchor on the reveal. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
7ec72765d7
commit
2d20ee917b
4 changed files with 71 additions and 3 deletions
|
|
@ -21,6 +21,9 @@ public sealed class LiveEntityPresentationController : IDisposable
|
|||
public const uint UnHideScriptType = 0x75u;
|
||||
public const uint HiddenScriptType = 0x76u;
|
||||
|
||||
private static readonly bool HiddenTraceEnabled =
|
||||
Environment.GetEnvironmentVariable("ACDREAM_DUMP_PLAYSCRIPT") == "1";
|
||||
|
||||
private readonly LiveEntityRuntime _liveEntities;
|
||||
private readonly ShadowObjectRegistry _shadows;
|
||||
private readonly Func<uint, uint, float, bool> _playTyped;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue