#ifndef CAM_H #define CAM_H #include "common.h" typedef enum { CAM_MODE_NONE, CAM_MODE_EDIT_FLY, CAM_MODE_EDIT_ORBIT, } CamState; typedef struct { Camera cam; CamState state; f32 mv_speed, mv_scale, lk_speed; 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_update(void); void cam_focus(Vec3 target, f32 distance, f32 view_height); #endif