summaryrefslogtreecommitdiff
path: root/src/game/physics/movement.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/physics/movement.cpp')
-rw-r--r--src/game/physics/movement.cpp10
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();
}