Common Data Types: Difference between revisions
(Update and normalize information.) |
(Added axis aligned box.) |
||
Line 3: | Line 3: | ||
Data types used commonly by the pre-Paradise Burnout games. |
Data types used commonly by the pre-Paradise Burnout games. |
||
= Vectors = |
|||
= Shared data types = |
|||
=== CGtV3d === |
=== CGtV3d === |
||
A structure containing a vector of type <code>RwV3d</code>. |
A structure containing a vector of type <code>RwV3d</code>. |
||
Line 10: | Line 10: | ||
|- |
|- |
||
| 0x0 || 0x10 || u_long128 || mData || 16-byte integer holding an [[#RwV3d|RwV3d]] object || |
| 0x0 || 0x10 || u_long128 || mData || 16-byte integer holding an [[#RwV3d|RwV3d]] object || |
||
|} |
|||
= Matrices = |
|||
=== CGtAxisAlignedBox === |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|||
| 0x0 || 0x10 || [[#CGtV3d|CGtV3d]] || mSup || Supremum vertex || |
|||
|- |
|||
| 0x10 || 0x10 || [[#CGtV3d|CGtV3d]] || mInf || Infimum vertex || |
|||
|} |
|} |
||
Line 44: | Line 54: | ||
|} |
|} |
||
= Hashes = |
|||
=== CGtHash === |
=== CGtHash === |
||
<code>CGtHash</code> is a derivative of CRC-32—a 32-bit value storing the hash of a given string, generated via a custom hash function. These hashes are used by the Takedown-era games to identify and properly assign values within files such as the [[Value Database]]. |
<code>CGtHash</code> is a derivative of CRC-32—a 32-bit value storing the hash of a given string, generated via a custom hash function. These hashes are used by the Takedown-era games to identify and properly assign values within files such as the [[Value Database]]. |
Revision as of 04:54, 1 February 2023
Data types used commonly by the pre-Paradise Burnout games.
Vectors
CGtV3d
A structure containing a vector of type RwV3d
.
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x10 | u_long128 | mData | 16-byte integer holding an RwV3d object |
Matrices
CGtAxisAlignedBox
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x10 | CGtV3d | mSup | Supremum vertex | |
0x10 | 0x10 | CGtV3d | mInf | Infimum vertex |
CGtLine
A structure comprised of two vectors, used to represent a line in 3D space.
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x10 | CGtV3d | mEndPoint | Start point | |
0x10 | 0x10 | CGtV3d | mEndPoint | End point |
CGtMatrix3x4
A structure comprised of four vectors.
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x10 | CGtV3d | mRight | Right | |
0x10 | 0x10 | CGtV3d | mUp | Up | |
0x20 | 0x10 | CGtV3d | mAt | At | |
0x30 | 0x10 | CGtV3d | mPos | Position |
CGtRGB
A vector with three floats, each representing a primary additive of an RGB color.
Name | Type | Length | Comments |
---|---|---|---|
CGtRGB | CGtV3d | 0x10 | Red, green, and blue additives, respectively |
Hashes
CGtHash
CGtHash
is a derivative of CRC-32—a 32-bit value storing the hash of a given string, generated via a custom hash function. These hashes are used by the Takedown-era games to identify and properly assign values within files such as the Value Database.
GtID
GtID
is a data type used in many Criterion games as an identifier for objects. It is an alias of the type uint64_t
and is used to store a compressed ASCII string.
For example, the string BURNOUT
would be represented by the GtID 6226094955724800000
.
Name | Type | Length | Comments |
---|---|---|---|
GtID | RwUInt64 | 0x8 |
RenderWare data types
![]() | To do: Move this section to its own page eventually, as these types originate from the RenderWare engine itself as opposed to any external codebases. |
RwV3d
A structure comprised of three floats, mainly used to represent the location of a point in 3D space.
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | RwReal | x | X value | |
0x4 | 0x4 | RwReal | y | Y value | |
0x8 | 0x4 | RwReal | z | Z value |
RwBBox
A structure defining the supremum and infimum vertices of a bounding box.
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0xC | RwV3d | sup | Supremum vertex | |
0xC | 0xC | RwV3d | inf | Infimum vertex |