]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/physics/movetypes/movetypes.qc
Merge branch 'master' into martin-t/dmgtext2
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / physics / movetypes / movetypes.qc
index 090144dd16069f16573489d72f8a8cae53c7cdb0..995c65b4d322061a7f00d0b5f0899a4480af02a4 100644 (file)
@@ -1,31 +1,13 @@
-#include "../player.qh"
-
-#if defined(CSQC)
-       #include <client/defs.qh>
-       #include <common/stats.qh>
-       #include <common/util.qh>
-       #include "movetypes.qh"
-       #include <lib/csqcmodel/common.qh>
-       #include <common/t_items.qh>
-#elif defined(MENUQC)
-#elif defined(SVQC)
-       #include <server/autocvars.qh>
-#endif
+#include "movetypes.qh"
 
 #ifdef SVQC
 void set_movetype(entity this, int mt)
 {
-       if(mt == MOVETYPE_PHYSICS || mt == MOVETYPE_PUSH || mt == MOVETYPE_FAKEPUSH)
-       {
-               this.movetype = this.move_movetype = mt; // we still set move_movetype, for other code that checks movetype
+       this.move_movetype = mt;
+       if (mt == MOVETYPE_PHYSICS || mt == MOVETYPE_PUSH || mt == MOVETYPE_FAKEPUSH) {
                this.move_qcphysics = false;
-               return;
        }
-
-       this.move_movetype = mt;
-
-       if(!this.move_qcphysics)
-               this.movetype = mt;
+       this.movetype = (this.move_qcphysics) ? MOVETYPE_NONE : mt;
 }
 #elif defined(CSQC)
 void set_movetype(entity this, int mt)
@@ -54,7 +36,7 @@ void _Movetype_WallFriction(entity this, vector stepnormal)  // SV_WallFriction
 vector planes[MAX_CLIP_PLANES];
 int _Movetype_FlyMove(entity this, float dt, bool applygravity, vector stepnormal, float stepheight) // SV_FlyMove
 {
-       int blocked = 0, bumpcount;
+       int blocked = 0;
        int i, j, numplanes = 0;
        float time_left = dt, grav = 0;
        vector push;
@@ -79,7 +61,7 @@ int _Movetype_FlyMove(entity this, float dt, bool applygravity, vector stepnorma
 
        original_velocity = primal_velocity = restore_velocity = this.velocity;
 
-       for(bumpcount = 0;bumpcount < MAX_CLIP_PLANES;bumpcount++)
+       for(int bumpcount = 0;bumpcount < MAX_CLIP_PLANES;bumpcount++)
        {
                if(this.velocity == '0 0 0')
                        break;
@@ -144,7 +126,7 @@ int _Movetype_FlyMove(entity this, float dt, bool applygravity, vector stepnorma
                                break;
                        }
                        float trace2_fraction = trace_fraction;
-                       steppush = '0 0 1' * (org_z - this.origin_z);
+                       steppush = '0 0 1' * (org.z - this.origin_z);
                        _Movetype_PushEntity(this, steppush, true);
                        if(trace_startsolid)
                        {
@@ -153,7 +135,7 @@ int _Movetype_FlyMove(entity this, float dt, bool applygravity, vector stepnorma
                        }
 
                        // accept the new position if it made some progress...
-                       if(fabs(this.origin_x - org_x) >= 0.03125 || fabs(this.origin_y - org_y) >= 0.03125)
+                       if(fabs(this.origin_x - org.x) >= 0.03125 || fabs(this.origin_y - org.y) >= 0.03125)
                        {
                                trace_endpos = this.origin;
                                time_left *= 1 - trace2_fraction;
@@ -388,21 +370,13 @@ void _Movetype_LinkEdict(entity this, bool touch_triggers)  // SV_LinkEdict
 
        if(this.flags & FL_ITEM)
        {
-               mi.x -= 15;
-               mi.y -= 15;
-               mi.z -= 1;
-               ma.x += 15;
-               ma.y += 15;
-               ma.z += 1;
+               mi -= '15 15 1';
+               ma += '15 15 1';
        }
        else
        {
-               mi.x -= 1;
-               mi.y -= 1;
-               mi.z -= 1;
-               ma.x += 1;
-               ma.y += 1;
-               ma.z += 1;
+               mi -= '1 1 1';
+               ma += '1 1 1';
        }
 
        this.absmin = mi;
@@ -452,12 +426,12 @@ bool _Movetype_UnstickEntity(entity this)  // SV_UnstickEntity
         X(17)
         #undef X
         {
-            LOG_DEBUGF("Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n",
+            LOG_DEBUGF("Can't unstick an entity (edict: %d, classname: %s, origin: %s)",
                 etof(this), this.classname, vtos(this.origin));
             return false;
         }
        }
-       LOG_DEBUGF("Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n",
+       LOG_DEBUGF("Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)",
                etof(this), this.classname, vtos(this.origin));
        _Movetype_LinkEdict(this, true);
        return true;
@@ -511,60 +485,6 @@ float _Movetype_PushEntity(entity this, vector push, bool failonstartsolid)  //
 
 .float ltime;
 .void() blocked;
-// matrix version of makevectors, sets v_forward, v_right and v_up
-void makevectors_matrix(vector myangles)  // AngleVectorsFLU
-{
-       v_forward = v_right = v_up = '0 0 0';
-
-       float y = myangles.y * (M_PI * 2 / 360);
-       float sy = sin(y);
-       float cy = cos(y);
-       float p = myangles.x * (M_PI * 2 / 360);
-       float sp = sin(p);
-       float cp = cos(p);
-       if(v_forward)
-       {
-               v_forward.x = cp * cy;
-               v_forward.y = cp * sy;
-               v_forward.z = -sp;
-       }
-       if(v_right || v_up)
-       {
-               if(myangles.z)
-               {
-                       float r = myangles.z * (M_PI * 2 / 360);
-                       float sr = sin(r);
-                       float cr = cos(r);
-                       if(v_right)
-                       {
-                               v_right.x = sr * sp * cy + cr * -sy;
-                               v_right.y = sr * sp * sy + cr * cy;
-                               v_right.z = sr * cp;
-                       }
-                       if(v_up)
-                       {
-                               v_up.x = cr * sp * cy + -sr * -sy;
-                               v_up.y = cr * sp * sy + -sr * cy;
-                               v_up.z = cr * cp;
-                       }
-               }
-               else
-               {
-                       if(v_right)
-                       {
-                               v_right.x = -sy;
-                               v_right.y = cy;
-                               v_right.z = 0;
-                       }
-                       if(v_up)
-                       {
-                               v_up.x = sp * cy;
-                               v_up.y = sp * sy;
-                               v_up.z = cp;
-                       }
-               }
-       }
-}
 
 void _Movetype_Physics_Frame(entity this, float movedt)
 {
@@ -573,7 +493,7 @@ void _Movetype_Physics_Frame(entity this, float movedt)
        {
                case MOVETYPE_PUSH:
                case MOVETYPE_FAKEPUSH:
-                       LOG_DEBUGF("Physics: Lacking QuakeC support for Push movetype, FIX ME by using engine physics!\n");
+                       LOG_DEBUGF("Physics: Lacking QuakeC support for Push movetype, FIX ME by using engine physics!");
                        break;
                case MOVETYPE_NONE:
                        break;
@@ -613,7 +533,7 @@ void _Movetype_Physics_ClientFrame(entity this, float movedt)
        {
                case MOVETYPE_PUSH:
                case MOVETYPE_FAKEPUSH:
-                       LOG_DEBUGF("Physics: Lacking QuakeC support for Push movetype, FIX ME by using engine physics!\n");
+                       LOG_DEBUGF("Physics: Lacking QuakeC support for Push movetype, FIX ME by using engine physics!");
                        break;
                case MOVETYPE_NONE:
                        break;