diff options
author | Johnny Richard <johnny@johnnyrichard.com> | 2021-04-13 02:23:22 +0200 |
---|---|---|
committer | Johnny Richard <johnny@johnnyrichard.com> | 2021-10-28 02:22:42 +0200 |
commit | 9a285cc3bdb8d5870fea5f07235a3e44786a0317 (patch) | |
tree | c6bcd8df266a02aa5276aef7cfc2257a27286231 | |
parent | ee1121ce969248d701fea7ffe79bc6f686610ce7 (diff) |
Add controller to its own header file
Signed-off-by: Johnny Richard <johnny@johnnyrichard.com>
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | Makefile | 24 | ||||
-rw-r--r-- | src/controller.h | 21 | ||||
-rw-r--r-- | src/main.c | 11 |
4 files changed, 46 insertions, 14 deletions
@@ -1,2 +1,4 @@ *.exe -main +*.o +/build +blast_attack @@ -1,6 +1,9 @@ -.PHONY: build clean run +TARGET ?= blast_attack +SOURCE_DIR ?= ./src +BUILD_DIR ?= ./build CFLAGS := -Wall +OBJS := $(BUILD_DIR)/main.o ifeq ($(OS),Windows_NT) CC := gcc @@ -10,11 +13,22 @@ else CFLAGS += -Wall $(shell pkg-config sdl2 --cflags --libs) endif -build: - $(CC) src/main.c -o main $(CFLAGS) +.PHONY: build clean run $(TARGET) + +all: $(TARGET) + +$(TARGET): $(BUILD_DIR) $(OBJS) + $(CC) $(OBJS) -o $(TARGET) $(CFLAGS) + +$(BUILD_DIR): + @mkdir -p $@ + +$(BUILD_DIR)/%.o: $(SOURCE_DIR)/%.c + $(CC) $(CFLAGS) -c $< -o $@ clean: - rm ./game; + @rm -rf $(OBJS) + @rm $(TARGET) run: - ./game; + ./$(TARGET) diff --git a/src/controller.h b/src/controller.h new file mode 100644 index 0000000..bf22335 --- /dev/null +++ b/src/controller.h @@ -0,0 +1,21 @@ +#ifndef CONTROLLER_H +#define CONTROLLER_H + +#include <stdbool.h> + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct controller_t { + bool up; + bool down; + bool left; + bool right; +} controller_t; + +#ifdef __cplusplus +} +#endif + +#endif /* CONTROLLER_H */ @@ -3,16 +3,11 @@ #include <stdbool.h> #include <SDL.h> +#include "controller.h" + const int SCREEN_WIDTH = 640; const int SCREEN_HEIGHT = 480; -typedef struct Controller { - bool up; - bool down; - bool left; - bool right; -} Controller; - int main (int argc, char *args[]) @@ -41,7 +36,7 @@ main (int argc, SDL_Rect rect = { .x = 0, .y = 0, .w = 20, .h = 20 }; bool quit = false; - Controller controller = {0}; + controller_t controller = {0}; while (!quit) { screenSurface = SDL_GetWindowSurface(window); |