X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=src%2Fcontrol.h;h=470b026cb74c154b2ea22b3120f932346429602e;hb=657d5dbc6d362d7b20693c63b38d8d99f3d2dbbd;hp=599f04b3cc6f3316f295bb6a3144c77aa25858ce;hpb=fcf58a650b9c0a9c3aa08c2c25ea14d70e08f8c7;p=plomrogue
diff --git a/src/control.h b/src/control.h
index 599f04b..470b026 100644
--- a/src/control.h
+++ b/src/control.h
@@ -1,4 +1,6 @@
/* control.h
+ *
+ * Routines for handling control input from keyboard or record file.
*/
#ifndef CONTROL_H
@@ -6,16 +8,37 @@
-#include /* for uint8_t */
-#include "yx_uint16.h" /* for yx_uint16 coordinates */
+#include /* for uint8_t */
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.
+/* Return keycode to action of "name" if available in current window config. */
+extern uint16_t get_available_keycode_to_action(struct World * world,
+ char * name);
+
+
+
+/* Control the player character, either via recorded "action" or pressed "key".
+ */
+extern void record_control(int action, struct World * world);
+extern uint8_t player_control(int key, struct World * world);
+
+
+
+/* Control via "key" active window's geometry / keybindings in respective config
+ * view.
+ */
+extern uint8_t wingeom_control(int key, struct World * world);
+extern uint8_t winkeyb_control(int key, struct World * world);
+
+
+
+/* Call by "key" further game / window management actions that don't influence
+ * the player character. If the "quit" action is called, return 1 (instead of
+ * exiting directly).
*/
-extern uint8_t meta_keys(int key, struct World * world);
+extern uint8_t meta_control(int key, struct World * world);