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_console.cpp10
-rw-r--r--src/game/client/gc_hooks.cpp3
2 files changed, 10 insertions, 3 deletions
diff --git a/src/game/client/gc_console.cpp b/src/game/client/gc_console.cpp
index a2700478..892c11f7 100644
--- a/src/game/client/gc_console.cpp
+++ b/src/game/client/gc_console.cpp
@@ -349,6 +349,12 @@ static void con_key_input_weapon(void *result, void *user_data)
 		input_data.wanted_weapon = w;
 }
 
+static void con_key_input_nextprev_weapon(void *result, void *user_data)
+{
+	con_key_input_counter(result, user_data);
+	input_data.wanted_weapon = 0;
+}
+
 static void con_toggle_local_console(void *result, void *user_data)
 {
 	console_toggle(0);
@@ -399,8 +405,8 @@ void client_console_init()
 	MACRO_REGISTER_COMMAND("+weapon4", "", con_key_input_weapon, (void *)4);
 	MACRO_REGISTER_COMMAND("+weapon5", "", con_key_input_weapon, (void *)5);
 
-	MACRO_REGISTER_COMMAND("+nextweapon", "", con_key_input_counter, &input_data.next_weapon);
-	MACRO_REGISTER_COMMAND("+prevweapon", "", con_key_input_counter, &input_data.prev_weapon);
+	MACRO_REGISTER_COMMAND("+nextweapon", "", con_key_input_nextprev_weapon, &input_data.next_weapon);
+	MACRO_REGISTER_COMMAND("+prevweapon", "", con_key_input_nextprev_weapon, &input_data.prev_weapon);
 	
 	MACRO_REGISTER_COMMAND("+emote", "", con_key_input_state, &emoticon_selector_active);
 	MACRO_REGISTER_COMMAND("+scoreboard", "", con_key_input_state, &scoreboard_active);
diff --git a/src/game/client/gc_hooks.cpp b/src/game/client/gc_hooks.cpp
index d3feb871..601575f3 100644
--- a/src/game/client/gc_hooks.cpp
+++ b/src/game/client/gc_hooks.cpp
@@ -608,7 +608,8 @@ extern "C" void modc_message(int msgtype)
     else if(msgtype == NETMSGTYPE_SV_WEAPON_PICKUP)
     {
     	NETMSG_SV_WEAPON_PICKUP *msg = (NETMSG_SV_WEAPON_PICKUP *)rawmsg;
-        picked_up_weapon = msg->weapon+1;
+        if(config.cl_autoswitch_weapons)
+        	input_data.wanted_weapon = msg->weapon+1;
     }
 	else if(msgtype == NETMSGTYPE_SV_READY_TO_ENTER)
 	{