aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile17
-rw-r--r--src/game.c25
-rw-r--r--src/game.h15
-rw-r--r--src/implement.c4
-rw-r--r--src/main.c15
-rw-r--r--src/settings.c9
-rw-r--r--src/settings.h14
-rw-r--r--src/utils.c2
-rw-r--r--src/utils.h30
9 files changed, 131 insertions, 0 deletions
diff --git a/src/Makefile b/src/Makefile
new file mode 100644
index 0000000..b0b0677
--- /dev/null
+++ b/src/Makefile
@@ -0,0 +1,17 @@
+CFLAGS = -Isrc -I../include -std=gnu99
+LDFLAGS = -lm -lraylib
+
+TARGET = FindThings
+SOURCES = $(shell find -name "*.c")
+OBJECTS = $(SOURCES:.c=.o)
+
+%.o: %.c
+ $(CC) -c $(CFLAGS) -o $@ $<
+$(TARGET): $(OBJECTS)
+ $(CC) $(CFLAGS) -o $(TARGET) $(OBJECTS) $(LDFLAGS)
+
+.PHONY: clean
+clean:
+ rm *.o
+ rm $(TARGET)
+
diff --git a/src/game.c b/src/game.c
new file mode 100644
index 0000000..807220c
--- /dev/null
+++ b/src/game.c
@@ -0,0 +1,25 @@
+#include "game.h"
+#include "utils.h"
+
+void initGame(Game* game)
+{
+ // Settings.
+ game->settings = defaultSettings();
+
+ // Window.
+ InitWindow(game->settings.windowWidth, game->settings.windowHeight,
+ "Find Things");
+}
+
+void updateGame(Game* game)
+{
+ BeginDrawing();
+ ClearBackground(RAYWHITE);
+
+ EndDrawing();
+}
+
+void closeGame(Game* game)
+{
+ CloseWindow();
+}
diff --git a/src/game.h b/src/game.h
new file mode 100644
index 0000000..bc0fc8c
--- /dev/null
+++ b/src/game.h
@@ -0,0 +1,15 @@
+#include "utils.h"
+#include "settings.h"
+
+#ifndef GAME_H
+#define GAME_H
+
+typedef struct Game {
+ Settings settings;
+} Game;
+
+void initGame(Game* game);
+void updateGame(Game* game);
+void closeGame(Game* game);
+
+#endif
diff --git a/src/implement.c b/src/implement.c
new file mode 100644
index 0000000..be0ea1a
--- /dev/null
+++ b/src/implement.c
@@ -0,0 +1,4 @@
+#include <raylib.h>
+
+#define RAYGUI_IMPLEMENTATION
+#include "raygui.h"
diff --git a/src/main.c b/src/main.c
new file mode 100644
index 0000000..9cc6f5e
--- /dev/null
+++ b/src/main.c
@@ -0,0 +1,15 @@
+#include "game.h"
+
+int main (int argc, char** argv)
+{
+ Game game;
+ initGame(&game);
+
+ while (!WindowShouldClose())
+ {
+ updateGame(&game);
+ }
+
+ closeGame(&game);
+ return 0;
+}
diff --git a/src/settings.c b/src/settings.c
new file mode 100644
index 0000000..26aad2f
--- /dev/null
+++ b/src/settings.c
@@ -0,0 +1,9 @@
+#include "settings.h"
+
+Settings defaultSettings()
+{
+ return (Settings){
+ .windowWidth = 960,
+ .windowHeight = 720
+ };
+}
diff --git a/src/settings.h b/src/settings.h
new file mode 100644
index 0000000..2d2c4f4
--- /dev/null
+++ b/src/settings.h
@@ -0,0 +1,14 @@
+#include "utils.h"
+
+#ifndef SETTINGS_H
+#define SETTINGS_H
+
+typedef struct Settings {
+ // Window.
+ int windowWidth;
+ int windowHeight;
+} Settings;
+
+Settings defaultSettings();
+
+#endif
diff --git a/src/utils.c b/src/utils.c
new file mode 100644
index 0000000..2916c30
--- /dev/null
+++ b/src/utils.c
@@ -0,0 +1,2 @@
+#include "utils.h"
+
diff --git a/src/utils.h b/src/utils.h
new file mode 100644
index 0000000..e3b52ed
--- /dev/null
+++ b/src/utils.h
@@ -0,0 +1,30 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdlib.h>
+
+#include <raylib.h>
+#include "raylib.h"
+
+#ifndef UTIL_H
+#define UTIL_H
+
+#define FT_NAMEMAX 256
+
+// Memory management.
+#define FT_MALLOC(size) malloc(size)
+#define FT_CALLOC(nmemb, size) calloc(nmemb, size)
+#define FT_REALLOC(ptr, size) realloc(ptr, size)
+#define FT_REALLOCARRAY(ptr, nmemb, size) reallocarray(ptr, nmemb, size)
+//#define FT_REALLOCARRAY(ptr, nmemb, size) realloc(ptr, nmemb * size)
+#define FT_FREE(ptr) free(ptr)
+
+// Errors.
+#define ALLOCATION_ERROR TraceLog(LOG_ERROR, "Allocation error in %s:%d", \
+ __FILE__, __LINE__);
+
+typedef enum FTError {
+ FTERROR = -1,
+ FTSUCCESS = 0
+} FTError;
+
+#endif