Common Data Types: Difference between revisions
AcuteSyntax (talk | contribs) (moving the GtTexture spec to its own page) |
AcuteSyntax (talk | contribs) (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 || |
| 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 |
|||
|- |
|- |
||
| |
| 0x00 || Start point || GtV3d |
||
|- |
|- |
||
| |
| 0x10 || End point || GtV3d |
||
|} |
|} |
||
= |
=== GtMatrix3x4 === |
||
A structure comprised of four vectors. |
|||
{|class="wikitable" |
{|class="wikitable" |
||
|- |
|- |
||
Line 22: | Line 34: | ||
!Type |
!Type |
||
|- |
|- |
||
| 0x00 || |
| 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. |
|||
{|class="wikitable" |
{|class="wikitable" |
||
|- |
|- |
||
Line 37: | Line 51: | ||
!Type |
!Type |
||
|- |
|- |
||
| 0x00 || |
| 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.
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
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 |