Vehicle Data: Difference between revisions
Content added Content deleted
AcuteSyntax (talk | contribs) No edit summary |
m (→Versions) |
||
(35 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
The ''' |
The '''Vehicle Data''' file format is used to store data for a particular vehicle in all Burnout games from Takedown to Dominator. It uses the file extension <code>.BGV</code> for player vehicles, and <code>.BTV</code> for traffic vehicles. It is the successor to Point of Impact's [[Burnout_2_Race_Car|Burnout 2 Race Car]] file format. |
||
This format contains most of the data related to any given vehicle, including mesh data, Level of Detail models, texture data, pointers to external files, deformation matrices, collision detection parameters and physics configuration info. |
This format contains most of the data related to any given vehicle, including mesh data, Level of Detail models, texture data, pointers to external files, deformation matrices, collision detection parameters and physics configuration info. |
||
Line 5: | Line 5: | ||
= Versions = |
= Versions = |
||
{| class="wikitable" |
{| class="wikitable" |
||
! Format version !! Game !! Date |
|||
! rowspan="2" | |
|||
! colspan="5" | Burnout Vehicle version |
|||
|- |
|- |
||
| 20 (0x14) || Burnout 3: Takedown (Early Demo) || Apr 2004 |
|||
|- |
|- |
||
| |
| 21 (0x15) || Burnout 3: Takedown (Preview Build) || May 2004 |
||
|- |
|- |
||
| |
| 23 (0x17) || Burnout 3: Takedown<br>Burnout Legends<br>Burnout Dominator <sup>(PSP)</sup> || Jul 2004 |
||
|- |
|- |
||
| 29 (0x1D) || Burnout Revenge (Early Demo) || May 2005 |
|||
! Body parts !! colspan="5" | |
|||
|- align="right" |
|||
| Max body parts || 6 || 6 || 8 || 8 || 8 |
|||
|} |
|||
* 0x14 BGVs are the only version to use ''global pointers'' for their LOD database submesh lists. These point to the exact location in the file of each submesh, whereas local pointers, used by 0x17 and up, use offsets relative to the beginning of the LOD. For example, a pointer to offset 0x1820 in a 0x14 BGV would appear to point to 0x140 in all other revisions. |
|||
* Version 0x1D and onward store deformation matrices in a different order to previous revisions. |
|||
= Subtypes = |
|||
== LOD Database == |
|||
The '''LOD Database''' format stores both a given vehicle's LOD model as well as the model's rendering parameters. |
|||
LODs, or Levels of Detail, are lower-poly, lower-detail (hence the name) models that games use for objects that are far away from the player, to keep framerates smooth. BGVs contain 4 LOD Databases, which in turn each contain one LOD model of minimum (LOD 0), low (LOD 1), medium (LOD 2) and high (LOD 3) quality. |
|||
It seems the maximum amount of submeshes a LOD Database can contain is 12, though it's unknown if this rule is enforced by the game or if it can be larger than that. |
|||
=== Layout === |
|||
{|class="wikitable" |
|||
|- |
|- |
||
| 31 (0x1F) || Burnout Revenge <sup>(PS2)</sup><br />Burnout Dominator <sup>(PS2)</sup> || Jul 2005 |
|||
! Offset |
|||
! Type |
|||
! Description |
|||
|- |
|- |
||
| 37 (0x25) || Burnout Revenge <sup>(X360)</sup> || Jan 2006 |
|||
| 0x00 || Submesh* || Submesh offset(s) |
|||
|} |
|} |
||
* Version 29 and onward store deformation matrices in a different order to previous revisions. |
|||
= Layout = |
|||
* The LOD Database version present in revision 20 BGVs are the only version to use '''global pointers''' for their Vehicle Object tables. These point to the exact location in the file of each object, whereas '''local pointers''', used in all subsequent versions of the format, use offsets relative to the beginning of the LOD. For example, a pointer to offset <tt>0x1820</tt> in a version 20-era LOD Database would appear to point to <tt>0x140</tt> in all other versions. |
|||
=== Version 0x17 === |
|||
* Versions after 23 support up to 8 body parts. Prior versions support up to 6. |
|||
{|class="wikitable |
|||
|- |
|||
! Offset |
|||
! Name |
|||
! Type |
|||
! Value |
|||
! Notes |
|||
|- |
|||
| 0x00 || Version number || RwUInt32 || 0x17 || |
|||
|- |
|||
| 0x08 || File size in bytes || RwInt32 || || |
|||
|- |
|||
| 0x0C || Bodypart count || RwInt8 || || |
|||
|- |
|||
| 0x0D || Wheel count || RwInt8 || || |
|||
|- |
|||
| 0x0F || Minimum LOD || RwInt16 || || |
|||
|- |
|||
| 0x10 || Maximum LOD || RwInt16 || || |
|||
|- |
|||
| 0x14 || Global X Coordinate || RwReal || || |
|||
|- |
|||
| 0x18 || Global Y Coordinate || RwReal || || |
|||
|- |
|||
| 0x4C || LOD database offset(s) || CB4VehicleLODData*[5] || || |
|||
|- |
|||
| 0x60 || Vehicle texture offset || CGtTexture* || |
|||
|- |
|||
| ... || || || ||<!-- TODO: The rest of it --> |
|||
|} |
|||
= Information = |
|||
=== Version 0x1F === |
|||
{{subpage|Burnout 3|text=Information on the Vehicle Data format used in Burnout 3.}} |
|||
{|class="wikitable |
|||
{{subpage|Burnout Revenge|text=Information on the Vehicle Data format used in Burnout Revenge and Dominator (PS2).}} |
|||
|- |
|||
! Offset |
|||
[[Category:Formats_(Takedown-Dominator)]] |
|||
! Name |
|||
! Type |
|||
! Value |
|||
! Notes |
|||
|- |
|||
| 0x00 || mxVersionNumber || RwUInt32 || 0x1F || |
|||
|- |
|||
| 0x04 || mxLoadedState || RwInt32 || 0x00 || |
|||
|- |
|||
| 0x08 || mn8NumBodyParts || RwInt8 || || |
|||
|- |
|||
| 0x09 || mn8NumWheels || RwInt8 || || |
|||
|- |
|||
| 0x0A || mn8MinLOD || RwInt8 || || |
|||
|- |
|||
| 0x0B || mn8MaxLOD || RwInt8 || || |
|||
|- |
|||
| 0x0C || mrObjectRadius || RwReal || || |
|||
|- |
|||
| 0x10 || mrWheelRadius || RwReal || || |
|||
|- |
|||
| 0x14 || marWheelScales || RwReal[6] || || |
|||
|- |
|||
| 0x2C || marBodyPartRadii || RwReal[8] || || |
|||
|- |
|||
| 0x4C || marBodyPartRadii || CB4VehicleLODData*[5] || || |
|||
|- |
|||
| 0x60 || mpTexture || CGtTexture* || || |
|||
|- |
|||
| ... || || || ||<!-- TODO: The rest of it --> |
|||
|} |
Latest revision as of 16:23, 31 May 2023
The Vehicle Data file format is used to store data for a particular vehicle in all Burnout games from Takedown to Dominator. It uses the file extension .BGV
for player vehicles, and .BTV
for traffic vehicles. It is the successor to Point of Impact's Burnout 2 Race Car file format.
This format contains most of the data related to any given vehicle, including mesh data, Level of Detail models, texture data, pointers to external files, deformation matrices, collision detection parameters and physics configuration info.
Versions
Format version | Game | Date |
---|---|---|
20 (0x14) | Burnout 3: Takedown (Early Demo) | Apr 2004 |
21 (0x15) | Burnout 3: Takedown (Preview Build) | May 2004 |
23 (0x17) | Burnout 3: Takedown Burnout Legends Burnout Dominator (PSP) |
Jul 2004 |
29 (0x1D) | Burnout Revenge (Early Demo) | May 2005 |
31 (0x1F) | Burnout Revenge (PS2) Burnout Dominator (PS2) |
Jul 2005 |
37 (0x25) | Burnout Revenge (X360) | Jan 2006 |
- Version 29 and onward store deformation matrices in a different order to previous revisions.
- The LOD Database version present in revision 20 BGVs are the only version to use global pointers for their Vehicle Object tables. These point to the exact location in the file of each object, whereas local pointers, used in all subsequent versions of the format, use offsets relative to the beginning of the LOD. For example, a pointer to offset 0x1820 in a version 20-era LOD Database would appear to point to 0x140 in all other versions.
- Versions after 23 support up to 8 body parts. Prior versions support up to 6.
Information
![]() | Burnout 3 Information on the Vehicle Data format used in Burnout 3. |
![]() | Burnout Revenge Information on the Vehicle Data format used in Burnout Revenge and Dominator (PS2). |