Progression Data/Burnout Paradise/Development: Difference between revisions

From Burnout Wiki
Content added Content deleted
No edit summary
(Updated with new information.)
 
(3 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.
=== 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.
* 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 ===
==== v4 ====
==== Version 4 ====
{| class="wikitable"
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
! Offset !! Length !! Type !! Name !! Description !! Comments
Line 31: Line 28:
|}
|}


==== v8 ====
==== 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.


==== v4 ====
==== Version 4 ====
{| class="wikitable"
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
! Offset !! Length !! Type !! Name !! Description !! Comments
Line 67: Line 64:
| 0xC || 0x4 || uint32_t || || Laps? || 1-2
| 0xC || 0x4 || uint32_t || || Laps? || 1-2
|-
|-
| 0x10 || 0x20 || char[32] || macName || Event name || Always null
| 0x10 || 0x20 || char[32] || macName || Event name ||
|}
|}


==== v8 ====
==== 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 ===
==== v4 ====
==== Version 4 ====
{| class="wikitable"
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
|-
| 0x0 || 0x30 || [[#BrnProgression::BaseRace|BaseRace]] || super_BaseRace || ||
| 0x0 || 0x30 || [[#BrnProgression::BaseRace|BaseRace]] || || Base class ||
|-
|-
| 0x30 || 0x190 || [[CgsID]][50] || maLandmarkCgsIds || Checkpoints || GameDB IDs
| 0x30 || 0x190 || [[CgsID]][50] || maLandmarkCgsIds || Checkpoints || GameDB IDs
Line 98: Line 95:
| 0x1C0 || 0x4 || uint32_t || muNumLandmarks || Number of checkpoints ||
| 0x1C0 || 0x4 || uint32_t || muNumLandmarks || Number of checkpoints ||
|-
|-
| 0x1C4 || 0x4 || || || padding ||
| 0x1C4 || 0x4 || || || Padding ||
|}
|}


=== BrnProgression::SavedRace ===
=== BrnProgression::SavedRace ===
==== v8 ====
==== Version 8 ====
{| class="wikitable"
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
|-
| 0x0 || 0x30 || [[#BrnProgression::BaseRace|BaseRace]] || super_BaseRace || ||
| 0x0 || 0x30 || [[#BrnProgression::BaseRace|BaseRace]] || || Base class ||
|-
|-
| 0x30 || 0x80 || [[CgsID]][16] || maLandmarkCgsIds || Checkpoints || GameDB IDs
| 0x30 || 0x80 || [[CgsID]][16] || maLandmarkCgsIds || Checkpoints || GameDB IDs
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 || padding ||
| 0xB1 || 0x7 || uint8_t[7] || maPad || Padding ||
|}
|}


Line 118: Line 115:
Rank data. Actual name unknown.
Rank data. Actual name unknown.


==== v4 ====
==== Version 4 ====
{| class="wikitable"
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
! Offset !! Length !! Type !! Name !! Description !! Comments
Line 131: Line 128:
|}
|}


==== v8 ====
==== 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]]<[[Progression Data/Burnout Paradise#BrnProgression::OpponentBalanceData|OpponentBalanceData]],7u> || ? || || Length is always 0, but there will always be 7 populated entries.
| 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 ===
==== v4-v8 ====
==== Versions 4-8 ====
{| class="wikitable"
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
! Offset !! Length !! Type !! Name !! Description !! Comments
Line 153: Line 150:
| 0x0 || 0x8 || [[CgsID]] || mCarId || Vehicle to use ||
| 0x0 || 0x8 || [[CgsID]] || mCarId || Vehicle to use ||
|-
|-
| 0x8 || 0x4 || uint32_t || ? || Rank || 0-1
| 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
|-
|-
| 0xC || 0x10 || float[4] || ? || ? || Likely a vector. Always 1,1,1,1
| 0x18 || 0x4 || float32_t || mfSkill || Skill || Always 1
|-
|-
| 0x1C || 0x2 || uint16_t || ? || ? || Always 1 in v4 sample, sequential 0x6-26 in v8 sample
| 0x1C || 0x2 || int16_t || miTakedownCount || Takedown count || Always 1 in v4 sample<br>Sequential 0x6-26 in v8 sample
|-
|-
| 0x1E || 0x1 || int8_t || ? || County index || Always -1 in v4 sample, 0-4 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 ||
| 0x1F || 0x20 || char[32] || macName || Rival name ||
|-
|-
| 0x3F || 0x1 || || || padding ||
| 0x3F || 0x1 || || || Padding ||
|}
|}

Latest revision as of 09:23, 15 March 2024

Versions

Versions as defined by the muVersionNumber field.

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