about summary refs log tree commit diff
path: root/src/game/client
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2008-03-29 15:00:04 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2008-03-29 15:00:04 +0000
commite1fbab87a1d5cebac4b4c5efb0c26e8ba7e52031 (patch)
treee81cbc85a568dc7a93bd12dfdb7358e21f73c169 /src/game/client
parentf77db4768572ac5a8765f9109504ce5c4cb50c95 (diff)
downloadzcatch-e1fbab87a1d5cebac4b4c5efb0c26e8ba7e52031.tar.gz
zcatch-e1fbab87a1d5cebac4b4c5efb0c26e8ba7e52031.zip
fixed problem that binds get bound again
Diffstat (limited to 'src/game/client')
-rw-r--r--src/game/client/gc_console.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/game/client/gc_console.cpp b/src/game/client/gc_console.cpp
index 4eb14118..431c9d6f 100644
--- a/src/game/client/gc_console.cpp
+++ b/src/game/client/gc_console.cpp
@@ -227,10 +227,15 @@ void binds_set(int keyid, const char *str)
 		dbg_msg("binds", "bound %s (%d) = %s", inp_key_name(keyid), keyid, keybindings[keyid]);
 }
 
-void binds_default()
+void binds_unbindall()
 {
 	for(int i = 0; i < KEY_LAST; i++)
 		keybindings[i][0] = 0;
+}
+
+void binds_default()
+{
+	binds_unbindall();
 
 	// set default key bindings
 	binds_set(KEY_F1, "toggle_local_console");
@@ -307,6 +312,13 @@ static void con_unbind(void *result, void *user_data)
 	binds_set(id, "");
 }
 
+
+static void con_unbindall(void *result, void *user_data)
+{
+	binds_unbindall();
+}
+
+
 static void con_dump_binds(void *result, void *user_data)
 {
 	for(int i = 0; i < KEY_LAST; i++)
@@ -320,6 +332,7 @@ static void con_dump_binds(void *result, void *user_data)
 void binds_save()
 {
 	char buffer[256];
+	client_save_line("unbindall");
 	for(int i = 0; i < KEY_LAST; i++)
 	{
 		if(keybindings[i][0] == 0)
@@ -385,6 +398,8 @@ void client_console_init()
 	// bindings
 	MACRO_REGISTER_COMMAND("bind", "sr", con_bind, 0x0);
 	MACRO_REGISTER_COMMAND("unbind", "s", con_unbind, 0x0);
+	MACRO_REGISTER_COMMAND("unbindall", "", con_unbindall, 0x0);
+	
 	MACRO_REGISTER_COMMAND("dump_binds", "", con_dump_binds, 0x0);
 
 	// chatting