aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUneven Prankster <unevenprankster@protonmail.com>2023-08-27 20:15:02 -0300
committerUneven Prankster <unevenprankster@protonmail.com>2023-08-27 20:15:02 -0300
commit83505b7be49dbf7789deb814bd159d9c37181d05 (patch)
tree29446b7b065ee7e100673f9892d3655c354791db
parentc74edede22703d5d55cde4aa042ee206ac5a4cf6 (diff)
Now with keyboard/mouse things!
-rw-r--r--src/audio_sys.h (renamed from src/audio.h)0
-rw-r--r--src/controller.c59
-rw-r--r--src/controller.h16
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! //