Progression Data/Burnout Paradise/Development: Difference between revisions
Content added Content deleted
m (Fix link.) |
No edit summary |
||
Line 18: | Line 18: | ||
| 0x4 || 0x4 || uint32_t || muSize || Resource size || |
| 0x4 || 0x4 || uint32_t || muSize || Resource size || |
||
|- |
|- |
||
| 0x8 || 0x4 || [[#BrnProgression:: |
| 0x8 || 0x4 || [[#BrnProgression::SavedPresetRace|SavedPresetRace]]* || || Events || |
||
|- |
|- |
||
| 0xC || 0x4 || uint32_t || |
| 0xC || 0x4 || uint32_t || muPresetRaceCount || Number of events || |
||
|- |
|- |
||
| 0x10 || 0x4 || [[#Unknown 0|Unknown]]* || ? || |
| 0x10 || 0x4 || [[#Unknown 0|Unknown]]* || ? || Rank data || |
||
|- |
|- |
||
| 0x14 || 0x4 || |
| 0x14 || 0x4 || int32_t || miRankCount || Number of rank entries || |
||
|- |
|- |
||
| 0x18 || 0x4 || [[#BrnProgression::Rival|Rival]]* || mpaRivals || Rivals || |
| 0x18 || 0x4 || [[#BrnProgression::Rival|Rival]]* || mpaRivals || Rivals || |
||
Line 41: | Line 41: | ||
| 0x8 || 0x8 || [[CgsID]] || ? || Default player vehicle || B1 Saloon |
| 0x8 || 0x8 || [[CgsID]] || ? || Default player vehicle || B1 Saloon |
||
|- |
|- |
||
| 0x10 || 0x4 || [[#BrnProgression:: |
| 0x10 || 0x4 || [[#BrnProgression::SavedRace|SavedRace]]* || || Events || |
||
|- |
|- |
||
| 0x14 || 0x4 || uint32_t || |
| 0x14 || 0x4 || uint32_t || muRaceCount || Number of events || |
||
|- |
|- |
||
| 0x18 || 0x4 || [[#Unknown 0|Unknown]]* || ? || |
| 0x18 || 0x4 || [[#Unknown 0|Unknown]]* || ? || Rank data || |
||
|- |
|- |
||
| 0x1C || 0x4 || |
| 0x1C || 0x4 || int32_t || miRankCount || Number of rank entries || |
||
|- |
|- |
||
| 0x20 || 0x4 || [[#BrnProgression::Rival|Rival]]* || mpaRivals || Rivals || |
| 0x20 || 0x4 || [[#BrnProgression::Rival|Rival]]* || mpaRivals || Rivals || |
||
Line 54: | Line 54: | ||
|} |
|} |
||
=== BrnProgression:: |
=== BrnProgression::BaseRace === |
||
Type name from 1.0 data - actual name may be different, in particular for version 4. |
|||
==== v4 ==== |
==== v4 ==== |
||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0x8 || |
| 0x0 || 0x8 || [[CgsID]] || mId || Event ID || GameDB ID |
||
|- |
|- |
||
| 0x8 || 0x4 || uint32_t || |
| 0x8 || 0x4 || uint32_t || muRank || || 0-1 |
||
|- |
|- |
||
| 0xC || 0x4 || uint32_t || |
| 0xC || 0x4 || uint32_t || || Laps? || 1-2 |
||
|- |
|- |
||
| 0x10 || 0x20 || char[32] || |
| 0x10 || 0x20 || char[32] || macName || Event name || Always null |
||
⚫ | |||
⚫ | |||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|- |
||
| |
| 0x0 || 0x20 || char[32] || macName || Event name || Always null |
||
|- |
|- |
||
| |
| 0x20 || 0x8 || [[CgsID]] || mId || Event ID || GameDB ID |
||
|- |
|- |
||
| |
| 0x28 || 0x1 || uint8_t || mxFlags || || Always 0 |
||
|- |
|||
⚫ | |||
|- |
|||
| 0x2A || 0x1 || uint8_t || muLaps || || Always 1 |
|||
|- |
|||
| 0x2B || 0x5 || uint8_t[5] || maPad || Padding || |
|||
|} |
|} |
||
=== BrnProgression::SavedPresetRace === |
|||
⚫ | |||
==== v4 ==== |
|||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || |
| 0x0 || 0x30 || [[#BrnProgression::BaseRace|BaseRace]] || super_BaseRace || || |
||
|- |
|- |
||
| |
| 0x30 || 0x190 || [[CgsID]][50] || maLandmarkCgsIds || Checkpoints || GameDB IDs |
||
|- |
|- |
||
| |
| 0x1C0 || 0x4 || uint32_t || muNumLandmarks || Number of checkpoints || |
||
|- |
|- |
||
| |
| 0x1C4 || 0x4 || || || padding || |
||
|} |
|||
=== BrnProgression::SavedRace === |
|||
==== v8 ==== |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|- |
||
| |
| 0x0 || 0x30 || [[#BrnProgression::BaseRace|BaseRace]] || super_BaseRace || || |
||
|- |
|- |
||
| 0x30 || 0x80 || |
| 0x30 || 0x80 || [[CgsID]][16] || maLandmarkCgsIds || Checkpoints || GameDB IDs |
||
|- |
|- |
||
| 0xB0 || 0x1 || |
| 0xB0 || 0x1 || uint8_t || muNumLandmarks || Number of checkpoints || |
||
|- |
|- |
||
| 0xB1 || 0x7 || || || padding || |
| 0xB1 || 0x7 || uint8_t[7] || maPad || padding || |
||
|} |
|} |
||
=== Unknown 0 === |
=== Unknown 0 === |
||
Rank data. Actual name unknown. |
|||
Acts as a wrapper for what would become the AI balances. |
|||
==== v4 ==== |
==== v4 ==== |
||
Line 102: | Line 122: | ||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0x4 || uint32_t* || ? || Unknown integers || |
| 0x0 || 0x4 || uint32_t* || ? || Unknown integers || Race indices? Unlocks? |
||
|- |
|- |
||
| 0x4 || 0x4 || uint32_t || ? || Number of unknown integers || |
| 0x4 || 0x4 || uint32_t || ? || Number of unknown integers || |
||
|- |
|- |
||
| 0x8 || 0x4 || uint32_t || ? || || |
| 0x8 || 0x4 || uint32_t || ? || Number of violation/offence points to acquire this rank || |
||
|- |
|- |
||
| 0xC || 0x20 || char[32] || ? || Name || EL_* |
| 0xC || 0x20 || char[32] || ? || Name || EL_* |
||
Line 115: | Line 135: | ||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0x4 || uint32_t* || ? || Unknown integers || |
| 0x0 || 0x4 || uint32_t* || ? || Unknown integers || Race indices? Unlocks? |
||
|- |
|- |
||
| 0x4 || 0x4 || uint32_t || ? || Number of unknown integers || |
| 0x4 || 0x4 || uint32_t || ? || Number of unknown integers || |
||
|- |
|- |
||
| 0x8 || 0x4 || uint32_t || ? || || |
| 0x8 || 0x4 || uint32_t || ? || Number of violation/offence points to acquire this rank || |
||
⚫ | |||
⚫ | |||
|- |
|- |
||
⚫ | |||
⚫ | |||
|- |
|- |
||
| 0x1EC || 0x20 || char[32] || ? || Name || EL_* |
| 0x1EC || 0x20 || char[32] || ? || Name || EL_* |
||
Line 133: | Line 151: | ||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0x8 || CgsID || mCarId || Vehicle to use || |
| 0x0 || 0x8 || [[CgsID]] || mCarId || Vehicle to use || |
||
|- |
|- |
||
| 0x8 || 0x4 || uint32_t || ? || |
| 0x8 || 0x4 || uint32_t || ? || Rank || 0-1 |
||
|- |
|- |
||
| 0xC || 0x10 || float[4] || ? || || Likely a vector. Always 1,1,1,1 |
| 0xC || 0x10 || float[4] || ? || ? || Likely a vector. Always 1,1,1,1 |
||
|- |
|- |
||
| |
| 0x1C || 0x2 || uint16_t || ? || ? || Always 1 in v4 sample, sequential 0x6-26 in v8 sample |
||
|- |
|- |
||
| 0x1E || 0x1 || int8_t || ? || County index |
| 0x1E || 0x1 || int8_t || ? || County index || Always -1 in v4 sample, 0-4 in v8 sample |
||
|- |
|- |
||
| 0x1F || 0x20 || char[32] || macName || Rival name || |
| 0x1F || 0x20 || char[32] || macName || Rival name || |
Revision as of 05:22, 12 February 2023
Versions
Versions as defined by the muVersionNumber
field.
v4
Found in the Burnout 5 (2006-11-13 build). Most content is not yet present, but some events, rivals and opponent balancing is done.
v8
Found in Burnout 5 (2007-02-22 build). This version iterates on what was in v4 but is ultimately very similar.
Structures
BrnProgression::ProgressionData
v4
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | uint32_t | muVersionNumber | Resource version | 4 |
0x4 | 0x4 | uint32_t | muSize | Resource size | |
0x8 | 0x4 | SavedPresetRace* | Events | ||
0xC | 0x4 | uint32_t | muPresetRaceCount | Number of events | |
0x10 | 0x4 | Unknown* | ? | Rank data | |
0x14 | 0x4 | int32_t | miRankCount | Number of rank entries | |
0x18 | 0x4 | Rival* | mpaRivals | Rivals | |
0x1C | 0x4 | int32_t | miRivalCount | Number of rivals |
v8
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | uint32_t | muVersionNumber | Resource version | 8 |
0x4 | 0x4 | uint32_t | muSize | Resource size | |
0x8 | 0x8 | CgsID | ? | Default player vehicle | B1 Saloon |
0x10 | 0x4 | SavedRace* | Events | ||
0x14 | 0x4 | uint32_t | muRaceCount | Number of events | |
0x18 | 0x4 | Unknown* | ? | Rank data | |
0x1C | 0x4 | int32_t | miRankCount | Number of rank entries | |
0x20 | 0x4 | Rival* | mpaRivals | Rivals | |
0x24 | 0x4 | int32_t | miRivalCount | Number of rivals |
BrnProgression::BaseRace
Type name from 1.0 data - actual name may be different, in particular for version 4.
v4
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x8 | CgsID | mId | Event ID | GameDB ID |
0x8 | 0x4 | uint32_t | muRank | 0-1 | |
0xC | 0x4 | uint32_t | Laps? | 1-2 | |
0x10 | 0x20 | char[32] | macName | Event name | Always null |
v8
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x20 | char[32] | macName | Event name | Always null |
0x20 | 0x8 | CgsID | mId | Event ID | GameDB ID |
0x28 | 0x1 | uint8_t | mxFlags | Always 0 | |
0x29 | 0x1 | uint8_t | muRank | 0-9 | |
0x2A | 0x1 | uint8_t | muLaps | Always 1 | |
0x2B | 0x5 | uint8_t[5] | maPad | Padding |
BrnProgression::SavedPresetRace
v4
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x30 | BaseRace | super_BaseRace | ||
0x30 | 0x190 | CgsID[50] | maLandmarkCgsIds | Checkpoints | GameDB IDs |
0x1C0 | 0x4 | uint32_t | muNumLandmarks | Number of checkpoints | |
0x1C4 | 0x4 | padding |
BrnProgression::SavedRace
v8
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x30 | BaseRace | super_BaseRace | ||
0x30 | 0x80 | CgsID[16] | maLandmarkCgsIds | Checkpoints | GameDB IDs |
0xB0 | 0x1 | uint8_t | muNumLandmarks | Number of checkpoints | |
0xB1 | 0x7 | uint8_t[7] | maPad | padding |
Unknown 0
Rank data. Actual name unknown.
v4
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | uint32_t* | ? | Unknown integers | Race indices? Unlocks? |
0x4 | 0x4 | uint32_t | ? | Number of unknown integers | |
0x8 | 0x4 | uint32_t | ? | Number of violation/offence points to acquire this rank | |
0xC | 0x20 | char[32] | ? | Name | EL_* |
v8
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | uint32_t* | ? | Unknown integers | Race indices? Unlocks? |
0x4 | 0x4 | uint32_t | ? | Number of unknown integers | |
0x8 | 0x4 | uint32_t | ? | Number of violation/offence points to acquire this rank | |
0xC | 0x1E0 | CgsArray<OpponentBalanceData,7u> | ? | Length is always 0, but there will always be 7 populated entries. | |
0x1EC | 0x20 | char[32] | ? | Name | EL_* |
BrnProgression::Rival
v4-v8
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x8 | CgsID | mCarId | Vehicle to use | |
0x8 | 0x4 | uint32_t | ? | Rank | 0-1 |
0xC | 0x10 | float[4] | ? | ? | Likely a vector. Always 1,1,1,1 |
0x1C | 0x2 | uint16_t | ? | ? | Always 1 in v4 sample, sequential 0x6-26 in v8 sample |
0x1E | 0x1 | int8_t | ? | County index | Always -1 in v4 sample, 0-4 in v8 sample |
0x1F | 0x20 | char[32] | macName | Rival name | |
0x3F | 0x1 | padding |