Profile/Burnout Paradise

From Burnout Wiki
Revision as of 07:34, 11 February 2022 by Burninrubber0 (talk | contribs) (Initial page, lots of todos.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
This page is under construction. Please leave any thoughts on the talk page or on Discord - preferably the latter.

The profile for Burnout Paradise contains all saved progression, including event completion, collectible discovery, records, and unlocked vehicles, among other things. It also contains user-selected data such as vehicle colors, options, and custom online race routes.

The only major content not saved in the profile is mugshot data, which is stored independently. Its location is platform-specific.

Overview

TODO: Describe some common stuff here. High-level overviews of components saved: vehicles, records, progression, etc.

Known issues and exploits

Buffer overread via color indices

Colors and color types may be modified by changing the selected index on a given vehicle. As there is no bounds checking in place, it is possible to read data beyond the selected color type and beyond the location of the PlayerCarColours resource altogether. What's read in is interpreted as floating-point data representing percentages of 255, leading to values less than 0% and greater than 100%. The resulting colors often glow and have been referred to as "neon" colors by the community. The exact process by which these colors are formed is currently unknown and likely requires shader research to understand.

TODO: Add picture of a neon car

Replacement of selected liveries with other vehicles

TODO

Time and distance limitations

TODO

Layout

ProfileStoredData

This is the primary profile structure which holds all data.

TODO: Create structures for other platforms/versions, including for development builds. (Perhaps make a dedicated section for each profile iteration?)

PlayStation 3

Offset Length Type Name Description Comments
0x0 0x1DA30 Profile mProgressionProfile Profile 1.0
0x1DA30 0x7540 LiveRevengeProfile mLiveRevengeProfile Live Revenge Profile
0x24F70 0x7370 OptionsDataProfile mOptionsDataProfile Options Data Profile 1.0
0x2C2E0 0xAC0 Profile 1.3
0x2CDA0 0x18 Options Data Profile 1.3
0x2CDB8 0x19C8 Profile 1.4
0x2E780 0x1C60 Profile 1.7
0x303E0 0x268 Profile 1.8
0x30648 0x10A8 Profile 1.9
0x316F0 0xE910 char[59664] macPadData Padding

Profile 1.0

TODO

Live Revenge Profile

TODO

Options Data Profile 1.0

TODO

Profile 1.3

TODO

Options Data Profile 1.3

TODO

Profile 1.4

TODO

Recent Players

TODO

Profile 1.7

TODO

Profile 1.8

TODO

Profile 1.9

TODO