diff options
Diffstat (limited to 'src/game/physics/movement.cpp')
| -rw-r--r-- | src/game/physics/movement.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/game/physics/movement.cpp b/src/game/physics/movement.cpp index fce9d73..0b174e0 100644 --- a/src/game/physics/movement.cpp +++ b/src/game/physics/movement.cpp @@ -186,9 +186,6 @@ void gmove_categorize_pos() { gmove->ground = objl->world; } } - - if( gmove->ground ) - gmove->velocity.z = 0.f; } VEC3 gmove_clip_velocity( VEC3 in, VEC3 norm, F32 overbounce ) { @@ -433,8 +430,8 @@ void gmove_stay_on_ground() { if( tr.frac > 0.f && tr.frac < 1.f && !tr.startsolid && tr.normal.z >= 0.7f ) { F32 delta = fabs( gmove->pos.z - tr.point.z ); - if( delta > BSP_TRACE_EPSILON ) { - gmove->pos = tr.point + tr.normal * BSP_TRACE_EPSILON * 2.f; + if( delta > BSP_TRACE_EPSILON * 0.5f ) { + gmove->pos = tr.point; gmove_check_stuck( &gmove->pos ); } } @@ -636,6 +633,9 @@ void gmove_full_walk_move() { gmove_categorize_pos(); gmove_end_gravity(); + if( gmove->ground ) + gmove->velocity.z = 0.f; + gmove_check_falling(); } |
