X-Git-Url: https://plomlompom.com/repos/index.html?a=blobdiff_plain;f=src%2Fcontrol.h;h=492b80b1688f8ad176dd57adc7397cac11d86661;hb=89c4ab4e0d6d7bb9d51d6714afae52603b465fc0;hp=bd5dd0ce36a8b94743cc872fd7aefe69cfa2eca8;hpb=7b26f28c6d6028b5aad2ba93a5c8911f6118e6e9;p=plomrogue
diff --git a/src/control.h b/src/control.h
index bd5dd0c..492b80b 100644
--- a/src/control.h
+++ b/src/control.h
@@ -1,22 +1,32 @@
/* control.h
*
- * Routines for handling user's key press input.
+ * Routines for handling control input from keyboard or record file.
*/
#ifndef CONTROL_H
#define CONTROL_H
+#include /* for uint8_t */
-#include /* for uint8_t */
-struct World;
+/* Return keycode to action of "name" if available in current window config. */
+extern uint16_t get_available_keycode_to_action(char * name);
+
+/* Control the player character, either via action id "action" or pressed "key".
+ * Return 1 on success, 0 if no appropriate action to trigger was found.
+ */
+extern uint8_t player_control_by_key(int key);
+extern uint8_t player_control_by_id(int action);
+/* Control via "key" active window's config view's geometry / keybindings. */
+extern uint8_t wingeom_control(int key);
+extern uint8_t winkeyb_control(int key);
-/* Call some meta game / window management actions dependent on key. If the
- * "quit" action is called, return 1 only instead of doing anything directly.
+/* Call via "key" further game/window management actions not influencing the
+ * player character. If "quit" is called, return 1, else 0.
*/
-extern uint8_t meta_keys(int key, struct World * world);
+extern uint8_t meta_control(int key);