home · contact · privacy
Fixed bug that led to endless loop in nearest_enemy_dir().
[plomrogue] / src / control.h
index 470b026cb74c154b2ea22b3120f932346429602e..492b80b1688f8ad176dd57adc7397cac11d86661 100644 (file)
@@ -6,39 +6,27 @@
 #ifndef CONTROL_H
 #define CONTROL_H
 
-
-
 #include <stdint.h> /* 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(struct World * world,
-                                                char * name);
-
+extern uint16_t get_available_keycode_to_action(char * name);
 
-
-/* Control the player character, either via recorded "action" or pressed "key".
+/* 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 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);
-
+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 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).
+/* 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_control(int key, struct World * world);
+extern uint8_t meta_control(int key);