home · contact · privacy
Fixed bug that led to endless loop in nearest_enemy_dir().
[plomrogue] / src / control.c
index ba1b5055ecba2d6540ac3be1cae19a680cc08046..1e9265e73074da48e2f884e93fa2ee94b00c1ed9 100644 (file)
@@ -1,8 +1,7 @@
 /* control.c */
 
 #include "control.h"
-#include <stdint.h> /* for uint8_t */
-#include <string.h> /* for strcmp() */
+#include <stdint.h> /* for uint8_t, uint16_t */
 #include "windows.h" /* for cycle_active_win(), shift_active_win(), struct Win,
                       *  struct WinMeta
                       */
 #include "map.h" /* for map_scroll(), map_center() */
 #include "main.h" /* for world global */
 #include "wincontrol.h" /* for struct WinConf, scroll_pad(), toggle_window(),
-                         * growshrink_active_window(),toggle_winconfig(),
-                         * toggle_win_height_type(), toggle_win_width_type()
+                         * growshrink_active_window(), toggle_winconfig(),
+                         * toggle_win_size_type()
                          */
-#include "map_object_actions.h" /* for struct MapObjAct, actor_wait(),
-                                 * actor_move(), actor_drop(), actor_pick(),
-                                 * actor_pick(), get_moa_id_by_name()
-                                 */
+#include "map_object_actions.h" /* for get_moa_id_by_name() */
 #include "command_db.h" /* for is_command_id_shortdsc() */
 #include "misc.h" /* for reload_interface_conf(), save_interface_conf(),
                    * nav_inventory(), turn_over()
@@ -35,8 +31,8 @@ static uint8_t try_cmd_1args(int cmd, char * match, void (* f) (char), char c);
 static uint8_t try_cmd_2args(int cmd, char * match,
                              void (* f) (char, char), char c1, char c2);
 
-/* If "action" is id of command named "match", set player->arg, ->command and
- * call turn_over().
+/* If "action" is id of command named "match", set player's .arg and .command
+ * and call turn_over().
  */
 static uint8_t try_player_cmd(int action, char * match, char * command,
                               uint8_t arg);
@@ -188,9 +184,9 @@ extern uint8_t player_control_by_key(int key)
 extern uint8_t player_control_by_id(int action)
 {
     if (   try_player_cmd(action, "wait", "wait", 0)
-        || try_player_cmd(action, "drop", "drop", world.inventory_select)
+        || try_player_cmd(action, "drop", "drop", world.inventory_sel)
         || try_player_cmd(action, "pick", "pick_up", 0)
-        || try_player_cmd(action, "use", "use", world.inventory_select)
+        || try_player_cmd(action, "use", "use", world.inventory_sel)
         || try_player_cmd(action, "player_u", "move", 'N')
         || try_player_cmd(action, "player_d", "move", 'S')
         || try_player_cmd(action, "player_r", "move", 'E')
@@ -205,8 +201,8 @@ extern uint8_t player_control_by_id(int action)
 
 extern uint8_t wingeom_control(int key)
 {
-    if (   try_cmd_0args(key, "to_height_t", toggle_win_height_type)
-        || try_cmd_0args(key, "to_width_t", toggle_win_width_type)
+    if (   try_cmd_1args(key, "to_height_t", toggle_win_size_type, 'y')
+        || try_cmd_1args(key, "to_width_t", toggle_win_size_type, 'x')
         || try_cmd_1args(key, "grow_h", growshrink_active_window, '*')
         || try_cmd_1args(key, "shri_h", growshrink_active_window, '_')
         || try_cmd_1args(key, "grow_v", growshrink_active_window, '+')