]> git.xonotic.org Git - xonotic/darkplaces.git/commitdiff
physics code no longer uses allsolid (mainly of concern to q3bsp which rarely set...
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Tue, 21 Oct 2003 12:21:26 +0000 (12:21 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Tue, 21 Oct 2003 12:21:26 +0000 (12:21 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@3598 d7cf8633-e32d-0410-b094-e92efae38249

sv_move.c
sv_phys.c
sv_user.c

index 6feab85de899d31c403c2d4fde261b5faf873c7b..9fc5b31d3d05545266eadc5fa3f26aa7fa450cff 100644 (file)
--- a/sv_move.c
+++ b/sv_move.c
@@ -161,14 +161,11 @@ qboolean SV_movestep (edict_t *ent, vec3_t move, qboolean relink)
 
        trace = SV_Move (neworg, ent->v->mins, ent->v->maxs, end, MOVE_NORMAL, ent);
 
-       if (trace.allsolid)
-               return false;
-
        if (trace.startsolid)
        {
                neworg[2] -= sv_stepheight.value;
                trace = SV_Move (neworg, ent->v->mins, ent->v->maxs, end, MOVE_NORMAL, ent);
-               if (trace.allsolid || trace.startsolid)
+               if (trace.startsolid)
                        return false;
        }
        if (trace.fraction == 1)
index 37b1ae5ffaafbb877b2fe352b07855f3aed1cfc3..fd52653a31e2dc880509b8a74b8bc39483e7feca 100644 (file)
--- a/sv_phys.c
+++ b/sv_phys.c
@@ -248,13 +248,15 @@ int SV_FlyMove (edict_t *ent, float time, float *stepnormal)
                        trace = SV_Move (ent->v->origin, ent->v->mins, ent->v->maxs, end, MOVE_NORMAL, ent);
                        //Con_Printf("trace %f %f %f : %f : %f %f %f\n", trace.endpos[0], trace.endpos[1], trace.endpos[2], trace.fraction, trace.plane.normal[0], trace.plane.normal[1], trace.plane.normal[2]);
 
-                       if (trace.allsolid)
+                       /*
+                       if (trace.startsolid)
                        {
                                // LordHavoc: note: this code is what makes entities stick in place if embedded in another object (which can be the world)
                                // entity is trapped in another solid
                                VectorClear(ent->v->velocity);
                                return 3;
                        }
+                       */
 
                        if (trace.fraction > 0)
                        {
@@ -341,13 +343,15 @@ int SV_FlyMove (edict_t *ent, float time, float *stepnormal)
 
                        trace = SV_Move (ent->v->origin, ent->v->mins, ent->v->maxs, end, MOVE_NORMAL, ent);
 
-                       if (trace.allsolid)
+                       /*
+                       if (trace.startsolid)
                        {
                                // LordHavoc: note: this code is what makes entities stick in place if embedded in another object (which can be the world)
                                // entity is trapped in another solid
                                VectorClear(ent->v->velocity);
                                return 3;
                        }
+                       */
 
                        if (trace.fraction > 0)
                        {
index 372b09bd21332b9680f80bda34eb21a9f6735fa3..a5645629d14f181e7f53010399a02a8473f4b0e8 100644 (file)
--- a/sv_user.c
+++ b/sv_user.c
@@ -66,7 +66,7 @@ void SV_SetIdealPitch (void)
 
                tr = SV_Move (top, vec3_origin, vec3_origin, bottom, MOVE_NOMONSTERS, sv_player);
                // if looking at a wall, leave ideal the way is was
-               if (tr.allsolid)
+               if (tr.startsolid)
                        return;
 
                // near a dropoff