]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/triggers/subs.qc
Use think accessors
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / triggers / subs.qc
index 7d6ea9de981ce038ea9d9603e6cd1258e00946f1..bcc7c057c26ef233ea0aa02c87806ea7fef84ccb 100644 (file)
@@ -93,7 +93,6 @@ void SUB_CalcMoveDone ()
 .float platmovetype_turn;
 void SUB_CalcMove_controller_think ()
 {SELFPARAM();
-       entity oldself;
        float traveltime;
        float phasepos;
        float nexttick;
@@ -143,11 +142,10 @@ void SUB_CalcMove_controller_think ()
        else
        {
                // derivative: delta + 2 * delta2 (e.g. for angle positioning)
-               oldself = self;
-               self.owner.SUB_THINK = self.think1;
-               setself(self.owner);
-               remove(oldself);
-               self.SUB_THINK();
+               entity own = self.owner;
+               own.SUB_THINK = self.think1;
+               remove(self);
+               WITHSELF(own, own.SUB_THINK());
        }
 }
 
@@ -230,7 +228,7 @@ void SUB_CalcMove_Bezier (vector tcontrol, vector tdest, float tspeedtype, float
        controller.finaldest = (tdest + '0 0 0.125'); // where do we want to end? Offset to overshoot a bit.
        controller.animstate_starttime = time;
        controller.animstate_endtime = time + traveltime;
-       controller.think = SUB_CalcMove_controller_think;
+       setthink(controller, SUB_CalcMove_controller_think);
        controller.think1 = self.SUB_THINK;
 
        // the thinking is now done by the controller
@@ -238,9 +236,7 @@ void SUB_CalcMove_Bezier (vector tcontrol, vector tdest, float tspeedtype, float
        self.SUB_NEXTTHINK = self.SUB_LTIME + traveltime;
 
        // invoke controller
-       setself(controller);
-       self.think();
-       setself(self.owner);
+       WITHSELF(controller, getthink(controller)());
 }
 
 void SUB_CalcMove (vector tdest, float tspeedtype, float tspeed, void() func)
@@ -293,7 +289,7 @@ void SUB_CalcMove (vector tdest, float tspeedtype, float tspeed, void() func)
 }
 
 void SUB_CalcMoveEnt (entity ent, vector tdest, float tspeedtype, float tspeed, void() func)
-{SELFPARAM();
+{
        WITHSELF(ent, SUB_CalcMove(tdest, tspeedtype, tspeed, func));
 }
 
@@ -361,6 +357,6 @@ void SUB_CalcAngleMove (vector destangle, float tspeedtype, float tspeed, void()
 }
 
 void SUB_CalcAngleMoveEnt (entity ent, vector destangle, float tspeedtype, float tspeed, void() func)
-{SELFPARAM();
+{
        WITHSELF(ent, SUB_CalcAngleMove (destangle, tspeedtype, tspeed, func));
 }