aboutsummaryrefslogtreecommitdiffstats
path: root/src/world.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/world.h')
-rw-r--r--src/world.h21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/world.h b/src/world.h
index 6a214b6..81512d0 100644
--- a/src/world.h
+++ b/src/world.h
@@ -1,16 +1,33 @@
#include "utils.h"
#include "assets.h"
+#include "entity.h"
// This file is likely completely change.
#ifndef WORLD_H
#define WORLD_H
+// Max entities per node.
+#define BVH_MAX 4
+
+#define WORLD_ENTITY_MAX 1000
+
+// UID for anything in the world.x
+typedef int16_t WorldUID;
+
+typedef struct BVHNode {
+ BoundingBox box;
+ WorldUID entities[BVH_MAX];
+ struct BVHNode* branch1;
+ struct BVHNode* branch2;
+} BVHNode;
+
typedef struct {
Vector3 size;
- Model heightmap;
const Image* image;
- Color* heightmapColors;
+ Model heightmap;
+ Entity entities[WORLD_ENTITY_MAX];
+ BVHNode bvh;
} World;
World createWorld(const Assets* assets);