don't remove onground flag when riding a pusher, this fixes the e3m2 silver key not...
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Tue, 6 Sep 2005 06:10:51 +0000 (06:10 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Tue, 6 Sep 2005 06:10:51 +0000 (06:10 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@5682 d7cf8633-e32d-0410-b094-e92efae38249

sv_phys.c

index 18475c2..eb7588b 100644 (file)
--- a/sv_phys.c
+++ b/sv_phys.c
@@ -661,8 +661,12 @@ void SV_PushMove (prvm_edict_t *pusher, float movetime)
                        // if the entity is not inside the pusher's final position, leave it alone
                        if (!SV_ClipMoveToEntity(pusher, check->fields.server->origin, check->fields.server->mins, check->fields.server->maxs, check->fields.server->origin, 0, SUPERCONTENTS_SOLID).startsolid)
                                continue;
+                       // remove the onground flag for non-players
+                       if (check->fields.server->movetype != MOVETYPE_WALK)
+                               check->fields.server->flags = (int)check->fields.server->flags & ~FL_ONGROUND;
                }
 
+
                if (forward[0] != 1 || left[1] != 1) // quick way to check if any rotation is used
                {
                        VectorSubtract (check->fields.server->origin, pusher->fields.server->origin, org);
@@ -675,10 +679,6 @@ void SV_PushMove (prvm_edict_t *pusher, float movetime)
                else
                        VectorCopy (move1, move);
 
-               // remove the onground flag for non-players
-               if (check->fields.server->movetype != MOVETYPE_WALK)
-                       check->fields.server->flags = (int)check->fields.server->flags & ~FL_ONGROUND;
-
                VectorCopy (check->fields.server->origin, check->priv.server->moved_from);
                VectorCopy (check->fields.server->angles, check->priv.server->moved_fromangles);
                sv.moved_edicts[num_moved++] = check;