diff --git a/src/gs-entbase/server/infodecal.qc b/src/gs-entbase/server/infodecal.qc index 2cb3150a..f952730b 100644 --- a/src/gs-entbase/server/infodecal.qc +++ b/src/gs-entbase/server/infodecal.qc @@ -119,6 +119,8 @@ infodecal::Spawned(void) void infodecal::Respawn(void) { + InitPointTrigger(); + /* this will be invisible by default */ if (!targetname) { #if 0 diff --git a/src/shared/NSPointTrigger.h b/src/shared/NSPointTrigger.h index ce02d28b..45527569 100644 --- a/src/shared/NSPointTrigger.h +++ b/src/shared/NSPointTrigger.h @@ -33,6 +33,9 @@ public: nonvirtual void InitPointTrigger(void); #ifdef SERVER + virtual void Save(float); + virtual void Restore(string, string); + private: string m_strDebugTexture; #endif diff --git a/src/shared/NSPointTrigger.qc b/src/shared/NSPointTrigger.qc index cef5717d..6d2725c7 100644 --- a/src/shared/NSPointTrigger.qc +++ b/src/shared/NSPointTrigger.qc @@ -52,3 +52,25 @@ NSPointTrigger::DebugDraw(void) R_EndPolygon(); #endif } + +#ifdef SERVER +void +NSPointTrigger::Save(float handle) +{ + super::Save(handle); + SaveString(handle, "m_strDebugTexture", m_strDebugTexture); +} + +void +NSPointTrigger::Restore(string strKey, string strValue) +{ + switch (strKey) { + case "m_strDebugTexture": + m_strDebugTexture = ReadString(strValue); + break; + default: + super::Restore(strKey, strValue); + break; + } +} +#endif