feat(core): UCG Stage 1 — EnvCell.FromDat derivation (mirrors BuildLoadedCell)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Erik 2026-06-02 09:07:18 +02:00
parent 76c9e2f07d
commit 5bc72d5cd1
4 changed files with 109 additions and 4 deletions

View file

@ -20,7 +20,11 @@ public abstract class ObjCell
public IReadOnlyList<uint> StabList { get; }
public bool SeenOutside { get; }
/// <summary>Retail magnitude dispatch (CObjCell::GetVisible, pseudo_c:308215).</summary>
/// <summary>
/// Retail magnitude dispatch (CObjCell::GetVisible, pseudo_c:308215).
/// Note: retail's CObjCell::GetVisible tests the full id; every real prefixed EnvCell id is >= 0x100.
/// This masks the low-16 so it works for both bare-16 and landblock-prefixed ids.
/// </summary>
public bool IsEnv => (Id & 0xFFFFu) >= 0x100u;
protected ObjCell(uint id, Matrix4x4 worldTransform, Matrix4x4 inverseWorldTransform,