env_muzzleflash: add a hack to force additive rendering (HL1...)
This commit is contained in:
parent
ba6f788ab8
commit
31ed19cb47
1 changed files with 32 additions and 1 deletions
|
@ -59,6 +59,7 @@ private:
|
||||||
string m_strModel;
|
string m_strModel;
|
||||||
string m_strParticle;
|
string m_strParticle;
|
||||||
entity m_eMuzzler; /* lol */
|
entity m_eMuzzler; /* lol */
|
||||||
|
bool m_forceAdditive;
|
||||||
};
|
};
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -70,6 +71,7 @@ env_muzzleflash::env_muzzleflash(void)
|
||||||
m_strParticle = __NULL__;
|
m_strParticle = __NULL__;
|
||||||
m_eMuzzler = __NULL__;
|
m_eMuzzler = __NULL__;
|
||||||
scale = 1.0f;
|
scale = 1.0f;
|
||||||
|
m_forceAdditive = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef SERVER
|
#ifdef SERVER
|
||||||
|
@ -83,6 +85,7 @@ env_muzzleflash::Save(float handle)
|
||||||
SaveString(handle, "m_strModel", m_strModel);
|
SaveString(handle, "m_strModel", m_strModel);
|
||||||
SaveString(handle, "m_strParticle", m_strParticle);
|
SaveString(handle, "m_strParticle", m_strParticle);
|
||||||
SaveEntity(handle, "m_eMuzzler", m_eMuzzler);
|
SaveEntity(handle, "m_eMuzzler", m_eMuzzler);
|
||||||
|
SaveBool(handle, "m_forceAdditive", m_forceAdditive);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -107,6 +110,9 @@ env_muzzleflash::Restore(string strKey, string strValue)
|
||||||
case "m_eMuzzler":
|
case "m_eMuzzler":
|
||||||
m_eMuzzler = ReadEntity(strValue);
|
m_eMuzzler = ReadEntity(strValue);
|
||||||
break;
|
break;
|
||||||
|
case "m_forceAdditive":
|
||||||
|
m_forceAdditive = ReadBool(strValue);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
super::Restore(strKey, strValue);
|
super::Restore(strKey, strValue);
|
||||||
}
|
}
|
||||||
|
@ -131,6 +137,9 @@ env_muzzleflash::SpawnKey(string keyName, string setValue)
|
||||||
case "model":
|
case "model":
|
||||||
model = ReadString(setValue);
|
model = ReadString(setValue);
|
||||||
break;
|
break;
|
||||||
|
case "additive":
|
||||||
|
m_forceAdditive = ReadBool(setValue);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
super::SpawnKey(keyName, setValue);
|
super::SpawnKey(keyName, setValue);
|
||||||
break;
|
break;
|
||||||
|
@ -196,7 +205,11 @@ env_muzzleflash::predraw(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
setorigin(this, muzzlePos);
|
setorigin(this, muzzlePos);
|
||||||
// effects = EF_ADDITIVE;
|
|
||||||
|
if (m_forceAdditive) {
|
||||||
|
effects = EF_ADDITIVE;
|
||||||
|
}
|
||||||
|
|
||||||
angles = m_eOwner.angles;
|
angles = m_eOwner.angles;
|
||||||
addentity(this);
|
addentity(this);
|
||||||
alpha -= frametime * 16.0f;
|
alpha -= frametime * 16.0f;
|
||||||
|
@ -246,6 +259,24 @@ EV_MuzzleFlash_Create(entity muzzleOwner, int attachmentID, float muzzleScale, i
|
||||||
tempMuzzle.drawmask = MASK_GLOWS;
|
tempMuzzle.drawmask = MASK_GLOWS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
EV_MuzzleFlash_CreateAdditive(entity muzzleOwner, int attachmentID, float muzzleScale, int muzzleModel)
|
||||||
|
{
|
||||||
|
env_muzzleflash tempMuzzle = spawn(env_muzzleflash);
|
||||||
|
|
||||||
|
tempMuzzle.m_eOwner = (ncRenderableEntity)muzzleOwner;
|
||||||
|
tempMuzzle.m_iAttachment = attachmentID;
|
||||||
|
tempMuzzle.scale = muzzleScale;
|
||||||
|
tempMuzzle.alpha = 1.0f;
|
||||||
|
tempMuzzle.modelindex = muzzleModel;
|
||||||
|
tempMuzzle.m_forceAdditive = true;
|
||||||
|
setmodel(tempMuzzle, modelnameforindex(muzzleModel));
|
||||||
|
|
||||||
|
setorigin(tempMuzzle, tempMuzzle.m_eOwner.origin);
|
||||||
|
setsize(tempMuzzle, [0,0,0], [0,0,0]);
|
||||||
|
tempMuzzle.drawmask = MASK_GLOWS;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
EV_MuzzleFlash_CreateAtPos(entity muzzleOwner, vector pos, float muzzleScale, int muzzleModel)
|
EV_MuzzleFlash_CreateAtPos(entity muzzleOwner, vector pos, float muzzleScale, int muzzleModel)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue