/* DestructiblePieceDef->flags */
#define EXPLOSIVEDAMAGEONLY 1
#define PARENTDAMAGE 2
#define PHYSICSPARENT 4
#define MELEEDAMAGE 8
struct DestructiblePieceDef
{
ScriptString showBone;
float breakHealth;
float maxTime;
int flags;
FxEffectDef *breakEffect;
const char *breakSound;
const char *breakNotify;
const char *loopSound;
XModel *spawnModel[3];
PhysPreset *physPreset;
};
struct DestructiblePiece // 0x138
{
DestructiblePieceDef stages[5];
char parentPiece;
char unknownData1[0x1B];
PhysConstraints * constraints;
int unknownInt1;
char * unknownString1;
FxEffectDef *effectDef;
char * unknownString2;
ScriptString scriptString1;
short unkShort1;
char unknownData2[0x14];
};
struct DestructibleDef // 0x18
{
const char *name;
XModel *model;
XModel *pristineModel;
unsigned int numPieces;
DestructiblePiece *pieces; // count = numPieces
int clientOnly;
};