Street Data: Difference between revisions
Content added Content deleted
(Created page.) |
m (Remove base class names generated by Ghidra.) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{ParadiseResourceTypeInfobox |
|||
| name = StreetData |
|||
| resourcenames = StreetData |
|||
| id = 0x10018 |
|||
| category = Game-specific<br />(Burnout Paradise) |
|||
| memdist = Main Memory only |
|||
}} |
|||
{{subpage|Previous versions|text=Information on versions of the Street Data resource type used in earlier versions of Burnout Paradise.}} |
|||
{{subpage|Development|text=Information on versions of the Street Data resource type used during development.}} |
|||
The Street Data resource type contains all Road Rule scoring data. There are some fields for road limits, junctions, exits, and AI speeds, but it is unclear whether these are used as the [[AI Sections]], [[Traffic Data]], [[Trigger Data]], and collision resources already control all other aspects of roads. |
The Street Data resource type contains all Road Rule scoring data. There are some fields for road limits, junctions, exits, and AI speeds, but it is unclear whether these are used as the [[AI Sections]], [[Traffic Data]], [[Trigger Data]], and collision resources already control all other aspects of roads. |
||
Line 17: | Line 28: | ||
| 0x10 || 0x4 || [[#BrnStreetData::Road|Road]]* || mpaRoads || || |
| 0x10 || 0x4 || [[#BrnStreetData::Road|Road]]* || mpaRoads || || |
||
|- |
|- |
||
| 0x14 || 0x4 || [[#|ChallengeParScoresEntry]]* || mpaChallengeParScores || || |
| 0x14 || 0x4 || [[#BrnStreetData::ChallengeParScoresEntry|ChallengeParScoresEntry]]* || mpaChallengeParScores || || |
||
|- |
|- |
||
| 0x18 || 0x4 || int32_t || miStreetCount || || |
| 0x18 || 0x4 || int32_t || miStreetCount || || |
||
Line 40: | Line 51: | ||
| 0x18 || 0x8 || [[#BrnStreetData::Road|Road]]* || mpaRoads || || |
| 0x18 || 0x8 || [[#BrnStreetData::Road|Road]]* || mpaRoads || || |
||
|- |
|- |
||
| 0x20 || 0x8 || [[#|ChallengeParScoresEntry]]* || mpaChallengeParScores || || |
| 0x20 || 0x8 || [[#BrnStreetData::ChallengeParScoresEntry|ChallengeParScoresEntry]]* || mpaChallengeParScores || || |
||
|- |
|- |
||
| 0x28 || 0x4 || int32_t || miStreetCount || || |
| 0x28 || 0x4 || int32_t || miStreetCount || || |
||
Line 47: | Line 58: | ||
|- |
|- |
||
| 0x30 || 0x4 || int32_t || miRoadCount || || |
| 0x30 || 0x4 || int32_t || miRoadCount || || |
||
|- |
|||
| 0x34 || 0x4 || || || Padding || |
|||
|} |
|} |
||
Line 53: | Line 66: | ||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0xC || [[#BrnStreetData::SpanBase|SpanBase]] || |
| 0x0 || 0xC || [[#BrnStreetData::SpanBase|SpanBase]] || || Base class || |
||
|- |
|- |
||
| 0xC || 0x2 || [[#BrnStreetData::AIInfo|AIInfo]] || mAIInfo || || |
| 0xC || 0x2 || [[#BrnStreetData::AIInfo|AIInfo]] || mAIInfo || || |
||
|- |
|- |
||
| 0xE || 0x2 || || || |
| 0xE || 0x2 || || || Padding || |
||
|} |
|} |
||
Line 68: | Line 81: | ||
| 0x4 || 0x2 || [[#BrnStreetData::Road::SpanIndex|SpanIndex]] || miSpanIndex || || |
| 0x4 || 0x2 || [[#BrnStreetData::Road::SpanIndex|SpanIndex]] || miSpanIndex || || |
||
|- |
|- |
||
| 0x6 || 0x2 || || || |
| 0x6 || 0x2 || || || Padding || |
||
|- |
|- |
||
| 0x8 || 0x4 || [[#BrnStreetData::SpanBase::ESpanType|ESpanType]] || meSpanType || || |
| 0x8 || 0x4 || [[#BrnStreetData::SpanBase::ESpanType|ESpanType]] || meSpanType || || |
||
Line 87: | Line 100: | ||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0xC || [[#BrnStreetData::SpanBase|SpanBase]] || |
| 0x0 || 0xC || [[#BrnStreetData::SpanBase|SpanBase]] || || Base class || |
||
|- |
|- |
||
| 0xC || 0x4 || [[#BrnStreetData::Junction::Exit|Exit]]* || mpaExits || || |
| 0xC || 0x4 || [[#BrnStreetData::Junction::Exit|Exit]]* || mpaExits || || |
||
Line 100: | Line 113: | ||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0xC || [[#BrnStreetData::SpanBase|SpanBase]] || |
| 0x0 || 0xC || [[#BrnStreetData::SpanBase|SpanBase]] || || Base class || |
||
|- |
|- |
||
| 0xC || 0x4 || || || |
| 0xC || 0x4 || || || Padding || |
||
|- |
|- |
||
| 0x10 || 0x8 || [[#BrnStreetData::Junction::Exit|Exit]]* || mpaExits || || |
| 0x10 || 0x8 || [[#BrnStreetData::Junction::Exit|Exit]]* || mpaExits || || |
||
Line 108: | Line 121: | ||
| 0x18 || 0x4 || int32_t || miExitCount || || |
| 0x18 || 0x4 || int32_t || miExitCount || || |
||
|- |
|- |
||
| 0x1C || 0x4 || || || |
| 0x1C || 0x4 || || || Padding || |
||
|- |
|- |
||
| 0x20 || 0x10 || char[16] || macName || || |
| 0x20 || 0x10 || char[16] || macName || || |
||
Line 119: | Line 132: | ||
| 0x0 || 0x2 || [[#BrnStreetData::Road::SpanIndex|SpanIndex]] || mSpan || || |
| 0x0 || 0x2 || [[#BrnStreetData::Road::SpanIndex|SpanIndex]] || mSpan || || |
||
|- |
|- |
||
| 0x2 || 0x2 || || || |
| 0x2 || 0x2 || || || Padding || |
||
|- |
|- |
||
| 0x4 || 0x4 || float_t || mrAngle || || |
| 0x4 || 0x4 || float_t || mrAngle || || |
||
Line 147: | Line 160: | ||
| 0x40 || 0x4 || uint32_t || ? || || Always 1 |
| 0x40 || 0x4 || uint32_t || ? || || Always 1 |
||
|- |
|- |
||
| 0x44 || 0x4 || || || |
| 0x44 || 0x4 || || || Padding || |
||
|} |
|} |
||
Line 156: | Line 169: | ||
| 0x0 || 0xC || [[Vector3]] || mReferencePosition || || |
| 0x0 || 0xC || [[Vector3]] || mReferencePosition || || |
||
|- |
|- |
||
| 0xC || 0x4 || || || |
| 0xC || 0x4 || || || Padding || |
||
|- |
|- |
||
| 0x10 || 0x8 || [[#BrnStreetData::Road::SpanIndex|SpanIndex]]* || mpaSpans || || |
| 0x10 || 0x8 || [[#BrnStreetData::Road::SpanIndex|SpanIndex]]* || mpaSpans || || |
||
Line 174: | Line 187: | ||
| 0x48 || 0x4 || uint32_t || ? || || Always 1 |
| 0x48 || 0x4 || uint32_t || ? || || Always 1 |
||
|- |
|- |
||
| 0x4C || 0x4 || || || |
| 0x4C || 0x4 || || || Padding || |
||
|} |
|} |
||
Line 181: | Line 194: | ||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0x18 || [[#BrnStreetData::ChallengeData|ChallengeData]] || |
| 0x0 || 0x18 || [[#BrnStreetData::ChallengeData|ChallengeData]] || || Base class || |
||
|- |
|- |
||
| 0x18 || 0x10 || [[CgsID]][2] || mRivals || || |
| 0x18 || 0x10 || [[CgsID]][2] || mRivals || || |
Latest revision as of 05:25, 22 February 2024
StreetData | |
---|---|
Resource names | StreetData |
Type ID | 0x10018 |
Category | Game-specific (Burnout Paradise) |
Memory distribution |
Main Memory only |
Editor available? |
No |
![]() | Previous versions Information on versions of the Street Data resource type used in earlier versions of Burnout Paradise. |
![]() | Development Information on versions of the Street Data resource type used during development. |
The Street Data resource type contains all Road Rule scoring data. There are some fields for road limits, junctions, exits, and AI speeds, but it is unclear whether these are used as the AI Sections, Traffic Data, Trigger Data, and collision resources already control all other aspects of roads.
Structures
BrnStreetData::StreetData
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | int32_t | miVersion | Version number | 6 |
0x4 | 0x4 | int32_t | miSize | Resource size | |
0x8 | 0x4 | Street* | mpaStreets | ||
0xC | 0x4 | Junction* | mpaJunctions | ||
0x10 | 0x4 | Road* | mpaRoads | ||
0x14 | 0x4 | ChallengeParScoresEntry* | mpaChallengeParScores | ||
0x18 | 0x4 | int32_t | miStreetCount | ||
0x1C | 0x4 | int32_t | miJunctionCount | ||
0x20 | 0x4 | int32_t | miRoadCount |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | int32_t | miVersion | Version number | 6 |
0x4 | 0x4 | int32_t | miSize | Resource size | |
0x8 | 0x8 | Street* | mpaStreets | ||
0x10 | 0x8 | Junction* | mpaJunctions | ||
0x18 | 0x8 | Road* | mpaRoads | ||
0x20 | 0x8 | ChallengeParScoresEntry* | mpaChallengeParScores | ||
0x28 | 0x4 | int32_t | miStreetCount | ||
0x2C | 0x4 | int32_t | miJunctionCount | ||
0x30 | 0x4 | int32_t | miRoadCount | ||
0x34 | 0x4 | Padding |
BrnStreetData::Street
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0xC | SpanBase | Base class | ||
0xC | 0x2 | AIInfo | mAIInfo | ||
0xE | 0x2 | Padding |
BrnStreetData::SpanBase
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | RoadIndex | miRoadIndex | ||
0x4 | 0x2 | SpanIndex | miSpanIndex | ||
0x6 | 0x2 | Padding | |||
0x8 | 0x4 | ESpanType | meSpanType |
BrnStreetData::AIInfo
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x1 | uint8_t | muMaxSpeedMPS | ||
0x1 | 0x1 | uint8_t | muMinSpeedMPS |
BrnStreetData::Junction
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0xC | SpanBase | Base class | ||
0xC | 0x4 | Exit* | mpaExits | ||
0x10 | 0x4 | int32_t | miExitCount | ||
0x14 | 0x10 | char[16] | macName |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0xC | SpanBase | Base class | ||
0xC | 0x4 | Padding | |||
0x10 | 0x8 | Exit* | mpaExits | ||
0x18 | 0x4 | int32_t | miExitCount | ||
0x1C | 0x4 | Padding | |||
0x20 | 0x10 | char[16] | macName |
BrnStreetData::Junction::Exit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x2 | SpanIndex | mSpan | ||
0x2 | 0x2 | Padding | |||
0x4 | 0x4 | float_t | mrAngle |
BrnStreetData::Road
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0xC | Vector3 | mReferencePosition | ||
0xC | 0x4 | SpanIndex* | mpaSpans | ||
0x10 | 0x8 | CgsID | mId | Road GameDB ID | |
0x18 | 0x8 | CgsID | miRoadLimitId0 | Road limit 0 GameDB ID | |
0x20 | 0x8 | CgsID | miRoadLimitId1 | Road limit 1 GameDB ID | |
0x28 | 0x10 | char[16] | macDebugName | ||
0x38 | 0x4 | ChallengeIndex | mChallenge | ||
0x3C | 0x4 | int32_t | miSpanCount | ||
0x40 | 0x4 | uint32_t | ? | Always 1 | |
0x44 | 0x4 | Padding |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0xC | Vector3 | mReferencePosition | ||
0xC | 0x4 | Padding | |||
0x10 | 0x8 | SpanIndex* | mpaSpans | ||
0x18 | 0x8 | CgsID | mId | Road GameDB ID | |
0x20 | 0x8 | CgsID | miRoadLimitId0 | Road limit 0 GameDB ID | |
0x28 | 0x8 | CgsID | miRoadLimitId1 | Road limit 1 GameDB ID | |
0x30 | 0x10 | char[16] | macDebugName | ||
0x40 | 0x4 | ChallengeIndex | mChallenge | ||
0x44 | 0x4 | int32_t | miSpanCount | ||
0x48 | 0x4 | uint32_t | ? | Always 1 | |
0x4C | 0x4 | Padding |
BrnStreetData::ChallengeParScoresEntry
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x18 | ChallengeData | Base class | ||
0x18 | 0x10 | CgsID[2] | mRivals |
BrnStreetData::ChallengeData
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x8 | BitArray<2u> | mDirty | ||
0x8 | 0x8 | BitArray<2u> | mValidScores | ||
0x10 | 0x8 | ScoreList | mScoreList |
BrnStreetData::ScoreList
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x8 | int32_t[2] | maScores |
Typedefs
BrnStreetData::SpanBase::RoadIndex
Name | Type | Length | Comments |
---|---|---|---|
RoadIndex | int32_t | 0x4 |
BrnStreetData::Road::SpanIndex
Name | Type | Length | Comments |
---|---|---|---|
SpanIndex | int16_t | 0x2 |
BrnStreetData::Road::ChallengeIndex
Name | Type | Length | Comments |
---|---|---|---|
ChallengeIndex | int32_t | 0x4 |
Enumerations
BrnStreetData::SpanBase::ESpanType
Name | Value | Comments |
---|---|---|
STREET | 0 | |
JUNCTION | 1 | |
SPAN_TYPE_COUNT | 2 |