FX Map Asset: Difference between revisions
m CraigChrist8239 moved page FX Map Asset (MW2) to FX Map Asset without leaving a redirect: Little changed throughout the games. |
No edit summary |
||
| Line 1: | Line 1: | ||
__NOTOC__ | |||
The fx_map asset is a new addition to Modern Warfare 2, and only exists on Infinity Ward games from then on. | [[Category:Assets]] | ||
[[Category:MW2]] | |||
[[Category:MW3]] | |||
[[Category:Ghosts]] | |||
The fx_map asset is a new addition to Modern Warfare 2, and only exists on Infinity Ward games from then on. It is part of the D3DBSP system produced by Radiant. Although it appears to have changed very little throughout the series, there is virtually no known information about it. | |||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
struct | struct GlassPane | ||
{ | { | ||
char unknown1[0x18]; | char unknown1[0x18]; | ||
Material * | Material * glassMaterial; | ||
Material * | Material * glassSpiderwebMaterial; | ||
PhysPreset * | PhysPreset * glassChunkPhysics; | ||
#ifdef Ghosts | |||
FxEffectDef * shatterPiece; | |||
FxEffectDef * shatterLargeFx; | |||
FxEffectDef * shatterSmallFx; | |||
FxEffectDef * unknownFx4; | |||
snd_alias_list_name shatterSound; | |||
snd_alias_list_name blowoutSound; | |||
snd_alias_list_name breakoutSound; | |||
char unknown3[8]; | |||
#endif | |||
char unknown2[8]; | char unknown2[8]; | ||
}; | }; | ||
| Line 14: | Line 28: | ||
{ | { | ||
char unknown1[8]; | char unknown1[8]; | ||
unsigned int | unsigned int glassCount; | ||
unsigned int unknownCount2; | unsigned int unknownCount2; | ||
unsigned int unknownCount3; | unsigned int unknownCount3; | ||
| Line 23: | Line 37: | ||
int unknown6; | int unknown6; | ||
unsigned int unknownCount6; | unsigned int unknownCount6; | ||
GlassPane * glasses; | |||
char * unknown3; //Size = unknownCount2 << 5 | char * unknown3; //Size = unknownCount2 << 5 | ||
char * unknown4; //Size = unknownCount2 << 5 | char * unknown4; //Size = unknownCount2 << 5 | ||
| Line 34: | Line 48: | ||
char * unknownC; //Size = ((unknownCount2 + 3) << 2) & 0xFFFFFFF0 | char * unknownC; //Size = ((unknownCount2 + 3) << 2) & 0xFFFFFFF0 | ||
unsigned short unknownD; //Count = unknownCount4; | unsigned short unknownD; //Count = unknownCount4; | ||
#ifdef Ghosts | |||
char * unknownE; //Size = unknownCount4 * 0x38 | |||
#else | |||
char * unknownE; //Size = unknownCount4 * 0x34 | char * unknownE; //Size = unknownCount4 * 0x34 | ||
#endif | |||
char * unknownF; //Size = unknownCount6 << 2 | char * unknownF; //Size = unknownCount6 << 2 | ||
char unknown10[0xC]; | char unknown10[0xC]; | ||
Revision as of 18:18, 14 February 2014
The fx_map asset is a new addition to Modern Warfare 2, and only exists on Infinity Ward games from then on. It is part of the D3DBSP system produced by Radiant. Although it appears to have changed very little throughout the series, there is virtually no known information about it.
struct GlassPane
{
char unknown1[0x18];
Material * glassMaterial;
Material * glassSpiderwebMaterial;
PhysPreset * glassChunkPhysics;
#ifdef Ghosts
FxEffectDef * shatterPiece;
FxEffectDef * shatterLargeFx;
FxEffectDef * shatterSmallFx;
FxEffectDef * unknownFx4;
snd_alias_list_name shatterSound;
snd_alias_list_name blowoutSound;
snd_alias_list_name breakoutSound;
char unknown3[8];
#endif
char unknown2[8];
};
struct FxWorld
{
char unknown1[8];
unsigned int glassCount;
unsigned int unknownCount2;
unsigned int unknownCount3;
unsigned int unknownCount4;
unsigned int unknownCount5;
char unknown2[8];
unsigned int unknownCount7;
int unknown6;
unsigned int unknownCount6;
GlassPane * glasses;
char * unknown3; //Size = unknownCount2 << 5
char * unknown4; //Size = unknownCount2 << 5
char * unknown5; //Size = ((unknownCount2 << 3) + unknownCount2) << 2
char * unknown7; //Size = unknownCount7 << 2
unsigned int * unknown8; //Count = unknownCount3
unsigned int * unknown9; //Count = unknownCount3 * unknownCount5
unsigned __int16 * unknownA; //Total size = (unknownCount2 + 0xF) & 0xFF
char * unknownB; //Size = ((unknownCount2 << 1) + unknownCount2) << 2
char * unknownC; //Size = ((unknownCount2 + 3) << 2) & 0xFFFFFFF0
unsigned short unknownD; //Count = unknownCount4;
#ifdef Ghosts
char * unknownE; //Size = unknownCount4 * 0x38
#else
char * unknownE; //Size = unknownCount4 * 0x34
#endif
char * unknownF; //Size = unknownCount6 << 2
char unknown10[0xC];
};
struct FxMap
{
const char * name;
FxWorld surfaces;
};