summaryrefslogtreecommitdiff
path: root/src/level-types.hpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-03-21 20:54:14 -0400
committerJonathan Bradley <jcb@pikum.xyz>2025-03-21 21:40:21 -0400
commit677a3cbec2f7908ee0897b97d508a6bd66a0a344 (patch)
treefc88b21dd61dbb10dd8b5c8aef73702d15514f00 /src/level-types.hpp
parentcae76dd98e301a4560bb46ecb59b5952dff04149 (diff)
pke: first-pass level is a collection of scenes
Diffstat (limited to 'src/level-types.hpp')
-rw-r--r--src/level-types.hpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/level-types.hpp b/src/level-types.hpp
index 4de0f76..75bc6eb 100644
--- a/src/level-types.hpp
+++ b/src/level-types.hpp
@@ -1,19 +1,26 @@
#ifndef PKE_LEVEL_TYPES_HPP
#define PKE_LEVEL_TYPES_HPP
-#include "pk.h"
-#include "camera.hpp"
#include "components.hpp"
+#include "vendor-glm-include.hpp"
+#include "pk.h"
-TypeSafeInt_constexpr(LevelHandle, uint16_t, 0xFFFF);
+struct scene_instance {
+ glm::vec3 pos; // TODO
+ glm::vec3 rot; // TODO
+ glm::vec3 scale; // TODO
+ SceneHandle scene_handle;
+};
-struct LvlCamArr : public pk_arr_t<CameraHandle>{};
+const uint8_t LEVEL_NAME_MAX_LEN = 16;
+#define pke_level_name_printf_format "%16s"
struct PkeLevel : public Entity_Base {
+ char *file_path = nullptr;
struct pk_membucket *bkt = nullptr;
- char name[16] = {'\0'};
+ char name[LEVEL_NAME_MAX_LEN] = {'\0'};
LevelHandle levelHandle = LevelHandle_MAX;
- LvlCamArr cameras;
+ pk_arr_t<scene_instance> scene_instances;
};
#endif /* PKE_LEVEL_TYPES_HPP */