about summary refs log tree commit diff
path: root/src/game/client
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/client')
-rw-r--r--src/game/client/gc_client.cpp2
-rw-r--r--src/game/client/gc_hooks.cpp2
-rw-r--r--src/game/client/gc_menu.cpp12
3 files changed, 12 insertions, 4 deletions
diff --git a/src/game/client/gc_client.cpp b/src/game/client/gc_client.cpp
index fec01294..7b191fbf 100644
--- a/src/game/client/gc_client.cpp
+++ b/src/game/client/gc_client.cpp
@@ -851,6 +851,8 @@ void render_game()
 		else
 		{
 			float l = length(mouse_pos);
+			if(l != l) l = 0; // detect division by zero
+			
 			if(l > mouse_max)
 			{
 				mouse_pos = normalize(mouse_pos)*mouse_max;
diff --git a/src/game/client/gc_hooks.cpp b/src/game/client/gc_hooks.cpp
index 0074bab7..73dde8f2 100644
--- a/src/game/client/gc_hooks.cpp
+++ b/src/game/client/gc_hooks.cpp
@@ -467,7 +467,7 @@ extern "C" void modc_message(int msg)
 		const char *message = msg_unpack_string();
 
 		/* check for errors and invalid inputs */
-		if(msg_unpack_error() || cid < 0 || cid >= MAX_CLIENTS)
+		if(msg_unpack_error() || cid < -1 || cid >= MAX_CLIENTS)
 			return;
 			
 		dbg_msg("message", "chat cid=%d team=%d msg='%s'", cid, team, message);
diff --git a/src/game/client/gc_menu.cpp b/src/game/client/gc_menu.cpp
index d0789d77..e6a3d6c5 100644
--- a/src/game/client/gc_menu.cpp
+++ b/src/game/client/gc_menu.cpp
@@ -1163,13 +1163,19 @@ static void menu2_render_settings_player(RECT main_view)
 		ui_hsplit_t(&main_view, 20.0f, &button, &main_view);
 		if(ui_do_button(&dynamic_camera_button, "Dynamic Camera", config.cl_mouse_deadzone != 0, &button, ui_draw_checkbox, 0))
 		{
-			config.cl_mouse_followfactor = 60;
-			config.cl_mouse_max_distance = 400;
 			
 			if(config.cl_mouse_deadzone)
+			{
+				config.cl_mouse_followfactor = 0;
+				config.cl_mouse_max_distance = 400;
 				config.cl_mouse_deadzone = 0;
+			}
 			else
-				config.cl_mouse_deadzone = 200;
+			{
+				config.cl_mouse_followfactor = 60;
+				config.cl_mouse_max_distance = 1000;
+				config.cl_mouse_deadzone = 300;
+			}
 		}
 
 		ui_hsplit_t(&main_view, 20.0f, &button, &main_view);