]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/lib/warpzone/util_server.qc
Fix trigger_push and trigger_impulse prediction
[xonotic/xonotic-data.pk3dir.git] / qcsrc / lib / warpzone / util_server.qc
index 73f09c0e07e871c65c738e887547ec95e8e46d31..1c22ee3829c77ed701de9ed6f91667b5abbfa798 100644 (file)
@@ -9,14 +9,15 @@
 #endif
 #include "common.qh"
 
-void WarpZoneLib_ExactTrigger_Init(entity this)
+void WarpZoneLib_ExactTrigger_Init(entity this, bool unsetmodel)
 {
        vector mi, ma;
        if (this.movedir == '0 0 0')
        if (this.angles != '0 0 0')
        {
-               makevectors (this.angles);
-               this.movedir = v_forward;
+               vector forward, _r, _u;
+               MAKE_VECTORS(this.angles, forward, _r, _u);
+               this.movedir = forward;
        }
        if(this.model == "")
        {
@@ -39,11 +40,13 @@ void WarpZoneLib_ExactTrigger_Init(entity this)
                }
        }
        setorigin(this, this.origin);
+       this.solid = SOLID_TRIGGER; // before setsize to ensure area grid linking
        if(this.scale)
                setsize(this, this.mins * this.scale, this.maxs * this.scale);
        else
                setsize(this, this.mins, this.maxs);
-       this.movetype = MOVETYPE_NONE;
-       this.solid = SOLID_TRIGGER;
-       this.model = "";
+       set_movetype(this, MOVETYPE_NONE);
+
+       if (unsetmodel)
+               this.model = "";
 }