Common Data Types

From Burnout Wiki

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.

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

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.

RenderWare

Hmmm...
Hmmm...
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

RwPlane

Offset Length Type Name Description Comments
0x0 0xC RwV3d normal
0xC 0x4 RwReal distance

RwRGBA

Offset Length Type Name Description Comments
0x0 0x1 RwUInt8 red
0x1 0x1 RwUInt8 green
0x2 0x1 RwUInt8 blue
0x3 0x1 RwUInt8 alpha