techkaczynski.dev / code

summaryrefslogtreecommitdiff
path: root/cam.h
diff options
context:
space:
mode:
authortech kaczynski <tk@techkaczynski.dev>2026-10-19 01:47:08 +1000
committertech kaczynski <tk@techkaczynski.dev>2026-10-19 01:47:08 +1000
commitedc50a43a0ab064472aa7fde90f14cf456d92076 (patch)
treec0281123898ddfa2d94683cbcd4cd85dd0d6ad6b /cam.h
parentcc4ba95edf2927eda63af1aeb79a503bc6fe6182 (diff)
lots of editor work. Improved editor camera controls.
Diffstat (limited to 'cam.h')
-rw-r--r--cam.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/cam.h b/cam.h
index 4b2465b..8af2614 100644
--- a/cam.h
+++ b/cam.h
@@ -6,19 +6,29 @@
typedef enum {
CAM_MODE_NONE,
CAM_MODE_EDIT_FLY,
- // CAM_MODE_EDIT_ORTHO,
+ CAM_MODE_EDIT_ORBIT,
} CamState;
typedef struct {
Camera cam;
CamState state;
f32 mv_speed, mv_scale, lk_speed;
- bool update;
+ f32 perspective_fov;
+ bool update, input, allow_fly;
+
+ struct {
+ Vec3 start_pos, start_target;
+ Vec3 end_pos, end_target;
+ f32 start_fovy, end_fovy;
+ f32 elapsed;
+ bool active;
+ } transition;
} CameraInfo;
extern CameraInfo main_cam;
-void cam_init(void);
-void cam_ctrl_editor(void);
+void cam_init(void);
+void cam_update(void);
+void cam_focus(Vec3 target, f32 distance, f32 view_height);
#endif