diff options
Diffstat (limited to 'src/world.h')
-rw-r--r-- | src/world.h | 21 |
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); |