Vehicle List/Burnout Paradise: Difference between revisions
m (Update flags again) |
|||
(16 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{ParadiseResourceTypeInfobox |
|||
| name = VehicleList |
|||
| example = [[File:Paradise VehicleList Example.png|frameless|300px]]<br />A VehicleList shown in Bundle Manager. |
|||
| resourcenames = B5VehicleList |
|||
| id = 0x10005 |
|||
| category = Game-specific<br />(Burnout Paradise) |
|||
| memdist = Main Memory only |
|||
| editor = Yes<br />Use [https://github.com/burninrubber0/Bundle-Manager/releases/latest Bundle Manager] |
|||
}} |
|||
{{subpage|Previous versions|text=Description of the Vehicle List changes since the first version of the game.}} |
{{subpage|Previous versions|text=Description of the Vehicle List changes since the first version of the game.}} |
||
{{subpage|Development|text=Description of the Vehicle List changes during development of the game.}} |
|||
The |
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. |
||
== v1.7 == |
|||
= 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. |
|||
=== VehicleListResource === |
|||
{| class="wikitable" |
{| class="wikitable" |
||
! Stat !! Top speed |
|||
! Offset !! Size !! Type !! Name !! Description !! More Information !! Comments |
|||
|- |
|- |
||
| 1 || <121 mph<br/>(<195 km/h) |
|||
| 0x0 || 0x4 || uint32_t || muNumVehicles || No. vehicles || || |
|||
|- |
|- |
||
| 2 || 121-132 mph<br/>(195-212 km/h) |
|||
| 0x4 || 0x4 || VehicleListEntry * || mpEntries || Vehicles offset || VehicleListEntry format || |
|||
|- |
|- |
||
| 3 || 133-144 mph<br/>(214-232 km/h) |
|||
| 0x8 || 0x8 || uint64_t || mu16BytePad || padding || || |
|||
|} |
|||
=== VehicleListEntry === |
|||
{| class="wikitable" |
|||
! Offset !! Size !! Type !! Name !! Description !! More Information !! Comments |
|||
|- |
|- |
||
| 4 || 145-155 mph<br/>(233-249 km/h) |
|||
| 0x0 || 0x8 || [[CgsID (BurnoutParadise) | CgsID]] || mId || Vehicle ID || Decodes to CarID e.g. XASBSCB1 || Use encdec.rb or [[BurnoutHasher (Burnout Paradise)| BurnoutHasher]] to decode |
|||
|- |
|- |
||
| 5 || 156-167 mph<br/>(251-269 km/h) |
|||
| 0x8 || 0x8 || [[CgsID (BurnoutParadise) | CgsID]]|| mParentId || Parent vehicle ID || Decodes to CarID e.g. PASBSC01 || Use encdec.rb or [[BurnoutHasher (Burnout Paradise)| BurnoutHasher]] to decode |
|||
|- |
|- |
||
| 6 || 168-178 mph<br/>(270-286 km/h) |
|||
| 0x10 || 0x20 || char[32] || mDefaultWheelName || Wheel name || || |
|||
|- |
|- |
||
| 7 || 179-187 mph<br/>(288-301 km/h) |
|||
| 0x30 || 0x40 || char[64] || macVehicleName || Vehicle name || || |
|||
|- |
|- |
||
| 8 || 188-194 mph<br/>(303-312 km/h) |
|||
| 0x70 || 0x20 || char[32] || macManufacturerName || Manufacturer name || || |
|||
|- |
|- |
||
| 9 || 195-198 mph<br/>(314-319 km/h) |
|||
| 0x90 || 0xC || VehicleListEntryGamePlayData || mGamePlayData || || GamePlayData Format || |
|||
|- |
|- |
||
| 10 || >198 mph<br/>(>319 km/h) |
|||
| 0x9C || 0x4 || || || padding || || |
|||
|} |
|||
=== Strength === |
|||
Unlike the Speed and Boost stats, the Strength 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" |
|||
! Stat !! Crashes to lose event |
|||
|- |
|- |
||
| 1 || 2 crashes |
|||
| 0xA0 || 0x8 || AttribSysCollectionKey || mAttribCollectionKey || burnoutcarasset ID || burnoutcarasset collection name || lookup8 encoded in AttribSys |
|||
|- |
|- |
||
| 2 || 2 crashes |
|||
| 0xA8 || 0x40 || VehicleListEntryAudioData || mAudioData || || AudioData Format || |
|||
|- |
|- |
||
| 3 || 3 crashes |
|||
| 0xE8 || 0x10 || ? || ? || ? || || Always null |
|||
|- |
|- |
||
| 4 || 4 crashes |
|||
| 0xF8 || 0x4 || uint32_t || || Junkyard Category || 0x00000001 (Bit 0) = Paradise Cars || "By default, only WIP secondary finishes have no category. Primary finishes with no category disappear from the Junkyard. Vehicles can be in multiple categories by combining bits e.g. 01000001 = Paradise Cars+Cop Cars" |
|||
|- |
|- |
||
| 5 || 4 crashes |
|||
| || || || || || 0x00000002 (Bit 1) = Paradise Bikes || |
|||
|- |
|- |
||
| 6 || 4 crashes |
|||
| || || || || || 0x00000004 (Bit 2) = Online Cars || |
|||
|- |
|- |
||
| 7 || 4 crashes |
|||
| || || || || || 0x00000008 (Bit 3) = Toy Vehicles || |
|||
|- |
|- |
||
| 8 || 5 crashes |
|||
| || || || || || 0x00000010 (Bit 4) = Legendary Cars || |
|||
|- |
|- |
||
| 9 || 5 crashes |
|||
| || || || || || 0x00000020 (Bit 5) = Boost Special Cars || |
|||
|- |
|- |
||
| 10 || 5 crashes |
|||
| || || || || || 0x00000040 (Bit 6) = Cop Cars || |
|||
|} |
|||
= Structures = |
|||
=== BrnResource::VehicleListResource === |
|||
==== 32-bit ==== |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|- |
||
| || || || || |
| 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 || |
||
|- |
|- |
||
| || || || || |
| 0xC || 0x4 || uint32_t || mu16BytePad || Padding || |
||
|} |
|||
=== BrnResource::VehicleListEntry === |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|- |
||
| || || || || || |
| 0x0 || 0x8 || [[CgsID]] || mId || Vehicle ID || Decodes to car ID, e.g., XASBSCB1 |
||
|- |
|- |
||
| || || |
| 0x8 || 0x8 || [[CgsID]]|| mParentId || Parent vehicle ID || Decodes to car ID, e.g., PASBSC01 |
||
|- |
|- |
||
| || || || || |
| 0x10 || 0x20 || char[32] || mDefaultWheelName || Wheel name || |
||
|- |
|- |
||
| 0x30 || 0x40 || char[64] || macVehicleName || Vehicle name || |
|||
| 0xFD || 0x1 || uint8_t || muLiveryType || Finish Type || 00 = Primary finish (primary vehicle) || E_LIVERY_DEFAULT in ELiveryType |
|||
|- |
|- |
||
| 0x70 || 0x20 || char[32] || macManufacturerName || Manufacturer name || |
|||
| || || || || || 01 = Secondary finish || E_LIVERY_COLOUR in ELiveryType |
|||
|- |
|- |
||
| 0x90 || 0xC || [[#BrnResource::VehicleListEntryGamePlayData|VehicleListEntryGamePlayData]] || mGamePlayData || || |
|||
| || || || || || 02 = Primary finish (Burning Route vehicle) || E_LIVERY_PATTERN in ELiveryType |
|||
|- |
|- |
||
| || || || || || |
| 0x9C || 0x4 || || || Padding || |
||
|- |
|- |
||
| 0xA0 || 0x8 || [[#CgsAttribSys::AttribSysCollectionKey|AttribSysCollectionKey]] || mAttribCollectionKey || burnoutcarasset collection name (gamedb ID) || lookup8 encoded in vehicle AttribSys |
|||
| || || || || || 04 = Gold finish || E_LIVERY_GOLD in ELiveryType |
|||
|- |
|- |
||
| 0xA8 || 0x40 || [[#BrnResource::VehicleListEntryAudioData|VehicleListEntryAudioData]] || mAudioData || || |
|||
| || || || || || 05 = Community finish || Tiger GT/Tempesta Dream excluded from 05 |
|||
|- |
|- |
||
| 0xE8 || 0x10 || ? || ? || Plane-related? || Always null |
|||
| 0xFE || 0x1 || uint8_t || muTopSpeedNormal || MaxSpeed || Controlled by AttribSys || Default range: 100-201 (dec) |
|||
|- |
|- |
||
| 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]] |
|||
| 0xFF || 0x1 || uint8_t || muTopSpeedBoost || MaxBoostSpeed || Controlled by AttribSys || Default range: 120-200 (dec) |
|||
|- |
|- |
||
| 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]] |
|||
| 0x100 || 0x1 || uint8_t || muTopSpeedNormalGUIStat || Speed Rating || Speed Stat Table || |
|||
|- |
|- |
||
| |
| 0xFD || 0x1 || uint8_t || muLiveryType || Finish type || See [[#BrnResource::VehicleListEntry::ELiveryType|ELiveryType]] |
||
|- |
|- |
||
| |
| 0xFE || 0x1 || uint8_t || muTopSpeedNormal || MaxSpeed from AttribSys || |
||
|- |
|- |
||
| || || || || |
| 0xFF || 0x1 || uint8_t || muTopSpeedBoost || MaxBoostSpeed from AttribSys || |
||
|- |
|- |
||
| || || || || |
| 0x100 || 0x1 || uint8_t || muTopSpeedNormalGUIStat || Junkyard speed stat || |
||
|- |
|- |
||
| |
| 0x101 || 0x1 || uint8_t || muTopSpeedBoostGUIStat || Junkyard boost stat || |
||
|- |
|- |
||
| || || || || |
| 0x102 || 0x1 || uint8_t || muColourIndex || Default color index || |
||
|- |
|- |
||
| || || || || |
| 0x103 || 0x1 || uint8_t || muPaletteIndex || Default color type index || |
||
|- |
|- |
||
| || || || || |
| 0x104 || 0x4 || || || Padding || |
||
|} |
|||
=== BrnResource::VehicleListEntryGamePlayData === |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|||
| 0x0 || 0x4 || float32_t || mfDamageLimit || Damage limit || Always 1 |
|||
|- |
|||
| 0x4 || 0x4 || uint32_t || mxFlags || Vehicle flags || See [[#BrnResource::VehicleListEntryGamePlayData::EFlags|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 |
||
|- |
|- |
||
| |
| 0xB || 0x1 || uint8_t || ? || Junkyard strength stat || |
||
|} |
|} |
||
=== BrnResource::VehicleListEntryAudioData === |
|||
=== GamePlayData === |
|||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || |
| 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 |
|||
| 0x4 || 0x4 || uint32_t || mxFlags || 0x00000001 (Bit 0) = IsRaceVehicle || Selectability || "Changes: 1.0: Only bits 0-6 used 1.3: Bits 7-10 added, never set. WIP (bit 11), V1.0 (bit 12), and V1.3 (bit 13) added 1.4: Bit 14 (V1.4) added 1.6: Bit 7 used, always set. First car within a speed range (bit 8) used. 1.7: Bits 4-8 moved to bits 3-7. Switchable boost (bit 8) used. V1.7 (bit 17) added. 1.8: V1.8 (bit 18) added. 1.9: V1.9 (bit 19) added. Bit 7 excludes all but main cars. See the Speed Stats sheet for details on ratings." |
|||
|- |
|- |
||
| 0x10 || 0x8 || [[#CgsAttribSys::AttribSysCollectionKey|AttribSysCollectionKey]] || mEngineEntityKey || Engine ID || Engine vehicleengine collection name (gamedb ID). lookup8 encoded in AttribSys. Used under SoundEngineAsset and EngineEntityKey |
|||
| || || || || 0x00000002 (Bit 1) = CanCheckTraffic? || Always 0 || |
|||
|- |
|- |
||
| || || |
| 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 |
|||
| || || || || 0x00000020 (Bit 5) = CanBePainted || Color changeability || |
|||
|- |
|- |
||
| 0x30 || 0x8 || [[#CgsAttribSys::AttribSysCollectionKey|AttribSysCollectionKey]] || mRivalReleasedVoiceOverKey || Car released streams || languagestreamconfiguration collection name in BURNOUTGLOBALDATA. Contains 8 CgsSoundPlaybackHashes to identify CAR_RELEASED streams |
|||
| || || || || 0x00000040 (Bit 6) = ? || Always 1 || |
|||
|- |
|- |
||
| 0x38 || 0x4 || uint32_t || muiAIMusicLoopContentSpec || AI music stream || See [[#AI music stream|AI music stream]] |
|||
| || || || || 0x00000080 (Bit 7) = First car within a speed range || || |
|||
|- |
|- |
||
| || || || || |
| 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" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|- |
||
| || || || || |
| 0x0 || 0x8 || int64_t || miAssetGuid || || |
||
|} |
|||
= Enumerations = |
|||
=== Category === |
|||
{| class="wikitable" |
|||
! Name !! Value !! Comments |
|||
|- |
|- |
||
| ? || 0x1 || Paradise Cars |
|||
| || || || || 0x00002000 (Bit 13) = Is from 1.3 || Online Cars/Community Cars || |
|||
|- |
|- |
||
| || |
| ? || 0x2 || Paradise Bikes |
||
|- |
|- |
||
| ? || 0x4 || Online Cars |
|||
| || || || || 0x00008000 (Bit 15) = Is from 1.5 || || |
|||
|- |
|- |
||
| ? || 0x8 || Toy Vehicles |
|||
| || || || || 0x00010000 (Bit 16) = Is from 1.6 || || |
|||
|- |
|- |
||
| || || |
| ? || 0x10 || Legendary Cars |
||
|- |
|- |
||
| || || |
| ? || 0x20 || Boost Special Cars |
||
|- |
|- |
||
| ? || 0x40 || Cop Cars |
|||
| || || || || 0x00080000 (Bit 19) = Is from 1.9 || Island Cars || |
|||
|- |
|- |
||
| ? || 0x80 || Big Surf Island Cars |
|||
| 0x8 || 0x1 || uint8_t || Length || Boost Length || 00 = None || Default values listed. |
|||
|} |
|||
=== Vehicle type === |
|||
{| class="wikitable" |
|||
! Name !! Value !! Comments |
|||
|- |
|- |
||
| || || |
| ? || 0 || Car |
||
|- |
|- |
||
| || || |
| ? || 1 || Bike |
||
|- |
|- |
||
| || || |
| ? || 2 || Plane |
||
|} |
|||
=== BrnResource::ECarType === |
|||
{| class="wikitable" |
|||
! Name !! Value !! Comments |
|||
|- |
|- |
||
| E_CARTYPE_DANGER || 0 || Speed |
|||
| 0x9 || 0x1 || uint8_t || || Rank required || 00 = Learner's Permit || |
|||
|- |
|- |
||
| E_CARTYPE_AGGRESSION || 1 || Aggression |
|||
| || || || || || 01 = D Class License || |
|||
|- |
|- |
||
| E_CARTYPE_STUNTS || 2 || Stunt |
|||
| || || || || || 02 = C Class License || |
|||
|- |
|- |
||
| |
| ? || 3 || None |
||
|- |
|- |
||
| || || |
| ? || 4 || Locked |
||
|- |
|- |
||
| E_CARTYPE_INVALID || 5 || |
|||
| || || || || || 05 = Burnout License || |
|||
|- |
|- |
||
| E_CARTYPE_COUNT || 5 || |
|||
| 0xA || 0x1 || uint8_t || Capacity || Boost Capacity || "00 = Default (matches 05) Traffic cars use different values" |
|||
|} |
|||
=== BrnResource::VehicleListEntry::ELiveryType === |
|||
{| class="wikitable" |
|||
! Name !! Value !! Comments |
|||
|- |
|- |
||
| E_LIVERY_DEFAULT || 0 || Primary finish (primary vehicle) |
|||
| 0xB || 0x1 || uint8_t || || Strength Rating || || |
|||
|- |
|||
| E_LIVERY_COLOUR || 1 || Secondary finish |
|||
|- |
|||
| E_LIVERY_PATTERN || 2 || Primary finish (Burning Route vehicle) |
|||
|- |
|||
| E_LIVERY_SILVER || 3 || Platinum finish |
|||
|- |
|||
| E_LIVERY_GOLD || 4 || Gold finish |
|||
|- |
|||
| ? || 5 || Community finish (excluding Tiger GT/Tempesta Dream) |
|||
|} |
|} |
||
=== AudioData === |
|||
=== BrnResource::VehicleListEntryGamePlayData::EFlags === |
|||
{| class="wikitable" |
{| class="wikitable" |
||
! Name !! Value !! Comments |
|||
|- |
|- |
||
| E_FLAG_IS_RACE_VEHICLE || 0x1 || Used to differentiate between player and traffic cars.<br>Allows selecting this vehicle in the junkyard |
|||
| 0x0 || 0x8 || CgsID || mExhaustName || Exhaust CgsID || Decodes to engine ID e.g. DRAG_EX || Use encdec.rb or BurnoutHasher to decode |
|||
|- |
|- |
||
| E_FLAG_CAN_CHECK_TRAFFIC || 0x2 || Can check traffic.<br>Always 0 |
|||
| 0x8 || 0x8 || AttribSysCollectionKey || mExhaustEntityKey || Exhaust ID || Exhaust vehicleengine collection name || lookup8 encoded in AttribSys. Used under SoundExhaustAsset and ExhaustEntityKey. |
|||
|- |
|- |
||
| E_FLAG_CAN_BE_CHECKED || 0x4 || Can be checked like traffic.<br>Always 0 |
|||
| 0x10 || 0x8 || AttribSysCollectionKey || mEngineEntityKey || Engine ID || Engine vehicleengine collection name || lookup8 encoded in AttribSys. Used under SoundEngineAsset and EngineEntityKey. |
|||
|- |
|- |
||
| E_FLAG_IS_TRAILER || 0x8 || Is a trailer.<br>Trailers have this set |
|||
| 0x18 || 0x8 || CgsID || mEngineName || Engine CgsID || Decodes to engine ID e.g. DRAG_ENG || Use encdec.rb or BurnoutHasher to decode |
|||
|- |
|- |
||
| E_FLAG_CAN_TOW_TRAILER || 0x10 || Is an articulated cab that can tow a trailer.<br>ArticCabs have this set |
|||
| 0x20 || 0x4 || Name || mRivalUnlockName || Class Unlock Stream Hash || BFA57004 = SuperClassUnlock || |
|||
|- |
|- |
||
| E_FLAG_CAN_BE_PAINTED? || 0x20 || Allows the vehicle to be painted |
|||
| || || || || || EF6F3448 = MuscleClassUnlock || |
|||
|- |
|- |
||
| ? || 0x40 || Unknown. Always 1 |
|||
| || || || || || D9917B81 = F1ClassUnlock || |
|||
|- |
|- |
||
| || || |
| ? || 0x80 || Is the first car within a certain speed range |
||
|- |
|- |
||
| ? || 0x100 || Has switchable boost |
|||
| || || || || || 655484B3 = HotRodClassUnlock || |
|||
|- |
|- |
||
| ? || 0x200 || Unknown. Always 0 |
|||
| || || || || || E99AE3EB = RivalGen || |
|||
|- |
|- |
||
| |
| ? || 0x400 || Versioning. Always 0 |
||
|- |
|- |
||
| ? || 0x800 || Is WIP/dev |
|||
| 0x28 || 0x8 || AttribSysCollectionKey || mWonCarVoiceOverKey || Car Shutdown Streams || languagestreamconfiguration collection name in BURNOUTGLOBALDATA || Contains 8 CgsSoundPlaybackHashes to identify CAR_SHUTDOWN streams. |
|||
|- |
|- |
||
| ? || 0x1000 || Is from 1.0. Used on Paradise Cars |
|||
| 0x30 || 0x8 || AttribSysCollectionKey || mRivalReleasedVoiceOverKey || Car Released Streams || languagestreamconfiguration collection name in BURNOUTGLOBALDATA || Contains 8 CgsSoundPlaybackHashes to identify CAR_RELEASED streams. |
|||
|- |
|- |
||
| ? || 0x2000 || Is from 1.3. Used on Online Cars/Community Cars |
|||
| 0x38 || 0x4 || uint32_t || muiAIMusicLoopContentSpec || "AI Music Stream Hash Name hash of full gamedb path" || 9D3C81A9 = AI_Muscle_music1 || |
|||
|- |
|- |
||
| || || |
| ? || 0x4000 || Is from 1.4. Used on Paradise Bikes |
||
|- |
|- |
||
| ? || 0x8000 || Is from 1.5 |
|||
| || || || || || 4B944D28 = AI_Tuner_muisc1 || |
|||
|- |
|- |
||
| ? || 0x10000 || Is from 1.6 |
|||
| || || || || || 09235CD9 = AI_Sedan_music1 || |
|||
|- |
|- |
||
| ? || 0x20000 || Is from 1.7. Used on Toys/Legendary Cars/Boost Specials |
|||
| || || || || || E9901A8A = AI_Exotic_music1 || |
|||
|- |
|- |
||
| || || |
| ? || 0x40000 || Is from 1.8. Used on Cop Cars |
||
|- |
|- |
||
| ? || 0x80000 || Is from 1.9. Used on Island Cars |
|||
| 0x3C || 0x1 || uint8_t || muiAIExhaustIndex || AI Engine Stream || "01 = AIROD_EX 02 = AI_CIVIC_EX 03 = AI_GT_ENG 04 = AI_MUST_EX 05 = AI_F1_EX" |
|||
|} |
|||
=== Rank === |
|||
{| class="wikitable" |
|||
! Name !! Value !! Comments |
|||
|- |
|- |
||
| ? || 0 || Learner's Permit |
|||
| 0x3D || 0x1 || uint8_t || muiAIExhaustIndex2ndPick || AI Engine Stream 2 || || |
|||
|- |
|- |
||
| ? || 1 || D Class License |
|||
| 0x3E || 0x1 || uint8_t || muiAIExhaustIndex3rdPick || AI Engine Stream 3 || || |
|||
|- |
|- |
||
| |
| ? || 2 || C Class License |
||
|- |
|||
| ? || 3 || B Class License |
|||
|- |
|||
| ? || 4 || A Class License |
|||
|- |
|||
| ? || 5 || Burnout License |
|||
|} |
|} |
||
=== SpeedStats (MPH) === |
|||
=== AI engine stream === |
|||
From <code>BrnSound::Vehicles::KAPC_DEBUG_AI_EXHAUST_NAME</code>. |
|||
{| class="wikitable" |
{| class="wikitable" |
||
! Name !! Value !! Comments |
|||
! !! 1 !! 2 !! 3 !! 4 !! 5 !! 6 !! 7 !! 8 !! 9 !! 10 |
|||
|- |
|||
| AIROD_EX || 1 || |
|||
|- |
|||
| AI_CIVIC_EX || 2 || |
|||
|- |
|||
| AI_GT_ENG || 3 || |
|||
|- |
|||
| AI_MUST_EX || 4 || |
|||
|- |
|||
| AI_F1_EX || 5 || |
|||
|- |
|||
| AI_BIKE_EX || 6 || |
|||
|} |
|||
= Streams = |
|||
=== Class unlock stream === |
|||
{| class="wikitable" |
|||
! Name !! Hash !! Comments |
|||
|- |
|||
| SuperClassUnlock || 0xBFA57004 || |
|||
|- |
|||
| MuscleClassUnlock || 0xEF6F3448 || |
|||
|- |
|||
| F1ClassUnlock || 0xD9917B81 || |
|||
|- |
|||
| TunerClassUnlock || 0xC9D8E2A3 || |
|||
|- |
|||
| HotRodClassUnlock || 0x655484B3 || |
|||
|- |
|||
| RivalGen || 0xE99AE3EB || |
|||
|} |
|||
=== AI music stream === |
|||
{| class="wikitable" |
|||
! Name !! Hash !! Comments |
|||
|- |
|||
| AI_Muscle_music1 || 0x9D3C81A9 || |
|||
|- |
|||
| AI_Truck_music1 || 0xA7AE72CB || |
|||
|- |
|||
| AI_Tuner_muisc1 || 0x4B944D28 || |
|||
|- |
|||
| AI_Sedan_music1 || 0x09235CD9 || |
|||
|- |
|||
| AI_Exotic_music1 || 0xE9901A8A || |
|||
|- |
|- |
||
| AI_Super_muisc1 || 0xDD342AB1 || |
|||
| Speed/Boost || ≤120 || 121-130 || 131-140 || 141-150 || 151-160 || 161-170 || 171-180 || 181-190 || 191-199 || ≥200 |
|||
|} |
|} |
Latest revision as of 04:41, 15 March 2024
VehicleList | |
---|---|
A VehicleList shown in Bundle Manager. | |
Resource names | B5VehicleList |
Type ID | 0x10005 |
Category | Game-specific (Burnout Paradise) |
Memory distribution |
Main Memory only |
Editor available? |
Yes Use Bundle Manager |
Previous versions Description of the Vehicle List changes since the first version of the game. |
Development Description of the Vehicle List changes during development 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.
Stat | Top speed |
---|---|
1 | <121 mph (<195 km/h) |
2 | 121-132 mph (195-212 km/h) |
3 | 133-144 mph (214-232 km/h) |
4 | 145-155 mph (233-249 km/h) |
5 | 156-167 mph (251-269 km/h) |
6 | 168-178 mph (270-286 km/h) |
7 | 179-187 mph (288-301 km/h) |
8 | 188-194 mph (303-312 km/h) |
9 | 195-198 mph (314-319 km/h) |
10 | >198 mph (>319 km/h) |
Strength
Unlike the Speed and Boost stats, the Strength 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.
Stat | Crashes to lose event |
---|---|
1 | 2 crashes |
2 | 2 crashes |
3 | 3 crashes |
4 | 4 crashes |
5 | 4 crashes |
6 | 4 crashes |
7 | 4 crashes |
8 | 5 crashes |
9 | 5 crashes |
10 | 5 crashes |
Structures
BrnResource::VehicleListResource
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | uint32_t | muNumVehicles | Number of vehicles | |
0x4 | 0x4 | VehicleListEntry* | mpEntries | Vehicles | |
0x8 | 0x8 | uint64_t | mu16BytePad | Padding |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x8 | VehicleListEntry* | mpEntries | Vehicles | |
0x8 | 0x4 | uint32_t | muNumVehicles | Number of vehicles | |
0xC | 0x4 | uint32_t | mu16BytePad | Padding |
BrnResource::VehicleListEntry
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x8 | CgsID | mId | Vehicle ID | Decodes to car ID, e.g., XASBSCB1 |
0x8 | 0x8 | CgsID | mParentId | Parent vehicle ID | Decodes to car ID, e.g., PASBSC01 |
0x10 | 0x20 | char[32] | mDefaultWheelName | Wheel name | |
0x30 | 0x40 | char[64] | macVehicleName | Vehicle name | |
0x70 | 0x20 | char[32] | macManufacturerName | Manufacturer name | |
0x90 | 0xC | VehicleListEntryGamePlayData | mGamePlayData | ||
0x9C | 0x4 | Padding | |||
0xA0 | 0x8 | AttribSysCollectionKey | mAttribCollectionKey | burnoutcarasset collection name (gamedb ID) | lookup8 encoded in vehicle AttribSys |
0xA8 | 0x40 | 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 |
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 and ECarType |
0xFD | 0x1 | uint8_t | muLiveryType | Finish type | See ELiveryType |
0xFE | 0x1 | uint8_t | muTopSpeedNormal | MaxSpeed from AttribSys | |
0xFF | 0x1 | uint8_t | muTopSpeedBoost | MaxBoostSpeed from AttribSys | |
0x100 | 0x1 | uint8_t | muTopSpeedNormalGUIStat | Junkyard speed stat | |
0x101 | 0x1 | uint8_t | muTopSpeedBoostGUIStat | Junkyard boost stat | |
0x102 | 0x1 | uint8_t | muColourIndex | Default color index | |
0x103 | 0x1 | uint8_t | muPaletteIndex | Default color type index | |
0x104 | 0x4 | Padding |
BrnResource::VehicleListEntryGamePlayData
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | float32_t | mfDamageLimit | Damage limit | Always 1 |
0x4 | 0x4 | uint32_t | mxFlags | Vehicle flags | See flags |
0x8 | 0x1 | uint8_t | Length | Boost bar length | |
0x9 | 0x1 | uint8_t | ? | Rank required for unlock | See rank |
0xA | 0x1 | uint8_t | Capacity | Boost capacity | The default (0) matches 5 |
0xB | 0x1 | uint8_t | ? | Junkyard strength stat |
BrnResource::VehicleListEntryAudioData
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x8 | CgsID | mExhaustName | Exhaust CgsID | Decodes to engine ID, e.g., DRAG_EX |
0x8 | 0x8 | AttribSysCollectionKey | mExhaustEntityKey | Exhaust ID | Exhaust vehicleengine collection name (gamedb ID). lookup8 encoded in AttribSys. Used under SoundExhaustAsset and ExhaustEntityKey |
0x10 | 0x8 | 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 |
0x24 | 0x4 | Padding | |||
0x28 | 0x8 | AttribSysCollectionKey | mWonCarVoiceOverKey | Car shutdown streams | languagestreamconfiguration collection name in BURNOUTGLOBALDATA. Contains 8 CgsSoundPlaybackHashes to identify CAR_SHUTDOWN streams |
0x30 | 0x8 | 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 |
0x3C | 0x1 | uint8_t | muiAIExhaustIndex | AI Engine Stream | See AI engine stream |
0x3D | 0x1 | uint8_t | muiAIExhaustIndex2ndPick | AI Engine Stream 2 | See AI engine stream |
0x3E | 0x1 | uint8_t | muiAIExhaustIndex3rdPick | AI Engine Stream 3 | See AI engine stream |
0x3F | 0x1 | Padding |
CgsAttribSys::AttribSysCollectionKey
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x8 | int64_t | miAssetGuid |
Enumerations
Category
Name | Value | Comments |
---|---|---|
? | 0x1 | Paradise Cars |
? | 0x2 | Paradise Bikes |
? | 0x4 | Online Cars |
? | 0x8 | Toy Vehicles |
? | 0x10 | Legendary Cars |
? | 0x20 | Boost Special Cars |
? | 0x40 | Cop Cars |
? | 0x80 | Big Surf Island Cars |
Vehicle type
Name | Value | Comments |
---|---|---|
? | 0 | Car |
? | 1 | Bike |
? | 2 | Plane |
BrnResource::ECarType
Name | Value | Comments |
---|---|---|
E_CARTYPE_DANGER | 0 | Speed |
E_CARTYPE_AGGRESSION | 1 | Aggression |
E_CARTYPE_STUNTS | 2 | Stunt |
? | 3 | None |
? | 4 | Locked |
E_CARTYPE_INVALID | 5 | |
E_CARTYPE_COUNT | 5 |
BrnResource::VehicleListEntry::ELiveryType
Name | Value | Comments |
---|---|---|
E_LIVERY_DEFAULT | 0 | Primary finish (primary vehicle) |
E_LIVERY_COLOUR | 1 | Secondary finish |
E_LIVERY_PATTERN | 2 | Primary finish (Burning Route vehicle) |
E_LIVERY_SILVER | 3 | Platinum finish |
E_LIVERY_GOLD | 4 | Gold finish |
? | 5 | Community finish (excluding Tiger GT/Tempesta Dream) |
BrnResource::VehicleListEntryGamePlayData::EFlags
Name | Value | Comments |
---|---|---|
E_FLAG_IS_RACE_VEHICLE | 0x1 | Used to differentiate between player and traffic cars. Allows selecting this vehicle in the junkyard |
E_FLAG_CAN_CHECK_TRAFFIC | 0x2 | Can check traffic. Always 0 |
E_FLAG_CAN_BE_CHECKED | 0x4 | Can be checked like traffic. Always 0 |
E_FLAG_IS_TRAILER | 0x8 | Is a trailer. Trailers have this set |
E_FLAG_CAN_TOW_TRAILER | 0x10 | Is an articulated cab that can tow a trailer. ArticCabs have this set |
E_FLAG_CAN_BE_PAINTED? | 0x20 | Allows the vehicle to be painted |
? | 0x40 | Unknown. Always 1 |
? | 0x80 | Is the first car within a certain speed range |
? | 0x100 | Has switchable boost |
? | 0x200 | Unknown. Always 0 |
? | 0x400 | Versioning. Always 0 |
? | 0x800 | Is WIP/dev |
? | 0x1000 | Is from 1.0. Used on Paradise Cars |
? | 0x2000 | Is from 1.3. Used on Online Cars/Community Cars |
? | 0x4000 | Is from 1.4. Used on Paradise Bikes |
? | 0x8000 | Is from 1.5 |
? | 0x10000 | Is from 1.6 |
? | 0x20000 | Is from 1.7. Used on Toys/Legendary Cars/Boost Specials |
? | 0x40000 | Is from 1.8. Used on Cop Cars |
? | 0x80000 | Is from 1.9. Used on Island Cars |
Rank
Name | Value | Comments |
---|---|---|
? | 0 | Learner's Permit |
? | 1 | D Class License |
? | 2 | C Class License |
? | 3 | B Class License |
? | 4 | A Class License |
? | 5 | Burnout License |
AI engine stream
From BrnSound::Vehicles::KAPC_DEBUG_AI_EXHAUST_NAME
.
Name | Value | Comments |
---|---|---|
AIROD_EX | 1 | |
AI_CIVIC_EX | 2 | |
AI_GT_ENG | 3 | |
AI_MUST_EX | 4 | |
AI_F1_EX | 5 | |
AI_BIKE_EX | 6 |
Streams
Class unlock stream
Name | Hash | Comments |
---|---|---|
SuperClassUnlock | 0xBFA57004 | |
MuscleClassUnlock | 0xEF6F3448 | |
F1ClassUnlock | 0xD9917B81 | |
TunerClassUnlock | 0xC9D8E2A3 | |
HotRodClassUnlock | 0x655484B3 | |
RivalGen | 0xE99AE3EB |
AI music stream
Name | Hash | Comments |
---|---|---|
AI_Muscle_music1 | 0x9D3C81A9 | |
AI_Truck_music1 | 0xA7AE72CB | |
AI_Tuner_muisc1 | 0x4B944D28 | |
AI_Sedan_music1 | 0x09235CD9 | |
AI_Exotic_music1 | 0xE9901A8A | |
AI_Super_muisc1 | 0xDD342AB1 |