summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game.c38
-rw-r--r--src/main.c21
2 files changed, 59 insertions, 0 deletions
diff --git a/src/game.c b/src/game.c
new file mode 100644
index 0000000..eeabb4d
--- /dev/null
+++ b/src/game.c
@@ -0,0 +1,38 @@
+#include <raylib.h>
+#include <string.h>
+#include "game.h"
+
+Game game;
+
+static inline bool EntityAllocated(const Entity* e) {
+ return (e->flags & ENTITY_ALLOCATED);
+}
+
+void AddEntity(Entity* e) {
+ static int nextId = 0;
+
+ e->id = nextId++;
+ e->flags |= ENTITY_ALLOCATED;
+
+ for(int i = 0; i < MAX_ENTITY_COUNT; i++) {
+ if (!EntityAllocated(&game.entities[i])) {
+ game.entities[i] = *e;
+ }
+ }
+}
+
+void InitGame() {
+ game.paused = false;
+
+ memset(game.entities, 0, sizeof(game.entities));
+}
+
+void UpdateGame(float deltaTime) {
+ (void)deltaTime;
+}
+
+void DrawGame() {
+ BeginDrawing();
+ ClearBackground(RAYWHITE);
+ EndDrawing();
+} \ No newline at end of file
diff --git a/src/main.c b/src/main.c
new file mode 100644
index 0000000..f01f61c
--- /dev/null
+++ b/src/main.c
@@ -0,0 +1,21 @@
+#include <stdio.h>
+#include <raylib.h>
+#include "constants.h"
+#include "game.h"
+
+int main() {
+ SetConfigFlags(FLAG_VSYNC_HINT); //Always better than fixed FPS imo
+ InitWindow(WINDOW_WIDTH, WINDOW_HEIGHT, "My BeatEmup");
+ SetTargetFPS(0);
+
+ InitGame();
+
+ while(!WindowShouldClose()) {
+ UpdateGame(GetFrameTime());
+
+ DrawGame();
+ }
+
+ CloseWindow();
+ return 0;
+} \ No newline at end of file