AI Sections: Difference between revisions

4,596 bytes removed ,  7 months ago
Added infobox and normalized some content.
(Created page with "=== AISectionsData === {| class="wikitable" ! Offset !! Size !! Type !! Name !! Description !! More Information !! Comments |- | 0x0 || 0x4 || AISection * || mpaSections || || AISection format || |- | 0x4 || 0x4 || SectionResetPair * || mpaSectionResetPairs || || SectionResetPair format || |- | 0x8 || 0x14 || float32_t[5] || mafSectionMinSpeeds || || || |- | 0x1C || 0x14 || float32_t[5] || mafSectionMaxSpeeds || || || |- | 0x30 || 0x4 || uint32_t || muNumSectio...")
 
(Added infobox and normalized some content.)
 
(7 intermediate revisions by 2 users not shown)
Line 1:
{{ParadiseResourceTypeInfobox
=== AISectionsData ===
| name = AISections
| othernames = AIMapData
| resourcenames = WorldMapData
| id = 0x10001
| category = Game-specific<br />(Burnout Paradise)
| memdist = Main Memory only
}}
 
{{subpage|Development|text=Information on versions of the AI sections resource type used during development.}}
 
The AI sections resource encompasses the routes the AI takes along with details on each section such as speed and shortcut information.
 
= Structures =
=== BrnAI::AISectionsData ===
==== 32-bit ====
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x4 || [[#BrnAI::AISection |AISection]]* || mpaSections || || AISection format ||
|-
| 0x4 || 0x4 || [[#BrnAI::SectionResetPair |SectionResetPair]]* || mpaSectionResetPairs || || SectionResetPair format ||
|-
| 0x8 || 0x14 || float32_t[5] || mafSectionMinSpeeds || || ||
|-
| 0x1C || 0x14 || float32_t[5] || mafSectionMaxSpeeds || || ||
|-
| 0x30 || 0x4 || uint32_t || muNumSections || || Maximum ||of 20,000
|-
| 0x34 || 0x4 || uint32_t || muNumSectionResetPairs || || ||
|-
| 0x38 || 0x4 || uint32_t || muVersion || || 12 ||
|-
| 0x3C || 0x4 || uint32_t || muSizeInBytes || || ||
|}
 
=== AISection ===
==== 64-bit ====
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x40x8 || Portal [[#BrnAI::AISection|AISection]]* || mpaPortalsmpaSections || || Portal format ||
|-
| 0x8 || 0x8 || [[#BrnAI::SectionResetPair|SectionResetPair]]* || mpaSectionResetPairs || ||
| 0x4 || 0x4 || BoundaryLine * || mpaNoGoLines || || BoundaryLine format ||
|-
| 0x80x10 || 0x40x14 || Vector2 * || mpaCornersfloat32_t[5] || mafSectionMinSpeeds || ||
|-
| 0xC0x24 || 0x40x14 || AISectionIdfloat32_t[5] || mId || Section GameDB IDmafSectionMaxSpeeds || ||
|-
| 0x100x38 || 0x20x4 || SpanIndex || miSpanIndexuint32_t || muNumSections || ||
|-
| 0x120x3C || 0x20x4 || uint16_t || muNumNoGoLinesuint32_t || muNumSectionResetPairs || ||
|-
| 0x140x40 || 0x10x4 || uint8_t || mu8NumPortalsuint32_t || muVersion || || 12
|-
| 0x150x44 || 0x10x4 || uint8_tuint32_t || muSpeedmuSizeInBytes || SectionSpeed || 0x0 = E_SECTION_SPEED_VERY_SLOW ||
|}
 
=== BrnAI::AISection ===
==== 32-bit ====
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x4 || |[[#BrnAI::Portal| Portal]]* || mpaPortals || 0x1 = E_SECTION_SPEED_SLOW ||
|-
| 0x4 || 0x4 || |[[#BrnAI::BoundaryLine| BoundaryLine]]* || mpaNoGoLines || 0x2 = E_SECTION_SPEED_NORMAL ||
|-
| 0x8 || 0x4 || [[Vector2]]* || mpaCorners || || 0x3 = E_SECTION_SPEED_FAST ||
|-
| 0xC || 0x4 || |[[#BrnAI::AISection::AISectionId| AISectionId]] || mId || 0x4Section =GameDB E_SECTION_SPEED_VERY_FASTID ||
|-
| 0x10 || 0x2 || |[[#BrnStreetData::Road::SpanIndex| SpanIndex]] || miSpanIndex || 0x5 = E_SECTION_SPEED_COUNT ||
|-
| 0x160x12 || 0x10x2 || uint8_tuint16_t || mu8eDistrictmuNumNoGoLines || District || Maximum ||of Always200 nullwalls
|-
| 0x170x14 || 0x1 || uint8_t || mx8Flagsmu8NumPortals || 0x01 (Bit 0) = IsShortcut || Maximum ||of 32
|-
| 0x15 || 0x1 || uint8_t || muSpeed || SectionSpeed || See [[#BrnAI::SectionSpeed|SectionSpeed]]
| || || || || 0x02 (Bit 1) = IsNoReset || No reset on track point ||
|-
| 0x16 || 0x1 || uint8_t || mu8eDistrict || 0x04 (Bit 2) = IsInAirDistrict || Typically right before jumps ||Always null
|-
| 0x17 || 0x1 || uint8_t || mx8Flags || Flags || See [[#AISection flags|flags]]
| || || || || 0x08 (Bit 3) = IsTerminator || Indicates walls etc. May not be end of the road ||
|}
 
==== 64-bit ====
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x8 || |[[#BrnAI::Portal| Portal]]* || 0x10 (Bit 4) = IsJunctionmpaPortals || Likely required for events ||
|-
| 0x8 || 0x8 || [[#BrnAI::BoundaryLine|BoundaryLine]]* || mpaNoGoLines || ||
| || || || || 0x20 (Bit 5) = IsSplit || Road split, like at Moore/E. Crawford ||
|-
| 0x10 || 0x8 || [[Vector2]]* || || 0x40 (Bit 6) = IsAIShortcutmpaCorners || ||
|-
| 0x18 || 0x4 || [[#BrnAI::AISection::AISectionId|AISectionId]] || mId || 0x80Section (Bit 7) = IsInterstateExit ||GameDB ID ||
|}
=== Portal ===
{| class="wikitable"
! Offset !! Size !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x00x1C || 0x40x2 || float32_t [[#BrnStreetData::Road::SpanIndex|| mPositionXSpanIndex]] || miSpanIndex || ||
|-
| 0x40x1E || 0x40x2 || float32_t || mPositionYuint16_t || muNumNoGoLines || ||
|-
| 0x80x20 || 0x40x1 || float32_t || mPositionZuint8_t || mu8NumPortals || ||
|-
| 0x21 || 0x1 || uint8_t || muSpeed || SectionSpeed || See [[#BrnAI::SectionSpeed|SectionSpeed]]
| 0xC || 0x4 || BoundaryLine * || mpaBoundaryLines || || BoundaryLine format ||
|-
| 0x100x22 || 0x20x1 || uint16_tuint8_t || mu16LinkSectionmu8eDistrict || Section indexDistrict || Always || null
|-
| 0x120x23 || 0x1 || uint8_t || mu8NumBoundaryLinesmx8Flags || Flags || See [[#AISection flags|| flags]]
|-
| 0x130x24 || 0x10x4 || uint8_t[1] || mau8Pad || padding || Padding ||
|}
 
=== BoundaryLine ===
=== BrnAI::Portal ===
==== 32-bit ====
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x100x4 || Vector4 || mVertsfloat32_t || mPositionX || ||
|}
=== SectionResetPair ===
{| class="wikitable"
! Offset !! Size !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x00x4 || 0x4 || uint32_tfloat32_t || meResetSpeedmPositionY || EResetSpeedType || 0x00 = E_RESET_SPEED_TYPE_CUSTOM ||
|-
| 0x8 || 0x4 || float32_t || mPositionZ || || 0x01 = E_RESET_SPEED_TYPE_NONE ||
|-
| 0xC || 0x4 || |[[#BrnAI::BoundaryLine| BoundaryLine]]* || mpaBoundaryLines || 0x02 = E_RESET_SPEED_TYPE_SLOW ||
|-
| 0x10 || 0x2 || uint16_t || mu16LinkSection || Section || 0x03 = E_RESET_SPEED_TYPE_FASTindex ||
|-
| 0x12 || 0x1 || uint8_t || mu8NumBoundaryLines || || 0x04 = E_RESET_SPEED_TYPE_SLOW_NORTH_FACE ||
|-
| 0x13 || 0x1 || uint8_t[1] || mau8Pad || || 0x05 = E_RESET_SPEED_TYPE_SLOW_SOUTH_FACEPadding ||
|}
 
==== 64-bit ====
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x4 || float32_t || mPositionX || || 0x06 = E_RESET_SPEED_TYPE_SLOW_EAST_FACE ||
|-
| 0x4 || 0x4 || float32_t || mPositionY || || 0x07 = E_RESET_SPEED_TYPE_SLOW_WEST_FACE ||
|-
| 0x8 || 0x4 || float32_t || mPositionZ || || 0x08 = E_RESET_SPEED_TYPE_SLOW_REVERSE ||
|-
| 0xC || 0x4 || || || || 0x09 = E_RESET_SPEED_TYPE_STOP_REVERSEPadding ||
|-
| 0x10 || 0x8 || [[#BrnAI::BoundaryLine|BoundaryLine]]* || mpaBoundaryLines || ||
| || || || || || 0x0A = E_RESET_SPEED_TYPE_STOP_NORTH_FACE ||
|-
| 0x18 || 0x2 || uint16_t || mu16LinkSection || Section || 0x0B = E_RESET_SPEED_TYPE_STOP_SOUTH_FACEindex ||
|-
| 0x1A || 0x1 || uint8_t || mu8NumBoundaryLines || || 0x0C = E_RESET_SPEED_TYPE_STOP_EAST_FACE ||
|-
| 0x1B || 0x1 || uint8_t[1] || mau8Pad || || 0x0D = E_RESET_SPEED_TYPE_STOP_WEST_FACEPadding ||
|-
| 0x1C || 0x4 || || || || 0x0E = E_RESET_SPEED_TYPE_STOP_NORTH_EAST_FACEPadding ||
|-}
 
| || || || || || 0x0F = E_RESET_SPEED_TYPE_STOP_SOUTH_WEST_FACE ||
=== BrnAI::BoundaryLine ===
|-
{| class="wikitable"
| || || || || || 0x10 = E_RESET_SPEED_TYPE_NONE_AND_IGNORE ||
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| || || || || || 0x11 = E_RESET_SPEED_TYPE_WEST_AND_IGNORE ||
|-
| || || || || || 0x12 = E_RESET_SPEED_TYPE_REVERSE_AND_IGNORE ||
|-
| || || || || || 0x13 = E_RESET_SPEED_TYPE_REVERSE_AND_IGNORE_SLOW ||
|-
| || || || || || 0x14 = E_RESET_SPEED_TYPE_COUNT ||
|-
| 0x4 || 0x2 || uint16_t || muStartSectionIndex || || ||
|-
| 0x60x0 || 0x20x10 || uint16_t || muResetSectionIndex[[Vector4]] || mVerts || ||
|}
 
=== AISectionPointMap ===
=== BrnAI::SectionResetPair ===
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x4 || int32_tuint32_t || miGridWidthmeResetSpeed || || See [[#BrnAI::EResetSpeedType|| AISectionPointMap unused in fileEResetSpeedType]]
|-
| 0x4 || 0x40x2 || int32_t || miGridHeightuint16_t || muStartSectionIndex || ||
|-
| 0x80x6 || 0x80x2 || uint16_t || || paddingmuResetSectionIndex || ||
|-
| 0x10 || 0x10 || Vector2 || mvGridUnitSize || || ||
|-
| 0x20 || 0x10 || Vector2 || mvGridMin || || ||
|-
| 0x30 || 0x4 || Vector3 * || mpPoints || || ||
|-
| 0x34 || 0x4 || uint16_t * || mpuSections || || ||
|-
| 0x38 || 0x4 || uint16_t * || mpuGridUnitMap || || ||
|-
| 0x3C || 0x4 || uint16_t * || mpuGridUnitPointIndices || || ||
|-
| 0x40 || 0x4 || uint16_t * || mpuGridUnitPointCount || || ||
|-
| 0x44 || 0xC || || || padding || ||
|}
 
=== BoundingBox ===
= Typedefs =
=== BrnAI::AISection::AISectionId ===
{| class="wikitable"
! Offset !! SizeName !! Type !! Name !! Description !! More InformationLength !! Comments
|-
| AISectionId || uint32_t || 0x4 ||
| 0x0 || 0x80 || Vector3[8] || maCorners || || || BoundingBox unused in file
|}
 
=== DrivingCollisionTriangle ===
=== BrnStreetData::Road::SpanIndex ===
{| class="wikitable"
! Offset !! SizeName !! Type !! Name !! Description !! More InformationLength !! Comments
|-
| SpanIndex || int16_t || 0x2 ||
| 0x0 || 0x30 || Vector3[3] || maVerts || || || DrivingCollisionTriangle unused in file
|}
 
== PS4 ==
= Enumerations =
=== AISectionsData ===
=== BrnAI::SectionSpeed ===
{| class="wikitable"
! Offset !! Size !! Type !! Name !! Description !! More InformationValue !! Comments
|-
| E_SECTION_SPEED_VERY_SLOW || 0 ||
| 0x0 || 0x8 || AISection * || mpaSections || || AISection format ||
|-
| E_SECTION_SPEED_SLOW || 1 ||
| 0x8 || 0x8 || SectionResetPair * || mpaSectionResetPairs || || SectionResetPair format ||
|-
| E_SECTION_SPEED_NORMAL || 2 ||
| 0x10 || 0x14 || float32_t[5] || mafSectionMinSpeeds || || ||
|-
| E_SECTION_SPEED_FAST || 3 ||
| 0x24 || 0x14 || float32_t[5] || mafSectionMaxSpeeds || || ||
|-
| E_SECTION_SPEED_VERY_FAST || 4 ||
| 0x38 || 0x4 || uint32_t || muNumSections || || ||
|-
| E_SECTION_SPEED_COUNT || 5 ||
| 0x3C || 0x4 || uint32_t || muNumSectionResetPairs || || ||
|-
| 0x40 || 0x4 || uint32_t || muVersion || || 12 ||
|-
| 0x44 || 0x4 || uint32_t || muSizeInBytes || || ||
|}
 
=== AISection ===
=== AISection flags ===
{| class="wikitable"
! Offset !! Size !! Type !! Name !! Description !! More InformationValue !! Comments
|-
| KX_SECTION_FLAG_SHORTCUT || 0x1 ||
| 0x0 || 0x8 || Portal * || mpaPortals || || Portal format ||
|-
| KX_SECTION_FLAG_NO_RESET || 0x2 || No reset on track point
| 0x8 || 0x8 || BoundaryLine * || mpaNoGoLines || || BoundaryLine format ||
|-
| KX_SECTION_FLAG_IN_AIR || 0x4 || Typically right before jumps
| 0x10 || 0x8 || Vector2 * || mpaCorners || || ||
|-
| KX_SECTION_FLAG_SPLIT || 0x8 || Road split, like at Moore/E. Crawford
| 0x18 || 0x4 || AISectionId || mId || Section GameDB ID || ||
|-
| KX_SECTION_FLAG_JUNCTION || 0x10 || Likely required for events
| 0x1C || 0x2 || SpanIndex || miSpanIndex || || ||
|-
| KX_SECTION_FLAG_TERMINATOR || 0x20 || Indicates walls etc. May not be end of the road
| 0x1E || 0x2 || uint16_t || muNumNoGoLines || || ||
|-
| KX_SECTION_FLAG_AI_SHORTCUT || 0x40 ||
| 0x20 || 0x1 || uint8_t || mu8NumPortals || || ||
|-
| KX_SECTION_FLAG_AI_INTERSTATE_EXIT || 0x80 ||
| 0x21 || 0x1 || uint8_t || muSpeed || SectionSpeed || 0x0 = E_SECTION_SPEED_VERY_SLOW ||
|-
| || || || || || 0x1 = E_SECTION_SPEED_SLOW ||
|-
| || || || || || 0x2 = E_SECTION_SPEED_NORMAL ||
|-
| || || || || || 0x3 = E_SECTION_SPEED_FAST ||
|-
| || || || || || 0x4 = E_SECTION_SPEED_VERY_FAST ||
|-
| || || || || || 0x5 = E_SECTION_SPEED_COUNT ||
|-
| 0x22 || 0x1 || uint8_t || mu8eDistrict || District || || Always null
|-
| 0x23 || 0x1 || uint8_t || mx8Flags || 0x01 (Bit 0) = IsShortcut || ||
|-
| || || || || 0x02 (Bit 1) = IsNoReset || No reset on track point ||
|-
| || || || || 0x04 (Bit 2) = IsInAir || Typically right before jumps ||
|-
| || || || || 0x08 (Bit 3) = IsTerminator || Indicates walls etc. May not be end of the road ||
|-
| || || || || 0x10 (Bit 4) = IsJunction || Likely required for events ||
|-
| || || || || 0x20 (Bit 5) = IsSplit || Road split, like at Moore/E. Crawford ||
|-
| || || || || 0x40 (Bit 6) = IsAIShortcut || ||
|-
| || || || || 0x80 (Bit 7) = IsInterstateExit || ||
|-
| 0x24 || 0x4 || || || padding || ||
|}
 
=== Portal ===
=== BrnAI::EResetSpeedType ===
{| class="wikitable"
! Offset !! Size !! Type !! Name !! Description !! More InformationValue !! Comments
|-
| E_RESET_SPEED_TYPE_CUSTOM || 0 ||
| 0x0 || 0x4 || float32_t || mPositionX || || ||
|-
| E_RESET_SPEED_TYPE_NONE || 1 ||
| 0x4 || 0x4 || float32_t || mPositionY || || ||
|-
| E_RESET_SPEED_TYPE_SLOW || 2 ||
| 0x8 || 0x4 || float32_t || mPositionZ || || ||
|-
| 0xC || 0x4 || || || paddingE_RESET_SPEED_TYPE_FAST || 3 ||
|-
| E_RESET_SPEED_TYPE_SLOW_NORTH_FACE || 4 ||
| 0x10 || 0x8 || BoundaryLine * || mpaBoundaryLines || || BoundaryLine format ||
|-
| 0x18 || 0x4 || || || paddingE_RESET_SPEED_TYPE_SLOW_SOUTH_FACE || 5 ||
|-
| E_RESET_SPEED_TYPE_SLOW_EAST_FACE || 6 ||
| 0x1C || 0x2 || uint16_t || mu16LinkSection || Section index || ||
|-
| E_RESET_SPEED_TYPE_SLOW_WEST_FACE || 7 ||
| 0x1E || 0x1 || uint8_t || mu8NumBoundaryLines || || ||
|-
| E_RESET_SPEED_TYPE_SLOW_REVERSE || 8 ||
| 0x1F || 0x1 || uint8_t[1] || mau8Pad || padding || ||
|}
=== BoundaryLine ===
{| class="wikitable"
! Offset !! Size !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x10 || Vector4 || mVerts || E_RESET_SPEED_TYPE_STOP_REVERSE || 9 ||
|}
=== SectionResetPair ===
{| class="wikitable"
! Offset !! Size !! Type !! Name !! Description !! More Information
|-
| E_RESET_SPEED_TYPE_STOP_NORTH_FACE || 10 ||
| 0x0 || 0x4 || uint32_t || meResetSpeed || EResetSpeedType || 0x00 = E_RESET_SPEED_TYPE_CUSTOM
|-
| E_RESET_SPEED_TYPE_STOP_SOUTH_FACE || 11 ||
| || || || || || 0x01 = E_RESET_SPEED_TYPE_NONE
|-
| E_RESET_SPEED_TYPE_STOP_EAST_FACE || 12 ||
| || || || || || 0x02 = E_RESET_SPEED_TYPE_SLOW
|-
| E_RESET_SPEED_TYPE_STOP_WEST_FACE || 13 ||
| || || || || || 0x03 = E_RESET_SPEED_TYPE_FAST
|-
| E_RESET_SPEED_TYPE_STOP_NORTH_EAST_FACE || 14 ||
| || || || || || 0x04 = E_RESET_SPEED_TYPE_SLOW_NORTH_FACE
|-
| E_RESET_SPEED_TYPE_STOP_SOUTH_WEST_FACE || 15 ||
| || || || || || 0x05 = E_RESET_SPEED_TYPE_SLOW_SOUTH_FACE
|-
| E_RESET_SPEED_TYPE_NONE_AND_IGNORE || 16 ||
| || || || || || 0x06 = E_RESET_SPEED_TYPE_SLOW_EAST_FACE
|-
| E_RESET_SPEED_TYPE_WEST_AND_IGNORE || 17 ||
| || || || || || 0x07 = E_RESET_SPEED_TYPE_SLOW_WEST_FACE
|-
| E_RESET_SPEED_TYPE_REVERSE_AND_IGNORE || 18 ||
| || || || || || 0x08 = E_RESET_SPEED_TYPE_SLOW_REVERSE
|-
| E_RESET_SPEED_TYPE_REVERSE_AND_IGNORE_SLOW || 19 ||
| || || || || || 0x09 = E_RESET_SPEED_TYPE_STOP_REVERSE
|-
| || || || || || 0x0A = E_RESET_SPEED_TYPE_STOP_NORTH_FACE
|-
| || || || || || 0x0B = E_RESET_SPEED_TYPE_STOP_SOUTH_FACE
|-
| || || || || || 0x0C = E_RESET_SPEED_TYPE_STOP_EAST_FACE
|-
| || || || || || 0x0D = E_RESET_SPEED_TYPE_STOP_WEST_FACE
|-
| || || || || || 0x0E = E_RESET_SPEED_TYPE_STOP_NORTH_EAST_FACE
|-
| || || || || || 0x0F = E_RESET_SPEED_TYPE_STOP_SOUTH_WEST_FACE
|-
| || || || || || 0x10 = E_RESET_SPEED_TYPE_NONE_AND_IGNORE
|-
| || || || || || 0x11 = E_RESET_SPEED_TYPE_WEST_AND_IGNORE
|-
| || || || || || 0x12 = E_RESET_SPEED_TYPE_REVERSE_AND_IGNORE
|-
| || || || || || 0x13 = E_RESET_SPEED_TYPE_REVERSE_AND_IGNORE_SLOW
|-
| || || || || || 0x14 = E_RESET_SPEED_TYPE_COUNT
|-
| 0x4 || 0x2 || uint16_t || muStartSectionIndex || ||
|-
| 0x6 || 0x2 || uint16_t || muResetSectionIndex || ||
|}
=== AISectionPointMap ===
{| class="wikitable"
! Offset !! Size !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x4 || int32_t || miGridWidth || || || AISectionPointMap unused in file, PS4 structure guessed
|-
| 0x4 || 0x4 || int32_t || miGridHeight || || ||
|-
| 0x8 || 0x8 || || || padding || ||
|-
| 0x10 || 0x10 || Vector2 || mvGridUnitSize || || ||
|-
| 0x20 || 0x10 || Vector2 || mvGridMin || || ||
|-
| 0x30 || 0x8 || Vector3 * || mpPoints || || ||
|-
| 0x38 || 0x8 || uint16_t * || mpuSections || || ||
|-
| 0x40 || 0x8 || uint16_t * || mpuGridUnitMap || || ||
|-
| 0x48 || 0x8 || uint16_t * || mpuGridUnitPointIndices || || ||
|-
| 0x50 || 0x8 || uint16_t * || mpuGridUnitPointCount || || ||
|-
| 0x58 || 0x8 || || || padding || ||
|}
=== BoundingBox ===
{| class="wikitable"
! Offset !! Size !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x80 || Vector3[8] || maCorners || || || BoundingBox unused in file
|}
=== DrivingCollisionTriangle ===
{| class="wikitable"
! Offset !! Size !! Type !! Name !! Description !! More Information !! Comments
|-
| E_RESET_SPEED_TYPE_COUNT || 20 ||
| 0x0 || 0x30 || Vector3[3] || maVerts || || || DrivingCollisionTriangle unused in file
|}