home · contact · privacy
Moved meta_keys() into new library "control" to soon include all key-press processing.
authorChristian Heller <c.heller@plomlompom.de>
Wed, 28 Aug 2013 01:23:39 +0000 (03:23 +0200)
committerChristian Heller <c.heller@plomlompom.de>
Wed, 28 Aug 2013 01:23:39 +0000 (03:23 +0200)
src/control.c [new file with mode: 0644]
src/control.h [new file with mode: 0644]
src/main.c
src/misc.c
src/misc.h

diff --git a/src/control.c b/src/control.c
new file mode 100644 (file)
index 0000000..e10a93c
--- /dev/null
@@ -0,0 +1,128 @@
+/* control.c */
+
+#include "control.h"
+#include <stdint.h> /* for uint8_t */
+#include "windows.h" /* for cycle_active_win(), shift_active_win(), struct Win,
+                      *  struct WinMeta
+                      */
+#include "keybindings.h" /* for get_action_key(), save_keybindings(),
+                          * keyswin_move_selection(), keyswin_mod_key()
+                          */
+#include "map.h" /* for map_scroll(), map_center_player(), dir enum */
+#include "main.h" /* for World struct */
+#include "rexit.h" /* for exit_err() */
+#include "misc.h" /* for scroll_pad(), toggle_window(),
+                   * growshrink_active_window()
+                   */
+
+
+
+extern uint8_t meta_keys(int key, struct World * world)
+{
+    struct WinMeta * win_meta = world->wins.meta;
+    struct Win * win_keys     = world->wins.keys;
+    struct Win * win_map      = world->wins.map;
+    struct Win * win_info     = world->wins.info;
+    struct Win * win_log      = world->wins.log;
+    char * err_toggle = "Trouble with toggle_window() in meta_keys().";
+    char * err_shift  = "Trouble with shift_active_win() in meta_keys().";
+    char * err_resize = "Trouble with growshrink_active_window() in "
+                        "meta_keys().";
+    if (key == get_action_key(world->keybindings, "quit"))
+    {
+        return 1;
+    }
+    else if (key == get_action_key(world->keybindings, "scroll pad right"))
+    {
+        scroll_pad(win_meta, '+');
+    }
+    else if (key == get_action_key(world->keybindings, "scroll pad left"))
+    {
+        scroll_pad(win_meta, '-');
+    }
+    else if (key == get_action_key(world->keybindings, "toggle keys window"))
+    {
+        exit_err(toggle_window(win_meta, win_keys), world, err_toggle);
+    }
+    else if (key == get_action_key(world->keybindings, "toggle map window"))
+    {
+        exit_err(toggle_window(win_meta, win_map), world, err_toggle);
+    }
+    else if (key == get_action_key(world->keybindings, "toggle info window"))
+    {
+        exit_err(toggle_window(win_meta, win_info), world, err_toggle);
+    }
+    else if (key == get_action_key(world->keybindings, "toggle log window"))
+    {
+        exit_err(toggle_window(win_meta, win_log), world, err_toggle);
+    }
+    else if (key == get_action_key(world->keybindings, "cycle forwards"))
+    {
+        cycle_active_win(win_meta, 'f');
+    }
+    else if (key == get_action_key(world->keybindings, "cycle backwards"))
+    {
+        cycle_active_win(win_meta, 'b');
+    }
+    else if (key == get_action_key(world->keybindings, "shift forwards"))
+    {
+        exit_err(shift_active_win(win_meta, 'f'), world, err_shift);
+    }
+    else if (key == get_action_key(world->keybindings, "shift backwards"))
+    {
+        exit_err(shift_active_win(win_meta, 'b'), world, err_shift);
+    }
+    else if (key == get_action_key(world->keybindings, "grow horizontally"))
+    {
+        exit_err(growshrink_active_window(win_meta, '*'), world, err_resize);
+    }
+    else if (key == get_action_key(world->keybindings, "shrink horizontally"))
+    {
+        exit_err(growshrink_active_window(win_meta, '_'), world, err_resize);
+    }
+    else if (key == get_action_key(world->keybindings, "grow vertically"))
+    {
+        exit_err(growshrink_active_window(win_meta, '+'), world, err_resize);
+    }
+    else if (key == get_action_key(world->keybindings, "shrink vertically"))
+    {
+        exit_err(growshrink_active_window(win_meta, '-'), world, err_resize);
+    }
+    else if (key == get_action_key(world->keybindings, "save keys"))
+    {
+        save_keybindings(world);
+    }
+    else if (key == get_action_key(world->keybindings, "keys nav up"))
+    {
+        keyswin_move_selection (world, 'u');
+    }
+    else if (key == get_action_key(world->keybindings, "keys nav down"))
+    {
+        keyswin_move_selection (world, 'd');
+    }
+    else if (key == get_action_key(world->keybindings, "keys mod"))
+    {
+        keyswin_mod_key (world, win_meta);
+    }
+    else if (key == get_action_key(world->keybindings, "map up"))
+    {
+        map_scroll(world->map, NORTH, win_map->frame.size);
+     }
+    else if (key == get_action_key(world->keybindings, "map down"))
+    {
+        map_scroll(world->map, SOUTH, win_map->frame.size);
+    }
+    else if (key == get_action_key(world->keybindings, "map right"))
+    {
+        map_scroll(world->map, EAST, win_map->frame.size);
+    }
+    else if (key == get_action_key(world->keybindings, "map left"))
+    {
+        map_scroll(world->map, WEST, win_map->frame.size);
+    }
+    else if (key == get_action_key(world->keybindings, "map center player"))
+    {
+        map_center_player (world->map, world->player, win_map->frame.size);
+    }
+    return 0;
+}
diff --git a/src/control.h b/src/control.h
new file mode 100644 (file)
index 0000000..599f04b
--- /dev/null
@@ -0,0 +1,22 @@
+/* control.h
+ */
+
+#ifndef CONTROL_H
+#define CONTROL_H
+
+
+
+#include <stdint.h>    /* for uint8_t */
+#include "yx_uint16.h" /* for yx_uint16 coordinates */
+struct World;
+
+
+
+/* Call some meta game / window management actions dependent on key. If the
+ * "quit" action is called, return 1 only instead of doing anything directly.
+ */
+extern uint8_t meta_keys(int key, struct World * world);
+
+
+
+#endif
index 8f13e080bfcde60ac246b7fcb5e5957f530badcb..c92d604c7ba3404982c614137155a155133c9864 100644 (file)
@@ -28,6 +28,8 @@
 #include "yx_uint16.h" /* for dir enum */
 #include "rrand.h" /* for rrand(), rrand_seed() */
 #include "rexit.h" /* for exit_game() */
+#include "control.h" /* for meta_keys() */
+
 
 int main(int argc, char *argv[])
 {
index a4781c9f72d90b848283c69433b7f75450c7a53f..1fbcc3ecdce4a318e911e75928c1322e29d19c8f 100644 (file)
@@ -261,115 +261,3 @@ extern struct yx_uint16 find_passable_pos(struct Map * map)
     }
     return pos;
 }
-
-
-
-extern uint8_t meta_keys(int key, struct World * world)
-{
-    struct WinMeta * win_meta = world->wins.meta;
-    struct Win * win_keys     = world->wins.keys;
-    struct Win * win_map      = world->wins.map;
-    struct Win * win_info     = world->wins.info;
-    struct Win * win_log      = world->wins.log;
-    char * err_toggle = "Trouble with toggle_window() in meta_keys().";
-    char * err_shift  = "Trouble with shift_active_win() in meta_keys().";
-    char * err_resize = "Trouble with growshrink_active_window() in "
-                        "meta_keys().";
-    if (key == get_action_key(world->keybindings, "quit"))
-    {
-        return 1;
-    }
-    else if (key == get_action_key(world->keybindings, "scroll pad right"))
-    {
-        scroll_pad (win_meta, '+');
-    }
-    else if (key == get_action_key(world->keybindings, "scroll pad left"))
-    {
-        scroll_pad (win_meta, '-');
-    }
-    else if (key == get_action_key(world->keybindings, "toggle keys window"))
-    {
-        exit_err(toggle_window(win_meta, win_keys), world, err_toggle);
-    }
-    else if (key == get_action_key(world->keybindings, "toggle map window"))
-    {
-        exit_err(toggle_window(win_meta, win_map), world, err_toggle);
-    }
-    else if (key == get_action_key(world->keybindings, "toggle info window"))
-    {
-        exit_err(toggle_window(win_meta, win_info), world, err_toggle);
-    }
-    else if (key == get_action_key(world->keybindings, "toggle log window"))
-    {
-        exit_err(toggle_window(win_meta, win_log), world, err_toggle);
-    }
-    else if (key == get_action_key(world->keybindings, "cycle forwards"))
-    {
-        cycle_active_win(win_meta, 'f');
-    }
-    else if (key == get_action_key(world->keybindings, "cycle backwards"))
-    {
-        cycle_active_win(win_meta, 'b');
-    }
-    else if (key == get_action_key(world->keybindings, "shift forwards"))
-    {
-        exit_err(shift_active_win(win_meta, 'f'), world, err_shift);
-    }
-    else if (key == get_action_key(world->keybindings, "shift backwards"))
-    {
-        exit_err(shift_active_win(win_meta, 'b'), world, err_shift);
-    }
-    else if (key == get_action_key(world->keybindings, "grow horizontally"))
-    {
-        exit_err(growshrink_active_window(win_meta, '*'), world, err_resize);
-    }
-    else if (key == get_action_key(world->keybindings, "shrink horizontally"))
-    {
-        exit_err(growshrink_active_window(win_meta, '_'), world, err_resize);
-    }
-    else if (key == get_action_key(world->keybindings, "grow vertically"))
-    {
-        exit_err(growshrink_active_window(win_meta, '+'), world, err_resize);
-    }
-    else if (key == get_action_key(world->keybindings, "shrink vertically"))
-    {
-        exit_err(growshrink_active_window(win_meta, '-'), world, err_resize);
-    }
-    else if (key == get_action_key(world->keybindings, "save keys"))
-    {
-        save_keybindings(world);
-    }
-    else if (key == get_action_key(world->keybindings, "keys nav up"))
-    {
-        keyswin_move_selection (world, 'u');
-    }
-    else if (key == get_action_key(world->keybindings, "keys nav down"))
-    {
-        keyswin_move_selection (world, 'd');
-    }
-    else if (key == get_action_key(world->keybindings, "keys mod"))
-    {
-        keyswin_mod_key (world, win_meta);
-    }
-    else if (key == get_action_key(world->keybindings, "map up"))
-    {
-        map_scroll (world->map, NORTH, win_map->frame.size);
-     }
-    else if (key == get_action_key(world->keybindings, "map down"))
-    {
-        map_scroll (world->map, SOUTH, win_map->frame.size);
-    }
-    else if (key == get_action_key(world->keybindings, "map right"))
-    {
-        map_scroll (world->map, EAST, win_map->frame.size);
-    }
-    else if (key == get_action_key(world->keybindings, "map left"))
-    {
-        map_scroll (world->map, WEST, win_map->frame.size);
-    }
-    else if (key == get_action_key(world->keybindings, "map center player"))
-    {
-        map_center_player (world->map, world->player, win_map->frame.size);
-    }
-    return 0;
-}
index 417ca8e0ae80de57687671ce0d09aef8ea90d8a9..eb2d0cd661386c6f0f1e27a6c9d791b71f9bb511 100644 (file)
@@ -87,11 +87,4 @@ extern struct yx_uint16 find_passable_pos(struct Map * map);
 
 
 
-/* Call some meta game / window management actions dependent on key. If the
- * "quit" action is called, return 1 only instead of doing anything directly.
- */
-extern uint8_t meta_keys(int key, struct World * world);
-
-
-
 #endif