]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - sv_phys.c
-"add color code to start of chat message to prevent nick colors from messing up...
[xonotic/darkplaces.git] / sv_phys.c
index edb1db2c969f11b5ecbf670d6d0067ccd64e4acf..4f06472aa052fd3f329c4c20fce72a43c9e5ccde 100644 (file)
--- a/sv_phys.c
+++ b/sv_phys.c
@@ -313,7 +313,10 @@ int SV_FlyMove (prvm_edict_t *ent, float time, float *stepnormal)
                }
 
                if (!trace.ent)
-                       Host_Error("SV_FlyMove: !trace.ent");
+               {
+                       Con_Printf ("SV_FlyMove: !trace.ent");
+                       trace.ent = prog->edicts;
+               }
 
                if (((int) ent->fields.server->flags & FL_ONGROUND) && ent->fields.server->groundentity == PRVM_EDICT_TO_PROG(trace.ent))
                        impact = false;
@@ -450,23 +453,6 @@ int SV_FlyMove (prvm_edict_t *ent, float time, float *stepnormal)
        return blocked;
 }
 
-int SV_SetOnGround (prvm_edict_t *ent)
-{
-       vec3_t end;
-       trace_t trace;
-       if ((int)ent->fields.server->flags & FL_ONGROUND)
-               return 1;
-       VectorSet(end, ent->fields.server->origin[0], ent->fields.server->origin[1], ent->fields.server->origin[2] - 1);
-       trace = SV_Move(ent->fields.server->origin, ent->fields.server->mins, ent->fields.server->maxs, end, MOVE_NORMAL, ent);
-       if (trace.fraction < 1 && trace.plane.normal[2] >= 0.7)
-       {
-               ent->fields.server->flags = (int)ent->fields.server->flags | FL_ONGROUND;
-               ent->fields.server->groundentity = PRVM_EDICT_TO_PROG(trace.ent);
-               return 1;
-       }
-       return 0;
-}
-
 /*
 ============
 SV_AddGravity
@@ -985,7 +971,6 @@ void SV_WalkMove (prvm_edict_t *ent)
 
        clip = SV_FlyMove (ent, sv.frametime, NULL);
 
-       SV_SetOnGround (ent);
        SV_CheckVelocity(ent);
 
        VectorCopy(ent->fields.server->origin, originalmove_origin);
@@ -1094,7 +1079,6 @@ void SV_WalkMove (prvm_edict_t *ent)
                ent->fields.server->groundentity = originalmove_groundentity;
        }
 
-       SV_SetOnGround (ent);
        SV_CheckVelocity(ent);
 }
 
@@ -1345,8 +1329,6 @@ void SV_Physics_Entity (prvm_edict_t *ent, qboolean runmove)
        int i = ent - prog->edicts;
        if (i >= 1 && i <= svs.maxclients)
        {
-               // apply the latest accepted move to the entity fields
-               SV_ApplyClientMove();
                // make sure the velocity is sane (not a NaN)
                SV_CheckVelocity(ent);
                // LordHavoc: QuakeC replacement for SV_ClientThink (player movement)
@@ -1435,7 +1417,7 @@ void SV_Physics_Entity (prvm_edict_t *ent, qboolean runmove)
                }
                break;
        default:
-               Host_Error ("SV_Physics: bad movetype %i", (int)ent->fields.server->movetype);
+               Con_Printf ("SV_Physics: bad movetype %i", (int)ent->fields.server->movetype);
                break;
        }