Added 'shadows' key to CBaseEntity.
This commit is contained in:
parent
9a5d0defac
commit
d25aead1a7
2 changed files with 33 additions and 2 deletions
|
@ -42,8 +42,16 @@ class CBaseEntity
|
|||
virtual void() Initialized;
|
||||
virtual void(string, string) SpawnKey;
|
||||
virtual void(float flChanged) ReadEntity;
|
||||
virtual float(void) predraw;
|
||||
};
|
||||
|
||||
float CBaseEntity::predraw(void)
|
||||
{
|
||||
frame1time += clframetime;
|
||||
addentity(this);
|
||||
return PREDRAW_NEXT;
|
||||
}
|
||||
|
||||
void CBaseEntity::ReadEntity(float flChanged)
|
||||
{
|
||||
if (flChanged & BASEFL_CHANGED_ORIGIN) {
|
||||
|
@ -78,6 +86,7 @@ void CBaseEntity::ReadEntity(float flChanged)
|
|||
maxs[2] = readcoord();
|
||||
}
|
||||
if (flChanged & BASEFL_CHANGED_FRAME) {
|
||||
frame1time = 0.0;
|
||||
frame = readbyte();
|
||||
}
|
||||
if (flChanged & BASEFL_CHANGED_SKIN) {
|
||||
|
@ -103,6 +112,11 @@ void CBaseEntity::ReadEntity(float flChanged)
|
|||
void CBaseEntity::SpawnKey(string strField, string strKey)
|
||||
{
|
||||
switch (strField) {
|
||||
case "shadows":
|
||||
if (stof(strKey) == 1) {
|
||||
effects &= ~EF_NOSHADOW;
|
||||
}
|
||||
break;
|
||||
case "targetname":
|
||||
targetname = strKey;
|
||||
break;
|
||||
|
@ -141,6 +155,7 @@ void CBaseEntity::SpawnKey(string strField, string strKey)
|
|||
|
||||
void CBaseEntity::Init(void)
|
||||
{
|
||||
effects |= EF_NOSHADOW;
|
||||
for (int i = 0; i < (tokenize(__fullspawndata) - 1); i += 2) {
|
||||
//dprint(sprintf("SpawnData: %s %s\n", argv(i), argv(i+1)));
|
||||
SpawnKey(argv(i), argv(i+1));
|
||||
|
|
|
@ -77,6 +77,10 @@ class CBaseEntity
|
|||
/* Make sure StartFrame calls this */
|
||||
float CBaseEntity::SendEntity(entity ePEnt, float fChanged)
|
||||
{
|
||||
if (!modelindex) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
WriteByte(MSG_ENTITY, ENT_ENTITY);
|
||||
WriteFloat(MSG_ENTITY, fChanged);
|
||||
|
||||
|
@ -201,7 +205,11 @@ void CBaseEntity :: CBaseEntity ( void )
|
|||
|
||||
gflags |= GF_CANRESPAWN;
|
||||
m_oldModel = Util_FixModel(model);
|
||||
precache_model(m_oldModel);
|
||||
|
||||
if (m_oldModel != "") {
|
||||
precache_model(m_oldModel);
|
||||
}
|
||||
|
||||
m_oldSolid = solid;
|
||||
m_oldHealth = health;
|
||||
m_oldOrigin = origin;
|
||||
|
@ -211,6 +219,11 @@ void CBaseEntity :: CBaseEntity ( void )
|
|||
int nfields = tokenize( __fullspawndata );
|
||||
for ( int i = 1; i < ( nfields - 1 ); i += 2 ) {
|
||||
switch ( argv( i ) ) {
|
||||
case "shadows":
|
||||
if (stof(argv( i + 1 )) == 1) {
|
||||
effects &= ~EF_NOSHADOW;
|
||||
}
|
||||
break;
|
||||
case "targetname":
|
||||
m_strTargetName = argv( i + 1 );
|
||||
targetname = __NULL__;
|
||||
|
@ -268,7 +281,10 @@ void CBaseEntity :: Respawn ( void )
|
|||
origin = m_oldOrigin;
|
||||
angles = m_oldAngle;
|
||||
setorigin( this, origin );
|
||||
setmodel( this, model );
|
||||
|
||||
if (model != "") {
|
||||
setmodel(this, model);
|
||||
}
|
||||
}
|
||||
|
||||
void CBaseEntity :: Hide ( void )
|
||||
|
|
Loading…
Reference in a new issue