aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authornathansmithsmith <nathansmith7@mailfence.com>2023-09-29 23:51:12 -0600
committernathansmithsmith <nathansmith7@mailfence.com>2023-09-29 23:51:12 -0600
commite68a40c4da4093a51ea7596757413ca4964ff51f (patch)
tree7c9606895fcaf585b2f31624dfd18bc7daaf67f3 /src
parentbadfbb1ff98026a4433a146f9caa433be3a46785 (diff)
Started working on levels
Diffstat (limited to 'src')
-rw-r--r--src/levels.c4
-rw-r--r--src/levels.h28
2 files changed, 32 insertions, 0 deletions
diff --git a/src/levels.c b/src/levels.c
new file mode 100644
index 0000000..ff2b2b6
--- /dev/null
+++ b/src/levels.c
@@ -0,0 +1,4 @@
+#include "levels.h"
+
+const LevelInfo levelInfoList[LEVELS_COUNT] = {
+};
diff --git a/src/levels.h b/src/levels.h
new file mode 100644
index 0000000..8630757
--- /dev/null
+++ b/src/levels.h
@@ -0,0 +1,28 @@
+#include "gameCommon.h"
+#include "world.h"
+#include "entity.h"
+
+#ifndef LEVELS_H
+#define LEVELS_H
+
+#define LEVELS_COUNT 1
+
+typedef struct Level Level;
+
+typedef void (*LevelInitCb)(Game * game, Level * level);
+typedef void (*LevelUpdateCb)(Game * game, Level * level);
+
+typedef struct Level {
+ WorldEntry * entries;
+ size_t entriesCount;
+ LevelUpdateCb updateCb;
+} Level;
+
+typedef struct LevelInfo {
+ LevelInitCb initCb;
+ LevelUpdateCb updateCb;
+} LevelInfo;
+
+extern const LevelInfo levelInfoList[LEVELS_COUNT];
+
+#endif