summaryrefslogtreecommitdiff
path: root/src/level-types.hpp
blob: ce0d0609caba82f6fd71d7f52193fb68d489c04d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#ifndef PKE_LEVEL_TYPES_HPP
#define PKE_LEVEL_TYPES_HPP

#include "components.hpp"
#include "vendor-glm-include.hpp"
#include "pk.h"

struct scene_instance {
	glm::vec3 pos; // TODO
	glm::vec3 rot; // TODO
	glm::vec3 scale; // TODO
	SceneHandle scene_handle;
};

const uint8_t LEVEL_NAME_MAX_LEN = 16;
#define pke_level_name_printf_format "%16s"

struct pke_level : public Entity_Base {
	char *file_path = nullptr;
	struct pk_membucket *bkt = nullptr;
	char name[LEVEL_NAME_MAX_LEN] = {'\0'};
	LevelHandle levelHandle = LevelHandle_MAX;
	pk_arr_t<scene_instance> scene_instances;
};

#endif /* PKE_LEVEL_TYPES_HPP */