Value Database: Difference between revisions

m
no edit summary
(adapted burninrubber's vdb struct)
mNo edit summary
 
(14 intermediate revisions by 2 users not shown)
Line 1:
The '''Value Database''' filehash 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 <code>DATA/VDB.BIN</code> (named <code>DATA/VDB.XML</code> 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 hash, which tells the game which value it is and where to apply it.
 
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.
 
[[Burnout_Legends_(2005-06-06_build)#Debug_Export|Using debug functionality]], the values for the player's current vehicle can be exported to an XML file named <code>EXPORT/VALUEDB/VEHICLEPHYSICS/%s.CFG</code>, where <code>%s</code> is the name of the vehicle's class e.g. <code>HSPC</code>, followed by <code>CAR</code>, the index of the car in its class and the extension <code>.CFG</code>. For example, the Compact Type 1's data is exported to <code>COMPCAR1.CFG</code>.
 
= LayoutHeader =
{|class="wikitable"
|-
! Offset
! Name
! Type
! Value
! Notes
|-
| 0x00 || Version number || int || 0x02 ||
|-
| 0x08 || 0x04 || UInt32 || Number of entries in secondfirst data chunk || int || ||
|-
| 0x08 || Number of entries in second data chunk || int || ||
|-
| 0x0C || Number of entries in third data chunk || int || ||
|-
| 0x10 || 0x04 || UInt32 || Offset of third data chunk || int || ||
|}
 
= Entry =
=== Chunk 1 Entry ===
{|class="wikitable"
|-
! Offset
! LengthName
! Type
! Notes
! Description
|-
| 0x00 || Value || float<br>word* || Certain Chunk 1 values consist of offsets to entries longer than 32 bits.
| 0x00 || 0x01 || UInt8 || Version number
|-
| 0x04 || 0x04Hash ID || UInt32GtHash || Number of entries in first data chunk
|}
 
=== Chunk 2 Entry ===
{|class="wikitable"
|-
! Offset
| 0x08 || 0x04 || UInt32 || Number of entries in second data chunk
! Name
! Type
! Notes
|-
| 0x0C0x00 || 0x04Value || UInt32Vector3 || NumberPadded ofto entries0x10 in third data chunklength.
|}
 
=== Chunk 3 Entry ===
{|class="wikitable"
|-
! Offset
| 0x10 || 0x04 || UInt32 || Offset of third data chunk
! Name
! Type
! Notes
|-
| 0x00 || Value || int || Always <tt>0x00000001<tt>
|-
| 0x04 || Hash ID || GtHash ||
|}
 
 
[[Category:Formats_(Takedown-Dominator)]]