Progression Data/Burnout Paradise/Development: Difference between revisions
Content added Content deleted
mNo edit summary |
m (Normalization) |
||
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. |
|||
=== v4 === |
|||
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. |
||
=== v8 === |
|||
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 31: | Line 28: | ||
|} |
|} |
||
==== |
==== Version 8 ==== |
||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
Line 57: | Line 54: | ||
Type name from 1.0 data - actual name may be different, in particular for version 4. |
Type name from 1.0 data - actual name may be different, in particular for version 4. |
||
==== |
==== Version 4 ==== |
||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
Line 70: | Line 67: | ||
|} |
|} |
||
==== |
==== Version 8 ==== |
||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
Line 88: | Line 85: | ||
=== BrnProgression::SavedPresetRace === |
=== BrnProgression::SavedPresetRace === |
||
==== |
==== Version 4 ==== |
||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
Line 98: | Line 95: | ||
| 0x1C0 || 0x4 || uint32_t || muNumLandmarks || Number of checkpoints || |
| 0x1C0 || 0x4 || uint32_t || muNumLandmarks || Number of checkpoints || |
||
|- |
|- |
||
| 0x1C4 || 0x4 || || || |
| 0x1C4 || 0x4 || || || Padding || |
||
|} |
|} |
||
=== BrnProgression::SavedRace === |
=== BrnProgression::SavedRace === |
||
==== |
==== Version 8 ==== |
||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
Line 112: | Line 109: | ||
| 0xB0 || 0x1 || uint8_t || muNumLandmarks || Number of checkpoints || |
| 0xB0 || 0x1 || uint8_t || muNumLandmarks || Number of checkpoints || |
||
|- |
|- |
||
| 0xB1 || 0x7 || uint8_t[7] || maPad || |
| 0xB1 || 0x7 || uint8_t[7] || maPad || Padding || |
||
|} |
|} |
||
Line 118: | Line 115: | ||
Rank data. Actual name unknown. |
Rank data. Actual name unknown. |
||
==== |
==== Version 4 ==== |
||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
Line 131: | Line 128: | ||
|} |
|} |
||
==== |
==== Version 8 ==== |
||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
Line 141: | Line 138: | ||
| 0x8 || 0x4 || uint32_t || ? || Number of violation/offence points to acquire this rank || |
| 0x8 || 0x4 || uint32_t || ? || Number of violation/offence points to acquire this rank || |
||
|- |
|- |
||
| 0xC || 0x1E0 || [[CgsArray]]<[[ |
| 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 147: | 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 |
||
Line 163: | Line 160: | ||
| 0x1F || 0x20 || char[32] || macName || Rival name || |
| 0x1F || 0x20 || char[32] || macName || Rival name || |
||
|- |
|- |
||
| 0x3F || 0x1 || || || |
| 0x3F || 0x1 || || || Padding || |
||
|} |
|} |
Revision as of 09:21, 4 October 2023
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 | super_BaseRace | ||
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 | 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.
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 | 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 |