AI Sections: Difference between revisions

Added infobox and normalized some content.
m (Burninrubber0 moved page AISections (Burnout Paradise) to AI Sections)
(Added infobox and normalized some content.)
 
(5 intermediate revisions by 2 users not shown)
Line 1:
{{ParadiseResourceTypeInfobox
| 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.
 
Line 7 ⟶ 18:
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x4 || [[#BrnAI::AISection | AISection]]* || mpaSections || ||
|-
| 0x4 || 0x4 || [[#BrnAI::SectionResetPair | SectionResetPair]]* || mpaSectionResetPairs || ||
|-
| 0x8 || 0x14 || float32_t[5] || mafSectionMinSpeeds || ||
Line 15 ⟶ 26:
| 0x1C || 0x14 || float32_t[5] || mafSectionMaxSpeeds || ||
|-
| 0x30 || 0x4 || uint32_t || muNumSections || || Maximum of 20,000
|-
| 0x34 || 0x4 || uint32_t || muNumSectionResetPairs || ||
Line 28 ⟶ 39:
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x8 || [[#BrnAI::AISection | AISection]]* || mpaSections || ||
|-
| 0x8 || 0x8 || [[#BrnAI::SectionResetPair | SectionResetPair]]* || mpaSectionResetPairs || ||
|-
| 0x10 || 0x14 || float32_t[5] || mafSectionMinSpeeds || ||
Line 50 ⟶ 61:
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x4 || [[#BrnAI::Portal | Portal]]* || mpaPortals || ||
|-
| 0x4 || 0x4 || [[#BrnAI::BoundaryLine | BoundaryLine]]* || mpaNoGoLines || ||
|-
| 0x8 || 0x4 || [[Common Data Types (Burnout Paradise)#Vector2 | Vector2]]* || mpaCorners || ||
|-
| 0xC || 0x4 || [[#BrnAI::AISection::AISectionId | AISectionId]] || mId || Section GameDB ID ||
|-
| 0x10 || 0x2 || [[#BrnStreetData::Road::SpanIndex | SpanIndex]] || miSpanIndex || ||
|-
| 0x12 || 0x2 || uint16_t || muNumNoGoLines || || Maximum of 200 walls
|-
| 0x14 || 0x1 || uint8_t || mu8NumPortals || || Maximum of 32
|-
| 0x15 || 0x1 || uint8_t || muSpeed || SectionSpeed || See [[#BrnAI::SectionSpeed | SectionSpeed]]
|-
| 0x16 || 0x1 || uint8_t || mu8eDistrict || District || Always null
|-
| 0x17 || 0x1 || uint8_t || mx8Flags || Flags || See [[#AISection flags | flags]]
|}
 
Line 75 ⟶ 86:
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x8 || [[#BrnAI::Portal | Portal]]* || mpaPortals || ||
|-
| 0x8 || 0x8 || [[#BrnAI::BoundaryLine | BoundaryLine]]* || mpaNoGoLines || ||
|-
| 0x10 || 0x8 || [[Common Data Types (Burnout Paradise)#Vector2 | Vector2]]* || mpaCorners || ||
|-
| 0x18 || 0x4 || [[#BrnAI::AISection::AISectionId | AISectionId]] || mId || Section GameDB ID ||
|-
| 0x1C || 0x2 || [[#BrnStreetData::Road::SpanIndex | SpanIndex]] || miSpanIndex || ||
|-
| 0x1E || 0x2 || uint16_t || muNumNoGoLines || ||
Line 89 ⟶ 100:
| 0x20 || 0x1 || uint8_t || mu8NumPortals || ||
|-
| 0x21 || 0x1 || uint8_t || muSpeed || SectionSpeed || See [[#BrnAI::SectionSpeed | SectionSpeed]]
|-
| 0x22 || 0x1 || uint8_t || mu8eDistrict || District || Always null
|-
| 0x23 || 0x1 || uint8_t || mx8Flags || Flags || See [[#AISection flags | flags]]
|-
| 0x24 || 0x4 || || || paddingPadding ||
|}
 
Line 109 ⟶ 120:
| 0x8 || 0x4 || float32_t || mPositionZ || ||
|-
| 0xC || 0x4 || [[#BrnAI::BoundaryLine | BoundaryLine]]* || mpaBoundaryLines || ||
|-
| 0x10 || 0x2 || uint16_t || mu16LinkSection || Section index ||
Line 115 ⟶ 126:
| 0x12 || 0x1 || uint8_t || mu8NumBoundaryLines || ||
|-
| 0x13 || 0x1 || uint8_t[1] || mau8Pad || paddingPadding ||
|}
 
Line 128 ⟶ 139:
| 0x8 || 0x4 || float32_t || mPositionZ || ||
|-
| 0xC || 0x4 || || || paddingPadding ||
|-
| 0x10 || 0x8 || [[#BrnAI::BoundaryLine | BoundaryLine]]* || mpaBoundaryLines || ||
|-
| 0x18 || 0x2 || uint16_t || mu16LinkSection || Section index ||
Line 136 ⟶ 147:
| 0x1A || 0x1 || uint8_t || mu8NumBoundaryLines || ||
|-
| 0x1B || 0x1 || uint8_t[1] || mau8Pad || paddingPadding ||
|-
| 0x1C || 0x4 || || || paddingPadding ||
|}
 
Line 145 ⟶ 156:
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x10 || [[#Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector4]] || mVerts || ||
|}
 
Line 152 ⟶ 163:
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x4 || uint32_t || meResetSpeed || || See [[#BrnAI::EResetSpeedType | EResetSpeedType]]
|-
| 0x4 || 0x2 || uint16_t || muStartSectionIndex || || ||
|-
| 0x6 || 0x2 || uint16_t || muResetSectionIndex || || ||
|}
 
Line 162 ⟶ 173:
=== BrnAI::AISection::AISectionId ===
{| class="wikitable"
|-
! Name !! Type !! Length !! Comments
|-
Line 170 ⟶ 180:
=== BrnStreetData::Road::SpanIndex ===
{| class="wikitable"
|-
! Name !! Type !! Length !! Comments
|-
| SpanIndex || int16_t || 0x40x2 ||
|}
 
Line 179 ⟶ 188:
=== BrnAI::SectionSpeed ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
Line 197 ⟶ 205:
=== AISection flags ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
| IsShortcutKX_SECTION_FLAG_SHORTCUT || 0x1 ||
|-
| IsNoResetKX_SECTION_FLAG_NO_RESET || 0x2 || No reset on track point
|-
| IsInAirKX_SECTION_FLAG_IN_AIR || 0x4 || Typically right before jumps
|-
| IsTerminatorKX_SECTION_FLAG_SPLIT || 0x8 || IndicatesRoad wallssplit, etc.like Mayat not be end of theMoore/E. roadCrawford
|-
| IsJunctionKX_SECTION_FLAG_JUNCTION || 0x10 || Likely required for events
|-
| IsSplitKX_SECTION_FLAG_TERMINATOR || 0x20 || RoadIndicates split,walls likeetc. atMay Moore/E.not be end of the Crawfordroad
|-
| IsAIShortcutKX_SECTION_FLAG_AI_SHORTCUT || 0x40 ||
|-
| IsInterstateExitKX_SECTION_FLAG_AI_INTERSTATE_EXIT || 0x80 ||
|}
 
=== BrnAI::EResetSpeedType ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-