Common Data Types: Difference between revisions

From Burnout Wiki
Content added Content deleted
(moving the GtTexture spec to its own page)
(wow this page was kinda asstastic lol)
Line 1: Line 1:
Data types used commonly by the pre-Paradise Burnout games.
= CGtMatrix3x4 =

= Shared data types =
=== GtV3d ===
A structure containing a vector of type <code>RwV3d</code>.
{|class="wikitable"
{|class="wikitable"
|-
|-
Line 6: Line 10:
!Type
!Type
|-
|-
| 0x00 || Right || Vector3
| 0x00 || Data || RwV3d
|}

=== GtLine ===
A structure comprised of two vectors, used to represent a line in 3D space.
{|class="wikitable"
|-
|-
!Offset
| 0x10 || Up || Vector3
!Name
!Type
|-
|-
| 0x20 || At || Vector3
| 0x00 || Start point || GtV3d
|-
|-
| 0x30 || Position || Vector3
| 0x10 || End point || GtV3d
|}
|}


= CGtRGB =
=== GtMatrix3x4 ===
A structure comprised of four vectors.
{|class="wikitable"
{|class="wikitable"
|-
|-
Line 22: Line 34:
!Type
!Type
|-
|-
| 0x00 || Red additive || float
| 0x00 || Right || GtV3d
|-
|-
| 0x04 || Green additive || float
| 0x10 || Up || GtV3d
|-
|-
| 0x08 || Blue additive || float
| 0x20 || At || GtV3d
|-
|-
| 0x30 || Position || GtV3d
|}
|}


= CGtV3d =
=== GtRGB ===
A structure comprised of three floats, each representing a primary additive of an RGB color.
{|class="wikitable"
{|class="wikitable"
|-
|-
Line 37: Line 51:
!Type
!Type
|-
|-
| 0x00 || Data || RwV3d
| 0x00 || Red additive || float
|-
| 0x04 || Green additive || float
|-
| 0x08 || Blue additive || float
|-
|}
|}

=== GtHash ===
<code>GtHash</code> is 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 ===
<code>GtID</code> is 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>.

= RenderWare data types =
{{todo|Move this section to its own page eventually, as these types originate from the RenderWare engine itself as opposed to any external codebases.}}


=== RwV3d ===
=== RwV3d ===
A structure comprised of three floats, mainly used to represent the location of a point in 3D space.
{|class="wikitable"
{|class="wikitable"
|-
|-
Line 47: Line 78:
!Type
!Type
|-
|-
| 0x00 || X || float
| 0x00 || X value || float
|-
|-
| 0x04 || Y || float
| 0x04 || Y value || float
|-
|-
| 0x08 || Z || float
| 0x08 || Z value || float
|-
|-
| 0x0C || Padding || word
| 0x0C || Padding || word
|}
|}


= RwBBox =
=== RwBBox ===
A structure defining the [https://en.wikipedia.org/wiki/Infimum_and_supremum| supremum and infimum] vertices of a bounding box.
{|class="wikitable"
{|class="wikitable"
|-
|-

Revision as of 02:00, 16 November 2021

Data types used commonly by the pre-Paradise Burnout games.

Shared data types

GtV3d

A structure containing a vector of type RwV3d.

Offset Name Type
0x00 Data RwV3d

GtLine

A structure comprised of two vectors, used to represent a line in 3D space.

Offset Name Type
0x00 Start point GtV3d
0x10 End point GtV3d

GtMatrix3x4

A structure comprised of four vectors.

Offset Name Type
0x00 Right GtV3d
0x10 Up GtV3d
0x20 At GtV3d
0x30 Position GtV3d

GtRGB

A structure comprised of three floats, each representing a primary additive of an RGB color.

Offset Name Type
0x00 Red additive float
0x04 Green additive float
0x08 Blue additive float

GtHash

GtHash is 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.

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 Name Type
0x00 X value float
0x04 Y value float
0x08 Z value float
0x0C Padding word

RwBBox

A structure defining the supremum and infimum vertices of a bounding box.

Offset Name Type
0x00 Supremum vertex RwV3d
0x10 Infimum vertex RwV3d