CBaseEntity: Got rid of all the net_ attributes (except origin, angles)

which should give us a lil boost since we no longer need to save that
much mem.
This commit is contained in:
Marco Cawthorne 2020-04-22 23:33:18 +02:00
parent 61ea2dfe6c
commit d0ec99b5b1
60 changed files with 414 additions and 404 deletions

View File

@ -18,25 +18,18 @@ class CBaseEntity
{
string m_strTarget;
string m_strTargetName;
int m_iBody;
/* respawn */
string m_oldModel;
float m_oldSolid;
float m_oldHealth;
vector m_oldOrigin;
vector m_oldAngle;
int m_iBody;
int oldnet_body;
vector oldnet_origin;
vector oldnet_angles;
float oldnet_modelindex;
vector oldnet_mins;
vector oldnet_maxs;
float oldnet_solid;
float oldnet_movetype;
float oldnet_frame;
float oldnet_skin;
float oldnet_effects;
/* keep track of these variables */
vector net_origin;
vector net_angles;
#ifdef GS_RENDERFX
int m_iRenderFX;
@ -44,12 +37,11 @@ class CBaseEntity
float m_flRenderAmt;
vector m_vecRenderColor;
int m_spawn_iRenderFX;
float m_spawn_iRenderMode;
float m_spawn_flRenderAmt;
vector m_spawn_vecRenderColor;
#else
float oldnet_alpha;
/* respawn */
int m_oldiRenderFX;
float m_oldiRenderMode;
float m_oldflRenderAmt;
vector m_oldvecRenderColor;
#endif
string m_parent;
@ -62,6 +54,18 @@ class CBaseEntity
virtual void(int iHitBody) Pain;
virtual void(int iHitBody) Death;
virtual void(float) SetEffects;
virtual void(float) SetFrame;
virtual void(string) SetModel;
virtual void(float) SetModelindex;
virtual void(float) SetMovetype;
virtual void(float) SetSkin;
virtual void(float) SetSolid;
virtual void(int) SetBody;
virtual void(vector) SetAngles;
virtual void(vector) SetOrigin;
virtual void(vector, vector) SetSize;
#ifdef GS_RENDERFX
virtual void(int) SetRenderFX;
virtual void(float) SetRenderMode;
@ -70,28 +74,141 @@ class CBaseEntity
#endif
};
/* we want to really use those set functions because they'll notify of any
* networking related changes. otherwise we'll have to keep track of copies
* that get updated every frame */
void
CBaseEntity::SetEffects(float newEffects)
{
if (newEffects == effects)
return;
effects = newEffects;
SendFlags |= BASEFL_CHANGED_EFFECTS;
}
void
CBaseEntity::SetFrame(float newFrame)
{
if (newFrame == frame)
return;
frame = newFrame;
SendFlags |= BASEFL_CHANGED_FRAME;
}
void
CBaseEntity::SetModel(string newModel)
{
model = newModel;
setmodel(this, newModel);
SendFlags |= BASEFL_CHANGED_MODELINDEX;
}
void
CBaseEntity::SetModelindex(float newModelIndex)
{
if (newModelIndex == modelindex)
return;
modelindex = newModelIndex;
SendFlags |= BASEFL_CHANGED_MODELINDEX;
}
void
CBaseEntity::SetMovetype(float newMovetype)
{
if (newMovetype == movetype)
return;
movetype = newMovetype;
SendFlags |= BASEFL_CHANGED_MOVETYPE;
}
void
CBaseEntity::SetSkin(float newSkin)
{
if (newSkin == skin)
return;
skin = newSkin;
SendFlags |= BASEFL_CHANGED_SKIN;
}
void
CBaseEntity::SetSolid(float newSolid)
{
if (newSolid == solid)
return;
solid = newSolid;
SendFlags |= BASEFL_CHANGED_SOLID;
}
void
CBaseEntity::SetBody(int newBody)
{
if (newBody == m_iBody)
return;
m_iBody = newBody;
SendFlags |= BASEFL_CHANGED_BODY;
}
void
CBaseEntity::SetAngles(vector newAngles)
{
if (newAngles == angles)
return;
angles = newAngles;
SendFlags |= BASEFL_CHANGED_ANGLES;
}
void
CBaseEntity::SetSize(vector newMins, vector newMaxs)
{
if (newMins == mins && newMaxs == maxs)
return;
setsize(this, newMins, newMaxs);
SendFlags |= BASEFL_CHANGED_SIZE;
}
void
CBaseEntity::SetOrigin(vector newOrigin)
{
if (newOrigin == origin)
return;
setorigin(this, newOrigin);
SendFlags |= BASEFL_CHANGED_ORIGIN;
}
#ifdef GS_RENDERFX
void
CBaseEntity::SetRenderFX(int newFX)
{
if (newFX == m_iRenderFX)
return;
m_iRenderFX = newFX;
SendFlags |= BASEFL_CHANGED_RENDERFX;
}
void
CBaseEntity::SetRenderMode(float newMode)
{
if (newMode == m_iRenderMode)
return;
m_iRenderMode = newMode;
SendFlags |= BASEFL_CHANGED_RENDERMODE;
}
void
CBaseEntity::SetRenderAmt(float newAmt)
{
if (newAmt == m_flRenderAmt)
return;
m_flRenderAmt = newAmt;
SendFlags |= BASEFL_CHANGED_RENDERAMT;
}
void
CBaseEntity::SetRenderColor(vector newColor)
{
if (newColor == m_vecRenderColor)
return;
m_vecRenderColor = newColor;
SendFlags |= BASEFL_CHANGED_RENDERCOLOR;
}
@ -189,59 +306,16 @@ CBaseEntity::Death(int body)
void
CBaseEntity::ParentUpdate(void)
{
/* Check our fields for networking */
if (origin != oldnet_origin) {
/* while the engine is still handling physics for these, we can't
* predict when origin/angle might change */
if (net_origin != origin) {
net_origin = origin;
SendFlags |= BASEFL_CHANGED_ORIGIN;
oldnet_origin = origin;
}
if (angles != oldnet_angles) {
if (net_angles != angles) {
net_angles = angles;
SendFlags |= BASEFL_CHANGED_ANGLES;
oldnet_angles = angles;
}
if (modelindex != oldnet_modelindex) {
SendFlags |= BASEFL_CHANGED_MODELINDEX;
oldnet_modelindex = modelindex;
}
if (mins != oldnet_mins) {
SendFlags |= BASEFL_CHANGED_SIZE;
oldnet_mins = mins;
}
if (maxs != oldnet_maxs) {
SendFlags |= BASEFL_CHANGED_SIZE;
oldnet_maxs = maxs;
}
if (solid != oldnet_solid) {
SendFlags |= BASEFL_CHANGED_SOLID;
oldnet_solid = solid;
}
if (movetype != oldnet_movetype) {
SendFlags |= BASEFL_CHANGED_MOVETYPE;
oldnet_movetype = movetype;
}
if (frame != oldnet_frame) {
SendFlags |= BASEFL_CHANGED_FRAME;
oldnet_frame = frame;
}
if (skin != oldnet_skin) {
SendFlags |= BASEFL_CHANGED_SKIN;
oldnet_skin = skin;
}
if (effects != oldnet_effects) {
SendFlags |= BASEFL_CHANGED_EFFECTS;
oldnet_effects = effects;
}
if (m_iBody != oldnet_body) {
SendFlags |= BASEFL_CHANGED_BODY;
oldnet_body = m_iBody;
}
#ifdef GS_RENDERFX
#else
if (alpha != oldnet_alpha) {
SendFlags |= BASEFL_CHANGED_ALPHA;
oldnet_alpha = alpha;
}
#endif
if (m_parent) {
entity p = find(world, CBaseEntity::m_strTargetName, m_parent);
@ -250,7 +324,7 @@ CBaseEntity::ParentUpdate(void)
return;
}
setorigin(this, p.origin);
SetOrigin(p.origin);
}
}
@ -265,8 +339,6 @@ CBaseEntity::CBaseEntity(void)
}
}
m_flRenderAmt = 1.0f;
gflags = GF_CANRESPAWN;
effects |= EF_NOSHADOW;
@ -282,6 +354,9 @@ CBaseEntity::CBaseEntity(void)
case "solid":
solid = stof(argv(i+1));
break;
case "health":
health = stof(argv(i+1));
break;
case "shadows":
if (stof(argv(i+1)) == 1) {
effects &= ~EF_NOSHADOW;
@ -297,27 +372,21 @@ CBaseEntity::CBaseEntity(void)
break;
case "color":
m_vecRenderColor = stov(argv(i+1));
m_spawn_vecRenderColor = stov(argv(i+1));
break;
case "alpha":
m_flRenderAmt = stof(argv(i+1));
m_spawn_flRenderAmt = stof(argv(i+1));
break;
case "renderamt":
m_flRenderAmt = stof(argv(i+1)) / 255;
m_spawn_flRenderAmt = stof(argv(i+1)) / 255;
break;
case "rendercolor":
m_vecRenderColor = stov(argv(i+1)) / 255;
m_spawn_vecRenderColor = stov(argv(i+1)) / 255;
break;
case "rendermode":
m_iRenderMode = stoi(argv(i+1));
m_spawn_iRenderMode = stoi(argv(i+1));
break;
case "renderfx":
m_iRenderFX = stoi(argv(i+1));
m_spawn_iRenderFX = stoi(argv(i+1));
break;
case "parentname":
m_parent = argv(i+1);
@ -330,45 +399,45 @@ CBaseEntity::CBaseEntity(void)
}
}
m_oldAngle = angles;
m_oldOrigin = origin;
m_oldSolid = solid;
m_oldHealth = health;
m_oldModel = Util_FixModel(model);
m_oldiRenderFX = m_iRenderFX;
m_oldiRenderMode = m_iRenderMode;
m_oldvecRenderColor = m_vecRenderColor;
m_oldflRenderAmt = m_flRenderAmt;
m_oldvecRenderColor = m_vecRenderColor;
m_oldflRenderAmt = m_flRenderAmt;
if (m_oldModel != "") {
precache_model(m_oldModel);
}
m_oldSolid = solid;
m_oldHealth = health;
m_oldOrigin = origin;
m_oldAngle = angles;
}
void
CBaseEntity::Respawn(void)
{
model = m_oldModel;
solid = m_oldSolid;
health = m_oldHealth;
origin = m_oldOrigin;
angles = m_oldAngle;
SetModel(m_oldModel);
SetSolid(m_oldSolid);
SetAngles(m_oldAngle);
SetOrigin(m_oldOrigin);
m_iRenderFX = m_spawn_iRenderFX;
m_iRenderMode = m_spawn_iRenderMode;
m_flRenderAmt = m_spawn_flRenderAmt;
m_vecRenderColor = m_spawn_vecRenderColor;
setorigin(this, origin);
if (model != "") {
setmodel(this, model);
}
#ifdef GS_RENDERFX
SetRenderFX(m_oldiRenderFX);
SetRenderMode(m_oldiRenderMode);
SetRenderAmt(m_oldflRenderAmt);
SetRenderColor(m_oldvecRenderColor);
#endif
}
void
CBaseEntity::Hide(void)
{
setmodel(this, "");
modelindex = 0;
solid = SOLID_NOT;
movetype = MOVETYPE_NONE;
SetModelindex(0);
SetSolid(SOLID_NOT);
SetMovetype(MOVETYPE_NONE);
takedamage = DAMAGE_NO;
}

View File

@ -293,11 +293,12 @@ CBaseMonster::Physics(void)
/* override whatever we did above with this */
if (m_iSequenceState == SEQUENCESTATE_ENDING) {
input_angles = angles = v_angle = m_vecSequenceAngle;
frame = m_flSequenceEnd;
SetFrame(m_flSequenceEnd);
} else if (movetype == MOVETYPE_WALK) {
CheckRoute();
WalkRoute();
runstandardplayerphysics(this);
SetOrigin(origin);
IdleNoise();
if (style != MONSTER_DEAD) {
@ -307,11 +308,11 @@ CBaseMonster::Physics(void)
float spvel = vlen(velocity);
if (spvel < 5) {
frame = AnimIdle();
SetFrame(AnimIdle());
} else if (spvel <= 140) {
frame = AnimWalk();
SetFrame(AnimWalk());
} else if (spvel <= 240) {
frame = AnimRun();
SetFrame(AnimRun());
}
}
}
@ -364,17 +365,17 @@ CBaseMonster::Death(int iHitBody)
flags &= ~FL_MONSTER;
/* gibbing action */
movetype = MOVETYPE_NONE;
solid = SOLID_CORPSE;
style = MONSTER_DEAD;
SetSolid(SOLID_CORPSE);
SetMovetype(MOVETYPE_NONE);
}
void
CBaseMonster::Hide(void)
{
setmodel(this, "");
solid = SOLID_NOT;
movetype = MOVETYPE_NONE;
SetModelindex(0);
SetSolid(SOLID_NOT);
SetMovetype(MOVETYPE_NONE);
customphysics = __NULL__;
}
@ -385,9 +386,6 @@ CBaseMonster::Respawn(void)
v_angle[1] = Math_FixDelta(m_oldAngle[1]);
v_angle[2] = Math_FixDelta(m_oldAngle[2]);
flags |= FL_MONSTER;
angles = v_angle;
solid = SOLID_SLIDEBOX;
movetype = MOVETYPE_WALK;
takedamage = DAMAGE_YES;
iBleeds = TRUE;
customphysics = Physics;
@ -396,9 +394,14 @@ CBaseMonster::Respawn(void)
SendFlags = 0xff;
style = MONSTER_IDLE;
health = base_health;
setmodel(this, m_oldModel);
setsize(this, base_mins, base_maxs);
setorigin(this, m_oldOrigin);
SetAngles(v_angle);
SetSolid(SOLID_SLIDEBOX);
SetMovetype(MOVETYPE_WALK);
SetModel(m_oldModel);
SetSize(base_mins, base_maxs);
SetOrigin(m_oldOrigin);
droptofloor();
}

View File

@ -448,7 +448,7 @@ CBaseNPC::Physics(void)
/* override whatever we did above with this */
if (m_iSequenceState == SEQUENCESTATE_ENDING) {
input_angles = angles = v_angle = m_vecSequenceAngle;
frame = m_flSequenceEnd;
SetFrame(m_flSequenceEnd);
} else {
if (style != MONSTER_DEAD) {
TalkPlayerGreet();
@ -473,11 +473,11 @@ CBaseNPC::Physics(void)
spvel = vlen(velocity);
if (spvel < 5) {
frame = AnimIdle();
SetFrame(AnimIdle());
} else if (spvel <= 140) {
frame = AnimWalk();
SetFrame(AnimWalk());
} else if (spvel <= 240) {
frame = AnimRun();
SetFrame(AnimRun());
}
}
}
@ -485,6 +485,7 @@ CBaseNPC::Physics(void)
WalkRoute();
runstandardplayerphysics(this);
Footsteps_Update();
SetOrigin(origin);
}
if (!(flags & FL_ONGROUND) && velocity[2] < -100) {

View File

@ -98,8 +98,8 @@ CBasePhysics::Respawn(void)
movetype = MOVETYPE_PHYSICS;
solid = SOLID_PHYSICS_BOX + m_iShape;
geomtype = GEOMTYPE_BOX;
setmodel(this, m_oldModel);
setorigin(this, m_oldOrigin);
SetModel(m_oldModel);
SetOrigin(m_oldOrigin);
physics_enable(this, TRUE);
takedamage = DAMAGE_YES;
health = 100000;
@ -114,8 +114,8 @@ CBasePhysics::Respawn(void)
#else
movetype = MOVETYPE_NONE;
solid = SOLID_BBOX;
setmodel(this, m_oldModel);
setorigin(this, m_oldOrigin);
SetModel(m_oldModel);
SetOrigin(m_oldOrigin);
#endif
effects &= ~EF_NOSHADOW;
}

View File

@ -130,7 +130,7 @@ CBaseTrigger::InitPointTrigger(void)
void
CBaseTrigger::InitBrushTrigger(void)
{
setmodel(this, m_oldModel);
SetModel(m_oldModel);
movetype = MOVETYPE_NONE;
solid = SOLID_BSPTRIGGER;
SetRenderMode(RM_TRIGGER);

View File

@ -134,8 +134,8 @@ float env_laser::SendEntity(entity ePEnt, float fChanged)
void env_laser::ParentUpdate(void)
{
/* Check our fields for networking */
if (origin != oldnet_origin) {
/* FIXME: Check our fields for networking */
/*if (origin != oldnet_origin) {
SendFlags |= ENVLASER_CHANGED_ORIGIN;
SendFlags |= ENVLASER_CHANGED_ANGLES;
SendFlags |= ENVLASER_CHANGED_STATE;
@ -155,7 +155,7 @@ void env_laser::ParentUpdate(void)
SendFlags |= ENVLASER_CHANGED_STATE;
SendFlags |= ENVLASER_CHANGED_TEXTURE;
m_iStateOld = m_iState;
}
}*/
if (m_parent) {
entity p = find(world, CBaseEntity::m_strTargetName, m_parent);
@ -164,7 +164,7 @@ void env_laser::ParentUpdate(void)
return;
}
setorigin(this, p.origin);
SetOrigin(p.origin);
}
}

View File

@ -210,16 +210,16 @@ void func_breakable::Respawn(void)
{
CBaseEntity::Respawn();
movetype = MOVETYPE_NONE;
SetMovetype(MOVETYPE_NONE);
if (spawnflags & SF_ISMODEL) {
solid = SOLID_BBOX;
SetSolid(SOLID_BBOX);
} else {
solid = SOLID_BSP;
SetSolid(SOLID_BSP);
}
setmodel(this, m_oldModel);
setorigin(this, m_oldOrigin);
SetModel(m_oldModel);
SetOrigin(m_oldOrigin);
touch = PlayerTouch;
think = __NULL__;
@ -251,7 +251,7 @@ void func_breakable::func_breakable(void)
vector realorg;
// hack, gotta get the world pos */
solid = SOLID_BSP;
setmodel(this, model);
SetModel(model);
realorg[0] = absmin[0] + (0.5 * (absmax[0] - absmin[0]));
realorg[1] = absmin[1] + (0.5 * (absmax[1] - absmin[1]));
realorg[2] = absmin[2] + (0.5 * (absmax[2] - absmin[2]));
@ -280,5 +280,5 @@ void func_breakable::func_breakable(void)
}
}
angles = vvm_angles;
SetAngles(vvm_angles);
}

View File

@ -155,7 +155,7 @@ void func_button::Returned(void)
}
m_iState = STATE_LOWERED;
frame = FRAME_OFF;
SetFrame(FRAME_OFF);
}
void func_button::MoveBack(void)
@ -196,8 +196,8 @@ void func_button::MoveAway(void)
} else {
Arrived();
}
frame = FRAME_ON;
SetFrame(FRAME_ON);
}
void func_button::Trigger(void)
@ -287,7 +287,7 @@ void func_button::SetMovementDirection(void)
void func_button::MoveToDestination_End(void)
{
setorigin(this, m_vecDest);
SetOrigin(m_vecDest);
velocity = [0,0,0];
nextthink = -1;
m_pMove();
@ -330,10 +330,11 @@ void func_button::Respawn(void)
{
SetMovementDirection();
solid = SOLID_BSP;
movetype = MOVETYPE_PUSH;
setorigin(this, m_oldOrigin);
setmodel(this, m_oldModel);
SetSolid(SOLID_BSP);
SetMovetype(MOVETYPE_PUSH);
SetOrigin(m_oldOrigin);
SetModel(m_oldModel);
blocked = Blocked;
velocity = [0,0,0];
nextthink = -1;
@ -364,7 +365,7 @@ void func_button::Respawn(void)
}
m_iState = STATE_LOWERED;
angles = [0,0,0];
SetAngles([0,0,0]);
}
void func_button::func_button(void)

View File

@ -29,11 +29,12 @@ class func_conveyor:func_wall
{
float m_flSpeed;
vector m_vecMoveDir;
void(void) func_conveyor;
virtual void(void) Trigger;
virtual void(void) touch;
virtual void(void) SetMovementDirection;
virtual void(float) UpdateSpeed;
};
void func_conveyor::SetMovementDirection(void)
@ -50,33 +51,15 @@ void func_conveyor::SetMovementDirection(void)
angles = [0,0,0];
}
// HACKHACK -- This is ugly, but encode the speed in the rendercolor to avoid adding more data to the network stream
void func_conveyor::UpdateSpeed(float flSpeed)
{
// Encode it as an integer with 4 fractional bits
/*int speedCode = (int)(fabs(flSpeed) * 16.0f);
if (flSpeed < 0) {
pev->rendercolor.x = 1;
} else {
pev->rendercolor.x = 0;
}
pev->rendercolor.y = (speedCode >> 8);
pev->rendercolor.z = (speedCode & 0xFF);*/
}
void func_conveyor::touch(void)
{
//other.basevelocity = m_vecMoveDir * m_flSpeed;
other.basevelocity = m_vecMoveDir * m_flSpeed;
}
void func_conveyor::Trigger(void)
{
m_flSpeed = -m_flSpeed;
UpdateSpeed(m_flSpeed);
/* changes direction */
m_flSpeed = -m_flSpeed;
}
void func_conveyor::func_conveyor(void)
@ -84,19 +67,16 @@ void func_conveyor::func_conveyor(void)
SetMovementDirection();
func_wall::func_wall();
/* TODO: Apply some effect flag the engine handles? */
if (!(spawnflags & SF_CONVEYOR_VISUAL)) {
//SetBits(pev->flags, FL_CONVEYOR);
}
// HACKHACK - This is to allow for some special effects
if (spawnflags & SF_CONVEYOR_NOTSOLID) {
solid = SOLID_NOT;
skin = 0;
SetSolid(SOLID_NOT);
SetSkin(0);
}
if (m_flSpeed == 0) {
m_flSpeed = 100;
}
UpdateSpeed(m_flSpeed);
}

View File

@ -252,7 +252,7 @@ void func_door::SetMovementDirection(void)
void func_door::MoveToDestination_End(void)
{
setorigin(this, m_vecDest);
SetOrigin(m_vecDest);
velocity = [0,0,0];
nextthink = -1;
m_pMove();
@ -296,21 +296,19 @@ void func_door::MoveToDestination(vector vecDest, void(void) func)
void func_door::Respawn(void)
{
/* reset */
origin = m_oldOrigin;
angles = m_oldAngle;
m_vecPos1 = [0,0,0];
m_vecPos2 = [0,0,0];
m_vecDest = [0,0,0];
m_vecMoveDir = [0,0,0];
/* angles to vecMoveDir */
angles = m_oldAngle;
SetMovementDirection();
SetSolid(SOLID_BSP);
SetMovetype(MOVETYPE_PUSH);
SetModel(m_oldModel);
SetOrigin(m_oldOrigin);
blocked = Blocked;
solid = SOLID_BSP;
movetype = MOVETYPE_PUSH;
setmodel(this, model);
setorigin(this, origin);
think = __NULL__;
nextthink = 0;
m_pMove = 0;
@ -340,7 +338,7 @@ void func_door::Respawn(void)
m_vecPos2 = (m_vecPos1 + m_vecMoveDir * (fabs(m_vecMoveDir * size) - m_flLip));
if (spawnflags & SF_MOV_OPEN) {
setorigin(this, m_vecPos2);
SetOrigin(m_vecPos2);
m_vecPos2 = m_vecPos1;
m_vecPos1 = origin;
}
@ -348,7 +346,8 @@ void func_door::Respawn(void)
if (m_strTargetName) {
m_iLocked = TRUE;
}
angles = [0,0,0];
SetAngles([0,0,0]);
}
void func_door::func_door(void)

View File

@ -82,8 +82,8 @@ void func_door_rotating::Unhinge(void)
{
takedamage = DAMAGE_NO;
touch = think = __NULL__;
solid = SOLID_PHYSICS_BOX;
movetype = MOVETYPE_PHYSICS;
SetSolid(SOLID_PHYSICS_BOX);
SetMovetype(MOVETYPE_PHYSICS);
physics_enable(this, TRUE);
}
#endif
@ -272,7 +272,7 @@ void func_door_rotating::SetMovementDirection(void)
void func_door_rotating::RotToDest_End(void)
{
angles = m_vecDest;
SetAngles(m_vecDest);
avelocity = [0,0,0];
nextthink = -1;
m_pMove();
@ -309,10 +309,10 @@ void func_door_rotating::Respawn(void)
Death = func_door_rotating::Unhinge;
#endif
solid = SOLID_BSP;
movetype = MOVETYPE_PUSH;
setmodel(this, m_oldModel);
setorigin(this, m_oldOrigin);
SetSolid(SOLID_BSP);
SetMovetype(MOVETYPE_PUSH);
SetModel(m_oldModel);
SetOrigin(m_oldOrigin);
think = __NULL__;
nextthink = 0;
m_pMove = 0;
@ -345,14 +345,14 @@ void func_door_rotating::Respawn(void)
}
if (spawnflags & SF_ROT_PASSABLE) {
solid = SOLID_NOT;
SetSolid(SOLID_NOT);
}
if (m_strTargetName) {
m_iLocked = TRUE;
}
angles = m_vecPos1;
SetAngles(m_vecPos1);
}
void func_door_rotating::func_door_rotating(void)

View File

@ -141,10 +141,10 @@ void func_guntarget::Trigger(void)
void func_guntarget::Respawn(void)
{
solid = SOLID_BSP;
movetype = MOVETYPE_PUSH;
setmodel(this, m_oldModel);
setorigin(this, m_oldOrigin);
SetSolid(SOLID_BSP);
SetMovetype(MOVETYPE_PUSH);
SetModel(m_oldModel);
SetOrigin(m_oldOrigin);
if (spawnflags & SF_GUNTARGET_ON) {
think = Trigger;

View File

@ -111,8 +111,8 @@ void func_healthcharger::func_healthcharger(void)
precache_sound(m_strSndCharging);
precache_sound(m_strSndDone);
solid = SOLID_BSP;
movetype = MOVETYPE_PUSH;
setorigin(this, origin);
setmodel(this, model);
SetSolid(SOLID_BSP);
SetMovetype(MOVETYPE_PUSH);
SetOrigin(origin);
SetModel(model);
}

View File

@ -32,31 +32,19 @@ void func_illusionary::func_illusionary(void)
{
CBaseEntity::CBaseEntity();
int nfields = tokenize(__fullspawndata);
for (int i = 1; i < (nfields - 1); i += 2) {
switch (argv(i)) {
case "color":
colormod = stov(argv(i+1));
break;
default:
break;
}
}
precache_model(model);
//angles = '0 0 0';
movetype = MOVETYPE_PUSH;
solid = SOLID_NOT;
setmodel(this, model);
setorigin(this, origin);
SetMovetype(MOVETYPE_PUSH);
SetSolid(SOLID_NOT);
SetModel(model);
SetOrigin(origin);
// TODO: Add support for (skin) -1 = Empty, -7 = Volumetric light
if (skin < 0) {
skin = 0;
SetSkin(0);
}
}
void func_illusionary::Use(void)
{
skin = 1 - skin;
SetSkin(1-skin);
}

View File

@ -20,34 +20,16 @@
Ladder volume. Climb up ladders with this one simple brush.
*/
string g_laddersnd[] = {
"player/pl_ladder1.wav",
"player/pl_ladder2.wav",
"player/pl_ladder3.wav",
"player/pl_ladder4.wav"
};
class func_ladder:CBaseEntity
{
void(void) func_ladder;
virtual void(void) Respawn;
};
void func_ladder::Respawn(void)
{
setmodel(this, m_oldModel);
movetype = MOVETYPE_NONE;
skin = CONTENT_LADDER;
solid = SOLID_BSP;
SetModel(m_oldModel);
SetMovetype(MOVETYPE_NONE);
SetSkin(CONTENT_LADDER);
SetSolid(SOLID_BSP);
SetRenderMode(RM_TRIGGER);
}
void func_ladder::func_ladder(void)
{
setmodel(this, m_oldModel);
movetype = MOVETYPE_NONE;
skin = CONTENT_LADDER;
solid = SOLID_BSP;
}

View File

@ -48,7 +48,7 @@ void func_lod::func_lod(void)
}
precache_model(model);
movetype = MOVETYPE_PUSH;
setmodel(this, model);
setorigin(this, origin);
SetMovetype(MOVETYPE_PUSH);
SetModel(model);
SetOrigin(origin);
}

View File

@ -42,10 +42,10 @@ void func_physbox::touch(void)
void func_physbox::Respawn(void)
{
movetype = MOVETYPE_PHYSICS;
solid = SOLID_PHYSICS_BOX; // SOLID_PHYSICS_TRIMESH
setmodel(this, m_oldModel);
setorigin(this, m_oldOrigin);
SetMovetype(MOVETYPE_PHYSICS);
SetSolid(SOLID_PHYSICS_BOX); // SOLID_PHYSICS_TRIMESH
SetModel(m_oldModel);
SetOrigin(m_oldOrigin);
physics_enable(this, TRUE);
}

View File

@ -111,8 +111,8 @@ void func_recharge::func_recharge(void)
precache_sound(m_strSndCharging);
precache_sound(m_strSndDone);
solid = SOLID_BSP;
movetype = MOVETYPE_PUSH;
setorigin(this, origin);
setmodel(this, model);
SetSolid(SOLID_BSP);
SetMovetype(MOVETYPE_PUSH);
SetOrigin(origin);
SetModel(model);
}

View File

@ -30,17 +30,17 @@ var int autocvar_dev_rotspeed = 0;
enumflags
{
FR_STARTON, // 1
FR_REVERSE, // 2
FR_ZAXIS, // 4
FR_XAXIS, // 8
FR_ACCDCC, // 16
FR_FANPAIN, // 32
FR_NOTSOLID, // 64
FR_SMALLRADIUS, // 128
FR_MRADIUS, // 256
FR_LRADIUS, // 512
FR_TOGGLEDIR // 1024
FR_STARTON,
FR_REVERSE,
FR_ZAXIS,
FR_XAXIS,
FR_ACCDCC,
FR_FANPAIN,
FR_NOTSOLID,
FR_SMALLRADIUS,
FR_MRADIUS,
FR_LRADIUS,
FR_TOGGLEDIR
};
class func_rotating:CBaseTrigger
@ -102,15 +102,10 @@ void func_rotating::Respawn(void)
m_flDir = 0; /* Reset */
movetype = MOVETYPE_PUSH;
setorigin(this, origin);
setmodel(this, model);
if (spawnflags & FR_NOTSOLID) {
solid = SOLID_NOT;
} else {
solid = SOLID_BSP;
}
SetMovetype(MOVETYPE_PUSH);
SetOrigin(origin);
SetModel(model);
SetSolid((spawnflags & FR_NOTSOLID) ? SOLID_NOT : SOLID_BSP);
if (spawnflags & FR_STARTON) {
avelocity = m_vecMoveDir * m_flSpeed;
@ -146,7 +141,7 @@ void func_rotating::func_rotating(void)
for (int i = 1; i < (tokenize(__fullspawndata) - 1); i += 2) {
switch (argv(i)) {
/*case "spawnorigin":
setorigin(this, stov(argv(i+1)));
SetOrigin(stov(argv(i+1)));
break;*/
case "speed":
m_flSpeed = stof(argv(i+1));

View File

@ -88,17 +88,17 @@ void func_tracktrain::Find(void)
return;
}
setorigin(this, f.origin);
SetOrigin(f.origin);
}
void func_tracktrain::Respawn(void)
{
solid = SOLID_BSP;
movetype = MOVETYPE_PUSH;
SetSolid(SOLID_BSP);
SetMovetype(MOVETYPE_PUSH);
//blocked = Blocked;
setmodel(this, m_oldModel);
setorigin(this, m_oldOrigin);
SetModel(m_oldModel);
SetOrigin(m_oldOrigin);
/* Make sure we got some time for the paths to spawn */
nextthink = ltime + 0.1f;

View File

@ -166,7 +166,7 @@ func_train::NextPath(void)
sound(this, CHAN_VOICE, "common/null.wav", 1.0, ATTN_NORM);
}
setorigin(this, eNode.origin - (mins + maxs) * 0.5);
SetOrigin(eNode.origin - (mins + maxs) * 0.5);
m_flSpeed = eNode.m_flSpeed;
m_flWait = eNode.m_flWait;
m_strTarget = eNode.m_strTarget;
@ -205,8 +205,8 @@ func_train::Respawn(void)
solid = spawnflags & TRAIN_NOTSOLID ? SOLID_NOT : SOLID_BSP;
movetype = MOVETYPE_PUSH;
blocked = Blocked;
setmodel(this, m_oldModel);
setorigin(this, m_oldOrigin);
SetModel(m_oldModel);
SetOrigin(m_oldOrigin);
/* let's wait 1/4 a second to give the path_corner entities a chance to
* spawn in case they're after us in the ent lump */

View File

@ -33,8 +33,8 @@ void func_wall::func_wall(void)
//angles = '0 0 0';
movetype = MOVETYPE_PUSH;
solid = SOLID_BSP;
setmodel(this, model);
setorigin(this, origin);
SetModel(model);
SetOrigin(origin);
CBaseTrigger::CBaseTrigger();
}

View File

@ -54,8 +54,8 @@ void func_wall_toggle::Respawn(void)
{
movetype = MOVETYPE_PUSH;
solid = SOLID_BSP;
setmodel(this, m_oldModel);
setorigin(this, origin);
SetModel(m_oldModel);
SetOrigin(origin);
m_iVisible = 1;
m_oldmodelindex = modelindex;

View File

@ -66,7 +66,7 @@ void item_food::item_food(void)
movetype = MOVETYPE_TOSS;
if (m_iIsCan) {
setmodel(this, "models/can.mdl");
setmodel(this,"models/can.mdl");
}
setsize(this, [0,0,0], [0,0,0]);

View File

@ -43,7 +43,7 @@ class monster_furniture:CBaseEntity
void monster_furniture::monster_furniture(void)
{
precache_model(model);
setmodel(this, model);
SetModel(model);
CBaseEntity::CBaseEntity();
#if 1

View File

@ -31,7 +31,7 @@ trigger_transition::trigger_transition(void)
{
solid = SOLID_NOT;
movetype = MOVETYPE_NONE;
setmodel(this, model);
SetModel(model);
model = __NULL__;
modelindex = 0;
SetRenderMode(RM_TRIGGER);

View File

@ -182,7 +182,7 @@ void armoury_entity::armoury_entity(void)
CBaseEntity::CBaseEntity();
precache_model(m_oldModel);
setmodel(this, m_oldModel);
SetModel(m_oldModel);
setsize(this, [-16,-16,0], [16,16,16]);
armoury_entity::Respawn();

View File

@ -48,7 +48,7 @@ void func_buyzone::func_buyzone(void)
solid = SOLID_TRIGGER;
if (model) {
setmodel(this, model);
SetModel(model);
} else {
mins = '-128 -128 -36';
maxs = '128 128 36';

View File

@ -59,7 +59,7 @@ void func_hostage_rescue::func_hostage_rescue(void)
solid = SOLID_TRIGGER;
if (model) {
setmodel(this, model);
SetModel(model);
} else {
mins = '-128 -128 -36';
maxs = '128 128 36';

View File

@ -54,7 +54,7 @@ void func_vip_safetyzone::func_vip_safetyzone(void)
solid = SOLID_TRIGGER;
if (model) {
setmodel(this, model);
SetModel(model);
} else {
setsize(this, mins, maxs);
}

View File

@ -218,7 +218,7 @@ void hostage_entity::Death(int iHitBody)
void hostage_entity::Hide(void)
{
setmodel(this, "");
SetModel("");
m_eUser = world;
solid = SOLID_NOT;
movetype = MOVETYPE_NONE;
@ -231,11 +231,11 @@ void hostage_entity::Respawn(void)
v_angle[1] = Math_FixDelta(m_oldAngle[1]);
v_angle[2] = Math_FixDelta(m_oldAngle[2]);
setorigin(this, m_oldOrigin);
SetOrigin(m_oldOrigin);
angles = v_angle;
solid = SOLID_SLIDEBOX;
movetype = MOVETYPE_NONE;
setmodel(this, m_oldModel);
SetModel(m_oldModel);
setsize(this, VEC_HULL_MIN + [0,0,36], VEC_HULL_MAX + [0,0,36]);
m_eUser = world;
@ -268,7 +268,7 @@ void hostage_entity::hostage_entity(void)
CBaseEntity::CBaseEntity();
precache_model(m_oldModel);
setmodel(this, m_oldModel);
SetModel(m_oldModel);
iHostagesMax = iHostagesMax + 1;
Respawn();
}

View File

@ -50,8 +50,8 @@ void item_suit::Respawn(void)
solid = SOLID_TRIGGER;
movetype = MOVETYPE_TOSS;
setsize(this, VEC_HULL_MIN, VEC_HULL_MAX);
setorigin(this, m_oldOrigin);
setmodel(this, m_oldModel);
SetOrigin(m_oldOrigin);
SetModel(m_oldModel);
think = __NULL__;
nextthink = -1;

View File

@ -131,7 +131,7 @@ armoury_entity::touch(void)
void
armoury_entity::Respawn(void)
{
setmodel(this, m_oldModel);
SetModel(m_oldModel);
setsize(this, [-16,-16,0], [16,16,16]);
solid = SOLID_TRIGGER;
m_iLeft = m_iCount;

View File

@ -50,11 +50,11 @@ void item_suit::touch(void)
void item_suit::Respawn(void)
{
solid = SOLID_TRIGGER;
movetype = MOVETYPE_TOSS;
setsize(this, VEC_HULL_MIN, VEC_HULL_MAX);
setorigin(this, m_oldOrigin);
setmodel(this, m_oldModel);
SetSolid(SOLID_TRIGGER);
SetMovetype(MOVETYPE_TOSS);
SetSize(VEC_HULL_MIN, VEC_HULL_MAX);
SetOrigin(m_oldOrigin);
SetModel(m_oldModel);
think = __NULL__;
nextthink = -1;

View File

@ -126,12 +126,12 @@ void ammo_spore::Respawn(void)
health = 1;
if (m_oldModel) {
setmodel(this, m_oldModel);
SetModel(m_oldModel);
}
solid = SOLID_NOT;
setsize(this, [0,0,0], [0,0,0]);
setorigin(this, m_oldOrigin);
SetOrigin(m_oldOrigin);
decal_pickwall(this, m_oldOrigin);

View File

@ -47,11 +47,11 @@ void item_ammo::Respawn(void)
movetype = MOVETYPE_TOSS;
if (m_oldModel) {
setmodel(this, m_oldModel);
SetModel(m_oldModel);
}
setsize(this, [-16,-16,0], [16,16,16]);
setorigin(this, origin);
SetOrigin(origin);
think = __NULL__;
nextthink = -1;
@ -62,7 +62,7 @@ void item_ammo::Respawn(void)
void item_ammo::item_ammo(void)
{
m_oldModel = model;
setmodel(this, m_oldModel);
SetModel(m_oldModel);
CBaseEntity::CBaseEntity();
}

View File

@ -605,7 +605,7 @@ void monster_scientist::Death(int iHitBody)
void monster_scientist::Hide(void)
{
setmodel(this, "");
SetModel("");
m_eUser = world;
solid = SOLID_NOT;
movetype = MOVETYPE_NONE;
@ -622,9 +622,9 @@ void monster_scientist::Respawn(void)
angles = v_angle;
solid = SOLID_SLIDEBOX;
movetype = MOVETYPE_WALK;
setmodel(this, m_oldModel);
SetModel(m_oldModel);
setsize(this, VEC_HULL_MIN + [0,0,36], VEC_HULL_MAX + [0,0,36]);
setorigin(this, m_oldOrigin);
SetOrigin(m_oldOrigin);
takedamage = DAMAGE_YES;
iBleeds = TRUE;
style = SCI_IDLE;

View File

@ -48,9 +48,9 @@ info_tfgoal::Respawn(void)
{
solid = SOLID_TRIGGER;
movetype = MOVETYPE_NONE;
setmodel(this, m_oldModel);
SetModel(m_oldModel);
setsize(this, VEC_HULL_MIN, VEC_HULL_MAX);
setorigin(this, m_oldOrigin);
SetOrigin(m_oldOrigin);
}
void

View File

@ -44,9 +44,9 @@ item_tfgoal::Respawn(void)
{
solid = SOLID_TRIGGER;
movetype = MOVETYPE_NONE;
setmodel(this, m_oldModel);
SetModel(m_oldModel);
setsize(this, VEC_HULL_MIN, VEC_HULL_MAX);
setorigin(this, m_oldOrigin);
SetOrigin(m_oldOrigin);
}
void

View File

@ -43,15 +43,11 @@ void item_ammo::touch(void)
void item_ammo::Respawn(void)
{
solid = SOLID_TRIGGER;
movetype = MOVETYPE_TOSS;
if (m_oldModel) {
setmodel(this, m_oldModel);
}
setsize(this, [-16,-16,0], [16,16,16]);
setorigin(this, origin);
SetSolid(SOLID_TRIGGER);
SetMovetype(MOVETYPE_TOSS);
SetSize([-16,-16,0],[16,16,16]);
SetOrigin(m_oldOrigin);
SetModel(m_oldModel);
think = __NULL__;
nextthink = -1;
@ -63,7 +59,7 @@ void item_ammo::item_ammo(void)
{
precache_model(model);
m_oldModel = model;
setmodel(this, m_oldModel);
SetModel(m_oldModel);
CBaseEntity::CBaseEntity();
}

View File

@ -63,12 +63,11 @@ void item_battery::touch(void)
void item_battery::Respawn(void)
{
solid = SOLID_TRIGGER;
movetype = MOVETYPE_TOSS;
setmodel(this, m_oldModel);
setsize(this, [-16,-16,0], [16,16,36]);
setorigin(this, m_oldOrigin);
SetSolid(SOLID_TRIGGER);
SetMovetype(MOVETYPE_TOSS);
SetSize([-16,-16,0],[16,16,16]);
SetOrigin(m_oldOrigin);
SetModel(m_oldModel);
think = __NULL__;
nextthink = -1;

View File

@ -53,13 +53,11 @@ void item_healthkit::touch(void)
void item_healthkit::Respawn(void)
{
solid = SOLID_TRIGGER;
movetype = MOVETYPE_TOSS;
setmodel(this, m_oldModel);
setsize(this, [-16,-16,0], [16,16,36]);
setorigin(this, m_oldOrigin);
SetSolid(SOLID_TRIGGER);
SetMovetype(MOVETYPE_TOSS);
SetSize([-16,-16,0],[16,16,16]);
SetOrigin(m_oldOrigin);
SetModel(m_oldModel);
think = __NULL__;
nextthink = -1;

View File

@ -60,11 +60,11 @@ void item_longjump::touch(void)
void item_longjump::Respawn(void)
{
solid = SOLID_TRIGGER;
movetype = MOVETYPE_TOSS;
setsize(this, [-16,-16,0],[16,16,16]);
setorigin(this, m_oldOrigin);
setmodel(this, m_oldModel);
SetSolid(SOLID_TRIGGER);
SetMovetype(MOVETYPE_TOSS);
SetSize([-16,-16,0],[16,16,16]);
SetOrigin(m_oldOrigin);
SetModel(m_oldModel);
think = __NULL__;
nextthink = -1;

View File

@ -59,11 +59,11 @@ void item_suit::touch(void)
void item_suit::Respawn(void)
{
solid = SOLID_TRIGGER;
movetype = MOVETYPE_TOSS;
setsize(this, VEC_HULL_MIN, VEC_HULL_MAX);
setorigin(this, m_oldOrigin);
setmodel(this, m_oldModel);
SetSolid(SOLID_TRIGGER);
SetMovetype(MOVETYPE_TOSS);
SetSize(VEC_HULL_MIN, VEC_HULL_MAX);
SetOrigin(m_oldOrigin);
SetModel(m_oldModel);
think = __NULL__;
nextthink = -1;

View File

@ -14,7 +14,7 @@
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
class item_weaponbox
class item_weaponbox:CBaseEntity
{
int ammo_9mm;
int ammo_357;
@ -98,15 +98,15 @@ void item_weaponbox::setup(player pl)
void item_weaponbox::item_weaponbox(void)
{
setmodel(this, "models/w_weaponbox.mdl");
setsize(this, [-16,-16,0], [16,16,16]);
solid = SOLID_TRIGGER;
movetype = MOVETYPE_TOSS;
SetModel("models/w_weaponbox.mdl");
SetSize([-16,-16,0], [16,16,16]);
SetSolid(SOLID_TRIGGER);
SetMovetype(MOVETYPE_TOSS);
}
void weaponbox_spawn(player spawner)
{
item_weaponbox weaponbox = spawn(item_weaponbox);
setorigin(weaponbox, spawner.origin);
weaponbox.SetOrigin(spawner.origin);
weaponbox.setup(spawner);
}

View File

@ -54,21 +54,21 @@ void item_pickup::setitem(int i)
{
id = i;
m_oldModel = Weapons_GetWorldmodel(id);
setmodel(this, m_oldModel);
SetModel(m_oldModel);
}
void item_pickup::Respawn(void)
{
solid = SOLID_TRIGGER;
movetype = MOVETYPE_TOSS;
setorigin(this, m_oldOrigin);
SetSolid(SOLID_TRIGGER);
SetMovetype(MOVETYPE_TOSS);
SetOrigin(m_oldOrigin);
/* At some points, the item id might not yet be set */
if (m_oldModel) {
setmodel(this, m_oldModel);
SetModel(m_oldModel);
}
setsize(this, [-16,-16,0], [16,16,16]);
SetSize([-16,-16,0], [16,16,16]);
think = __NULL__;
nextthink = -1;

View File

@ -41,7 +41,7 @@ void monster_barney_dead::Gib(void)
void monster_barney_dead::Hide(void)
{
setmodel(this, "");
SetModel("");
solid = SOLID_NOT;
movetype = MOVETYPE_NONE;
}
@ -52,11 +52,11 @@ void monster_barney_dead::Respawn(void)
v_angle[1] = Math_FixDelta(m_oldAngle[1]);
v_angle[2] = Math_FixDelta(m_oldAngle[2]);
setorigin(this, m_oldOrigin);
SetOrigin(m_oldOrigin);
angles = v_angle;
solid = SOLID_CORPSE;
movetype = MOVETYPE_NONE;
setmodel(this, m_oldModel);
SetModel(m_oldModel);
setsize(this, VEC_HULL_MIN + [0,0,36], VEC_HULL_MAX + [0,0,36]);
takedamage = DAMAGE_YES;
health = 0;

View File

@ -41,7 +41,7 @@ void monster_hevsuit_dead::Gib(void)
void monster_hevsuit_dead::Hide(void)
{
setmodel(this, "");
SetModel("");
solid = SOLID_NOT;
movetype = MOVETYPE_NONE;
}
@ -52,11 +52,11 @@ void monster_hevsuit_dead::Respawn(void)
v_angle[1] = Math_FixDelta(m_oldAngle[1]);
v_angle[2] = Math_FixDelta(m_oldAngle[2]);
setorigin(this, m_oldOrigin);
SetOrigin(m_oldOrigin);
angles = v_angle;
solid = SOLID_CORPSE;
movetype = MOVETYPE_NONE;
setmodel(this, m_oldModel);
SetModel(m_oldModel);
setsize(this, VEC_HULL_MIN + [0,0,36], VEC_HULL_MAX + [0,0,36]);
takedamage = DAMAGE_YES;
health = 0;
@ -77,10 +77,10 @@ void monster_hevsuit_dead::monster_hevsuit_dead(void)
m_iPose = stoi(argv(i+1));
break;
case "body":
m_iBody = stoi(argv(i+1)) + 1;
SetBody(stoi(argv(i+1)) + 1);
break;
case "skin":
skin = stoi(argv(i+1));
SetSkin(stoi(argv(i+1)));
break;
default:
break;

View File

@ -41,7 +41,7 @@ void monster_hgrunt_dead::Gib(void)
void monster_hgrunt_dead::Hide(void)
{
setmodel(this, "");
SetModel("");
solid = SOLID_NOT;
movetype = MOVETYPE_NONE;
}
@ -52,11 +52,11 @@ void monster_hgrunt_dead::Respawn(void)
v_angle[1] = Math_FixDelta(m_oldAngle[1]);
v_angle[2] = Math_FixDelta(m_oldAngle[2]);
setorigin(this, m_oldOrigin);
SetOrigin(m_oldOrigin);
angles = v_angle;
solid = SOLID_CORPSE;
movetype = MOVETYPE_NONE;
setmodel(this, m_oldModel);
SetModel(m_oldModel);
setsize(this, VEC_HULL_MIN + [0,0,36], VEC_HULL_MAX + [0,0,36]);
takedamage = DAMAGE_YES;
health = 0;

View File

@ -191,11 +191,11 @@ monster_scientist::monster_scientist(void)
m_talkStopFollow = "!SC_STOP";
/* by default a random character etc. is chosen */
m_iBody = -1;
int body = -1;
for (int i = 1; i < (tokenize(__fullspawndata)-1); i += 2) {
switch (argv(i)) {
case "body":
m_iBody = stoi(argv(i+1)) + 1;
SetBody(stoi(argv(i+1)) + 1);
break;
default:
break;
@ -208,8 +208,8 @@ monster_scientist::monster_scientist(void)
base_health = Skill_GetValue("scientist_health");
/* has the body not been overriden, etc. choose a character for us */
if (m_iBody == -1) {
m_iBody = floor(random(1,5));
if (body == -1) {
SetBody((int)floor(random(1,5)));
}
switch (m_iBody) {
@ -224,7 +224,7 @@ monster_scientist::monster_scientist(void)
case 3:
m_flPitch = 95;
netname = "Luther";
skin = 1;
SetSkin(1);
break;
default:
m_flPitch = 100;

View File

@ -52,7 +52,7 @@ void monster_scientist_dead::Gib(void)
void monster_scientist_dead::Hide(void)
{
setmodel(this, "");
SetModel("");
solid = SOLID_NOT;
movetype = MOVETYPE_NONE;
}
@ -63,11 +63,11 @@ void monster_scientist_dead::Respawn(void)
v_angle[1] = Math_FixDelta(m_oldAngle[1]);
v_angle[2] = Math_FixDelta(m_oldAngle[2]);
setorigin(this, m_oldOrigin);
SetOrigin(m_oldOrigin);
angles = v_angle;
solid = SOLID_CORPSE;
movetype = MOVETYPE_NONE;
setmodel(this, m_oldModel);
SetModel(m_oldModel);
setsize(this, VEC_HULL_MIN + [0,0,36], VEC_HULL_MAX + [0,0,36]);
takedamage = DAMAGE_YES;
health = 0;

View File

@ -67,7 +67,7 @@ void monster_sitting_scientist::Death(int iHitBody)
void monster_sitting_scientist::Hide(void)
{
setmodel(this, "");
SetModel("");
solid = SOLID_NOT;
movetype = MOVETYPE_NONE;
}
@ -78,11 +78,11 @@ void monster_sitting_scientist::Respawn(void)
v_angle[1] = Math_FixDelta(m_oldAngle[1]);
v_angle[2] = Math_FixDelta(m_oldAngle[2]);
setorigin(this, m_oldOrigin);
SetOrigin(m_oldOrigin);
angles = v_angle;
solid = SOLID_BBOX;
movetype = MOVETYPE_NONE;
setmodel(this, m_oldModel);
SetModel(m_oldModel);
setsize(this, [-14,-14,0],[14,14,36]);
takedamage = DAMAGE_YES;
health = 0;

View File

@ -32,6 +32,6 @@ void xen_hair::xen_hair(void)
precache_model("models/hair.mdl");
solid = SOLID_SLIDEBOX;
movetype = MOVETYPE_WALK;
setmodel(this, "models/hair.mdl");
setorigin(this, origin);
SetModel("models/hair.mdl");
SetOrigin(origin);
}

View File

@ -32,6 +32,6 @@ void xen_plantlight::xen_plantlight(void)
precache_model("models/light.mdl");
solid = SOLID_SLIDEBOX;
movetype = MOVETYPE_WALK;
setmodel(this, "models/light.mdl");
setorigin(this, origin);
SetModel("models/light.mdl");
SetOrigin(origin);
}

View File

@ -32,6 +32,6 @@ void xen_spore_large::xen_spore_large(void)
precache_model("models/fungus(large).mdl");
solid = SOLID_SLIDEBOX;
movetype = MOVETYPE_WALK;
setmodel(this, "models/fungus(large).mdl");
setorigin(this, origin);
SetModel("models/fungus(large).mdl");
SetOrigin(origin);
}

View File

@ -32,6 +32,6 @@ void xen_spore_medium::xen_spore_medium(void)
precache_model("models/fungus.mdl");
solid = SOLID_SLIDEBOX;
movetype = MOVETYPE_WALK;
setmodel(this, "models/fungus.mdl");
setorigin(this, origin);
SetModel("models/fungus.mdl");
SetOrigin(origin);
}

View File

@ -32,6 +32,6 @@ void xen_spore_small::xen_spore_small(void)
precache_model("models/fungus(small).mdl");
solid = SOLID_SLIDEBOX;
movetype = MOVETYPE_WALK;
setmodel(this, "models/fungus(small).mdl");
setorigin(this, origin);
SetModel("models/fungus(small).mdl");
SetOrigin(origin);
}

View File

@ -29,7 +29,6 @@ func_bombtarget brush entities.
*/
/* C4 entity logic */
#ifdef SERVER
class c4bomb:CBaseEntity
{
@ -105,10 +104,10 @@ c4bomb::Logic(void)
void
c4bomb::c4bomb(void)
{
movetype = MOVETYPE_NONE;
solid = SOLID_BBOX;
setmodel(this, "models/w_c4.mdl");
setsize(this, [-6,-6,0], [6,6,6]);
SetMovetype(MOVETYPE_NONE);
SetSolid(SOLID_BBOX);
SetModel("models/w_c4.mdl");
SetSize([-6,-6,0], [6,6,6]);
customphysics = Logic;
m_flExplodeTime = time + 45.0f;

View File

@ -118,7 +118,7 @@ void
monster_snark::Respawn(void)
{
netname = "Snark";
setmodel(this, "models/w_squeak.mdl");
SetModel("models/w_squeak.mdl");
flags |= FL_MONSTER;
solid = SOLID_BBOX;
movetype = MOVETYPE_WALK;
@ -167,7 +167,7 @@ void w_snark_deploy(void)
{
monster_snark snark = spawn(monster_snark, owner: self, goalentity: self);
makevectors(self.v_angle);
setorigin(snark, self.origin + v_forward * 32);
snark.SetOrigin(self.origin + v_forward * 32);
}
#endif

View File

@ -99,11 +99,11 @@ monster_tripmine::Ready(void)
void
monster_tripmine::Respawn(void)
{
setmodel(this, "models/v_tripmine.mdl");
solid = SOLID_NOT;
movetype = MOVETYPE_NONE;
setsize(this, [-8,-8,-8], [8,8,8]);
setorigin(this, origin);
SetModel("models/v_tripmine.mdl");
SetSolid(SOLID_NOT);
SetMovetype(MOVETYPE_NONE);
SetSize([-8,-8,-8], [8,8,8]);
SetOrigin(origin);
SendFlags = 1; /* force update */
/* ready in 4 seconds flat */
@ -265,7 +265,7 @@ void w_tripmine_primary(void)
pl.ammo_tripmine--;
vector ang = vectoangles(trace_plane_normal);
monster_tripmine mine = spawn(monster_tripmine, real_owner: self, angles: ang);
setorigin(mine, trace_endpos - (v_forward * 8));
mine.SetOrigin(trace_endpos - (v_forward * 8));
Sound_Play(self, CHAN_WEAPON, "weapon_tripmine.deploy");
Sound_Play(mine, CHAN_WEAPON, "weapon_tripmine.charge");