diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2025-03-21 20:54:14 -0400 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2025-03-21 21:40:21 -0400 |
| commit | 677a3cbec2f7908ee0897b97d508a6bd66a0a344 (patch) | |
| tree | fc88b21dd61dbb10dd8b5c8aef73702d15514f00 /src/level-types.hpp | |
| parent | cae76dd98e301a4560bb46ecb59b5952dff04149 (diff) | |
pke: first-pass level is a collection of scenes
Diffstat (limited to 'src/level-types.hpp')
| -rw-r--r-- | src/level-types.hpp | 19 |
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 */ |
