summaryrefslogtreecommitdiff
path: root/src/camera.hpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-01-14 15:50:04 -0500
committerJonathan Bradley <jcb@pikum.xyz>2025-01-14 15:50:04 -0500
commit80a67230fe192287503092a3d256aea3a494409c (patch)
tree187f2e7a41e0cd206d9969284a3abce4028d89f5 /src/camera.hpp
parent46d814de510d0a7753c3e49eed3b3440d1c7c681 (diff)
pke: camera can track a given target
Diffstat (limited to 'src/camera.hpp')
-rw-r--r--src/camera.hpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/camera.hpp b/src/camera.hpp
index f4cc986..82712fe 100644
--- a/src/camera.hpp
+++ b/src/camera.hpp
@@ -33,21 +33,22 @@ struct PkeCamera : public Entity_Base {
PkeCameraView view = PkeCameraView_MAX;
PkeCameraStaleFlags stale = PkeCameraStaleFlags_MAX;
struct Phys {
- CompInstance *inst = nullptr;
- CompInstance *targetInst = nullptr;
+ InstanceHandle instHandle;
+ InstanceHandle targetInstHandle;
btTypedConstraint *constraint = nullptr;
} phys;
bool isPrimary = false;
};
extern PkeCamera NullCamera;
+extern CompInstance NullCameraInstance;
extern PkeCamera *ActiveCamera;
void PkeCamera_Init();
PkeCamera &PkeCamera_Register(const InstPos &instPos);
PkeCamera *PkeCamera_Get(CameraHandle handle);
PkeCamera *PkeCamera_Get(EntityHandle handle);
-void PkeCamera_AttachToInstance(CameraHandle cameraHandle, CompInstance *inst);
-void PkeCamera_DetachFromInstance(CameraHandle cameraHandle, CompInstance *inst);
+void PkeCamera_TargetInstance(CameraHandle cameraHandle, CompInstance *inst);
+void PkeCamera_UntargetInstance(CameraHandle cameraHandle, CompInstance *inst);
int64_t PkeCamera_GetBucketCount();
PkeCamera *PkeCamera_GetCameras(int64_t bucketIndex, int64_t &count);
void PkeCamera_SetPrimary(CameraHandle handle);