From 9eee43d3bb24000077602a62dfdfeee2606f1589 Mon Sep 17 00:00:00 2001 From: Xavier Del Campo Romero Date: Thu, 24 Feb 2022 17:55:57 +0100 Subject: Add support for keyboard and mouse --- src/player/inc/human_player.h | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) (limited to 'src/player/inc') diff --git a/src/player/inc/human_player.h b/src/player/inc/human_player.h index 6d97cf7..b2a07ee 100644 --- a/src/player/inc/human_player.h +++ b/src/player/inc/human_player.h @@ -2,7 +2,9 @@ #define HUMAN_PLAYER_H #include +#include #include +#include #include #include #include @@ -15,11 +17,34 @@ extern "C" enum {MAX_SELECTED_INSTANCES = 4}; +struct human_player_cfg +{ + enum human_player_periph + { + HUMAN_PLAYER_PERIPH_PAD, + HUMAN_PLAYER_PERIPH_KEYBOARD_MOUSE + } sel_periph; + + struct player_cfg pl; + int padn; +}; + struct human_player { struct player pl; struct camera cam; - struct pad pad; + enum human_player_periph sel_periph; + + union + { + struct pad pad; + + struct + { + struct mouse mouse; + struct keyboard keyboard; + } kbm; + } periph; struct sel_instance { @@ -52,12 +77,6 @@ struct human_player unsigned long gui_res[MAX_RESOURCE_TYPES]; }; -struct human_player_cfg -{ - struct player_cfg pl; - int padn; -}; - int human_player_init(const struct human_player_cfg *cfg, struct human_player *h); bool human_player_update(struct human_player *h, struct player_others *o); int human_player_render(const struct human_player *h, const struct player_others *o); -- cgit v1.2.3