diff options
Diffstat (limited to 'src/include/game/camera.h')
-rw-r--r-- | src/include/game/camera.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/include/game/camera.h b/src/include/game/camera.h new file mode 100644 index 0000000..e9ef20b --- /dev/null +++ b/src/include/game/camera.h @@ -0,0 +1,39 @@ +#ifndef CAMERA_H +#define CAMERA_H + +typedef struct { + int interpolated_cam; + int interpolated_target; + int coupled; + int freedom[3]; + int type; +} CameraType; + +typedef struct { + float cam[3]; + float target[3]; + float movement[4]; /* indices CAM_R, CAM_CHI, CAM_PHI, CAM_PHI_OFFSET */ + CameraType type; +} Camera; + +enum { + CAM_FREE_R = 0, + CAM_FREE_PHI, + CAM_FREE_CHI +}; + +enum { CAM_CIRCLE = 0, + CAM_FOLLOW, + CAM_COCKPIT, + CAM_FREE +}; + +enum { CAM_R = 0, CAM_CHI, CAM_PHI, CAM_PHI_OFFSET }; + +extern char *cam_names[]; +extern float cam_defaults[][3]; + +void nextCameraType(void); +void doCameraMovement(void); + +#endif |