checkpoint: preserve user-gated FW closeout fixes

This commit is contained in:
Erik 2026-08-31 08:27:37 +02:00
parent a2f2eb7d78
commit b8befded8b
22 changed files with 1005 additions and 198 deletions

View file

@ -2146,6 +2146,22 @@ public sealed class ShadowObjectRegistry
return System.Array.Empty<ShadowEntry>();
}
/// <summary>
/// The exact ordered <c>CELLARRAY</c> membership retained for one physics
/// object. Retail consumes this same membership twice: collision walks
/// each cell's <c>shadow_object_list</c>, while rendering installs the
/// object's parts in every member cell through
/// <c>CPhysicsObj::add_shadows_to_cells</c> / <c>CPartArray::AddPartsShadow</c>
/// (0x00514AE0). The returned view is borrowed and remains valid only
/// until the next shadow-registry mutation.
/// </summary>
public IReadOnlyList<uint> GetOwnerCells(uint entityId)
{
if (_entityToCells.TryGetValue(entityId, out List<uint>? cells))
return cells;
return System.Array.Empty<uint>();
}
public int TotalRegistered => _entityToCells.Count;
/// <summary>