Vehicle List/Burnout Paradise: Difference between revisions
m
Update flags again
m (Update flags again) |
|||
(15 intermediate revisions by 3 users not shown) | |||
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|Development|text=Description of the Vehicle List changes during development of the game.}}
The
= 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.
{| class="wikitable"
! Stat !! Top speed
|-
| 1 || <121 mph<br/>(<195 km/h)
|-
| 2 || 121-132 mph<br/>(195-212 km/h)
|-
| 3 || 133-144 mph<br/>(214-232 km/h)
|-
| 4 || 145-155 mph<br/>(233-249 km/h)
|-
| 5 || 156-167 mph<br/>(251-269 km/h)
|-
| 6 || 168-178 mph<br/>(270-286 km/h)
|-
| 7 || 179-187 mph<br/>(288-301 km/h)
|-
| 8 || 188-194 mph<br/>(303-312 km/h)
|-
| 9 || 195-198 mph<br/>(314-319 km/h)
|-
| 10 || >198 mph<br/>(>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.
{| class="wikitable"
! 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 ====
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x4 || uint32_t || muNumVehicles || Number
|-
|
|-
| 0x8 || 0x8 || uint64_t || mu16BytePad ||
|}
==== 64-bit ====
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x8 ||
|-
|
|-
| 0xC || 0x4 || uint32_t || mu16BytePad ||
|}
=== BrnResource::VehicleListEntry ===
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x8 || [[CgsID]] || mId || Vehicle ID ||
|-
| 0x8 || 0x8 ||
|-
| 0x10 || 0x20 || char[32] || mDefaultWheelName || Wheel
|-
| 0x30 || 0x40 || char[64] || macVehicleName || Vehicle name ||
|-
| 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]]
|-
|
|-
|
|-
| 0xFF || 0x1 || uint8_t || muTopSpeedBoost || MaxBoostSpeed
|-
| 0x100 || 0x1 || uint8_t || muTopSpeedNormalGUIStat || Junkyard
|-
|
|-
| 0x102 || 0x1 || uint8_t || muColourIndex || Default
|-
| 0x103 || 0x1 || uint8_t || muPaletteIndex || Default
|-
| 0x104 || 0x4 || || ||
|}
=== 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 ||
|-
|
|}
=== BrnResource::VehicleListEntryAudioData ===
{| class="wikitable"
! Offset !!
|-
| 0x0 ||
|-
| 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 ||
|-
| 0x20 || 0x4 || Name || mRivalUnlockName ||
|-
| 0x24 || 0x4 || || ||
|-
| 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 ||
|-
| 0x3D || 0x1 || uint8_t || muiAIExhaustIndex2ndPick ||
|-
| 0x3E || 0x1 || uint8_t || muiAIExhaustIndex3rdPick ||
|-
| 0x3F || 0x1 || || ||
|}
=== 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
|-
| ? ||
|-
| ? || 0x4 || Online Cars
|-
| ? || 0x8 || Toy Vehicles
|-
| ? || 0x10 ||
|-
| ? || 0x20 || Boost
|-
| ? || 0x40 || Cop Cars
|-
| ? || 0x80 || Big Surf Island Cars
|}
=== Vehicle type ===
{| class="wikitable"
! Name !! Value !! Comments
|-
| ? || 0 ||
|-
| ? || 1 ||
|-
| ? || 2 ||
|}
=== BrnResource::ECarType ===
{| class="wikitable"
! Name !! Value !! Comments
|-
| E_CARTYPE_DANGER || 0 || Speed
|-
| E_CARTYPE_AGGRESSION || 1 || Aggression
|-
| E_CARTYPE_STUNTS || 2 || Stunt
|-
|
|-
| ? || 4 ||
|-
| E_CARTYPE_INVALID || 5 ||
|-
| E_CARTYPE_COUNT || 5 ||
|}
=== BrnResource::VehicleListEntry::ELiveryType ===
{| class="wikitable"
! 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 ===
{| class="wikitable"
|-
| E_FLAG_IS_RACE_VEHICLE || 0x1 || Used to differentiate between player and traffic cars.<br>Allows selecting this vehicle in the junkyard
|-
| E_FLAG_CAN_CHECK_TRAFFIC || 0x2 || Can check traffic.<br>Always 0
|-
| E_FLAG_CAN_BE_CHECKED || 0x4 || Can be checked like traffic.<br>Always 0
|-
| E_FLAG_IS_TRAILER || 0x8 || Is a trailer.<br>Trailers have this set
|-
| E_FLAG_CAN_TOW_TRAILER || 0x10 || Is an articulated cab that can tow a trailer.<br>ArticCabs have this set
|-
| E_FLAG_CAN_BE_PAINTED? || 0x20 || Allows the vehicle to be painted
|-
| ? || 0x40 || Unknown. Always 1
|-
| ? || 0x80 || Is
|-
| ? || 0x100 || Has switchable boost
|-
| ? || 0x200 || Unknown. 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
|-
| ? || 0x8000 || Is from 1.5
|-
| ? || 0x10000 || Is from 1.6
|-
| ? || 0x20000 || Is from 1.7. Used on Toys/Legendary Cars/Boost Specials
|-
| ? || 0x40000 || Is
|-
| ? || 0x80000 || Is from 1.9. Used on Island Cars
|}
=== Rank ===
{| class="wikitable"
! Name !! Value !! Comments
|-
| ? || 0 || Learner's Permit
|-
| ? || 1 || D Class License
|-
|
|-
| ? || 3 || B Class License
|-
| ? || 4 || A Class License
|-
| ? || 5 || Burnout License
|}
=== AI engine stream ===
From <code>BrnSound::Vehicles::KAPC_DEBUG_AI_EXHAUST_NAME</code>.
{| class="wikitable"
! 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 ===
{| 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 ||
|}
|