summaryrefslogtreecommitdiff
path: root/src/controller.c
diff options
context:
space:
mode:
authorJohnny Richard <johnny@johnnyrichard.com>2021-04-13 02:53:13 +0200
committerJohnny Richard <johnny@johnnyrichard.com>2021-10-28 02:22:57 +0200
commitd8336885a4c053544fe3491335da0f76afffdfb9 (patch)
treeb3cd866a257406281144075c0af2407b9de2978c /src/controller.c
parent9a285cc3bdb8d5870fea5f07235a3e44786a0317 (diff)
Move controller update to a new update function
Signed-off-by: Johnny Richard <johnny@johnnyrichard.com>
Diffstat (limited to 'src/controller.c')
-rw-r--r--src/controller.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/controller.c b/src/controller.c
new file mode 100644
index 0000000..5fb1e0b
--- /dev/null
+++ b/src/controller.c
@@ -0,0 +1,46 @@
+#include <SDL.h>
+#include "controller.h"
+
+
+void
+controller_update(controller_t *self,
+ SDL_Event *event)
+{
+ if (event->type == SDL_KEYDOWN) {
+ switch (event->key.keysym.sym) {
+ case SDLK_UP:
+ self->up = true;
+ break;
+ case SDLK_DOWN:
+ self->down = true;
+ break;
+ case SDLK_LEFT:
+ self->left = true;
+ break;
+ case SDLK_RIGHT:
+ self->right = true;
+ break;
+ }
+ }
+
+ if (event->type == SDL_KEYUP) {
+ switch (event->key.keysym.sym) {
+ case SDLK_UP:
+ self->up = false;
+ break;
+
+ case SDLK_DOWN:
+ self->down = false;
+ break;
+
+ case SDLK_LEFT:
+ self->left = false;
+ break;
+
+ case SDLK_RIGHT:
+ self->right = false;
+ break;
+ }
+ }
+}
+