Value Database: Difference between revisions

From Burnout Wiki
Content added Content deleted
(Add doc for the different entry layouts of each of the VDB chunks)
mNo edit summary
 
(2 intermediate revisions by the same user not shown)
Line 6: Line 6:


= Header =
= Header =

{|class="wikitable"
{|class="wikitable"
|-
|-
! Offset
! Offset
! Length
! Name
! Type
! Type
! Value
! Description
! Notes
! Notes
|-
|-
| 0x00 || 0x01 || UInt8 || Version number || Always <tt>0x02
| 0x00 || Version number || int || 0x02 ||
|-
|-
| 0x04 || 0x04 || UInt32 || Number of entries in first data chunk ||
| 0x04 || Number of entries in first data chunk || int || ||
|-
|-
| 0x08 || 0x04 || UInt32 || Number of entries in second data chunk
| 0x08 || Number of entries in second data chunk || int || ||
|-
|-
| 0x0C || 0x04 || UInt32 || Number of entries in third data chunk ||
| 0x0C || Number of entries in third data chunk || int || ||
|-
|-
| 0x10 || 0x04 || UInt32 || Offset of third data chunk ||
| 0x10 || Offset of third data chunk || int || ||
|}
|}


Line 35: Line 34:
! Notes
! Notes
|-
|-
| 0x00 || Value || float ||
| 0x00 || Value || float<br>word* || Certain Chunk 1 values consist of offsets to entries longer than 32 bits.
|-
|-
| 0x04 || Hash ID || GtHash ||
| 0x04 || Hash ID || GtHash ||
Line 59: Line 58:
! Notes
! Notes
|-
|-
| 0x00 || Value || uint32_t || Always <tt>0x00000001<tt>
| 0x00 || Value || int || Always <tt>0x00000001<tt>
|-
|-
| 0x04 || Hash ID || GtHash ||
| 0x04 || Hash ID || GtHash ||
|}
|}


[[Category:Formats_(Takedown-Dominator)]]

Latest revision as of 22:10, 5 February 2022

The Value Database hash table format is used to store raw values used by various functionalities in the game, such as the physics engine and the behavior of vehicles. It uses the filename of DATA/VDB.BIN (named DATA/VDB.XML in Takedown, likely due to the ValueDB's origin as a collection of XML-formatted text files.)

Each value the VDB contains is mapped to a unique 32-bit hash ID, which acts as that value's descriptor and tells the game where to apply the value. Hashes are sorted numerically within the VDB.

Using debug functionality, the values for the player's current vehicle can be exported to an XML file named EXPORT/VALUEDB/VEHICLEPHYSICS/%s.CFG, where %s is the name of the vehicle's class e.g. HSPC, followed by CAR, the index of the car in its class and the extension .CFG. For example, the Compact Type 1's data is exported to COMPCAR1.CFG.

Header

Offset Name Type Value Notes
0x00 Version number int 0x02
0x04 Number of entries in first data chunk int
0x08 Number of entries in second data chunk int
0x0C Number of entries in third data chunk int
0x10 Offset of third data chunk int

Entry

Chunk 1 Entry

Offset Name Type Notes
0x00 Value float
word*
Certain Chunk 1 values consist of offsets to entries longer than 32 bits.
0x04 Hash ID GtHash

Chunk 2 Entry

Offset Name Type Notes
0x00 Value Vector3 Padded to 0x10 in length.

Chunk 3 Entry

Offset Name Type Notes
0x00 Value int Always 0x00000001
0x04 Hash ID GtHash