aboutsummaryrefslogtreecommitdiff
path: root/07-july/src/game.h
diff options
context:
space:
mode:
authorThomas Guillermo Albers Raviola <thomas@thomaslabs.org>2026-01-16 23:02:32 +0100
committerThomas Guillermo Albers Raviola <thomas@thomaslabs.org>2026-01-16 23:02:32 +0100
commit6b8af9cf83851c075c6c9514b1deaa931c2b19a4 (patch)
tree428986b49c32e21d3f7a3c2dfa41858ae0153209 /07-july/src/game.h
Initial commit
Diffstat (limited to '07-july/src/game.h')
-rw-r--r--07-july/src/game.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/07-july/src/game.h b/07-july/src/game.h
new file mode 100644
index 0000000..8ba77ed
--- /dev/null
+++ b/07-july/src/game.h
@@ -0,0 +1,42 @@
+#ifndef GAME_H
+#define GAME_H
+
+#include "camera.h"
+#include "graphics/window.h"
+#include "renderer/entity.h"
+#include "player.h"
+#include "terrain.h"
+#include "texture.h"
+#include "renderer/shape.h"
+#include "graphics/shaders.h"
+
+typedef enum
+{
+ MENU,
+ RUNNING,
+ EXIT
+}GameState_t;
+
+#define NUM_ENTITIES 1
+
+#define WINDOW_WIDTH 1024
+#define WINDOW_HEIGHT 768
+#define WINDOW_ASPECT_RATIO ( (float)WINDOW_WIDTH / (float)WINDOW_HEIGHT )
+
+typedef struct
+{
+ GameState_t gameState;
+ Shader_Layout shaderProgram, terrainProgram;
+
+ entity_t ents[NUM_ENTITIES];
+ shape_t *entsShape;
+ texture_t *entsTexture;
+ terrain_t *terrain;
+
+ player_t player;
+
+ camera_t camera;
+ window_t *window;
+} game_t;
+
+#endif // GAME_H