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: | 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)]].}} |
|||
= CGtRGB = |
|||
⚫ | |||
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. |
|||
⚫ | |||
! Offset !! Length !! Type !! Description |
|||
|- |
|- |
||
| 0x0 || 0x4 || RwReal || X component |
|||
!Offset |
|||
!Name |
|||
!Type |
|||
|- |
|- |
||
| |
| 0x4 || 0x4 || RwReal || Y component |
||
|- |
|- |
||
| |
| 0x8 || 0x4 || RwReal || Z component |
||
⚫ | |||
| 0x08 || Blue additive || float |
|||
|- |
|- |
||
| 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 |
|||
!Offset |
|||
!Name |
|||
!Type |
|||
|- |
|- |
||
| |
| 0x4 || 0x4 || RwReal || Y component |
||
|- |
|- |
||
| |
| 0x8 || 0x4 || RwReal || Z component |
||
|- |
|- |
||
| |
| 0xC || 0x4 || RwReal || Plus 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>. |
|||
⚫ | |||
! Offset !! Length !! Type !! Description |
|||
|- |
|- |
||
| 0x0 || 0x10 || [[#CGtV3d|CGtV3d]] || Normal |
|||
| 0x30 || Position || Vector3 |
|||
⚫ | |||
| 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|CGtV3d]] || Position |
|||
!Offset |
|||
!Name |
|||
!Type |
|||
|- |
|- |
||
| |
| 0x0 || 0x10 || RwReal || Radius |
||
|} |
|} |
||
=== |
=== CGtLine === |
||
A structure comprised of two vectors. Used to represent a line in 3D space. |
|||
⚫ | |||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name |
|||
|- |
|- |
||
| 0x0 || 0x10 || [[#CGtV3d|CGtV3d]] || mStartPoint |
|||
!Offset |
|||
!Name |
|||
!Type |
|||
|- |
|- |
||
| 0x10 || 0x10 || [[#CGtV3d|CGtV3d]] || mEndPoint |
|||
| 0x00 || X || float |
|||
|} |
|||
=== CGtMatrix3x4 === |
|||
A structure comprised of four 3D vectors. Equivalent to <code>RwMatrix</code>. |
|||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name |
|||
|- |
|- |
||
| |
| 0x0 || 0x10 || [[#CGtV3d|CGtV3d]] || mRight |
||
|- |
|- |
||
| |
| 0x10 || 0x10 || [[#CGtV3d|CGtV3d]] || mUp |
||
|- |
|- |
||
| |
| 0x20 || 0x10 || [[#CGtV3d|CGtV3d]] || mAt |
||
|- |
|||
| 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
.