Value Database
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[edit | edit source]
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[edit | edit source]
Chunk 1 Entry[edit | edit source]
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[edit | edit source]
Offset | Name | Type | Notes |
---|---|---|---|
0x00 | Value | Vector3 | Padded to 0x10 in length. |
Chunk 3 Entry[edit | edit source]
Offset | Name | Type | Notes |
---|---|---|---|
0x00 | Value | int | Always 0x00000001 |
0x04 | Hash ID | GtHash |