Common Data Types

From Burnout Wiki
Revision as of 13:18, 30 March 2023 by Burninrubber0 (talk | contribs) (Added CGtSphere.)

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 bytes holding an RwV3d object

CGtV3dPlus

Hmmm...
Hmmm...
To do:
Find out what object this holds.
Offset Length Type Name Description Comments
0x0 0x10 u_long128 mData 16 bytes holding an unknown object

CGtPlane

A structure containing a structure of type RwPlane.

Offset Length Type Name Description Comments
0x0 0x10 u_long128 mData 16 bytes holding an RwPlane object

CGtSphere

Hmmm...
Hmmm...
To do:
Find out what object this holds.
Offset Length Type Name Description Comments
0x0 0x10 u_long128 mData 16 bytes holding an unknown 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 mStartPoint 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

CGtOrthogonalBox

Offset Length Type Name Description Comments
0x0 0x40 CGtMatrix3x4 mBox

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

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