Vehicle Data/Burnout Revenge
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
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x40 | CB4VehicleLODDataBase | Base class |
CB4VehicleLODDataBase
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | CB4VehicleObject* | mpBodyObject | ||
0x4 | 0x20 | CB4VehicleObject*[8] | mapBodyParts | ||
0x24 | 0xC | CB4VehicleObject*[3] | mapWheelObject |
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. |
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x34 | RwRaster | mRwRaster | ||
0x34 | 0x5C | GtSkyRasterExt | mSkyRasterExt | ||
0x90 | 0x38 | GtTextureExt | mTextureExt |
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
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x1C | CB4ConvexHull | Base class | ||
0x1C | 0x38 | CB4ConvexHullPlane[14] | maPlaneVertData | ||
0x54 | 0xC | Padding | |||
0x60 | 0xE0 | CGtPlane[14] | maPlaneData | ||
0x140 | 0x100 | CGtV3d[16] | maVertData | ||
0x240 | 0x38 | CB4ConvexHullEdge[28] | maEdgeData | ||
0x278 | 0xC0 | CB4ConvexHullVertMap[16] | maVertWeightData | ||
0x338 | 0x8 | Padding |
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
Name | Type | Length | Comments |
---|---|---|---|
GtSkyRasterExt | GtSkyRasterExtTag | 0x38 |
GtTextureExt
Name | Type | Length | Comments |
---|---|---|---|
GtTextureExt | GtTextureExtTag | 0x5C |
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 |