[IMaterial] Add mapping for fx materials

This commit is contained in:
momo5502 2017-04-20 21:27:38 +02:00
parent d86e9070de
commit 34df306212
3 changed files with 24 additions and 13 deletions

View File

@ -50,6 +50,10 @@ namespace Assets
"_add_lin", "_add_lin",
"_replace", "_replace",
"_eyeoffset", "_eyeoffset",
"_add",
"_blend",
"_blend_nofog",
}; };
if (!asset->techniqueSet) if (!asset->techniqueSet)

View File

@ -809,6 +809,9 @@ namespace Components
Utils::Hook::Nop(0x53D815, 2); Utils::Hook::Nop(0x53D815, 2);
#endif #endif
// Don't draw smodels
//Utils::Hook::Set<BYTE>(0x541E40, 0xC3);
// Restrict asset loading // Restrict asset loading
AssetHandler::OnLoad(Maps::LoadAssetRestrict); AssetHandler::OnLoad(Maps::LoadAssetRestrict);

View File

@ -2181,7 +2181,7 @@ namespace Game
const void *anonymous; const void *anonymous;
Material *material; Material *material;
XModel *xmodel; XModel *xmodel;
FxEffectDefRef *effectDef; FxEffectDefRef effectDef;
const char *soundName; const char *soundName;
}; };
@ -2204,21 +2204,18 @@ namespace Game
struct FxTrailVertex struct FxTrailVertex
{ {
/*
float pos[2]; float pos[2];
float normal[2]; float normal[2];
float texCoord[2]; float texCoord;
*/
char pad[20];
}; };
struct FxTrailDef struct FxTrailDef
{ {
int scrollTimeMsec; int scrollTimeMsec;
int repeatDist; int repeatDist;
float splitArcDist; float invSplitDist;
int splitDist; float invSplitArcDist;
int splitTime; float invSplitTime;
int vertCount; int vertCount;
FxTrailVertex *verts; FxTrailVertex *verts;
int indCount; int indCount;
@ -2316,11 +2313,13 @@ namespace Game
//If elemType is 0xB, then use markVisuals //If elemType is 0xB, then use markVisuals
//If elemType is not 0xB and visualCount == 1, then use visual //If elemType is not 0xB and visualCount == 1, then use visual
//If elemType is not 0xB and visualCount != 1, then use visualsArray //If elemType is not 0xB and visualCount != 1, then use visualsArray
// Those are probably bounds!
vec3_t collMins; vec3_t collMins;
vec3_t collMaxs; vec3_t collMaxs;
FxEffectDefRef *effectOnImpact; FxEffectDefRef effectOnImpact;
FxEffectDefRef *effectOnDeath; FxEffectDefRef effectOnDeath;
FxEffectDefRef *effectEmitted; FxEffectDefRef effectEmitted;
FxFloatRange emitDist; FxFloatRange emitDist;
FxFloatRange emitDistVariance; FxFloatRange emitDistVariance;
FxElemExtendedDef extendedDef; FxElemExtendedDef extendedDef;
@ -2329,7 +2328,8 @@ namespace Game
//If elemType != 3 && elemType != 6 use unknownBytes (size = 1) //If elemType != 3 && elemType != 6 use unknownBytes (size = 1)
char sortOrder; char sortOrder;
char lightingFrac; char lightingFrac;
char unused[2]; char useItemClip;
char unused[1];
}; };
struct FxEffectDef struct FxEffectDef
@ -2655,7 +2655,11 @@ namespace Game
struct G_GlassPiece struct G_GlassPiece
{ {
char pad[12]; unsigned __int16 damageTaken;
unsigned __int16 collapseTime;
int lastStateChangeTime;
char impactDir;
char impactPos[2];
}; };
struct G_GlassName struct G_GlassName