diff options
| author | Uneven Prankster <unevenprankster@protonmail.com> | 2023-08-27 20:15:02 -0300 |
|---|---|---|
| committer | Uneven Prankster <unevenprankster@protonmail.com> | 2023-08-27 20:15:02 -0300 |
| commit | 83505b7be49dbf7789deb814bd159d9c37181d05 (patch) | |
| tree | 29446b7b065ee7e100673f9892d3655c354791db | |
| parent | c74edede22703d5d55cde4aa042ee206ac5a4cf6 (diff) | |
Now with keyboard/mouse things!
| -rw-r--r-- | src/audio_sys.h (renamed from src/audio.h) | 0 | ||||
| -rw-r--r-- | src/controller.c | 59 | ||||
| -rw-r--r-- | src/controller.h | 16 |
3 files changed, 73 insertions, 2 deletions
diff --git a/src/audio.h b/src/audio_sys.h index 8a5b6cc..8a5b6cc 100644 --- a/src/audio.h +++ b/src/audio_sys.h diff --git a/src/controller.c b/src/controller.c index e52eec5..434e3d6 100644 --- a/src/controller.c +++ b/src/controller.c @@ -2,6 +2,8 @@ #include <raylib.h> +// Keyboard things + b32 is_key_pressed(i32 btn) { return IsKeyPressed(btn); @@ -17,6 +19,63 @@ b32 is_key_released(i32 btn) return IsKeyReleased(btn); } +// Mouse things + +b32 is_mouse_pressed(i32 btn) +{ + return IsMouseButtonPressed(btn); +} + +b32 is_mouse_held(i32 btn) +{ + return IsMouseButtonDown(btn); +} + +b32 is_mouse_released(i32 btn) +{ + return IsMouseButtonReleased(btn); +} + +void set_mouse_scale(f32 x, f32 y) +{ + SetMouseScale(x, y); +} + +vec2 get_mouse_pos(void) +{ + Vector2 pos = GetMousePosition(); + return (vec2){FP_TO_FIXED(pos.x), FP_TO_FIXED(pos.y)}; +} + +fx32 get_wheel_movement(void) +{ + return FP_TO_FIXED(GetMouseWheelMove()); +} + +// Gamepad things + +b32 is_button_pressed(i32 btn) +{ + return IsGamepadButtonPressed(0, btn); +} + +b32 is_button_held(i32 btn) +{ + return IsGamepadButtonDown(0, btn); +} + +b32 is_button_released(i32 btn) +{ + return IsGamepadButtonReleased(0, btn); +} + +i32 last_button_press(void) +{ + return GetGamepadButtonPressed(); +} + +// Movement things + vec2 get_dir_input(void) { fx32 cont_x = FP_TO_FIXED(GetGamepadAxisMovement(0, 0)); diff --git a/src/controller.h b/src/controller.h index e4a7683..3476641 100644 --- a/src/controller.h +++ b/src/controller.h @@ -2,12 +2,24 @@ #include "config.h" -// TODO: Controller button presses you DINGUS - b32 is_key_pressed(i32 btn); b32 is_key_held(i32 btn); b32 is_key_released(i32 btn); +b32 is_mouse_pressed(i32 btn); +b32 is_mouse_held(i32 btn); +b32 is_mouse_released(i32 btn); + +void set_mouse_scale(f32 x, f32 y); +vec2 get_mouse_pos(void); +fx32 get_wheel_movement(void); + +b32 is_button_pressed(i32 btn); +b32 is_button_held(i32 btn); +b32 is_button_released(i32 btn); + +i32 last_button_press(void); + vec2 get_dir_input(void); // This portion is implemented in rumble.c! // |
