From: Christian Heller Date: Tue, 21 Jan 2014 23:47:18 +0000 (+0100) Subject: Removed indirection in control.c and therefore unused is_command_id_shortdsc(). X-Git-Tag: tce~885 X-Git-Url: https://plomlompom.com/repos/task?a=commitdiff_plain;h=21cac2d976f806643aee1471bcee7b38597ac121;p=plomrogue Removed indirection in control.c and therefore unused is_command_id_shortdsc(). --- diff --git a/src/client/command_db.c b/src/client/command_db.c index 4835392..846f87f 100644 --- a/src/client/command_db.c +++ b/src/client/command_db.c @@ -29,25 +29,6 @@ static void copy_tokenized_string(char ** ch_ptr, char * delim) -extern uint8_t is_command_id_shortdsc(uint8_t id, char * shortdsc) -{ - struct Command * cmd_ptr = world.cmd_db.cmds; - while (1) - { - if (id == cmd_ptr->id) - { - if (strcmp(shortdsc, cmd_ptr->dsc_short)) - { - return 0; - } - return 1; - } - cmd_ptr = &cmd_ptr[1]; - } -} - - - extern uint8_t get_command_id(char * dsc_short) { struct Command * cmd_ptr = world.cmd_db.cmds; diff --git a/src/client/command_db.h b/src/client/command_db.h index 769670b..0d4ffba 100644 --- a/src/client/command_db.h +++ b/src/client/command_db.h @@ -26,9 +26,6 @@ struct CommandDB -/* Is "id" the ID of command whose dsc_short is "shortdsc"? Answer in binary. */ -extern uint8_t is_command_id_shortdsc(uint8_t id, char * shortdsc); - /* Give short description of command ("dsc_short"), get its ID. */ extern uint8_t get_command_id(char * dsc_short); diff --git a/src/client/control.c b/src/client/control.c index 64486e3..bdbdfec 100644 --- a/src/client/control.c +++ b/src/client/control.c @@ -3,8 +3,8 @@ #include "control.h" #include /* uint8_t, uint16_t */ #include /* sprintf() */ -#include /* strlen() */ -#include "command_db.h" /* get_command_id(), is_command_id_shortdsc() */ +#include /* strlen(), strcmp() */ +#include "command_db.h" /* get_command_id() */ #include "io.h" /* try_send() */ #include "keybindings.h" /* struct KeyBindingDB, get_command_to_keycode(), * get_keycode_to_command(), mod_selected_keyb(), @@ -32,11 +32,11 @@ static uint8_t try_cmd_1args(int keycode, char * match, static uint8_t try_cmd_2args(int keycode, char * match, void (* f) (char, char), char c1, char c2); -/* If "command_id" is id of command named "match", send (via try_send()) a - * string of "match" + " " + the string representation of "arg" to the server. +/* If "command" matches "match", send (via try_send()) a string of + * "command_message" + " " + the string representation of "arg" to the server. */ -static uint8_t try_player_cmd(int command_id, char * match, char * command_name, - uint8_t arg); +static uint8_t try_player_cmd(char * command, char * match, + char * command_message, uint8_t arg); /* Return keycode to "command" if it is available in current window config. */ static uint16_t get_available_keycode_to_command(char * command); @@ -90,15 +90,15 @@ static uint8_t try_cmd_2args(int keycode, char * match, -static uint8_t try_player_cmd(int command_id, char * match, char * command_name, - uint8_t arg) +static uint8_t try_player_cmd(char * command, char * match, + char * command_message, uint8_t arg) { - if (is_command_id_shortdsc(command_id, match)) + if (!strcmp(command, match)) { - uint8_t command_size = strlen(command_name); + uint8_t command_size = strlen(command_message); uint8_t arg_size = 3; char msg[command_size + 1 + arg_size + 1]; - sprintf(msg, "%s %d", command_name, arg); + sprintf(msg, "%s %d", command_message, arg); try_send(msg); return 1; } @@ -115,7 +115,7 @@ static uint16_t get_available_keycode_to_command(char * command) return keycode; } struct WinConf * wc = get_winconf_by_win(world.wmeta.active); - if (0 == wc->view) + if (0 == wc->view) { keycode = get_keycode_to_command(wc->kb.kbs, command); } @@ -170,26 +170,23 @@ static void wrap_mv_kb_mod(char c1, char c2) extern uint8_t player_control(int key) { - char * command = get_command_to_keycode(world.kb_global.kbs, key); - if (NULL == command && 0 != world.wmeta.active) + char * cmd = get_command_to_keycode(world.kb_global.kbs, key); + if (NULL == cmd && 0 != world.wmeta.active) { struct WinConf * wc = get_winconf_by_win(world.wmeta.active); - command = get_command_to_keycode(wc->kb.kbs, key); + cmd = get_command_to_keycode(wc->kb.kbs, key); } - if (NULL != command) + if (NULL != cmd + && ( try_player_cmd(cmd, "wait", "wait", 0) + || try_player_cmd(cmd, "drop", "drop",world.player_inventory_select) + || try_player_cmd(cmd, "pick", "pick_up", 0) + || try_player_cmd(cmd, "use", "use", world.player_inventory_select) + || try_player_cmd(cmd, "player_u", "move", 'N') + || try_player_cmd(cmd, "player_d", "move", 'S') + || try_player_cmd(cmd, "player_r", "move", 'E') + || try_player_cmd(cmd, "player_l", "move", 'W'))) { - uint8_t id = get_command_id(command); - if ( try_player_cmd(id, "wait", "wait", 0) - || try_player_cmd(id, "drop", "drop", world.player_inventory_select) - || try_player_cmd(id, "pick", "pick_up", 0) - || try_player_cmd(id, "use", "use", world.player_inventory_select) - || try_player_cmd(id, "player_u", "move", 'N') - || try_player_cmd(id, "player_d", "move", 'S') - || try_player_cmd(id, "player_r", "move", 'E') - || try_player_cmd(id, "player_l", "move", 'W')) - { - return 1; - } + return 1; } return 0; } diff --git a/src/client/keybindings.h b/src/client/keybindings.h index e2031f3..ea09d65 100644 --- a/src/client/keybindings.h +++ b/src/client/keybindings.h @@ -13,7 +13,7 @@ struct KeyBinding { struct KeyBinding * next; - uint16_t key; /* keycode */ + uint16_t key; /* keycode */ char * command; /* name of command / functionality bound to keycode */ };