Progression Data/Burnout Paradise/Development: Difference between revisions
Content added Content deleted
m (Burninrubber0 moved page Progression/Development to Progression Data/Burnout Paradise/Development without leaving a redirect: Restructuring Progression Data pages.) |
(Updated with new information.) |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
Versions as defined by the <code>muVersionNumber</code> field. |
Versions as defined by the <code>muVersionNumber</code> field. |
||
* Version 4: Found in the [[Burnout 5 (2006-11-13 build)]]. Most content is not yet present, but some events, rivals and opponent balancing is done. |
|||
⚫ | |||
Found in |
* Version 8: Found in [[Burnout 5 (2007-02-22 build)]]. This version iterates on what was in v4 but is ultimately very similar. |
||
⚫ | |||
Found in [[Burnout 5 (2007-02-22 build)]]. This version iterates on what was in v4 but is ultimately very similar. |
|||
= Structures = |
= Structures = |
||
=== BrnProgression::ProgressionData === |
=== BrnProgression::ProgressionData === |
||
==== |
==== Version 4 ==== |
||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
Line 18: | Line 15: | ||
| 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 31: | Line 28: | ||
|} |
|} |
||
==== |
==== Version 8 ==== |
||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
Line 41: | Line 38: | ||
| 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 51: | ||
|} |
|} |
||
=== BrnProgression:: |
=== BrnProgression::BaseRace === |
||
Type name from 1.0 data - actual name may be different, in particular for version 4. |
|||
⚫ | |||
⚫ | |||
{| 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 || |
||
⚫ | |||
⚫ | |||
{| 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 === |
|||
⚫ | |||
⚫ | |||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || |
| 0x0 || 0x30 || [[#BrnProgression::BaseRace|BaseRace]] || || Base class || |
||
|- |
|- |
||
| |
| 0x30 || 0x190 || [[CgsID]][50] || maLandmarkCgsIds || Checkpoints || GameDB IDs |
||
|- |
|- |
||
| |
| 0x1C0 || 0x4 || uint32_t || muNumLandmarks || Number of checkpoints || |
||
|- |
|- |
||
| |
| 0x1C4 || 0x4 || || || Padding || |
||
|} |
|||
=== BrnProgression::SavedRace === |
|||
⚫ | |||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|- |
||
| |
| 0x0 || 0x30 || [[#BrnProgression::BaseRace|BaseRace]] || || Base class || |
||
|- |
|- |
||
| 0x30 || 0x80 || |
| 0x30 || 0x80 || [[CgsID]][16] || maLandmarkCgsIds || Checkpoints || GameDB IDs |
||
|- |
|- |
||
| 0xB0 || 0x1 || |
| 0xB0 || 0x1 || uint8_t || muNumLandmarks || Number of checkpoints || |
||
|- |
|- |
||
| 0xB1 || 0x7 || || || |
| 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. |
|||
==== |
==== Version 4 ==== |
||
{| class="wikitable" |
{| class="wikitable" |
||
! 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_* |
||
|} |
|} |
||
==== |
==== Version 8 ==== |
||
{| class="wikitable" |
{| class="wikitable" |
||
! 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 || |
| 0xC || 0x1E0 || [[CgsArray]]<[[../#BrnProgression::OpponentBalanceData|OpponentBalanceData]],7u> || ? || || Length is always 0, but there will always be 7 populated entries. |
||
⚫ | |||
⚫ | |||
|- |
|- |
||
| 0x1EC || 0x20 || char[32] || ? || Name || EL_* |
| 0x1EC || 0x20 || char[32] || ? || Name || EL_* |
||
Line 129: | Line 144: | ||
=== BrnProgression::Rival === |
=== BrnProgression::Rival === |
||
==== |
==== Versions 4-8 ==== |
||
{| class="wikitable" |
{| class="wikitable" |
||
! 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 || int32_t || miRank || Rank || 0-1 |
|||
|- |
|||
| 0xC || 0x4 || float32_t || mfSpeed || Speed || Always 1 |
|||
|- |
|||
| 0x10 || 0x4 || float32_t || mfAggression || Aggression || Always 1 |
|||
|- |
|- |
||
| |
| 0x14 || 0x4 || float32_t || mfVolatility || Volatility || Always 1 |
||
|- |
|- |
||
| |
| 0x18 || 0x4 || float32_t || mfSkill || Skill || Always 1 |
||
|- |
|- |
||
| |
| 0x1C || 0x2 || int16_t || miTakedownCount || Takedown count || Always 1 in v4 sample<br>Sequential 0x6-26 in v8 sample |
||
|- |
|- |
||
| 0x1E || 0x1 || int8_t || |
| 0x1E || 0x1 || int8_t || miCountyIndex || 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 || |
||
|- |
|- |
||
| 0x3F || 0x1 || || || |
| 0x3F || 0x1 || || || Padding || |
||
|} |
|} |
Latest revision as of 09:23, 15 March 2024
Versions
Versions as defined by the muVersionNumber
field.
- Version 4: Found in the Burnout 5 (2006-11-13 build). Most content is not yet present, but some events, rivals and opponent balancing is done.
- Version 8: Found in Burnout 5 (2007-02-22 build). This version iterates on what was in v4 but is ultimately very similar.
Structures
BrnProgression::ProgressionData
Version 4
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 |
Version 8
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.
Version 4
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 |
Version 8
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
Version 4
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x30 | BaseRace | Base class | ||
0x30 | 0x190 | CgsID[50] | maLandmarkCgsIds | Checkpoints | GameDB IDs |
0x1C0 | 0x4 | uint32_t | muNumLandmarks | Number of checkpoints | |
0x1C4 | 0x4 | Padding |
BrnProgression::SavedRace
Version 8
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x30 | BaseRace | Base class | ||
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.
Version 4
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_* |
Version 8
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
Versions 4-8
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x8 | CgsID | mCarId | Vehicle to use | |
0x8 | 0x4 | int32_t | miRank | Rank | 0-1 |
0xC | 0x4 | float32_t | mfSpeed | Speed | Always 1 |
0x10 | 0x4 | float32_t | mfAggression | Aggression | Always 1 |
0x14 | 0x4 | float32_t | mfVolatility | Volatility | Always 1 |
0x18 | 0x4 | float32_t | mfSkill | Skill | Always 1 |
0x1C | 0x2 | int16_t | miTakedownCount | Takedown count | Always 1 in v4 sample Sequential 0x6-26 in v8 sample |
0x1E | 0x1 | int8_t | miCountyIndex | County index | Always -1 in v4 sample, 0-4 in v8 sample |
0x1F | 0x20 | char[32] | macName | Rival name | |
0x3F | 0x1 | Padding |