summaryrefslogtreecommitdiff
path: root/src/camera.hpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2023-12-11 14:46:50 -0500
committerJonathan Bradley <jcb@pikum.xyz>2023-12-11 18:56:57 -0500
commitba250cc496b2e617823ff8111ef463b6adea27f4 (patch)
treedc926851da01b970aca827d6c6ca84b87a7432fa /src/camera.hpp
parent8047197b62894cb1f7bb6a6871870e4b91fde992 (diff)
replace handles with union struct
Diffstat (limited to 'src/camera.hpp')
-rw-r--r--src/camera.hpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/camera.hpp b/src/camera.hpp
index 94923b7..844cb26 100644
--- a/src/camera.hpp
+++ b/src/camera.hpp
@@ -3,6 +3,7 @@
#include "macros.hpp"
#include "vendor/glm_include.hpp"
+#include "memory-type-defs.hpp"
#include <cstdint>
@@ -10,7 +11,9 @@ TypeSafeInt_Const_Expr(PkeCameraType, uint8_t, 0xFF);
TypeSafeInt_Const_Expr(PkeCameraOrientation, uint8_t, 0xFF);
TypeSafeInt_Const_Expr(PkeCameraStaleFlags, uint8_t, 0xFF);
-TypeSafeInt_H(CameraHandle, uint64_t, UINT64_MAX);
+struct CameraHandle : public PkeHandle {};
+
+constexpr CameraHandle CameraHandle_MAX = CameraHandle{};
const PkeCameraType PKE_CAMERA_TYPE_PERSPECTIVE = PkeCameraType{1 << 0};
const PkeCameraType PKE_CAMERA_TYPE_ORTHOGONAL = PkeCameraType{1 << 1};
@@ -24,7 +27,7 @@ const PkeCameraStaleFlags PKE_CAMERA_STALE_ORIENTATION = PkeCameraStaleFlags{1 <
const PkeCameraStaleFlags PKE_CAMERA_STALE_ALL = PkeCameraStaleFlags{0xFF};
struct PkeCamera {
- CameraHandle handle = CameraHandle{0};
+ CameraHandle handle = CameraHandle_MAX;
glm::vec3 pos = glm::vec3(0);
glm::quat rot = glm::quat{};
glm::vec3 target = glm::vec3(0);