]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/g_subs.qc
Fix curvetarget rename, and remove useless commented out code of the old platform...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / g_subs.qc
index 6ce77d5f5ae7984afe5b4ac940891feffcb1b0fd..0c1eff197d6e21134f0489f3920c8ee263bd26b5 100644 (file)
@@ -170,7 +170,7 @@ void SUB_CalcMoveDone (void)
                self.think1 ();
 }
 
-.float bezier_turn;
+.float platmovetype_turn;
 void SUB_CalcMove_controller_think (void)
 {
        entity oldself;
@@ -188,33 +188,7 @@ void SUB_CalcMove_controller_think (void)
 
                traveltime = self.animstate_endtime - self.animstate_starttime;
                phasepos = (nexttick - self.animstate_starttime) / traveltime; // range: [0, 1]
-
-               //phasepos = cubic_speedfunc(self.platmovetype_start, self.platmovetype_end, phasepos);
-
-/*
-               switch(self.platmovetype)
-               {
-                       case 1: // linear
-                               break;
-                               // phasepos = cubic_speedfunc(1, 1, phasepos); // identity
-                       case 2: // cosine
-                               // phasepos = (1 - cos(phasepos * 3.14159265)) / 2;
-                               phasepos = cubic_speedfunc(0, 0, phasepos);
-                               break;
-                       case 3: // inverted cosine
-                               // phasepos = acos(1 - phasepos * 2) / 3.14159265;
-                               phasepos = cubic_speedfunc(2, 2, phasepos);
-                               break;
-                       case 4: // half cosine
-                               // phasepos = (1 - cos(phasepos * (3.14159265 / 2)));
-                               phasepos = cubic_speedfunc(0, 1.5, phasepos);
-                               break;
-                       case 5: // inverted half cosine
-                               // phasepos = sin(phasepos * (3.14159265 / 2));
-                               phasepos = cubic_speedfunc(1.5, 0, phasepos);
-                               break;
-               }
-*/
+               phasepos = cubic_speedfunc(self.platmovetype_start, self.platmovetype_end, phasepos);
                nextpos = self.origin + (delta * phasepos) + (delta2 * phasepos * phasepos);
                // derivative: delta + 2 * delta2 * phasepos (e.g. for angle positioning)
 
@@ -226,7 +200,7 @@ void SUB_CalcMove_controller_think (void)
                        veloc = veloc * (1 / sys_frametime); // so it arrives for the next frame
                }
                self.owner.velocity = veloc;
-               if(self.owner.bezier_turn)
+               if(self.owner.platmovetype_turn)
                {
                        vector vel;
                        vel = delta + 2 * delta2 * phasepos;
@@ -376,7 +350,7 @@ void SUB_CalcMove (vector tdest, float tspeedtype, float tspeed, void() func)
        // of controlled animation, so let's just use linear movement.
        // Alternatively entities can choose to specify non-controlled movement.
         // The only currently implemented alternative movement is linear (value 1)
-       if (traveltime < 0.15 || self.platmovetype_start || self.platmovetype_end) // is this correct?
+       if (traveltime < 0.15 || (self.platmovetype_start == 1 && self.platmovetype_end == 1)) // is this correct?
        {
                self.velocity = delta * (1/traveltime); // QuakeC doesn't allow vector/float division
                self.nextthink = self.ltime + traveltime;