Jump to content

Common Data Types: Difference between revisions

Update and normalize information.
(→‎GtHash: mention of it being basically CRC32 but with some int<->uint nonsense)
(Update and normalize information.)
Line 1:
{{hatnote|This page is for types used in Takedown-era games. For types used in Paradise, see [[Common Data Types (Burnout Paradise)]]. For types used in Criterion NFS games, see [[Common Data Types (Need for Speed)]].}}
 
Data types used commonly by the pre-Paradise Burnout games.
 
= Shared data types =
=== GtV3dCGtV3d ===
A structure containing a vector of type <code>RwV3d</code>.
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x10 || u_long128 || mData || 16-byte integer holding an [[#RwV3d|RwV3d]] object ||
!Offset
!Name
!Type
|-
| 0x00 || Data || RwV3d
|}
 
=== GtLineCGtLine ===
A structure comprised of two vectors, used to represent a line in 3D space.
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x10 || [[#CGtV3d|CGtV3d]] || mEndPoint || Start point ||
!Offset
!Name
!Type
|-
| 0x000x10 || Start0x10 || [[#CGtV3d|CGtV3d]] || mEndPoint || End point || GtV3d
|-
| 0x10 || End point || GtV3d
|}
 
=== GtMatrix3x4CGtMatrix3x4 ===
A structure comprised of four vectors.
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x10 || [[#CGtV3d|CGtV3d]] || mRight || Right ||
!Offset
!Name
!Type
|-
| 0x10 || 0x10 || [[#CGtV3d|CGtV3d]] || mUp || Up ||
| 0x00 || Right || GtV3d
|-
| 0x20 || 0x10 || Up[[#CGtV3d|CGtV3d]] || mAt || At || GtV3d
|-
| 0x30 || 0x10 || [[#CGtV3d|CGtV3d]] || mPos || Position ||
| 0x20 || At || GtV3d
|-
| 0x30 || Position || GtV3d
|}
 
=== GtRGBCGtRGB ===
A structurevector comprised ofwith three floats, each representing a primary additive of an RGB color.
{| class="wikitable"
! Name !! Type !! Length !! Comments
|-
!Offset
!Name
!Type
|-
| 0x00 || Red additive || float
|-
| 0x04 || Green additive || float
|-
| 0x08 || Blue additive || float
|-
| CGtRGB || [[#CGtV3d|CGtV3d]] || 0x10 || Red, green, and blue additives, respectively
|}
 
=== GtHashCGtHash ===
<code>GtHashCGtHash</code> is a derivative of CRC-32 - a32—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 ===
Line 66 ⟶ 51:
 
For example, the string <code>BURNOUT</code> would be represented by the GtID <code>6226094955724800000</code>.
 
{| class="wikitable"
! Name !! Type !! Length !! Comments
|-
| GtID || RwUInt64 || 0x8 ||
|-}
 
= RenderWare data types =
Line 72 ⟶ 63:
=== RwV3d ===
A structure comprised of three floats, mainly used to represent the location of a point in 3D space.
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x4 || RwReal || x || X value ||
!Offset
!Name
!Type
|-
| 0x000x4 || X0x4 || RwReal || y || Y value || float
|-
| 0x040x8 || Y0x4 || RwReal || z || Z value || float
|-
| 0x08 || Z value || float
|-
| 0x0C || Padding || word
|}
 
=== RwBBox ===
A structure defining the [https://en.wikipedia.org/wiki/Infimum_and_supremum supremum and infimum] vertices of a bounding box.
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
!Offset
!Name
!Type
|-
| 0x000x0 || 0xC || [[#RwV3d|RwV3d]] || sup || Supremum vertex || RwV3d
|-
| 0x100xC || 0xC || [[#RwV3d|RwV3d]] || inf || Infimum vertex || RwV3d
|}
Cookies help us deliver our services. By using our services, you agree to our use of cookies.