Profile Upgrade

From Burnout Wiki

The ProfileUpgrade resource is used to upgrade Burnout Paradise profiles from one version to another. Initial support for the resource appeared in version 1.3, but the only known instance of its use in practice is in version 1.9, where it alters the HitPropsBitArray to accommodate the island.

Behaviour[edit | edit source]

By filling the bit array with alternating 0s and 1s such that each byte reads 0x55, the following can be observed during an upgrade:

  • The byte at 0x1DE2 changes to 0x59.
  • The byte at 0x1DE3 changes to 0xD5.
  • The byte at 0x226F changes to 0x4D.

These positions correlate to the bit indices when reading every 64 bits from least to most significant. The changes indicate that the value of the first bit is being copied to the second bit, overwriting its previous value.

As an example, take the byte at 0x226F and trace through its progression:

For values [70470,70467]                      For values [70471,70468]
Starts as 0x55               Copies value                                  Copies value, ends as 0x4D
01010101  / 01010101     --> 01011101     --> 01011101  / 01011101     --> 01001101
 ^              ^                ^            ^              ^                ^
Bit 70470 / Bit 70467                         Bit 70471 / Bit 70468

Structures[edit | edit source]

BrnProgression::ProfileUpgradeData[edit | edit source]

Offset Length Type Name Description Comments
0x0 0x4 uint32_t ? Number of changes to be made
0x4 0x4 uint32_t[2]* ? Indices of the bits in the HitPropsBitArray to copy from and to, respectively