Vehicle Graphics: Difference between revisions

From Burnout Wiki
Content added Content deleted
m (Burninrubber0 moved page Graphics (Burnout Paradise) to Vehicle Graphics (Burnout Paradise): Forgot wheel graphics use the same name.)
(Minor clarification)
Line 14: Line 14:
| 0x4 || 0x4 || uint32_t || muPartsCount || ||
| 0x4 || 0x4 || uint32_t || muPartsCount || ||
|-
|-
| 0x8 || 0x4 || Model** || mppPartsModels || Model indices || 8-bit integers aligned 4
| 0x8 || 0x4 || Model** || mppPartsModels || Imports indices || 8-bit integers aligned 4
|-
|-
| 0xC || 0x4 || uint32_t || muShatteredGlassPartsCount || ||
| 0xC || 0x4 || uint32_t || muShatteredGlassPartsCount || ||
|-
|-
| 0x10 || 0x4 || ShatteredGlassPart* || mpShatteredGlassParts || Shattered glass parts indices ||
| 0x10 || 0x4 || ShatteredGlassPart* || mpShatteredGlassParts || Imports indices ||
|-
|-
| 0x14 || 0x4 || Matrix44Affine* || mpPartLocators || ||
| 0x14 || 0x4 || Matrix44Affine* || mpPartLocators || ||
Line 51: Line 51:
| 0x4 || 0x4 || uint32_t || muPartsCount || ||
| 0x4 || 0x4 || uint32_t || muPartsCount || ||
|-
|-
| 0x8 || 0x8 || Model** || mppPartsModels || Model indices || 8-bit integers aligned 8
| 0x8 || 0x8 || Model** || mppPartsModels || Imports indices || 8-bit integers aligned 8
|-
|-
| 0x10 || 0x4 || uint32_t || muShatteredGlassPartsCount || ||
| 0x10 || 0x4 || uint32_t || muShatteredGlassPartsCount || ||
|-
|-
| 0x14 || 0x4 || ? || ? || || Possibly garbage, always 0x7FF6
| 0x14 || 0x4 || || || padding ||
|-
|-
| 0x18 || 0x8 || ShatteredGlassPart* || mpShatteredGlassParts || Shattered glass parts indices ||
| 0x18 || 0x8 || ShatteredGlassPart* || mpShatteredGlassParts || Imports indices ||
|-
|-
| 0x20 || 0x8 || Matrix44Affine* || mpPartLocators || ||
| 0x20 || 0x8 || Matrix44Affine* || mpPartLocators || ||
Line 90: Line 90:
| 0x4 || 0x4 || uint32_t || muPartsCount || ||
| 0x4 || 0x4 || uint32_t || muPartsCount || ||
|-
|-
| 0x8 || 0x4 || Model** || mppPartsModels || Model indices || 8-bit integers aligned 4
| 0x8 || 0x4 || Model** || mppPartsModels || Imports indices || 8-bit integers aligned 4
|-
|-
| 0xC || 0x4 || Matrix44Affine* || mpPartLocators || ||
| 0xC || 0x4 || Matrix44Affine* || mpPartLocators || ||

Revision as of 02:36, 18 January 2021

The Graphics resource is the central part of vehicle graphics bundles, superseded only by the GraphicsStub resource in the event a GraphicsStub exists. Its primary purpose is to import Model resources and set them up as vehicle parts.

Although the version number remains 3 in all known variants of the resource, it was updated at least once between February and October 2007.

Layout

Final (32-bit)

GraphicsSpec

Offset Length Type Name Description Comments
0x0 0x4 uint32_t muVersion Spec version 3
0x4 0x4 uint32_t muPartsCount
0x8 0x4 Model** mppPartsModels Imports indices 8-bit integers aligned 4
0xC 0x4 uint32_t muShatteredGlassPartsCount
0x10 0x4 ShatteredGlassPart* mpShatteredGlassParts Imports indices
0x14 0x4 Matrix44Affine* mpPartLocators
0x18 0x4 uint8_t* mpPartVolumeIDs
0x1C 0x4 uint8_t* mpNumRigidBodiesForPart
0x20 0x4 Matrix44Affine** mppRigidBodyToSkinMatrixTransforms

ShatteredGlassPart

Offset Length Type Name Description Comments
0x0 0x4 Model* mpModel
0x4 0x4 uint32_t muBodyPartIndex
0x8 0x4 uint32_t muBodyPartType

Final (64-bit)

GraphicsSpec

Offset Length Type Name Description Comments
0x0 0x4 uint32_t muVersion Spec version 3
0x4 0x4 uint32_t muPartsCount
0x8 0x8 Model** mppPartsModels Imports indices 8-bit integers aligned 8
0x10 0x4 uint32_t muShatteredGlassPartsCount
0x14 0x4 padding
0x18 0x8 ShatteredGlassPart* mpShatteredGlassParts Imports indices
0x20 0x8 Matrix44Affine* mpPartLocators
0x28 0x8 uint8_t* mpPartVolumeIDs
0x30 0x8 uint8_t* mpNumRigidBodiesForPart
0x38 0x8 Matrix44Affine** mppRigidBodyToSkinMatrixTransforms

ShatteredGlassPart

Offset Length Type Name Description Comments
0x0 0x8 Model* mpModel
0x8 0x4 uint32_t muBodyPartIndex
0xC 0x4 uint32_t muBodyPartType

2006-11-13, 2007-02-22

GraphicsSpec

Offset Length Type Name Description Comments
0x0 0x4 uint32_t muVersion Spec version 3
0x4 0x4 uint32_t muPartsCount
0x8 0x4 Model** mppPartsModels Imports indices 8-bit integers aligned 4
0xC 0x4 Matrix44Affine* mpPartLocators
0x10 0x4 uint8_t* mpPartVolumeIDs
0x14 0x4 uint8_t* mpNumRigidBodiesForPart
0x18 0x4 Matrix44Affine** mppRigidBodyToSkinMatrixTransforms