]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Fix CTF flags secretly spamming squashed messages, and fix a potential crash in clien...
authorMario <mario@smbclan.net>
Mon, 6 Mar 2017 07:10:02 +0000 (17:10 +1000)
committerMario <mario@smbclan.net>
Mon, 6 Mar 2017 07:10:02 +0000 (17:10 +1000)
qcsrc/common/triggers/trigger/jumppads.qc
qcsrc/server/mutators/mutator/gamemode_ctf.qc

index 746270877b5018930d3f6e1d5c32abe05553f62c..df965074587315eebbc4781704aba2f7386410f9 100644 (file)
@@ -480,9 +480,9 @@ NET_HANDLE(ENT_CLIENT_TRIGGER_PUSH, bool isnew)
 
 void target_push_remove(entity this)
 {
-       if(this.classname)
-               strunzone(this.classname);
-       this.classname = string_null;
+       //if(this.classname)
+               //strunzone(this.classname);
+       //this.classname = string_null;
 
        if(this.targetname)
                strunzone(this.targetname);
index b3270577de5408342cb2892eeea5766c3b6ca4fb..b20718ef7a918f7177a76c4717907118fd8cd6a3 100644 (file)
@@ -921,11 +921,11 @@ void ctf_FlagThink(entity this)
                FOREACH_CLIENT(true, LAMBDA(ctf_CaptureShield_Update(it, 1))); // release shield only
 
        // sanity checks
-       if(this.mins != CTF_FLAG.m_mins || this.maxs != CTF_FLAG.m_maxs) { // reset the flag boundaries in case it got squished
+       if(this.mins != this.m_mins || this.maxs != this.m_maxs) { // reset the flag boundaries in case it got squished
                LOG_TRACE("wtf the flag got squashed?");
-               tracebox(this.origin, CTF_FLAG.m_mins, CTF_FLAG.m_maxs, this.origin, MOVE_NOMONSTERS, this);
+               tracebox(this.origin, this.m_mins, this.m_maxs, this.origin, MOVE_NOMONSTERS, this);
                if(!trace_startsolid || this.noalign) // can we resize it without getting stuck?
-                       setsize(this, CTF_FLAG.m_mins * this.scale, CTF_FLAG.m_maxs * this.scale);
+                       setsize(this, this.m_mins, this.m_maxs);
        }
 
        // main think method
@@ -1318,6 +1318,8 @@ void ctf_FlagSetup(int teamnumber, entity flag) // called when spawning a flag e
        // appearence
        _setmodel(flag, flag.model); // precision set below
        setsize(flag, CTF_FLAG.m_mins * flag.scale, CTF_FLAG.m_maxs * flag.scale);
+       flag.m_mins = flag.mins; // store these for squash checks
+       flag.m_maxs = flag.maxs;
        setorigin(flag, (flag.origin + FLAG_SPAWN_OFFSET));
 
        if(autocvar_g_ctf_flag_glowtrails)