Vehicle List/Burnout Paradise: Difference between revisions

no edit summary
m (Updated common data type links.)
No edit summary
Line 1:
{{subpage|Previous versions|text=Description of the Vehicle List changes since the first version of the game.}}
 
The Vehicle List resource contains most high-level information on vehicles in ''[[Burnout Paradise]]'', such as their ID, junkyard stats, sound IDs and more. It is stored in VEHICLES/'''VEHICLELIST.BUNDLE'''.
 
= Junkyard stats =
All junkyard stats are controlled via the Vehicle List's GUI stat fields.
 
=== Speed/boost ===
Speed stats are based on vehicles' top speeds when not boosting; similarly, boost stats are based on the top speeds while using boost. Both use the same system for calculating stats. While the numbers are liable to vary, they are generally accurate to Paradise Cars.
 
Line 33:
|}
 
=== Strength ===
Unlike the speedSpeed and boostBoost stats, the strengthStrength stat is not based on any vehicle attribute(s). Instead, it is used as the determining value for how many times a vehicle has to wreck to lose a Marked Man or Road Rage event. It has no bearing on the actual strength of the vehicle in crashes or takedowns and appears to have been chosen arbitrarily by Criterion.
 
{| class="wikitable"
Line 60:
|}
 
= Structures =
=== BrnResource::VehicleListResource ===
==== 32-bit ====
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
Line 68:
| 0x0 || 0x4 || uint32_t || muNumVehicles || Number of vehicles ||
|-
| 0x4 || 0x4 || [[#BrnResource::VehicleListEntry | VehicleListEntry]]* || mpEntries || Vehicles ||
|-
| 0x8 || 0x8 || uint64_t || mu16BytePad || padding ||
|}
 
==== 64-bit ====
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x8 || [[#BrnResource::VehicleListEntry | VehicleListEntry]]* || mpEntries || Vehicles ||
|-
| 0x8 || 0x4 || uint32_t || muNumVehicles || Number of vehicles ||
Line 84:
|}
 
=== BrnResource::VehicleListEntry ===
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
Line 98:
| 0x70 || 0x20 || char[32] || macManufacturerName || Manufacturer name ||
|-
| 0x90 || 0xC || [[#BrnResource::VehicleListEntryGamePlayData | VehicleListEntryGamePlayData]] || mGamePlayData || ||
|-
| 0x9C || 0x4 || || || padding ||
|-
| 0xA0 || 0x8 || [[#CgsAttribSys::AttribSysCollectionKey | AttribSysCollectionKey]] || mAttribCollectionKey || burnoutcarasset collection name (gamedb ID) || lookup8 encoded in vehicle AttribSys
|-
| 0xA8 || 0x40 || [[#BrnResource::VehicleListEntryAudioData | VehicleListEntryAudioData]] || mAudioData || ||
|-
| 0xE8 || 0x10 || ? || ? || Plane-related? || Always null
|-
| 0xF8 || 0x4 || uint32_t || ? || Junkyard category || By default, only WIP secondary finishes have no category. Primary finishes with no category disappear from the Junkyard. See [[#Category | category]]
|-
| 0xFC || 0x1 || uint8_t || muCarType || Vehicle and boost type || High nibble is vehicle type, low nibble is boost type. Switchable boost is set by the vehicle flags but will default to the type selected here. See [[#Vehicle type | vehicle type]] and [[#BrnResource::ECarType | ECarType]]
|-
| 0xFD || 0x1 || uint8_t || muLiveryType || Finish type || See [[#BrnResource::VehicleListEntry::ELiveryType | ELiveryType]]
|-
| 0xFE || 0x1 || uint8_t || muTopSpeedNormal || MaxSpeed from AttribSys ||
Line 129:
|}
 
=== BrnResource::VehicleListEntryGamePlayData ===
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
Line 135:
| 0x0 || 0x4 || float32_t || mfDamageLimit || Damage limit || Always 1
|-
| 0x4 || 0x4 || uint32_t || mxFlags || Vehicle flags || See [[#Vehicle flags | flags]]
|-
| 0x8 || 0x1 || uint8_t || Length || Boost bar length ||
|-
| 0x9 || 0x1 || uint8_t || ? || Rank required for unlock || See [[#Rank | rank]]
|-
| 0xA || 0x1 || uint8_t || Capacity || Boost capacity || The default (0) matches 5
Line 146:
|}
 
=== BrnResource::VehicleListEntryAudioData ===
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
Line 152:
| 0x0 || 0x8 || [[CgsID]] || mExhaustName || Exhaust CgsID || Decodes to engine ID, e.g., DRAG_EX
|-
| 0x8 || 0x8 || [[#CgsAttribSys::AttribSysCollectionKey | AttribSysCollectionKey]] || mExhaustEntityKey || Exhaust ID || Exhaust vehicleengine collection name (gamedb ID). lookup8 encoded in AttribSys. Used under SoundExhaustAsset and ExhaustEntityKey
|-
| 0x10 || 0x8 || [[#CgsAttribSys::AttribSysCollectionKey | AttribSysCollectionKey]] || mEngineEntityKey || Engine ID || Engine vehicleengine collection name (gamedb ID). lookup8 encoded in AttribSys. Used under SoundEngineAsset and EngineEntityKey
|-
| 0x18 || 0x8 || [[CgsID]]|| mEngineName || Engine CgsID || Decodes to engine ID, e.g., DRAG_ENG
|-
| 0x20 || 0x4 || Name || mRivalUnlockName || Class unlock stream || See [[#Class unlock stream | class unlock stream]]
|-
| 0x24 || 0x4 || || || padding ||
|-
| 0x28 || 0x8 || [[#CgsAttribSys::AttribSysCollectionKey | AttribSysCollectionKey]] || mWonCarVoiceOverKey || Car shutdown streams || languagestreamconfiguration collection name in BURNOUTGLOBALDATA. Contains 8 CgsSoundPlaybackHashes to identify CAR_SHUTDOWN streams
|-
| 0x30 || 0x8 || [[#CgsAttribSys::AttribSysCollectionKey | AttribSysCollectionKey]] || mRivalReleasedVoiceOverKey || Car released streams || languagestreamconfiguration collection name in BURNOUTGLOBALDATA. Contains 8 CgsSoundPlaybackHashes to identify CAR_RELEASED streams
|-
| 0x38 || 0x4 || uint32_t || muiAIMusicLoopContentSpec || AI music stream || See [[#AI music stream | AI music stream]]
|-
| 0x3C || 0x1 || uint8_t || muiAIExhaustIndex || AI Engine Stream || See [[#AI engine stream | AI engine stream]]
|-
| 0x3D || 0x1 || uint8_t || muiAIExhaustIndex2ndPick || AI Engine Stream 2 || See [[#AI engine stream | AI engine stream]]
|-
| 0x3E || 0x1 || uint8_t || muiAIExhaustIndex3rdPick || AI Engine Stream 3 || See [[#AI engine stream | AI engine stream]]
|-
| 0x3F || 0x1 || || || padding ||
|}
 
=== CgsAttribSys::AttribSysCollectionKey ===
{| class="wikitable"
|-
Line 185:
|}
 
= Enumerations =
=== Category ===
{| class="wikitable"
|-
Line 208:
|}
 
=== Vehicle type ===
{| class="wikitable"
|-
Line 220:
|}
 
=== BrnResource::ECarType ===
{| class="wikitable"
|-
Line 240:
|}
 
=== BrnResource::VehicleListEntry::ELiveryType ===
{| class="wikitable"
|-
Line 258:
|}
 
=== Vehicle flags ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
| IsRaceVehicle || 0x1 || Allows aselecting this vehicle to be selected in the junkyard
|-
| CanCheckTraffic? || 0x2 || Possibly CanBeChecked. Always 0
Line 304:
|}
 
=== Rank ===
{| class="wikitable"
|-
Line 322:
|}
 
=== AI engine stream ===
{| class="wikitable"
|-
Line 338:
|}
 
= Streams =
=== Class unlock stream ===
{| class="wikitable"
|-
Line 357:
|}
 
=== AI music stream ===
{| class="wikitable"
|-