Vehicle List/Burnout Paradise: Difference between revisions

m
Update flags again
No edit summary
m (Update flags again)
 
(7 intermediate revisions by the same user 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 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 ⟶ 44:
|}
 
=== 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.
 
Line 60 ⟶ 71:
|}
 
= Structures =
=== BrnResource::VehicleListResource ===
==== 32-bit ====
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
Line 70 ⟶ 81:
| 0x4 || 0x4 || [[#BrnResource::VehicleListEntry|VehicleListEntry]]* || mpEntries || Vehicles ||
|-
| 0x8 || 0x8 || uint64_t || mu16BytePad || paddingPadding ||
|}
 
==== 64-bit ====
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
Line 81 ⟶ 92:
| 0x8 || 0x4 || uint32_t || muNumVehicles || Number of vehicles ||
|-
| 0xC || 0x4 || uint32_t || mu16BytePad || paddingPadding ||
|}
 
=== BrnResource::VehicleListEntry ===
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
Line 100 ⟶ 111:
| 0x90 || 0xC || [[#BrnResource::VehicleListEntryGamePlayData|VehicleListEntryGamePlayData]] || mGamePlayData || ||
|-
| 0x9C || 0x4 || || || paddingPadding ||
|-
| 0xA0 || 0x8 || [[#CgsAttribSys::AttribSysCollectionKey|AttribSysCollectionKey]] || mAttribCollectionKey || burnoutcarasset collection name (gamedb ID) || lookup8 encoded in vehicle AttribSys
Line 126 ⟶ 137:
| 0x103 || 0x1 || uint8_t || muPaletteIndex || Default color type index ||
|-
| 0x104 || 0x4 || || || paddingPadding ||
|}
 
=== BrnResource::VehicleListEntryGamePlayData ===
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
Line 135 ⟶ 146:
| 0x0 || 0x4 || float32_t || mfDamageLimit || Damage limit || Always 1
|-
| 0x4 || 0x4 || uint32_t || mxFlags || Vehicle flags || See [[#Vehicle flagsBrnResource::VehicleListEntryGamePlayData::EFlags|flags]]
|-
| 0x8 || 0x1 || uint8_t || Length || Boost bar length ||
Line 146 ⟶ 157:
|}
 
=== BrnResource::VehicleListEntryAudioData ===
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
Line 160 ⟶ 171:
| 0x20 || 0x4 || Name || mRivalUnlockName || Class unlock stream || See [[#Class unlock stream|class unlock stream]]
|-
| 0x24 || 0x4 || || || paddingPadding ||
|-
| 0x28 || 0x8 || [[#CgsAttribSys::AttribSysCollectionKey|AttribSysCollectionKey]] || mWonCarVoiceOverKey || Car shutdown streams || languagestreamconfiguration collection name in BURNOUTGLOBALDATA. Contains 8 CgsSoundPlaybackHashes to identify CAR_SHUTDOWN streams
Line 174 ⟶ 185:
| 0x3E || 0x1 || uint8_t || muiAIExhaustIndex3rdPick || AI Engine Stream 3 || See [[#AI engine stream|AI engine stream]]
|-
| 0x3F || 0x1 || || || paddingPadding ||
|}
 
=== CgsAttribSys::AttribSysCollectionKey ===
{| class="wikitable"
|-
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
Line 185 ⟶ 195:
|}
 
= Enumerations =
=== Category ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
Line 208 ⟶ 217:
|}
 
=== Vehicle type ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
Line 220 ⟶ 228:
|}
 
=== BrnResource::ECarType ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
Line 240 ⟶ 247:
|}
 
=== BrnResource::VehicleListEntry::ELiveryType ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
Line 258 ⟶ 264:
|}
 
=== BrnResource::VehicleListEntryGamePlayData::EFlags ===
===Vehicle flags===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
| IsRaceVehicleE_FLAG_IS_RACE_VEHICLE || 0x1 || Used to differentiate between player and traffic cars.<br>Allows selecting this vehicle in the junkyard
|-
| CanCheckTraffic?E_FLAG_CAN_CHECK_TRAFFIC || 0x2 || PossiblyCan CanBeChecked.check traffic.<br>Always 0
|-
| CanBeChecked?E_FLAG_CAN_BE_CHECKED || 0x4 || PossiblyCan CanCheckTraffic.be checked like traffic.<br>Always 0
|-
| IsTrailerE_FLAG_IS_TRAILER || 0x8 || Is a trailer.<br>Trailers have this set
|-
| CanTowTrailerE_FLAG_CAN_TOW_TRAILER || 0x10 || Is an articulated cab that can tow a trailer.<br>ArticCabs have this set
|-
| CanBePaintedE_FLAG_CAN_BE_PAINTED? || 0x20 || Allows the vehicle to be painted
|-
| ? || 0x40 || Unknown. Always 1
Line 304 ⟶ 309:
|}
 
=== Rank ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
Line 322 ⟶ 326:
|}
 
=== AI engine stream ===
From <code>BrnSound::Vehicles::KAPC_DEBUG_AI_EXHAUST_NAME</code>.
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
| ?AIROD_EX || 1 || AIROD_EX
|-
| ?AI_CIVIC_EX || 2 || AI_CIVIC_EX
|-
| ?AI_GT_ENG || 3 || AI_GT_ENG
|-
| ?AI_MUST_EX || 4 || AI_MUST_EX
|-
| ?AI_F1_EX || 5 || AI_F1_EX
|-
| AI_BIKE_EX || 6 ||
|}
 
= Streams =
=== Class unlock stream ===
{| class="wikitable"
|-
! Name !! Hash !! Comments
|-
Line 357 ⟶ 362:
|}
 
=== AI music stream ===
{| class="wikitable"
|-
! Name !! Hash !! Comments
|-