X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=sv_move.c;h=9fc5b31d3d05545266eadc5fa3f26aa7fa450cff;hp=8bb9b75bdc846db41f63bb122521ba944ae36573;hb=563d68e14d319fd1e9fcfae10740d2136de14e31;hpb=93bce2dbe64b734e74d721164369943fffe7e397 diff --git a/sv_move.c b/sv_move.c index 8bb9b75b..9fc5b31d 100644 --- a/sv_move.c +++ b/sv_move.c @@ -51,7 +51,7 @@ qboolean SV_CheckBottom (edict_t *ent) { start[0] = x ? maxs[0] : mins[0]; start[1] = y ? maxs[1] : mins[1]; - if (SV_PointContents(start) != CONTENTS_SOLID) + if (!(SV_PointSuperContents(start) & SUPERCONTENTS_SOLID)) goto realcheck; } @@ -138,7 +138,7 @@ qboolean SV_movestep (edict_t *ent, vec3_t move, qboolean relink) if (trace.fraction == 1) { VectorCopy(trace.endpos, traceendpos); - if (((int)ent->v->flags & FL_SWIM) && SV_PointContents(traceendpos) == CONTENTS_EMPTY ) + if (((int)ent->v->flags & FL_SWIM) && !(SV_PointSuperContents(traceendpos) & SUPERCONTENTS_LIQUIDSMASK)) return false; // swim monster left water VectorCopy (traceendpos, ent->v->origin); @@ -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)