Content added Content deleted
|
|
(2 intermediate revisions by the same user not shown) |
Line 393: |
Line 393: |
|
| 0x0 || 0x8 || [[GtID]] || mPartID || || |
|
| 0x0 || 0x8 || [[GtID]] || mPartID || || |
|
|- |
|
|- |
|
| 0x8 || 0x4 || RwUInt32 || mxFlags || || TODO: List flags |
|
| 0x8 || 0x4 || RwUInt32 || mxFlags || || 1 flag, might be related to body part |
|
|- |
|
|- |
|
| 0xC || 0x1 || RwInt8 || mnPartIndex || || |
|
| 0xC || 0x1 || RwInt8 || mnPartIndex || || |
Latest revision as of 00:54, 6 February 2023
Structures
CB4VehicleData
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
RwUInt32 |
mxVersionNumber |
|
31
|
0x4 |
0x4 |
RwInt32 |
mxLoadedState |
|
|
0x8 |
0x1 |
RwInt8 |
mn8NumBodyParts |
|
|
0x9 |
0x1 |
RwInt8 |
mn8NumWheels |
|
|
0xA |
0x1 |
RwInt8 |
mn8MinLOD |
|
|
0xB |
0x1 |
RwInt8 |
mn8MaxLOD |
|
|
0xC |
0x4 |
RwReal |
mrObjectRadius |
|
|
0x10 |
0x4 |
RwReal |
mrWheelRadius |
|
|
0x14 |
0x18 |
RwReal[6] |
marWheelScales |
|
|
0x2C |
0x20 |
RwReal[8] |
marBodyPartRadii |
|
|
0x4C |
0x14 |
CB4VehicleLODData*[5] |
mapLODData |
|
|
0x60 |
0x4 |
CGtTexture* |
mpTexture |
|
|
0x64 |
0x4 |
CGtTexture* |
mpTextureColourOverlay |
|
|
0x68 |
0x4 |
CB4VehicleObject* |
mpShadowBodyObject |
|
|
0x6c |
0x4 |
CB4VehicleObject* |
mpShadowWheelObject |
|
|
0x70 |
0x4C0 |
CGtMatrix3x4[19] |
maMainBoneMatrices |
|
|
0x530 |
0x600 |
CGtMatrix3x4[8][3] |
maaBodyPartBoneMatrices |
|
|
0xB30 |
0x4C0 |
CGtMatrix3x4[19] |
maMainSkinToBoneMatrices |
|
|
0xFF0 |
0x600 |
CGtMatrix3x4[8][3] |
maaBodyPartSkinToBoneMatrices |
|
|
0x15F0 |
0x100 |
CGtV3d[8][2] |
maaBodyPartAttachPoints |
|
|
0x16F0 |
0x4C |
RwReal[19] |
marMainBoneLengths |
|
|
0x173C |
0x60 |
RwReal[8][3] |
maarBodyPartBoneLengths |
|
|
0x179C |
0x4 |
EBoneRigType |
meMainBoneRigType |
|
|
0x17A0 |
0x20 |
EVehicleBodyPart[8] |
maeBodyPartType |
|
|
0x17C0 |
0x8 |
RwUInt8[8] |
mau8HingeAxes |
|
|
0x17C8 |
0x10 |
RwUInt8[8][2] |
maau8BodyPartBoneIndices |
|
|
0x17D8 |
0x20 |
RwUInt8[8][2][2] |
maaau8AttachPointBoneIndices |
|
|
0x17F8 |
0xC |
RwUInt8[6][2] |
maau8WheelBoneIndices |
|
|
0x1804 |
0x20 |
RwReal[8] |
marHingeMaxAngles |
|
|
0x1824 |
0x40 |
RwReal[8][2] |
maarBodyPartBoneWeights |
|
|
0x1864 |
0x80 |
RwReal[8][2][2] |
maaarAttachPointWeights |
|
|
0x18E4 |
0x30 |
RwReal[6][2] |
maarWheelBoneWeights |
|
|
0x1914 |
0xC |
|
|
Padding |
|
0x1920 |
0x180 |
CGtMatrix3x4[6] |
maWheelMatrices |
|
|
0x1AA0 |
0x200 |
CGtMatrix3x4[8] |
maBodyPartMatrices |
|
|
0x1CA0 |
0x20 |
CGtAxisAlignedBox |
mBBox |
|
|
0x1CC0 |
0x100 |
CGtAxisAlignedBox[8] |
maBodyPartBBoxes |
|
|
0x1DC0 |
0x340 |
CB4ConvexHullVehicle |
mHull |
|
|
0x2100 |
0x4 |
RwBool |
mbHullExists |
|
|
0x2104 |
0x48 |
CB4VehicleTag*[18] |
mpaTagPoints |
|
|
0x214C |
0x12 |
RwUInt8[18] |
mauTagPointCounts |
|
|
0x215E |
0x2 |
|
|
Padding |
|
0x2160 |
0x4 |
CB4VehiclePayloadSet* |
mpaPayloadSets |
|
|
0x2164 |
0x4 |
CB4VehiclePayload* |
mpaPayloads |
|
|
0x2168 |
0x1 |
RwInt8 |
mn8NumPayloadSets |
|
|
0x2169 |
0x1 |
RwInt8 |
mn8NumPayloads |
|
|
0x216A |
0x1 |
RwInt8 |
mn8CurrentPayloadSet |
|
|
0x216B |
0x1 |
|
|
Padding |
|
0x216C |
0x8 |
CB4SoundESMStruct*[2] |
mapESMs |
Engine sound model |
|
0x2174 |
0x4 |
char* |
mpcVDB |
|
|
0x2178 |
0x4 |
RwInt32 |
mnVDBSize |
|
|
0x217C |
0x4 |
|
|
Padding |
|
CB4VehicleLODData
CB4VehicleLODDataBase
CB4VehicleObject
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x1 |
RwInt8 |
mn8NumMeshes |
|
|
0x1 |
0x1 |
RwInt8 |
mn8GlassMeshIndex |
|
|
0x2 |
0x2 |
|
|
Padding |
|
0x4 |
0x4 |
CB4VehicleMesh* |
mpaMeshes |
|
|
0x8 |
0x4 |
RwReal |
mrNormalShift |
|
|
CB4VehicleMesh
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
RwUInt8* |
mpRenderDataFirst |
|
|
0x4 |
0x4 |
RwUInt8* |
mpRenderDataRest |
|
|
0x8 |
0x2 |
RwUInt16 |
mx16MeshFlags |
|
TODO: List flags
|
0xA |
0x1 |
RwUInt8 |
mu8Alpha1 |
|
|
0xB |
0x1 |
RwUInt8 |
mu8TextureIndex |
|
|
0xC |
0x1 |
RwUInt8 |
mu8SourceOpacity |
|
|
0xD |
0x1 |
RwUInt8 |
mu8CurrentOpacity |
|
|
0xE |
0x1 |
RwUInt8 |
mu8Shininess |
|
|
0xF |
0x1 |
RwUInt8 |
mu8UNUSED |
|
|
CGtTexture
| To do: Move this and other texture-related structures to their own page if it doesn't already exist. |
RwRaster
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
RwRaster* |
parent |
|
|
0x4 |
0x4 |
RwUInt8* |
cpPixels |
|
|
0x8 |
0x4 |
RwUInt8* |
palette |
|
|
0xC |
0x4 |
RwInt32 |
width |
|
|
0x10 |
0x4 |
RwInt32 |
height |
|
|
0x14 |
0x4 |
RwInt32 |
depth |
|
|
0x18 |
0x4 |
RwInt32 |
stride |
|
|
0x1C |
0x2 |
RwInt16 |
nOffsetX |
|
|
0x1E |
0x2 |
RwInt16 |
nOffsetY |
|
|
0x20 |
0x1 |
RwUInt8 |
cType |
|
|
0x21 |
0x1 |
RwUInt8 |
cFlags |
|
|
0x22 |
0x1 |
RwUInt8 |
privateFlags |
|
|
0x23 |
0x1 |
RwUInt8 |
cFormat |
|
|
0x24 |
0x4 |
RwUInt8* |
originalPixels |
|
|
0x28 |
0x4 |
RwInt32 |
originalWidth |
|
|
0x2C |
0x4 |
RwInt32 |
originalHeight |
|
|
0x30 |
0x4 |
RwInt32 |
originalStride |
|
|
GtSkyRasterExtTag
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
RwInt32 |
dmaRefCount |
|
|
0x4 |
0x4 |
RwInt32 |
dmaClrCount |
|
|
0x8 |
0x4 |
RwUInt32 |
lsb |
|
|
0xC |
0x4 |
RwUInt32 |
msb |
|
|
0x10 |
0x4 |
RwUInt32 |
palOffset |
|
|
0x14 |
0x2 |
RwUInt16 |
mipmapKL |
|
|
0x16 |
0x1 |
RwUInt8 |
maxMipLevel |
|
|
0x17 |
0x1 |
RwUInt8 |
bLocked |
|
|
0x18 |
0x4 |
RwUInt32 |
miptbp1Lsb |
|
|
0x1C |
0x4 |
RwUInt32 |
miptbp1Msb |
|
|
0x20 |
0x4 |
RwUInt32 |
miptbp2Lsb |
|
|
0x24 |
0x4 |
RwUInt32 |
miptbp2Msb |
|
|
0x28 |
0x4 |
RwUInt32 |
sysMemSize |
|
|
0x2C |
0x4 |
RwUInt32 |
sysMemPalSize |
|
|
0x30 |
0x4 |
RwUInt32 |
nTexCacheSize |
|
|
0x34 |
0x1 |
RwUInt8 |
cachePkts |
|
|
0x35 |
0x1 |
RwUInt8 |
lockedMipLevel |
|
|
0x36 |
0x1 |
RwUInt8 |
flags |
|
|
0x37 |
0x1 |
RwUInt8[1] |
pad |
|
|
0x38 |
0x4 |
void* |
palUploadPkt |
|
|
0x3C |
0x1C |
void*[7] |
mipUploadPkts |
|
|
0x58 |
0x4 |
_SkyMemBlock* |
mpCacheEntry |
|
|
GtTextureExtTag
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x10 |
RwUInt16[8] |
mau16PaletteGSOffsets |
|
|
0x10 |
0x1 |
RwUInt8 |
mu8NumPalettes |
|
|
0x11 |
0x1 |
RwUInt8 |
mu8PaletteWidth |
|
|
0x12 |
0x1 |
RwUInt8 |
mu8PaletteHeight |
|
|
0x13 |
0x1 |
RwUInt8 |
mu8CurrentPalette |
|
|
0x14 |
0x4 |
RwUInt32 |
muSizeInMemory |
|
|
0x18 |
0x20 |
char[32] |
macName |
|
|
CB4ConvexHullVehicle
CB4ConvexHull
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
CB4ConvexHullPlane* |
maPlaneVerts |
|
|
0x4 |
0x4 |
CGtPlane* |
maPlanes |
|
|
0x8 |
0x4 |
CGtV3d* |
maVerts |
|
|
0xC |
0x4 |
CB4ConvexHullEdge* |
maEdges |
|
|
0x10 |
0x4 |
CB4ConvexHullVertMap* |
maVertWeights |
|
|
0x14 |
0x4 |
RwUInt32 |
mxFlags |
|
|
0x18 |
0x1 |
RwUInt8 |
mu8NumVerts |
|
|
0x19 |
0x1 |
RwUInt8 |
mu8NumPlanes |
|
|
0x1A |
0x1 |
RwUInt8 |
mu8NumEdges |
|
|
0x1B |
0x1 |
|
|
Padding |
|
CB4ConvexHullPlane
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
RwUInt8[4] |
mau8Verts |
|
|
CB4ConvexHullEdge
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x1 |
RwUInt8 |
mu8Vert0 |
|
|
0x1 |
0x1 |
RwUInt8 |
mu8Vert1 |
|
|
CB4ConvexHullVertMap
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x8 |
RwReal[2] |
marWeights |
|
|
0x8 |
0x2 |
RwUInt8[2] |
mau8Bones |
|
|
0xA |
0x2 |
|
|
Padding |
|
CB4VehicleTag
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x10 |
CGtV3dPlus |
mPosAndSize |
|
|
0x10 |
0x10 |
CGtV3dPlus |
mNormalAndConeAngle |
|
|
0x20 |
0x4 |
RwRGBA |
mColour |
|
|
0x24 |
0x8 |
RwReal[2] |
marWeights |
|
|
0x2C |
0x2 |
RwUInt8[2] |
mau8BoneIndices |
|
|
0x2E |
0x2 |
|
|
Padding |
|
CB4VehiclePayloadSet
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x1 |
RwInt8 |
mn8NumPayloads |
|
|
0x1 |
0x3 |
|
|
Padding |
|
0x4 |
0x4 |
RwUInt32 |
mxFlags |
|
|
0x8 |
0x4 |
CB4VehiclePayload* |
mpaPayloads |
|
|
CB4VehiclePayload
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x8 |
GtID |
mPartID |
|
|
0x8 |
0x4 |
RwUInt32 |
mxFlags |
|
1 flag, might be related to body part
|
0xC |
0x1 |
RwInt8 |
mnPartIndex |
|
|
0xD |
0x3 |
|
|
Padding |
|
0x10 |
0x40 |
CGtMatrix3x4 |
mPosition |
|
|
CB4SoundESMStruct
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x38 |
CB4SoundESMInputLag[7] |
maInputLags |
|
|
0x38 |
0x4 |
RwUInt32 |
mun32VersionNumber |
|
5
|
0x3C |
0x4 |
CB4SoundESMPartialStruct* |
mpPartials |
|
|
0x40 |
0x1 |
RwUInt8 |
mun8PartialCount |
|
|
0x41 |
0x3 |
|
|
Padding |
|
0x44 |
0x4 |
RwBool |
mbHighDetail |
|
|
CB4SoundESMInputLag
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
RwReal |
mrMin |
|
|
0x4 |
0x4 |
RwReal |
mrMax |
|
|
CB4SoundESMPartialStruct
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x8 |
GtID |
mWaveID |
|
|
0x8 |
0x4 |
CB4SoundESMGraphStruct* |
mpGraphs |
Negative pointer relative to partial start |
|
0xC |
0x1 |
RwUInt8 |
mun8GraphCount |
|
|
0xD |
0x1 |
RwUInt8 |
mun8Type |
|
See EPartialType
|
0xE |
0x2 |
|
|
Padding |
|
CB4SoundESMGraphStruct
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
CB4SoundESMPointStruct* |
mpPoints |
Negative pointer relative to graph start |
|
0x4 |
0x1 |
RwUInt8 |
mun8PointCount |
|
|
0x5 |
0x1 |
RwInt8 |
mn8XAxis |
|
|
0x6 |
0x1 |
RwInt8 |
mn8YAxis |
|
|
0x7 |
0x1 |
|
|
Padding |
|
CB4SoundESMPointStruct
Offset |
Length |
Type |
Name |
Description |
Comments
|
0x0 |
0x4 |
RwReal |
mrXpos |
|
|
0x4 |
0x4 |
RwReal |
mrYpos |
|
|
Typedefs
GtSkyRasterExt
GtTextureExt
Enumerations
EBoneRigType
Name |
Value |
Comments
|
eNormalBoneRig |
0 |
|
eLargeBoneRig |
1 |
|
eNoBoneRig |
2 |
|
EVehicleBodyPart
Name |
Value |
Comments
|
eBodyPartNull |
-1 |
|
eBodyPartLeftDoor |
0 |
|
eBodyPartRightDoor |
1 |
|
eBodyPartFrontBumper |
2 |
|
eBodyPartRearBumper |
3 |
|
eBodyPartBonnet |
4 |
|
eBodyPartBoot |
5 |
|
eBodyPartSpoiler |
6 |
|
eBodyPartLeftSkirt |
7 |
|
eBodyPartRightSkirt |
8 |
|
eBodyPartFrontWindscreen |
9 |
|
eBodyPartRearWindscreen |
10 |
|
eBodyPartRearLeftDoor |
11 |
|
eBodyPartRearRightDoor |
12 |
|
eBodyPartCount |
13 |
|
EPartialType
| To do: Check what high nibble means (sometimes marked as 1). |
Name |
Value |
Comments
|
ePartialNormal |
0 |
|
ePartialTurbo |
1 |
|
ePartialGinsu |
2 |
|