X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=src%2Fclient%2Fcontrol.c;h=55dbd9e40d45a4062698031935d22c4555f3f804;hb=56867ba7a05f616174db6496ebc4115592ad6e6c;hp=536c5675bb3e78f7a13af556612031151e778421;hpb=06e80a3d3fa38c2465d58eef1306dfebe4512497;p=plomrogue
diff --git a/src/client/control.c b/src/client/control.c
index 536c567..55dbd9e 100644
--- a/src/client/control.c
+++ b/src/client/control.c
@@ -17,7 +17,7 @@
#include "keybindings.h" /* get_command_to_keycode(), get_keycode_to_command(),
* mod_selected_keyb(), move_keyb_selection()
*/
-#include "map.h" /* map_scroll(), map_center(), toggle_autofocus() */
+#include "map.h" /* toggle_lookmode(), lookmode_nav()*/
#include "wincontrol.h" /* shift_active_win(), resize_active_win(),
* toggle_win_size_type(), toggle_window(),
* cycle_active_win(), scroll_v_screen(),
@@ -97,6 +97,8 @@ static uint8_t try_0args(struct Command * command, char * match, void (* f) ())
return 0;
}
+
+
static uint8_t try_1args(struct Command * command, char * match,
void (* f) (char), char c)
{
@@ -110,10 +112,6 @@ static uint8_t try_1args(struct Command * command, char * match,
-/* If "command" fits pattern "keyb_XY" with Y a proper keybinding list ID char
- * and X one of "u" (for "up"), "d" (for "down") or "m" (for "modify"), move up
- * or down or modify entry in the selected keybinding list.
- */
static uint8_t try_kb_manip(char * command)
{
char * cmp = "keyb_";
@@ -136,19 +134,12 @@ static uint8_t try_kb_manip(char * command)
static uint8_t try_client_commands(struct Command * command)
{
- return ( try_0args(command, "map_c", map_center)
- || try_0args(command, "to_autofocus", toggle_autofocus)
- || try_1args(command, "map_u", map_scroll, '8')
- || try_1args(command, "map_d", map_scroll, '2')
- || try_1args(command, "map_r", map_scroll, '6')
- || try_1args(command, "map_l", map_scroll, '4')
- || try_1args(command, "inv_u", nav_inventory, 'u')
+ return ( try_1args(command, "inv_u", nav_inventory, 'u')
|| try_1args(command, "inv_d", nav_inventory, 'd')
|| try_1args(command, "cyc_win_f", cycle_active_win, 'f')
|| try_1args(command, "cyc_win_b", cycle_active_win, 'b')
|| try_1args(command, "scrl_r", scroll_v_screen, '+')
|| try_1args(command, "scrl_l", scroll_v_screen, '-')
- || try_1args(command, "to_a_keywin", toggle_window, 'a')
|| try_1args(command, "to_g_keywin", toggle_window, '0')
|| try_1args(command, "to_wg_keywin", toggle_window, '1')
|| try_1args(command, "to_wk_keywin", toggle_window, '2')
@@ -156,6 +147,7 @@ static uint8_t try_client_commands(struct Command * command)
|| try_1args(command, "to_infowin", toggle_window, 'i')
|| try_1args(command, "to_inv", toggle_window, 'c')
|| try_1args(command, "to_logwin", toggle_window, 'l')
+ || try_1args(command, "to_terrain", toggle_window, 's')
|| try_0args(command, "winconf", toggle_winconfig)
|| try_1args(command, "grow_h", resize_active_win, '*')
|| try_1args(command, "shri_h", resize_active_win, '_')
@@ -168,6 +160,7 @@ static uint8_t try_client_commands(struct Command * command)
|| try_1args(command, "shift_b", shift_active_win, 'b')
|| try_0args(command, "reload_conf", reload_interface_conf)
|| try_0args(command, "save_conf", save_interface_conf)
+ || try_0args(command, "to_look", toggle_lookmode)
|| try_kb_manip(command->dsc_short));
}
@@ -265,7 +258,7 @@ extern uint8_t try_key(uint16_t key)
}
if (command)
{
- if (try_server_commands(command))
+ if (world.look && lookmode_nav(command->dsc_short))
{
return 1;
}
@@ -273,6 +266,10 @@ extern uint8_t try_key(uint16_t key)
{
return 1;
}
+ else if (try_server_commands(command))
+ {
+ return 1;
+ }
else if (!strcmp("quit", command->dsc_short))
{
return 2;