Revision as of 05:23, 2 October 2022
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 |
RaceEventData* |
mpaEvents |
Events |
|
0xC |
0x4 |
uint32_t |
muEventCount |
Number of events |
|
0x10 |
0x4 |
Unknown* |
? |
AI opponent balancing data |
|
0x14 |
0x4 |
uint32_t |
? |
Number of balancing data 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 |
RaceEventData* |
mpaEvents |
Events |
|
0x14 |
0x4 |
uint32_t |
muEventCount |
Number of events |
|
0x18 |
0x4 |
Unknown* |
? |
AI opponent balancing data |
|
0x1C |
0x4 |
uint32_t |
? |
Number of balancing data entries |
|
0x20 |
0x4 |
Rival* |
mpaRivals |
Rivals |
|
0x24 |
0x4 |
int32_t |
miRivalCount |
Number of rivals |
|
BrnProgression::RaceEventData
v4
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x8 |
uint64_t |
muId |
Event ID |
GameDB ID
|
0x8 |
0x4 |
uint32_t |
? |
Flags? |
0-1
|
0xC |
0x4 |
uint32_t |
? |
Rank? |
1-2
|
0x10 |
0x20 |
char[32] |
? |
Event name |
|
0x30 |
0x190 |
uint64_t[50] |
? |
Checkpoints |
GameDB IDs
|
0x1C0 |
0x4 |
int32_t |
? |
Number of checkpoints |
|
0x1C4 |
0x4 |
|
|
padding |
|
v8
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x20 |
char[32] |
? |
Event name |
Always null
|
0x20 |
0x8 |
uint64_t |
muId |
Event ID |
GameDB ID
|
0x28 |
0x2 |
uint16_t |
? |
Rank? |
0-9
|
0x2A |
0x1 |
uint8_t |
? |
Flags? |
Always 1
|
0x2B |
0x5 |
|
|
padding |
|
0x30 |
0x80 |
uint64_t[16] |
? |
Checkpoints |
GameDB IDs
|
0xB0 |
0x1 |
int8_t |
? |
Number of checkpoints |
|
0xB1 |
0x7 |
|
|
padding |
|
Unknown 0
Acts as a wrapper for what would become the AI balances.
v4
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
uint32_t* |
? |
Unknown integers |
|
0x4 |
0x4 |
uint32_t |
? |
Number of unknown integers |
|
0x8 |
0x4 |
uint32_t |
? |
|
Ascending order
|
0xC |
0x20 |
char[32] |
? |
Name |
EL_*
|
v8
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
uint32_t* |
? |
Unknown integers |
|
0x4 |
0x4 |
uint32_t |
? |
Number of unknown integers |
|
0x8 |
0x4 |
uint32_t |
? |
|
Ascending order
|
0xC |
0x1DC |
OpponentBalanceData[7] |
? |
|
|
0x1E8 |
0x4 |
|
|
padding |
|
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 |
? |
Flags? |
0-1
|
0xC |
0x10 |
float[4] |
? |
|
Likely a vector. Always 1,1,1,1
|
0x1D |
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 |
|