diff options
author | Andrey Nazarov <skuller@skuller.net> | 2008-01-13 00:00:31 +0000 |
---|---|---|
committer | Andrey Nazarov <skuller@skuller.net> | 2008-01-13 00:00:31 +0000 |
commit | a0db25a7e12f83e46787f09eca5ec9e4a3de640a (patch) | |
tree | b0950b5ae2db9313cf2edb1a099d05389ae8a345 /source/cl_input.c | |
parent | 8f5ec81defe3676a43550b5b1b10757691053fc2 (diff) |
Complete addresses from entire address book, not just from first 16 entries.
Fixed integer overflow when encoding usercmd movement vectors into char type.
Diffstat (limited to 'source/cl_input.c')
-rw-r--r-- | source/cl_input.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/source/cl_input.c b/source/cl_input.c index d346e9c..5802571 100644 --- a/source/cl_input.c +++ b/source/cl_input.c @@ -536,6 +536,8 @@ Build the intended movement vector ================ */ static void CL_BaseMove( vec3_t move ) { + float speed; + if( in_strafe.state & 1 ) { move[1] += cl_sidespeed->value * CL_KeyState( &in_right ); move[1] -= cl_sidespeed->value * CL_KeyState( &in_left ); @@ -552,12 +554,16 @@ static void CL_BaseMove( vec3_t move ) { move[0] -= cl_forwardspeed->value * CL_KeyState( &in_back ); } -// // adjust for speed key / running -// if( ( in_speed.state & 1 ) ^ cl_run->integer ) { VectorScale( move, 2, move ); } + +// clamp to server defined max speed + speed = cl.pmp.maxspeed; + clamp( move[0], -speed, speed ); + clamp( move[1], -speed, speed ); + clamp( move[2], -speed, speed ); } static void CL_ClampPitch( void ) { |