diff options
Diffstat (limited to 'src/controls.c')
-rw-r--r-- | src/controls.c | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/controls.c b/src/controls.c index fca64da..a3cefa1 100644 --- a/src/controls.c +++ b/src/controls.c @@ -1,4 +1,5 @@ #include "pong.h" +#include <raylib.h> /* Checks what button the player is pressing amongst all control inputs. */ int player_controls() { @@ -20,18 +21,26 @@ int player_controls() { /* Same as player_controls() but check if the button was pressed, rather than held down. */ int player_controls_pressed() { + int ReturnVal = -1; if( IsMouseButtonPressed(MOUSE_LEFT_BUTTON) || IsKeyPressed(KEY_SPACE) || IsGamepadButtonPressed(1, GAMEPAD_BUTTON_RIGHT_FACE_DOWN) ) { - return(CONTROLLER_ACTIVATE); + ReturnVal = CONTROLLER_ACTIVATE; } else if( IsKeyPressed(KEY_ESCAPE) || IsGamepadButtonPressed(1, GAMEPAD_BUTTON_MIDDLE_RIGHT) ) { - return(CONTROLLER_PAUSE); + ReturnVal = CONTROLLER_PAUSE; } else if( IsKeyPressed(KEY_A) || IsGamepadButtonPressed(1, GAMEPAD_BUTTON_LEFT_FACE_LEFT) ) { - return(CONTROLLER_LEFT); + ReturnVal = CONTROLLER_LEFT; } else if( IsKeyPressed(KEY_D) || IsGamepadButtonPressed(1, GAMEPAD_BUTTON_LEFT_FACE_RIGHT) ) { - return(CONTROLLER_RIGHT); + ReturnVal = CONTROLLER_RIGHT; } else if( IsKeyPressed(KEY_W) || IsGamepadButtonPressed(1, GAMEPAD_BUTTON_LEFT_FACE_UP) ) { - return(CONTROLLER_UP); + ReturnVal = CONTROLLER_UP; } else if( IsKeyPressed(KEY_S) || IsGamepadButtonPressed(1, GAMEPAD_BUTTON_LEFT_FACE_DOWN) ) { - return(CONTROLLER_DOWN); + ReturnVal = CONTROLLER_DOWN; } - return(-1); + return(ReturnVal); +} + +/* Calls BeginDrawing() and EndDrawing() to clear input buffer. */ +void clear_input_buffer() { + BeginDrawing(); + EndDrawing(); + return; } |