EvilEngine/DEST: Difference between revisions
no edit summary
No edit summary |
No edit summary |
||
(7 intermediate revisions by 3 users not shown) | |||
Line 1:
<onlyinclude>
{{#vardefine:typeid|DEST}}<nowiki/>
{{#vardefine:name|Destructible Asset}}<nowiki/>
{{#vardefine:type|[[Binary]]}}<nowiki/>
{{#vardefine:basetype|}}<nowiki/>
{{#vardefine:games|TSSM Incredibles ROTU RatProto}}<nowiki/>
{{#vardefine:sourcecode|}}<nowiki/>
{{#vardefine:image|}}<nowiki/>
Line 10:
{{AutoAssetInfobox}}
This asset defines an entry for a destructible
In order for a destructible asset to function it must have ".dff_destruct" at the end of its asset name. Example: barrel.dff_destruct
==Format==
The SpongeBob SquarePants Movie and The Incredibles
===xDestructibleAsset===
<source lang=cpp>
class xDestructibleAsset
{
public:
unsigned int id;
unsigned int nstates;
unsigned int hit_points
unsigned int hit_filter;
unsigned int launch_flag;
unsigned int behaviour;
unsigned int flags;
unsigned int soundgroupidleID;
float respawn;
unsigned char target_priority;
xDestructibleAssetState* states;
};
</source>
{| class="wikitable"
! Offset !! Type !! Variable !! Description
|-
| 0x00 ||
|-
| 0x04 ||
|-
| 0x08 ||
|-
| 0x0C ||
|-
| 0x10 ||
|-
| 0x14 ||
|-
| 0x18 ||
|-
| 0x1C ||
|-
| 0x20 ||
|-
| 0x24 ||
|-
| 0x25 ||
|}
===xDestructibleAssetState===
<source lang=cpp>
class xDestructibleAssetState
{
public:
unsigned int percent;
unsigned int modelID;
unsigned int shrapnelID;
unsigned int shrapnelhitID;
unsigned int soundgroupidleID;
unsigned int soundgroupfxID;
unsigned int soundgrouphitID;
unsigned int soundgroupfxIDswitch;
unsigned int soundgrouphitIDswitch;
unsigned int rumbleIDhit;
unsigned int rumbleIDswitch;
unsigned int fx_flags;
xDestructibleAssetAttachedAnimList* animlist;
};
</source>
{| class="wikitable"
! Offset !! Type !! Variable !! Description
|-
|
|-
|
|-
|
|-
|
|-
|
|-
|
|-
|
|-
|
|-
|
|-
|
|-
|
|-
|
|}
===xDestructibleAssetAttachedAnimList===
<source lang=cpp>
class xDestructibleAssetAttachedAnimList
{
public:
unsigned int nanimations;
unsigned int* animationIDs;
};
</source>
{| class="wikitable"
! Offset !! Type !! Variable !! Description
|-
|
|-
|
|}
==Format==
Rise of the Underminer and Ratatouille Prototype
===xDestructibleAsset===
<source lang=cpp>
struct xDestructibleAsset
{
unsigned int id;
unsigned int nstates;
unsigned int hit_points;
unsigned int hit_filter;
unsigned int hit_filter_excluded;
unsigned int healthPoints;
unsigned int expPoints;
float healthChance;
float expChance;
unsigned int launch_flag;
unsigned int behaviour;
unsigned int flags;
unsigned int soundgroupidleID;
float respawn;
unsigned char target_priority;
xDestructibleAssetState* states;
};
</source>
{| class="wikitable"
! Offset !! Type !! Variable !! Description
|-
| 0x00 || [[AssetID]] || '''id''' || [[MINF]]
|-
| 0x04 || u32 || '''nstates''' || Number of states
|-
| 0x08 || u32 || '''hit_points''' ||
|-
| 0x0C || u32 || '''hit_filter''' ||
|-
| 0x10 || u32 || '''hit_filter_excluded''' ||
|-
| 0x14 || u32 || '''healthPoints''' ||
|-
| 0x18 || u32 || '''expPoints''' ||
|-
| 0x1C || f32 || '''healthChance''' ||
|-
| 0x20 || f32 || '''expChance''' ||
|-
| 0x24 || u32 || '''launch_flag''' ||
|-
| 0x28 || u32 || '''behaviour''' ||
|-
| 0x2C || u32 || '''flags''' ||
|-
| 0x30 || [[AssetID]] || '''soundgroupidleID''' || [[SGRP]]
|-
| 0x34 || f32 || '''respawn''' ||
|-
| 0x38 || u8 || '''target_priority''' ||
|-
| 0x39 || u8[3] || null || padding
|}
===xDestructibleAssetState===
<source lang=cpp>
struct xDestructibleAssetState
{
unsigned int percent;
unsigned int modelID;
unsigned int shrapnelID;
unsigned int shrapnelhitID;
unsigned int soundgroupidleID;
unsigned int soundgroupfxID;
unsigned int soundgrouphitID;
unsigned int soundgroupfxIDswitch;
unsigned int soundgrouphitIDswitch;
unsigned int rumbleIDhit;
unsigned int rumbleIDswitch;
unsigned int fx_flags;
xDestructibleAssetAttachedAnimList* animlist;
};
</source>
{| class="wikitable"
! Offset !! Type !! Variable !! Description
|-
| 0x00 || u32 || '''percent''' ||
|-
| 0x04 || [[AssetID]] || '''modelID''' ||
|-
| 0x08 || [[AssetID]] || '''shrapnelID''' || [[SHRP]]
|-
| 0x0C || [[AssetID]] || '''shrapnelhitID''' || [[SHRP]]
|-
| 0x10 || [[AssetID]] || '''soundgroupidleID''' || [[SGRP]]
|-
| 0x14 || [[AssetID]] || '''soundgroupfxID''' || [[SGRP]]
|-
| 0x18 || [[AssetID]] || '''soundgrouphitID''' || [[SGRP]]
|-
| 0x1C || [[AssetID]] || '''soundgroupfxIDswitch''' || [[SGRP]]
|-
| 0x20 || [[AssetID]] || '''soundgrouphitIDswitch''' || [[SGRP]]
|-
| 0x24 || [[AssetID]] || '''rumbleIDhit''' || {{SlashTrick|DYNA/effect:Rumble}}
|-
| 0x28 || [[AssetID]] || '''rumbleIDswitch''' || {{SlashTrick|DYNA/effect:Rumble}}
|-
| 0x2C || u32 || '''fx_flags''' ||
|}
===xDestructibleAssetAttachedAnimList===
<source lang=cpp>
struct xDestructibleAssetAttachedAnimList
{
unsigned int nanimations;
unsigned int* animationIDs;
};
</source>
{| class="wikitable"
! Offset !! Type !! Variable !! Description
|-
|
|-
|
|}
|