AI Sections/Development

From Burnout Wiki
Revision as of 05:45, 4 October 2023 by Burninrubber0 (talk | contribs) (Normalization)

Versions

Version 4

Used in Burnout 5 (2006-11-13 build) and Burnout 5 (2007-02-22 build). There are slight differences between the two builds, despite sharing the same version.

Structures

BrnAI::AISectionsData

Version 4

32-bit
Offset Length Type Name Description Comments
0x0 0x4 AISection* mpaSections
0x4 0x4 uint32_t muNumSections
0x8 0x4 uint32_t muVersion 4
0xC 0x4 uint32_t muSizeInBytes

BrnAI::AISection

Version 4 (2006-11-13)

32-bit
Offset Length Type Name Description Comments
0x0 0x4 Portal* mpaPortals
0x4 0x4 BoundaryLine* mpaNoGoLines
0x8 0x20 Vector2[4] ? Corners
0x28 0x2 uint16_t muNumNoGoLines
0x2A 0x1 uint8_t mu8NumPortals
0x2B 0x1 uint8_t muDangerRating See danger rating
0x2C 0x1 uint8_t mu8eDistrict? District? Always null
0x2D 0x1 uint8_t mx8Flags Flags Note that these flags may be a little different to version 12.
0x2E 0x2 Probably padding

Version 4 (2007-02-22)

32-bit
Offset Length Type Name Description Comments
0x0 0x4 Portal* mpaPortals
0x4 0x4 BoundaryLine* mpaNoGoLines
0x8 0x20 Vector2[4] ? Corners
0x28 0x4 SpanIndex miSpanIndex
0x2C 0x2 uint16_t muNumNoGoLines
0x2E 0x1 uint8_t mu8NumPortals
0x2F 0x1 uint8_t muDangerRating See danger rating
0x30 0x1 uint8_t mu8eDistrict? District? Always null
0x31 0x1 uint8_t mx8Flags Flags Note that these flags may be a little different to version 12.
0x32 0x2 Probably padding

BrnAI::Portal

Version 4

32-bit
Offset Length Type Name Description Comments
0x0 0x4 float32_t mPositionX
0x4 0x4 float32_t mPositionY
0x8 0x4 float32_t mPositionZ
0xC 0x4 ? ? ?
0x10 0x4 BoundaryLine* mpaBoundaryLines
0x14 0x2 uint16_t mu16LinkSection Section index
0x16 0x1 uint8_t mu8NumBoundaryLines
0x17 0x9 ? ? ? Always null?

Enumerations

Danger rating

Name Value Comments
? 0
? 1
? 2
E_DANGER_RATING_COUNT 3