Difference between revisions of "Breakable (RW Section)"
Jump to navigation
Jump to search
m (Updated structures with trustworthy naming, hopefully.) |
m (Specified again the color format for ambientColors mentioned since earlier edits.) |
||
Line 50: | Line 50: | ||
CHAR[32] textureNames[numMaterials] | CHAR[32] textureNames[numMaterials] | ||
CHAR[32] textureMasks[numMaterials] | CHAR[32] textureMasks[numMaterials] | ||
− | FLOAT[3] ambientColors[numMaterials] | + | FLOAT[3] ambientColors[numMaterials] (RGB normalized in range [0,1]) |
==Tools and Scripts== | ==Tools and Scripts== | ||
* {{GTAF|269717|Breakable Objects Export Script}} by {{U|Deniska}}. A script for 3dsMax which allows to export Breakable model information to seperate files. | * {{GTAF|269717|Breakable Objects Export Script}} by {{U|Deniska}}. A script for 3dsMax which allows to export Breakable model information to seperate files. |
Revision as of 18:50, 21 June 2015
{{{NAME}}} | |
---|---|
RenderWare Stream Section | |
Vendor | {{{VENDORNAME}}} |
Module | {{{MODULENAME}}} |
Module ID | 0x{{{MODULEID}}}
|
Identifier | 0x{{{IDENTIFIER}}}
|
Chunk ID | 0x{{{MODULEID}}}{{{IDENTIFIER}}}
|
Versions | All |
Hierarchy | |
Parents: None | |
Children: None | |
Extensions: None | |
File Format |
Breakable model is one of Rockstar's custom sections used in GTA San Andreas. It contains information on how to split breakable objects when they are hit. An object including this section has to be defined in object.dat.
The typical location in a SA dff section hierarchy is Clump > Geometry List > Geometry > Extension > Breakable model.
Header
There is a 56 byte header which holds information about the amount of data arrays that follow:
UINT32 magicNumber (zero if Breakable model is not used, otherwise any random non-zero value) UINT32 posnRule[*] (0 = OBJECT_ORIGIN, 1 = COLLISION_ORIGIN) // Vertex data UINT16 numVertices UINT16 UINT32 (assumed offset to verts, unused) UINT32 (assumed offset to texCoords, unused) UINT32 (assumed offset to preLitLum, unused) // Triangle data UINT16 numTriangles UINT16 UINT32 (assumed offset to vertIndices, unused) UINT32 (assumed offset to matIndices, unused) // Material data UINT16 numMaterials UINT16 UINT32 (assumed offset to textures, unused) UINT32 (assumed offset to textureNames, unused) UINT32 (assumed offset to textureMasks, unused) UINT32 (assumed offset to ambientColors, unused)
- Note
- ^ Impose whether to calculate the position relatively to the collision model or to the clump/atomic RwFrame.
Vertex data
FLOAT[3] verts[numVertices] FLOAT[2] texCoords[numVertices] BYTE[4] preLitLum[numVertices] (RGBA)
Triangle data
UINT16[3] vertIndices[numTriangles] UINT16 matIndices[numTriangles]
Material data
Each polygon group sharing the same material is treated as a separate fragment when the object is split up:
CHAR[32] textureNames[numMaterials] CHAR[32] textureMasks[numMaterials] FLOAT[3] ambientColors[numMaterials] (RGB normalized in range [0,1])
Tools and Scripts
- GTAForums: Breakable Objects Export Script by Deniska. A script for 3dsMax which allows to export Breakable model information to seperate files.