diff --git a/src/gs-entbase/baseentity.h b/src/gs-entbase/baseentity.h index a6ae7dd7..94c55722 100644 --- a/src/gs-entbase/baseentity.h +++ b/src/gs-entbase/baseentity.h @@ -61,6 +61,7 @@ enumflags BASEFL_CHANGED_MOVETYPE, BASEFL_CHANGED_EFFECTS, BASEFL_CHANGED_BODY, + BASEFL_CHANGED_SCALE, #ifdef GS_RENDERFX BASEFL_CHANGED_RENDERCOLOR, BASEFL_CHANGED_RENDERAMT, diff --git a/src/gs-entbase/client/baseentity.cpp b/src/gs-entbase/client/baseentity.cpp index 2e5f9331..b77426c7 100644 --- a/src/gs-entbase/client/baseentity.cpp +++ b/src/gs-entbase/client/baseentity.cpp @@ -147,6 +147,8 @@ CBaseEntity::predraw(void) RenderFXPass(); #endif + scale = m_flScale; + /* mouth flapping action */ bonecontrol5 = getchannellevel(this, CHAN_VOICE) * 20; frame1time += clframetime; @@ -264,6 +266,9 @@ void CBaseEntity::ReadEntity(float flChanged) m_iBody = readbyte(); setcustomskin(this, "", sprintf("geomset 1 %i\n", m_iBody)); } + if (flChanged & BASEFL_CHANGED_SCALE) { + m_flScale = readfloat(); + } #ifdef GS_RENDERFX if (flChanged & BASEFL_CHANGED_RENDERFX) { diff --git a/src/gs-entbase/client/baseentity.h b/src/gs-entbase/client/baseentity.h index c70ae2a9..a034fb54 100644 --- a/src/gs-entbase/client/baseentity.h +++ b/src/gs-entbase/client/baseentity.h @@ -24,6 +24,7 @@ class CBaseEntity #endif int m_iBody; + float m_flScale; float m_flSentenceTime; sound_t *m_pSentenceQue; int m_iSentenceCount; diff --git a/src/gs-entbase/server/ambient_generic.cpp b/src/gs-entbase/server/ambient_generic.cpp index 097dd9fa..8c9b45ed 100644 --- a/src/gs-entbase/server/ambient_generic.cpp +++ b/src/gs-entbase/server/ambient_generic.cpp @@ -95,7 +95,7 @@ ambient_generic::UseNormal(entity act, int state) { sound(this, CHAN_VOICE, m_strActivePath, m_flVolume, m_flRadius, m_flPitch); dprint(sprintf("^2ambient_generic::^3UseNormal^7: %s plays `%s`\n", - m_strTarget, m_strActivePath)); + target, m_strActivePath)); } void @@ -103,12 +103,12 @@ ambient_generic::UseLoop(entity act, int state) { if (m_iToggleSwitch == TRUE) { dprint(sprintf("^2ambient_generic::^3UseLoop^7: %s stops `%s`\n", - m_strTarget, m_strActivePath)); + target, m_strActivePath)); m_strActivePath = "common/null.wav"; } else { m_strActivePath = m_strSoundPath; dprint(sprintf("^2ambient_generic::^3UseLoop^7: %s plays `%s`\n", - m_strTarget, m_strActivePath)); + target, m_strActivePath)); } m_iToggleSwitch = 1 - m_iToggleSwitch; diff --git a/src/gs-entbase/server/baseentity.cpp b/src/gs-entbase/server/baseentity.cpp index 4f9819ca..fabddb90 100644 --- a/src/gs-entbase/server/baseentity.cpp +++ b/src/gs-entbase/server/baseentity.cpp @@ -89,6 +89,15 @@ CBaseEntity::SetBody(int newBody) SendFlags |= BASEFL_CHANGED_BODY; } void +CBaseEntity::SetScale(float newScale) +{ + if (newScale == m_flScale) + return; + + m_flScale = newScale; + SendFlags |= BASEFL_CHANGED_SCALE; +} +void CBaseEntity::SetAngles(vector newAngles) { if (newAngles == angles) @@ -206,6 +215,9 @@ CBaseEntity::SendEntity(entity ePEnt, float fChanged) if (fChanged & BASEFL_CHANGED_BODY) { WriteByte(MSG_ENTITY, m_iBody); } + if (fChanged & BASEFL_CHANGED_SCALE) { + WriteFloat(MSG_ENTITY, m_flScale); + } #ifdef GS_RENDERFX if (fChanged & BASEFL_CHANGED_RENDERFX) { @@ -259,7 +271,7 @@ CBaseEntity::ParentUpdate(void) } if (m_parent) { - entity p = find(world, CBaseEntity::m_strTargetName, m_parent); + entity p = find(world, ::targetname, m_parent); if (!p) { return; @@ -286,6 +298,9 @@ CBaseEntity::CBaseEntity(void) int nfields = tokenize(__fullspawndata); for (int i = 1; i < (nfields - 1); i += 2) { switch (argv(i)) { + case "scale": + m_flScale = stof(argv(i+1)); + break; case "origin": origin = stov(argv(i+1)); break; @@ -304,12 +319,10 @@ CBaseEntity::CBaseEntity(void) } break; case "targetname": - m_strTargetName = argv(i+1); - targetname = __NULL__; + targetname = argv(i+1); break; case "target": - m_strTarget = argv(i+1); - target = __NULL__; + target = argv(i+1); break; case "color": m_vecRenderColor = stov(argv(i+1)); @@ -351,7 +364,7 @@ CBaseEntity::CBaseEntity(void) m_oldflRenderAmt = m_flRenderAmt; m_oldvecRenderColor = m_vecRenderColor; m_oldflRenderAmt = m_flRenderAmt; - m_oldstrTarget = m_strTarget; + m_oldstrTarget = target; if (m_oldModel != "") { precache_model(m_oldModel); @@ -366,7 +379,7 @@ CBaseEntity::Respawn(void) SetSolid(m_oldSolid); SetAngles(m_oldAngle); SetOrigin(m_oldOrigin); - m_strTarget = m_oldstrTarget; + target = m_oldstrTarget; #ifdef GS_RENDERFX SetRenderFX(m_oldiRenderFX); diff --git a/src/gs-entbase/server/baseentity.h b/src/gs-entbase/server/baseentity.h index 1af4e93e..247fc32c 100644 --- a/src/gs-entbase/server/baseentity.h +++ b/src/gs-entbase/server/baseentity.h @@ -16,10 +16,9 @@ class CBaseEntity { - string m_strTarget; string m_oldstrTarget; /* needed due to trigger_changetarget */ - string m_strTargetName; int m_iBody; + float m_flScale; /* respawn */ string m_oldModel; @@ -63,6 +62,7 @@ class CBaseEntity virtual void(float) SetSkin; virtual void(float) SetSolid; virtual void(int) SetBody; + virtual void(float) SetScale; virtual void(vector) SetAngles; virtual void(vector) SetOrigin; virtual void(vector, vector) SetSize; diff --git a/src/gs-entbase/server/basemonster.cpp b/src/gs-entbase/server/basemonster.cpp index d3d75d10..8bcd7b87 100644 --- a/src/gs-entbase/server/basemonster.cpp +++ b/src/gs-entbase/server/basemonster.cpp @@ -336,7 +336,7 @@ CBaseMonster::FreeState(void) /* trigger when required */ if (m_strRouteEnded) { CBaseTrigger trigger = 0; - trigger = (CBaseTrigger)find(trigger, CBaseTrigger::m_strTargetName, m_strRouteEnded); + trigger = (CBaseTrigger)find(trigger, ::targetname, m_strRouteEnded); if (!trigger) { dprint(sprintf("^1CBaseMonster::^3FreeState^7: %s doesn't exist. Won't trigger\n", m_strRouteEnded)); } @@ -385,14 +385,14 @@ CBaseMonster::CheckRoute(void) flDist = floor(vlen(evenpos - origin)); if (flDist < 8) { - dprint(sprintf("^2CBaseMonster::^3CheckRoute^7: %s reached node\n", this.m_strTargetName)); + dprint(sprintf("^2CBaseMonster::^3CheckRoute^7: %s reached node\n", this.targetname)); m_iCurNode--; velocity = [0,0,0]; /* clamp friction */ } if (m_iCurNode < -1) { ClearRoute(); - dprint(sprintf("^2CBaseMonster::^3CheckRoute^7: %s reached end\n", this.m_strTargetName)); + dprint(sprintf("^2CBaseMonster::^3CheckRoute^7: %s reached end\n", this.targetname)); /* mark that we've ended a sequence, if we're in one and que anim */ if (m_iSequenceState == SEQUENCESTATE_ACTIVE) { @@ -401,12 +401,12 @@ CBaseMonster::CheckRoute(void) m_iSequenceState = SEQUENCESTATE_ENDING; think = FreeState; nextthink = time + duration; - dprint(sprintf("^2CBaseMonster::^3CheckRoute^7: %s overriding anim for %f seconds (modelindex %d, frame %d)\n", this.m_strTargetName, duration, modelindex, m_flSequenceEnd)); + dprint(sprintf("^2CBaseMonster::^3CheckRoute^7: %s overriding anim for %f seconds (modelindex %d, frame %d)\n", this.targetname, duration, modelindex, m_flSequenceEnd)); } else { /* we still need to trigger targets */ think = FreeState; nextthink = time; - dprint(sprintf("^2CBaseMonster::^3CheckRoute^7: %s has no anim, finished sequence.\n", this.m_strTargetName)); + dprint(sprintf("^2CBaseMonster::^3CheckRoute^7: %s has no anim, finished sequence.\n", this.targetname)); } } } diff --git a/src/gs-entbase/server/basetrigger.cpp b/src/gs-entbase/server/basetrigger.cpp index 22b8afde..72f4e744 100644 --- a/src/gs-entbase/server/basetrigger.cpp +++ b/src/gs-entbase/server/basetrigger.cpp @@ -52,10 +52,10 @@ class CBaseTrigger:CBaseEntity void CBaseTrigger::UseTargets(entity act, int state) { - for (entity f = world; (f = find(f, CBaseTrigger::m_strTargetName, m_strTarget));) { + for (entity f = world; (f = find(f, ::targetname, target));) { CBaseTrigger trigger = (CBaseTrigger)f; dprint(sprintf("^2%s::^3UseTargets^7: Triggering %s `%s` from %s\n", - this.classname, f.classname, trigger.m_strTargetName, act.classname)); + this.classname, f.classname, trigger.targetname, act.classname)); if (trigger.Trigger != __NULL__) { trigger.Trigger(act, state); } @@ -72,7 +72,7 @@ CBaseTrigger::UseTargets(entity act, int state) }*/ if (m_strKillTarget) { - entity eKill = find(world, CBaseTrigger::m_strTargetName, m_strKillTarget); + entity eKill = find(world, ::targetname, m_strKillTarget); if (eKill) { remove(eKill); } @@ -88,12 +88,12 @@ CBaseTrigger::UseTargets_Delay(entity act, int state, float fDelay) } dprint(sprintf("^2%s::^3UseTargets_Delay^7: Triggering `%s`\n", - this.classname, m_strTarget)); + this.classname, target)); CBaseTrigger eTimer = spawn(CBaseTrigger); eTimer.owner = act; eTimer.think = Entities_UseTargets_Delay_Think; - eTimer.m_strTarget = m_strTarget; + eTimer.target = target; eTimer.nextthink = time + fDelay; eTimer.health = state; /* ugly */ } @@ -116,7 +116,7 @@ CBaseTrigger::GetMaster(void) return TRUE; } - t = (CBaseTrigger)find(world, CBaseTrigger::m_strTarget, m_strMaster); + t = (CBaseTrigger)find(world, ::target, m_strMaster); /* we couldn't find it, so let's not even bother going further */ if (!t) { @@ -127,10 +127,10 @@ CBaseTrigger::GetMaster(void) /*if (t.GetValue() == 1) dprint(sprintf("^2%s::^3GetMaster^7: %s learns %s ^2POSITIVE\n", - this.classname, m_strTargetName, m_strMaster)); + this.classname, targetname, m_strMaster)); else dprint(sprintf("^2%s::^3GetMaster^7: %s learns %s ^1NEGATIVE\n", - this.classname, m_strTargetName, m_strMaster));*/ + this.classname, targetname, m_strMaster));*/ return t.GetValue(); } diff --git a/src/gs-entbase/server/env_laser.cpp b/src/gs-entbase/server/env_laser.cpp index e1162fb4..e01cdcb8 100644 --- a/src/gs-entbase/server/env_laser.cpp +++ b/src/gs-entbase/server/env_laser.cpp @@ -70,11 +70,11 @@ void env_laser::think(void) nextthink = time + 0.1; } - t = (CBaseTrigger)find(world, CBaseEntity::m_strTargetName, m_strLaserDest); + t = (CBaseTrigger)find(world, ::targetname, m_strLaserDest); angles = t.origin; if (!t) { - print(sprintf("^1env_laser::^3think^7: %s has no valid target. Aborting\n", m_strTargetName)); + print(sprintf("^1env_laser::^3think^7: %s has no valid target. Aborting\n", targetname)); return; } @@ -167,7 +167,7 @@ void env_laser::ParentUpdate(void) }*/ if (m_parent) { - entity p = find(world, CBaseEntity::m_strTargetName, m_parent); + entity p = find(world, ::targetname, m_parent); if (!p) { return; diff --git a/src/gs-entbase/server/env_render.cpp b/src/gs-entbase/server/env_render.cpp index b787302f..218085fa 100644 --- a/src/gs-entbase/server/env_render.cpp +++ b/src/gs-entbase/server/env_render.cpp @@ -43,11 +43,11 @@ void env_render::Trigger(entity act, int state) { for (entity e = world; - (e = find(e, CBaseEntity::m_strTargetName, m_strTarget));) { + (e = find(e, ::targetname, target));) { CBaseEntity trigger = (CBaseEntity)e; dprint(sprintf("^2env_render::^3Trigger^7: with spawnflags %d\n", spawnflags)); - dprint(sprintf("\tTarget: %s\n", m_strTarget)); + dprint(sprintf("\tTarget: %s\n", target)); if (!(spawnflags & SF_NORENDERMODE)) { dprint(sprintf("\tMode change from %d to %d\n", trigger.m_iRenderMode, m_iRenderMode)); trigger.SetRenderMode(m_iRenderMode); diff --git a/src/gs-entbase/server/func_door.cpp b/src/gs-entbase/server/func_door.cpp index 1a6da393..69c2e063 100644 --- a/src/gs-entbase/server/func_door.cpp +++ b/src/gs-entbase/server/func_door.cpp @@ -72,7 +72,7 @@ enum class func_door:CBaseTrigger { - string m_strTargetClose; + string targetClose; vector m_vecPos1; vector m_vecPos2; vector m_vecDest; @@ -123,8 +123,8 @@ func_door::Arrived(void) sound(this, CHAN_VOICE, "common/null.wav", 1.0f, ATTN_NORM); } - if (m_strTargetClose) - for (entity f = world; (f = find(f, CBaseTrigger::m_strTargetName, m_strTargetClose));) { + if (targetClose) + for (entity f = world; (f = find(f, ::targetname, targetClose));) { CBaseTrigger trigger = (CBaseTrigger)f; if (trigger.Trigger != __NULL__) { trigger.Trigger(this, TRIG_TOGGLE); @@ -387,7 +387,7 @@ func_door::Respawn(void) m_iValue = 1; } - if (m_strTargetName) { + if (targetname) { m_iLocked = TRUE; } @@ -416,7 +416,7 @@ func_door::func_door(void) m_flWait = stof(argv(i+1)); break; case "netname": - m_strTargetClose = argv(i+1); + targetClose = argv(i+1); netname = __NULL__; break; case "dmg": diff --git a/src/gs-entbase/server/func_door_rotating.cpp b/src/gs-entbase/server/func_door_rotating.cpp index 5bba363f..af947ff9 100644 --- a/src/gs-entbase/server/func_door_rotating.cpp +++ b/src/gs-entbase/server/func_door_rotating.cpp @@ -40,7 +40,7 @@ enumflags class func_door_rotating:CBaseTrigger { - string m_strTargetClose; + string targetClose; int m_iMoveSnd; int m_iStopSnd; @@ -136,8 +136,8 @@ void func_door_rotating::Returned(void) touch = Touch; } - if (m_strTargetClose) - for (entity f = world; (f = find(f, CBaseTrigger::m_strTargetName, m_strTargetClose));) { + if (targetClose) + for (entity f = world; (f = find(f, ::targetname, targetClose));) { CBaseTrigger trigger = (CBaseTrigger)f; if (trigger.Trigger != __NULL__) { trigger.Trigger(this, TRIG_TOGGLE); @@ -299,7 +299,7 @@ void func_door_rotating::RotToDest(vector vDestAngle, void(void) func) float flTravelLength, flTravelTime; if (!m_flSpeed) { - dprint(sprintf("^1func_door_rotating::^3RotToDest^7: No speed defined for %s!", m_strTargetName)); + dprint(sprintf("^1func_door_rotating::^3RotToDest^7: No speed defined for %s!", targetname)); func_door_rotating::Respawn(); return; } @@ -363,7 +363,7 @@ void func_door_rotating::Respawn(void) SetSolid(SOLID_NOT); } - if (m_strTargetName) { + if (targetname) { m_iLocked = TRUE; } @@ -403,7 +403,7 @@ void func_door_rotating::func_door_rotating(void) m_flWait = stof(argv(i+1)); break; case "netname": - m_strTargetClose = argv(i+1); + targetClose = argv(i+1); break; default: break; diff --git a/src/gs-entbase/server/func_guntarget.cpp b/src/gs-entbase/server/func_guntarget.cpp index 036cc87b..358993c5 100644 --- a/src/gs-entbase/server/func_guntarget.cpp +++ b/src/gs-entbase/server/func_guntarget.cpp @@ -47,10 +47,10 @@ void func_guntarget::Move(void) vector vel_to_pos; path_corner node; - node = (path_corner)find(world, CBaseTrigger::m_strTargetName, m_strTarget); + node = (path_corner)find(world, ::targetname, target); if (!node) { - dprint(sprintf("^1func_guntarget::^3Move^7: Path node for %s not found!\n", m_strTargetName)); + dprint(sprintf("^1func_guntarget::^3Move^7: Path node for %s not found!\n", targetname)); return; } @@ -76,8 +76,8 @@ void func_guntarget::NextPath(void) { path_corner node; - print(sprintf("^2func_guntarget::^3NextPath^7: Talking to current target %s... ", m_strTarget)); - node = (path_corner)find(world, path_corner::m_strTargetName, m_strTarget); + print(sprintf("^2func_guntarget::^3NextPath^7: Talking to current target %s... ", target)); + node = (path_corner)find(world, ::targetname, target); if (!node) { print("^1FAILED.\n"); @@ -85,10 +85,10 @@ void func_guntarget::NextPath(void) print("^2SUCCESS.\n"); } - m_strTarget = node.m_strTarget; + target = node.target; velocity = [0,0,0]; - if (m_strTarget) { + if (target) { Move(); } } @@ -102,7 +102,7 @@ void func_guntarget::Death(void) return; } - for (a = world; (a = find(a, CBaseTrigger::m_strTargetName, m_strFire));) { + for (a = world; (a = find(a, ::targetname, m_strFire));) { CBaseTrigger trigger = (CBaseTrigger)a; trigger.Trigger(g_dmg_eAttacker, TRIG_TOGGLE); } diff --git a/src/gs-entbase/server/func_mortar_field.cpp b/src/gs-entbase/server/func_mortar_field.cpp index 37c15fbc..70607805 100644 --- a/src/gs-entbase/server/func_mortar_field.cpp +++ b/src/gs-entbase/server/func_mortar_field.cpp @@ -125,11 +125,11 @@ func_mortar_field::FireControlled(void) for (f = world; (f = find(f, ::classname, "momentary_rot_button"));) { momentary_rot_button l = (momentary_rot_button) f; - if (l.m_strTargetName == m_strXController) { + if (l.targetname == m_strXController) { mX = l; } - if (l.m_strTargetName == m_strYController) { + if (l.targetname == m_strYController) { mY = l; } } diff --git a/src/gs-entbase/server/func_tankcontrols.cpp b/src/gs-entbase/server/func_tankcontrols.cpp index d25fb26a..09de67a4 100644 --- a/src/gs-entbase/server/func_tankcontrols.cpp +++ b/src/gs-entbase/server/func_tankcontrols.cpp @@ -36,7 +36,7 @@ func_tankcontrols::PlayerUse(void) return; } - for (f = world; (f = find(f, CBaseEntity::m_strTargetName, m_strTarget));) { + for (f = world; (f = find(f, ::targetname, target));) { /* we found the right entity */ if (f.classname == "func_tank" || f.classname == "func_tankmortar") { tank = (CBaseVehicle)f; diff --git a/src/gs-entbase/server/func_tankmortar.cpp b/src/gs-entbase/server/func_tankmortar.cpp index d278d565..0450474c 100644 --- a/src/gs-entbase/server/func_tankmortar.cpp +++ b/src/gs-entbase/server/func_tankmortar.cpp @@ -105,7 +105,6 @@ func_tankmortar::SpriteSmoke(vector org) setorigin(smoke, org); smoke.think = Die; smoke.nextthink = time + 0.1f; - smoke.effects = EF_FLAG2; smoke.scale = m_flSpriteScale; } @@ -124,7 +123,6 @@ func_tankmortar::SpriteFlash(vector org) setorigin(smoke, org); smoke.think = Die; smoke.nextthink = time + 0.1f; - smoke.effects = EF_FLAG2; smoke.scale = m_flSpriteScale; } diff --git a/src/gs-entbase/server/func_tracktrain.cpp b/src/gs-entbase/server/func_tracktrain.cpp index 2a23f3da..78dee8bd 100644 --- a/src/gs-entbase/server/func_tracktrain.cpp +++ b/src/gs-entbase/server/func_tracktrain.cpp @@ -71,7 +71,7 @@ func_tracktrain::CheckPathFW(void) CBaseEntity current, next; current = (CBaseEntity)m_ePath; - for (f = world; (f = find(f, CBaseEntity::m_strTargetName, current.m_strTarget));) { + for (f = world; (f = find(f, ::targetname, current.target));) { /* we found the right entity */ if (f.classname == "path_track" || f.classname == "path_corner") { CBaseTrigger oldtrig; @@ -95,7 +95,7 @@ func_tracktrain::CheckPathRV(void) CBaseEntity current, next; current = (CBaseEntity)m_ePath; - for (f = world; (f = find(f, CBaseEntity::m_strTarget, current.m_strTargetName));) { + for (f = world; (f = find(f, ::target, current.targetname));) { /* we found the right entity */ if (f.classname == "path_track" || f.classname == "path_corner") { next = f; @@ -117,13 +117,13 @@ func_tracktrain::UpdateAngles(void) CBaseEntity reallyold, reallynew; entity f; - for (f = world; (f = find(f, CBaseEntity::m_strTarget, m_eOldPath.m_strTargetName));) { + for (f = world; (f = find(f, ::target, m_eOldPath.targetname));) { if (f.classname == "path_track" || f.classname == "path_corner") { reallyold = f; } } - for (f = world; (f = find(f, CBaseEntity::m_strTargetName, m_ePath.m_strTarget));) { + for (f = world; (f = find(f, ::targetname, m_ePath.target));) { if (f.classname == "path_track" || f.classname == "path_corner") { reallynew = f; } @@ -229,7 +229,7 @@ func_tracktrain::Realign(void) first = second = t = f = __NULL__; - for (f = world; (f = find(f, CBaseEntity::m_strTarget, m_strTargetName));) { + for (f = world; (f = find(f, ::target, targetname));) { /* we found the right entity */ if (f.classname == "func_tracktraincontrols") { t = f; @@ -247,8 +247,8 @@ func_tracktrain::Realign(void) } /* we rotate and position ourselves after the first path_track/corner */ - strFirst = m_strTarget; - for (f = world; (f = find(f, CBaseEntity::m_strTargetName, strFirst));) { + strFirst = target; + for (f = world; (f = find(f, ::targetname, strFirst));) { /* we found the right entity */ if (f.classname == "path_track" || f.classname == "path_corner") { first = (CBaseEntity)f; @@ -256,8 +256,8 @@ func_tracktrain::Realign(void) } /* now get the second one... */ - strSecond = first.m_strTarget; - for (f = world; (f = find(f, CBaseEntity::m_strTargetName, strSecond));) { + strSecond = first.target; + for (f = world; (f = find(f, ::targetname, strSecond));) { /* we found the right entity */ if (f.classname == "path_track" || f.classname == "path_corner") { second = (CBaseEntity)f; diff --git a/src/gs-entbase/server/func_train.cpp b/src/gs-entbase/server/func_train.cpp index 7647ff11..b294a3f4 100644 --- a/src/gs-entbase/server/func_train.cpp +++ b/src/gs-entbase/server/func_train.cpp @@ -112,7 +112,7 @@ func_train::GoToTarget(void) vector vecVelocity; vector vecWorldPos; - eNode = find(world, CBaseTrigger::m_strTargetName, m_strTarget); + eNode = find(world, ::targetname, target); if (!eNode) { return; @@ -146,7 +146,7 @@ void func_train::NextPath(void) { path_corner eNode; - eNode = (path_corner)find(world, CBaseTrigger::m_strTargetName, m_strTarget); + eNode = (path_corner)find(world, ::targetname, target); if (!eNode) { return; @@ -169,12 +169,12 @@ func_train::NextPath(void) SetOrigin(eNode.origin - (mins + maxs) * 0.5); m_flSpeed = eNode.m_flSpeed; m_flWait = eNode.m_flWait; - m_strTarget = eNode.m_strTarget; + target = eNode.target; velocity = [0,0,0]; /* warp next frame */ if (eNode.spawnflags & PC_TELEPORT) { - print(sprintf("^1func_train::^3NextPath^7: Node %s wants %s to teleport\n", eNode.m_strTargetName, m_strTargetName)); + print(sprintf("^1func_train::^3NextPath^7: Node %s wants %s to teleport\n", eNode.targetname, targetname)); think = NextPath; nextthink = ltime; return; @@ -211,7 +211,7 @@ func_train::Respawn(void) /* 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 */ - m_strTarget = m_strOldTarget; + target = m_strOldTarget; think = NextPath; nextthink = ltime + 0.25f; } diff --git a/src/gs-entbase/server/func_vehicle.cpp b/src/gs-entbase/server/func_vehicle.cpp index 2934036f..d5bbda6f 100644 --- a/src/gs-entbase/server/func_vehicle.cpp +++ b/src/gs-entbase/server/func_vehicle.cpp @@ -431,7 +431,7 @@ func_vehicle::Realign(void) first = second = t = f = __NULL__; - for (f = world; (f = find(f, CBaseEntity::m_strTarget, m_strTargetName));) { + for (f = world; (f = find(f, ::target, targetname));) { /* we found the right entity */ if (f.classname == "func_vehiclecontrols") { t = f; @@ -446,8 +446,8 @@ func_vehicle::Realign(void) } /* we rotate and position ourselves after the first path_track/corner */ - strFirst = m_strTarget; - for (f = world; (f = find(f, CBaseEntity::m_strTargetName, strFirst));) { + strFirst = target; + for (f = world; (f = find(f, ::targetname, strFirst));) { /* we found the right entity */ if (f.classname == "path_track" || f.classname == "path_corner") { first = (CBaseEntity)f; @@ -455,8 +455,8 @@ func_vehicle::Realign(void) } /* now get the second one... */ - strSecond = first.m_strTarget; - for (f = world; (f = find(f, CBaseEntity::m_strTargetName, strSecond));) { + strSecond = first.target; + for (f = world; (f = find(f, ::targetname, strSecond));) { /* we found the right entity */ if (f.classname == "path_track" || f.classname == "path_corner") { second = (CBaseEntity)f; diff --git a/src/gs-entbase/server/info_null.cpp b/src/gs-entbase/server/info_null.cpp index 0c4ce9e3..c57497bd 100644 --- a/src/gs-entbase/server/info_null.cpp +++ b/src/gs-entbase/server/info_null.cpp @@ -38,16 +38,16 @@ class info_null:CBaseEntity void info_null::WarnDeveloper(void) { - if (!m_strTargetName) + if (!targetname) return; - for (entity f = world; (f = find(f, CBaseEntity::m_strTarget, m_strTargetName));) { + for (entity f = world; (f = find(f, ::target, targetname));) { CBaseEntity enty = (CBaseTrigger)f; if (enty.gflags == GF_CANRESPAWN) - if (enty.m_strTarget == m_strTargetName) { + if (enty.target == targetname) { print(sprintf("^1info_null::WarnDeveloper^7: " \ "%s (%s) is targetting an info_null called %s\n", - enty.m_strTargetName, enty.classname, m_strTargetName)); + enty.targetname, enty.classname, targetname)); } } } diff --git a/src/gs-entbase/server/infodecal.cpp b/src/gs-entbase/server/infodecal.cpp index 29ba7866..a45aef14 100644 --- a/src/gs-entbase/server/infodecal.cpp +++ b/src/gs-entbase/server/infodecal.cpp @@ -66,7 +66,7 @@ void infodecal::Respawn(void) { /* this will be invisible by default */ - if (!m_strTargetName) { + if (!targetname) { /* spawn automatically, remove self */ Trigger(this, TRIG_ON); } else { diff --git a/src/gs-entbase/server/momentary_door.cpp b/src/gs-entbase/server/momentary_door.cpp index 12270a1c..f540cd17 100644 --- a/src/gs-entbase/server/momentary_door.cpp +++ b/src/gs-entbase/server/momentary_door.cpp @@ -33,7 +33,7 @@ class momentary_door:CBaseMomentary void momentary_door::customphysics(void) { - entity e = find(world, CBaseEntity::m_strTargetName, m_strTarget); + entity e = find(world, ::targetname, target); CBaseMomentary bl = (CBaseMomentary)e; if (m_eUser != world) { diff --git a/src/gs-entbase/server/momentary_rot_button.cpp b/src/gs-entbase/server/momentary_rot_button.cpp index 82c78cf3..f07142e9 100644 --- a/src/gs-entbase/server/momentary_rot_button.cpp +++ b/src/gs-entbase/server/momentary_rot_button.cpp @@ -53,7 +53,7 @@ momentary_rot_button::PlayerUse(void) void momentary_rot_button::customphysics(void) { - entity e = find(world, CBaseEntity::m_strTargetName, m_strTarget); + entity e = find(world, ::targetname, target); CBaseMomentary bl = (CBaseMomentary)e; if (m_eUser != world) { diff --git a/src/gs-entbase/server/monstermaker.cpp b/src/gs-entbase/server/monstermaker.cpp index 6f11149b..1dd30b85 100644 --- a/src/gs-entbase/server/monstermaker.cpp +++ b/src/gs-entbase/server/monstermaker.cpp @@ -90,7 +90,7 @@ monstermaker::Spawner(void) /* apply the saved values back */ t.origin = t.m_oldOrigin = neworg; - t.m_strTargetName = tname; + t.targetname = tname; t.spawnflags |= MSF_MULTIPLAYER; /* spawn anew */ @@ -133,7 +133,7 @@ monstermaker::Spawner(void) setorigin(unit, origin); m_iMonsterSpawned++; - if (m_strTarget) { + if (target) { UseTargets(this, TRIG_TOGGLE); } diff --git a/src/gs-entbase/server/multi_manager.cpp b/src/gs-entbase/server/multi_manager.cpp index 413e7ef9..f3902f6a 100644 --- a/src/gs-entbase/server/multi_manager.cpp +++ b/src/gs-entbase/server/multi_manager.cpp @@ -50,10 +50,10 @@ multi_manager::Trigger(entity act, int state) static void mm_enttrigger (void) { multi_manager_sub wow = (multi_manager_sub)self; - entity eFind = find(world, CBaseTrigger::m_strTargetName, wow.m_strTarget); + entity eFind = find(world, ::targetname, wow.target); dprint(sprintf("^2%s::^3Trigger^7: %s (%s)\n", - this.classname, wow.m_strTarget, eFind.classname)); + this.classname, wow.target, eFind.classname)); CBaseTrigger::UseTargets(wow.m_eActivator, TRIG_TOGGLE); } @@ -82,7 +82,7 @@ multi_manager::Trigger(entity act, int state) } // HACK: Avoid infinite loops - if (m_strTargetName != argv(i)) { + if (targetname != argv(i)) { m_eTriggers[b].think = mm_enttrigger; m_eTriggers[b].nextthink = time + stof(argv(i+1)); m_eTriggers[b].m_iValue = TRUE; @@ -145,8 +145,8 @@ multi_manager::multi_manager(void) } // HACK: Avoid infinite loops - if (m_strTargetName != argv(i)) { - m_eTriggers[b].m_strTarget = argv(i); + if (targetname != argv(i)) { + m_eTriggers[b].target = argv(i); m_eTriggers[b].m_oldstrTarget = argv(i); b++; } diff --git a/src/gs-entbase/server/multisource.cpp b/src/gs-entbase/server/multisource.cpp index 04f2fadb..5bcda43b 100644 --- a/src/gs-entbase/server/multisource.cpp +++ b/src/gs-entbase/server/multisource.cpp @@ -38,7 +38,7 @@ multisource::QueryTargets(void) int out = TRUE; /* normal triggers */ - for (a = world; (a = find(a, CBaseTrigger::m_strTarget, m_strTargetName));) { + for (a = world; (a = find(a, ::target, targetname));) { CBaseTrigger tTemp = (CBaseTrigger) a; if (cvar("developer") == 1) { dprint("[^1MULTISOURCE^7] "); @@ -49,7 +49,7 @@ multisource::QueryTargets(void) } else { dprint(" is ^2ON^7, name: "); } - dprint(tTemp.m_strTargetName); + dprint(tTemp.targetname); dprint("\n"); } else { /* exit out immediately as there's no point unless in-dev */ @@ -66,12 +66,12 @@ void multisource::Trigger(entity act, int unused) { if (QueryTargets() == FALSE) { - dprint(sprintf("[^1MULTISOURCE^7] %s is inactive.\n", m_strTargetName)); + dprint(sprintf("[^1MULTISOURCE^7] %s is inactive.\n", targetname)); m_iValue = FALSE; return; } - dprint(sprintf("[^1MULTISOURCE^7] %s is now active.\n", m_strTargetName)); + dprint(sprintf("[^1MULTISOURCE^7] %s is now active.\n", targetname)); m_iValue = TRUE; CBaseTrigger::UseTargets(act, TRIG_TOGGLE); } diff --git a/src/gs-entbase/server/path_corner.cpp b/src/gs-entbase/server/path_corner.cpp index 64abeba2..ad0c747c 100644 --- a/src/gs-entbase/server/path_corner.cpp +++ b/src/gs-entbase/server/path_corner.cpp @@ -66,7 +66,7 @@ path_corner::Trigger(entity act, int state) return; } - for (a = world; (a = find(a, CBaseTrigger::m_strTargetName, m_strMessage));) { + for (a = world; (a = find(a, ::targetname, m_strMessage));) { CBaseTrigger trigger = (CBaseTrigger)a; trigger.Trigger(act, state); m_iFired = TRUE; diff --git a/src/gs-entbase/server/random_speaker.cpp b/src/gs-entbase/server/random_speaker.cpp index 052ca970..6ccc073d 100644 --- a/src/gs-entbase/server/random_speaker.cpp +++ b/src/gs-entbase/server/random_speaker.cpp @@ -79,7 +79,7 @@ random_speaker::Enable(void) print("^2random_speaker::^3Disable^7: " \ "%s playing %s in %d\n", \ - m_strTargetName, m_strSample, r); + targetname, m_strSample, r); } void @@ -87,7 +87,7 @@ random_speaker::Disable(void) { dprint("^2random_speaker::^3Disable^7: " \ "Disabled %s playing %s\n", \ - m_strTargetName, m_strSample); + targetname, m_strSample); m_iValue = 0; think = __NULL__; diff --git a/src/gs-entbase/server/scripted_sentence.cpp b/src/gs-entbase/server/scripted_sentence.cpp index 055ae092..77d92f32 100644 --- a/src/gs-entbase/server/scripted_sentence.cpp +++ b/src/gs-entbase/server/scripted_sentence.cpp @@ -44,7 +44,7 @@ class scripted_sentence:CBaseTrigger void scripted_sentence::Trigger(entity act, int unused) { - entity speaker = find(world, CBaseEntity::m_strTargetName, m_strSpeaker); + entity speaker = find(world, ::targetname, m_strSpeaker); if (!speaker) { print(sprintf("^1scripted_sentence::^3Trigger^7: Couldn't find %s!\n", m_strSpeaker)); diff --git a/src/gs-entbase/server/scripted_sequence.cpp b/src/gs-entbase/server/scripted_sequence.cpp index cbc90b14..8470332f 100644 --- a/src/gs-entbase/server/scripted_sequence.cpp +++ b/src/gs-entbase/server/scripted_sequence.cpp @@ -113,7 +113,7 @@ scripted_sequence::Trigger(entity act, int unused) } dprint(sprintf("^2scripted_sequence::^3Trigger^7: with spawnflags %d\n", spawnflags)); - f = (CBaseMonster)find(world, CBaseEntity::m_strTargetName, m_strMonster); + f = (CBaseMonster)find(world, ::targetname, m_strMonster); /* target doesn't exist/hasn't spawned */ if (!f) { @@ -133,7 +133,7 @@ scripted_sequence::Trigger(entity act, int unused) } } - dprint(sprintf("\tName: %s\n", m_strTargetName)); + dprint(sprintf("\tName: %s\n", targetname)); dprint(sprintf("\tTarget: %s\n", m_strMonster)); dprint(sprintf("\tStarted: %f\n", time)); @@ -147,9 +147,9 @@ scripted_sequence::Trigger(entity act, int unused) } /* entity to trigger after sequence ends */ - if (m_strTarget) { - dprint(sprintf("\tTrigger when finished: %s\n", m_strTarget)); - f.m_strRouteEnded = m_strTarget; + if (target) { + dprint(sprintf("\tTrigger when finished: %s\n", target)); + f.m_strRouteEnded = target; } /* mark us as having been used, for multisources. */ @@ -195,7 +195,7 @@ scripted_sequence::Trigger(entity act, int unused) f.nextthink = time; dprint(sprintf( "\t^1WARNING: %s skipping animation on script type %i\n", - f.m_strTargetName, + f.targetname, m_iMove )); } @@ -216,7 +216,7 @@ scripted_sequence::InitIdle(void) CBaseMonster f; dprint(sprintf("^2scripted_sequence::^3InitIdle^7: with spawnflags %d\n", spawnflags)); - f = (CBaseMonster)find(world, CBaseEntity::m_strTargetName, m_strMonster); + f = (CBaseMonster)find(world, ::targetname, m_strMonster); /* target doesn't exist/hasn't spawned */ if (!f) { @@ -246,7 +246,7 @@ void scripted_sequence::Respawn(void) { m_iEnabled = TRUE; - m_strTarget = m_oldstrTarget; + target = m_oldstrTarget; if (m_strIdleAnim) { think = InitIdle; @@ -261,7 +261,7 @@ scripted_sequence::scripted_sequence(void) for (int i = 1; i < (nfields-1); i += 2) { switch (argv(i)) { case "target": - m_strTarget = argv(i+1); + target = argv(i+1); break; case "m_iszEntity": m_strMonster = argv(i+1); @@ -284,7 +284,7 @@ scripted_sequence::scripted_sequence(void) break; } } - m_oldstrTarget = m_strTarget; + m_oldstrTarget = target; } CLASSEXPORT(aiscripted_sequence, scripted_sequence) diff --git a/src/gs-entbase/server/trigger_auto.cpp b/src/gs-entbase/server/trigger_auto.cpp index 9d8138ce..a768339c 100644 --- a/src/gs-entbase/server/trigger_auto.cpp +++ b/src/gs-entbase/server/trigger_auto.cpp @@ -44,7 +44,7 @@ trigger_auto::Processing(void) CBaseTrigger::UseTargets_Delay(this, m_iTriggerState, m_flDelay); if (spawnflags & 1) { - dprint(sprintf("^2trigger_auto::^3think^7: %s triggerer removed self\n", m_strTarget)); + dprint(sprintf("^2trigger_auto::^3think^7: %s triggerer removed self\n", target)); think = __NULL__; } } diff --git a/src/gs-entbase/server/trigger_camera.cpp b/src/gs-entbase/server/trigger_camera.cpp index 81ebb97b..1cf5e782 100644 --- a/src/gs-entbase/server/trigger_camera.cpp +++ b/src/gs-entbase/server/trigger_camera.cpp @@ -43,7 +43,7 @@ trigger_camera::Trigger(entity act, int state) } if (m_strMoveTo) { - entity e = find(world, CBaseTrigger::m_strTargetName, m_strMoveTo); + entity e = find(world, ::targetname, m_strMoveTo); if (e) { angles = vectoangles(e.origin - origin); } diff --git a/src/gs-entbase/server/trigger_changelevel.cpp b/src/gs-entbase/server/trigger_changelevel.cpp index a539f7bb..df626992 100644 --- a/src/gs-entbase/server/trigger_changelevel.cpp +++ b/src/gs-entbase/server/trigger_changelevel.cpp @@ -87,7 +87,7 @@ trigger_changelevel::Change(void) for (entity e = world; (e = find(e, ::classname, "info_landmark"));) { info_landmark lm = (info_landmark)e; /* found it */ - if (lm.m_strTargetName == m_strLandmark) { + if (lm.targetname == m_strLandmark) { dprint(sprintf("^2trigger_changelevel::^3Change^7: Found landmark for %s\n", m_strLandmark)); g_landmarkpos = m_activator.origin - lm.origin; changelevel(m_strMap, m_strLandmark); @@ -164,7 +164,7 @@ Landmark_GetSpot(void) for (entity e = world; (e = find(e, ::classname, "info_landmark"));) { info_landmark lm = (info_landmark)e; /* found it */ - if (lm.m_strTargetName == startspot) { + if (lm.targetname == startspot) { dprint(sprintf("^3Landmark_GetSpot^7: Found landmark for %s\n", startspot)); return lm.origin + g_landmarkpos; } diff --git a/src/gs-entbase/server/trigger_changetarget.cpp b/src/gs-entbase/server/trigger_changetarget.cpp index c244af16..5db27c13 100644 --- a/src/gs-entbase/server/trigger_changetarget.cpp +++ b/src/gs-entbase/server/trigger_changetarget.cpp @@ -37,15 +37,15 @@ trigger_changetarget::Trigger(entity act, int state) { CBaseEntity f; - f = (CBaseEntity)find(world, CBaseEntity::m_strTargetName, m_strTarget); + f = (CBaseEntity)find(world, ::targetname, target); if (f) { dprint("^2trigger_changetarget::^3Trigger^7: " \ "Changing %s (%s) target from '%s' to '%s'\n", \ - m_strTarget, f.classname, f.m_strTarget, m_strTarget); + target, f.classname, f.target, target); /* now change the target */ - f.m_strTarget = m_strNewTarget; + f.target = m_strNewTarget; } } diff --git a/src/gs-entbase/server/trigger_counter.cpp b/src/gs-entbase/server/trigger_counter.cpp index 864dd461..8a10b92b 100644 --- a/src/gs-entbase/server/trigger_counter.cpp +++ b/src/gs-entbase/server/trigger_counter.cpp @@ -63,7 +63,7 @@ trigger_counter::Trigger(entity act, int state) dprint("^2trigger_counter::^3Trigger^7: " \ "Incremented '%s' by 1 (%i/%i)\n", \ - m_strTargetName, m_iCounted, m_iMaxCount); + targetname, m_iCounted, m_iMaxCount); if (m_iCounted < m_iMaxCount) return; diff --git a/src/gs-entbase/server/trigger_hurt.cpp b/src/gs-entbase/server/trigger_hurt.cpp index e7536476..9c38af21 100644 --- a/src/gs-entbase/server/trigger_hurt.cpp +++ b/src/gs-entbase/server/trigger_hurt.cpp @@ -82,7 +82,7 @@ trigger_hurt::touch(void) return; } - if (m_strTarget) { + if (target) { if (spawnflags & SF_HURT_FIREONPLAYER) { if (other.flags & FL_CLIENT) { eActivator = other; diff --git a/src/gs-entbase/server/trigger_look.cpp b/src/gs-entbase/server/trigger_look.cpp index 52fb80d2..71da74aa 100644 --- a/src/gs-entbase/server/trigger_look.cpp +++ b/src/gs-entbase/server/trigger_look.cpp @@ -63,7 +63,7 @@ trigger_look::Touch(void) } /* find the looktarget */ - lt = find(world, CBaseEntity::m_strTargetName, m_strLookTarget); + lt = find(world, ::targetname, m_strLookTarget); if (!lt) { dprint(sprintf("^1trigger_look:Touch^7: Invalid m_strLookTarget %s!\n", m_strLookTarget)); remove(this); diff --git a/src/gs-entbase/server/trigger_teleport.cpp b/src/gs-entbase/server/trigger_teleport.cpp index 2bafb9f1..d172093d 100644 --- a/src/gs-entbase/server/trigger_teleport.cpp +++ b/src/gs-entbase/server/trigger_teleport.cpp @@ -47,7 +47,7 @@ trigger_teleport::touch(void) if (other.health > 0 || other.solid == SOLID_SLIDEBOX) { eActivator = other; - entity eTarget = find(world, CBaseTrigger::m_strTargetName, m_strTarget); + entity eTarget = find(world, ::targetname, target); if (eTarget) { vector endpos = eTarget.origin + [0,0,16]; diff --git a/src/server/entry.c b/src/server/entry.c index 2ea728df..916f8ec9 100644 --- a/src/server/entry.c +++ b/src/server/entry.c @@ -72,13 +72,11 @@ void PutClientInServer(void) g_grMode.PlayerSpawn(pl); /* activate all game_playerspawn entities */ - for (entity a = world; (a = findfloat(a, ::gflags, GF_CANRESPAWN));) { - CBaseEntity ent = (CBaseEntity)a; + for (entity a = world; (a = find(a, ::targetname, "game_playerspawn"));) { + CBaseTrigger t = (CBaseTrigger)a; - if (ent.m_strTargetName == "game_playerspawn") { - CBaseTrigger t = (CBaseTrigger)a; + if (t.Trigger) t.Trigger(self, TRIG_TOGGLE); - } } } diff --git a/src/server/gamerules.cpp b/src/server/gamerules.cpp index 46d33e98..4a7cd7b8 100644 --- a/src/server/gamerules.cpp +++ b/src/server/gamerules.cpp @@ -139,7 +139,7 @@ CGameRules::IntermissionCycle(void) cam = (CBaseEntity)find(cam, ::classname, "info_intermission"); if (cam) { - targ = (CBaseEntity)find(world, CBaseEntity::m_strTargetName, cam.m_strTarget); + targ = (CBaseEntity)find(world, ::targetname, cam.target); if (targ) { vector foo;