Skip to content

Entity flags and bounds

AnvilData modelApplies toRR

After its components an Entity stores a 43-byte run of flags, enums and multipliers, then FakeCellIndex, Scale and BoundingVolume. Registry names identify the run; byte patterns in 21,000 sampled Entities support its field order. Observed

BoundingVolume (40 bytes)40 bytesRR100% known

Little-endian. Offsets are relative to this structure.

ProvenObservedSourcedInferredUnknownNot described
OffsetSizeTypeFieldConfidenceNotes
0x08u64idObserved
0x84u32 = 0x4AEC3476typeObserved
0xC12f32·3minimumObservedx, y, z; an Entity's own bounds are relative to its translation
0x1812f32·3maximumObserved
0x244u32TypeObservedBoundingVolume.Type (enum BoundingVolume::BVType): 0 AABBox on 15,190 of 21,000, 2 OOBBox on 5,809, 1 Sphere on 1
Run (43 bytes, after the components)43 bytesRR88% known

Little-endian. Offsets are relative to this structure.

ProvenObservedSourcedInferredUnknownNot described
OffsetSizeTypeFieldConfidenceNotes
0x01u8SkipGroupMatrixUpdateObservedEntity bool 1 of the serialized run (registry order); 0 on all
0x11u8IsGraphicsUnitTestCameraReferencePositionObservedEntity bool 2 of the serialized run (registry order); 0 on all
0x21u8IsMovableObservedEntity bool 3 of the serialized run (registry order); 1 on 22 of 21,000
0x31u8IsPhantomObservedEntity bool 4 of the serialized run (registry order); 1 on 6,006
0x41u8IsHiddenObservedEntity bool 5 of the serialized run (registry order); 1 on 383
0x54u322B4BF1D9UnknownEntity enum (target 0x060EC220, name not found; its table was not found in the image): low byte 4 on 10,951, 0 on 5,475, 3 on 1,749, 2 on 1,404, 1 on 1,402.
0x91u8RenderLastObservedEntity bool (registry order); 1 on all 512 FakeWaterMeshComponent Entities, so bytes 6-10 are 00 00 00 01 00 there rather than zero
0xA1u8ForceIncludedInReflectionObservedEntity bool (registry order); 1 on 18
0xB1u8ForceExcludedFromReflectionObservedEntity bool (registry order); 1 on 20,894 (0 on 103)
0xC1u8IsCharacterObservedEntity bool (registry order); 1 on 5
0xD1u8ShadowCasterObservedEntity bool (registry order); 1 on 20,964
0xE1u8DynamicLightsReceiverObservedEntity bool (registry order); 1 on 20,968
0xF1u8UseVisibilityQueriesObservedEntity bool (registry order); 1 on 20,959
0x101u8VisibilityOccluderObservedEntity bool (registry order); 1 on 383
0x111u8AlwaysVisibilityOccluderObservedEntity bool (registry order); 0 on all
0x121u8IgnoreOcclusionForLODLevelObservedEntity bool (registry order); 1 on 13
0x134u32EntityCategoryObservedEntity enum Entity::EntityCategory (table not found): low byte 19 on 10,634, 0 on 10,203, 6 on 79, 4 on 75, 21 on 4, 1 on 4
0x171u8UserMask1ObservedEntity bool: 0 on all
0x181u8UserMask2ObservedEntity bool: 0 on all
0x191u8UserMask3ObservedEntity bool: 0 on all
0x1A1u8UserMask4ObservedEntity bool: 0 on all
0x1B1u8UserMask5ObservedEntity bool: 0 on all
0x1C1u889EC9FA8UnknownEntity bool (name not found): 1 on 10,079
0x1D1u8IsExcludedFromParentBVObservedEntity bool: 1 on 560
0x1E4u32UICategoryObservedEntity enum Entity::UICategory (table not found): low byte 0 on 15,231, 1 on 5,350, 6 on 238, 3 on 88, 5 on 86, 2 on 6
0x221u8UIFlagObservedEntity bool: 1 on 17
0x234f32WetnessBiasObservedEntity f32: 0.0 on all
0x274f32CullDistanceMultiplierObservedEntity f32: 1.0 on 20,977, 0.0 on 20

IsHidden and IsPhantom occur on UI/helper objects in checked area listings. Their names alone do not establish exclusion from every renderer path. Checked static-prop bounds are relative to translation in the source z-up frame. Observed

FakeCellIndex commonly equals 0xFFFFFFFF; non-sentinel values relate to far-view object cells. Observed

What are the unnamed Entity fields?

Enum hash 0x2B4BF1D9 and bool hash 0x89EC9FA8 lack semantic names; complete EntityCategory and UICategory enumerator tables are not established. Unknown