diff --git a/regamedll/dlls/doors.cpp b/regamedll/dlls/doors.cpp index 6c11a9b4..5f512e7e 100644 --- a/regamedll/dlls/doors.cpp +++ b/regamedll/dlls/doors.cpp @@ -877,7 +877,9 @@ void CRotDoor::Restart() // but spawn in the open position if (pev->spawnflags & SF_DOOR_START_OPEN) { -#ifndef REGAMEDLL_FIXES +#ifdef REGAMEDLL_FIXES + pev->angles = m_vecAngle1; +#else pev->angles = m_vecAngle2; Vector vecSav = m_vecAngle1; @@ -887,9 +889,11 @@ void CRotDoor::Restart() pev->movedir = pev->movedir * -1; } - #ifdef REGAMEDLL_FIXES - pev->angles = m_vecAngle1; + else if (pev->netname.IsNull()) + { + pev->angles = m_vecAngle1; + } #endif m_toggle_state = TS_AT_BOTTOM; diff --git a/regamedll/dlls/maprules.cpp b/regamedll/dlls/maprules.cpp index 3419c1a4..620f03c4 100644 --- a/regamedll/dlls/maprules.cpp +++ b/regamedll/dlls/maprules.cpp @@ -181,6 +181,18 @@ void CGameText::KeyValue(KeyValueData *pkvd) } } +void CGameText::Spawn() +{ +#ifdef REGAMEDLL_FIXES + // Don't allow entity triggering itself + if (FStrEq(pev->target, pev->targetname)) + { + ALERT(at_warning, "%s \"%s\" the target applies to itself.\n", STRING(pev->classname), STRING(pev->targetname)); + pev->target = iStringNull; + } +#endif +} + void CGameText::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) { if (!CanFireForActivator(pActivator)) diff --git a/regamedll/dlls/maprules.h b/regamedll/dlls/maprules.h index f2868c9f..72a15273 100644 --- a/regamedll/dlls/maprules.h +++ b/regamedll/dlls/maprules.h @@ -96,6 +96,7 @@ public: class CGameText: public CRulePointEntity { public: + virtual void Spawn(); virtual void KeyValue(KeyValueData *pkvd); virtual int Save(CSave &save); virtual int Restore(CRestore &restore); diff --git a/regamedll/dlls/subs.cpp b/regamedll/dlls/subs.cpp index cfe2b8d3..03d44b91 100644 --- a/regamedll/dlls/subs.cpp +++ b/regamedll/dlls/subs.cpp @@ -136,7 +136,7 @@ void FireTargets(const char *targetName, CBaseEntity *pActivator, CBaseEntity *p { if (g_iTargetRecursionLevel++ > MAX_TARGET_RECURSION_LEVEL) { - ALERT(at_warning, "Warning: %s \"%s\" triggered itself over %i times.\n", pCaller->pev->classname.str(), pCaller->pev->targetname.str(), MAX_TARGET_RECURSION_LEVEL); + ALERT(at_warning, "%s \"%s\" triggered itself over %i times.\n", pCaller->pev->classname.str(), pCaller->pev->targetname.str(), MAX_TARGET_RECURSION_LEVEL); g_iTargetRecursionLevel = 0; return; }