Common Data Types: Difference between revisions
AcuteSyntax (talk | contribs) (Created page with "= CGtRGB = {|class="wikitable" |- !Offset !Name !Type |- | 0x00 || Red additive || float |- | 0x04 || Green additive || float |- | 0x08 || Blue additive || float |- |} = Matr...") |
m (Link RW data types where relevant.) |
||
(22 intermediate revisions by 4 users not shown) | |||
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)]].}}
{|class="wikitable"▼
Data types used commonly by the pre-Paradise Burnout games.
= Numeric =
=== CGtV3d ===
A structure comprised of three floating-point component values (x, y, z), bundled into a single unsigned 128-bit value <code>mData</code>. See also <code>[[RenderWare Data Types#RwV3d|RwV3d]]</code>.
Often used to represent a point in 3D space.
▲{| class="wikitable"
! Offset !! Length !! Type !! Description
|-
| 0x0 || 0x4 || RwReal || X component
|-
|
|-
|
|-▼
|-
| 0xC || 0x4 || ||Padding
|}
===
Very similar to the CGtV3d type, but includes an additional "plus" component. This extra component may be used to represent a different, but related quantity e.g. length.
{|class="wikitable"▼
▲{| class="wikitable"
! Offset !! Length !! Type !! Description
|-
| 0x0 || 0x4 || RwReal || X component
|-
|
|-
|
|-
|
|}
= Geometric =
=== CGtPlane ===
A structure representing [https://en.wikipedia.org/wiki/Euclidean_planes_in_three-dimensional_space a flat 2D plane in 3D space]. Equivalent to <code>[[RenderWare Data Types#RwPlane|RwPlane]]</code>.
{| class="wikitable"▼
! Offset !! Length !! Type !! Description
|-
| 0x0 || 0x10 || [[#CGtV3d|CGtV3d]] || Normal
▲|-
| 0x0 || 0x10 || RwReal || Length
|}
===
A structure representing a sphere in 3D space, with a position and radius.
▲{|class="wikitable"
{| class="wikitable"▼
! Offset !! Length !! Type !! Description
|-
| 0x0 || 0x10 || [[#CGtV3d|CGtV3d]] || Position
|-
|
|}
===
A structure comprised of two vectors. Used to represent a line in 3D space.
▲{|class="wikitable"
{| class="wikitable"
! Offset !! Length !! Type !! Name
|-
| 0x0 || 0x10 || [[#CGtV3d|CGtV3d]] || mStartPoint
|-
| 0x10 || 0x10 || [[#CGtV3d|CGtV3d]] || mEndPoint
|}
=== CGtMatrix3x4 ===
A structure comprised of four 3D vectors. Equivalent to <code>RwMatrix</code>.
{| class="wikitable"
! Offset !! Length !! Type !! Name
|-
|
|-
|
|-
|
|-
| 0x30 || 0x10 || [[#CGtV3d|CGtV3d]] || mPos
|}
=== CGtAxisAlignedBox ===
Equivalent to <code>[[RenderWare Data Types#RwBBox|RwBBox]]</code>.
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description
|-
| 0x0 || 0x10 || [[#CGtV3d|CGtV3d]] || mSup || Supremum vertex
|-
| 0x10 || 0x10 || [[#CGtV3d|CGtV3d]] || mInf || Infimum vertex
|}
=== CGtOrthogonalBox ===
{| class="wikitable"
! Offset !! Length !! Type !! Name
|-
| 0x0 || 0x40 || [[#CGtMatrix3x4|CGtMatrix3x4]] || mBox
|}
=== CGtRGBA ===
A structure used to represent an RGBA color. It is an alias of the type <code>CGtV4d</code>.
= Hashes =
=== CGtHash ===
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 ===
A data type used in many Criterion games as an identifier for objects. It is an alias of the type <code>uint64_t</code> and is used to store a compressed ASCII string.
For example, the string <code>BURNOUT</code> would be represented by the GtID <code>6226094955724800000</code>.
|
Latest revision as of 00:36, 28 April 2023
Data types used commonly by the pre-Paradise Burnout games.
Numeric
CGtV3d
A structure comprised of three floating-point component values (x, y, z), bundled into a single unsigned 128-bit value mData
. See also RwV3d
.
Often used to represent a point in 3D space.
Offset | Length | Type | Description |
---|---|---|---|
0x0 | 0x4 | RwReal | X component |
0x4 | 0x4 | RwReal | Y component |
0x8 | 0x4 | RwReal | Z component |
0xC | 0x4 | Padding |
CGtV3dPlus
Very similar to the CGtV3d type, but includes an additional "plus" component. This extra component may be used to represent a different, but related quantity e.g. length.
Offset | Length | Type | Description |
---|---|---|---|
0x0 | 0x4 | RwReal | X component |
0x4 | 0x4 | RwReal | Y component |
0x8 | 0x4 | RwReal | Z component |
0xC | 0x4 | RwReal | Plus component |
Geometric
CGtPlane
A structure representing a flat 2D plane in 3D space. Equivalent to RwPlane
.
Offset | Length | Type | Description |
---|---|---|---|
0x0 | 0x10 | CGtV3d | Normal |
0x0 | 0x10 | RwReal | Length |
CGtSphere
A structure representing a sphere in 3D space, with a position and radius.
Offset | Length | Type | Description |
---|---|---|---|
0x0 | 0x10 | CGtV3d | Position |
0x0 | 0x10 | RwReal | Radius |
CGtLine
A structure comprised of two vectors. Used to represent a line in 3D space.
Offset | Length | Type | Name |
---|---|---|---|
0x0 | 0x10 | CGtV3d | mStartPoint |
0x10 | 0x10 | CGtV3d | mEndPoint |
CGtMatrix3x4
A structure comprised of four 3D vectors. Equivalent to RwMatrix
.
Offset | Length | Type | Name |
---|---|---|---|
0x0 | 0x10 | CGtV3d | mRight |
0x10 | 0x10 | CGtV3d | mUp |
0x20 | 0x10 | CGtV3d | mAt |
0x30 | 0x10 | CGtV3d | mPos |
CGtAxisAlignedBox
Equivalent to RwBBox
.
Offset | Length | Type | Name | Description |
---|---|---|---|---|
0x0 | 0x10 | CGtV3d | mSup | Supremum vertex |
0x10 | 0x10 | CGtV3d | mInf | Infimum vertex |
CGtOrthogonalBox
Offset | Length | Type | Name |
---|---|---|---|
0x0 | 0x40 | CGtMatrix3x4 | mBox |
CGtRGBA
A structure used to represent an RGBA color. It is an alias of the type CGtV4d
.
Hashes
CGtHash
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
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
.