aboutsummaryrefslogtreecommitdiff
path: root/src/cameras.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/cameras.h')
-rw-r--r--src/cameras.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/cameras.h b/src/cameras.h
new file mode 100644
index 0000000..c892ee1
--- /dev/null
+++ b/src/cameras.h
@@ -0,0 +1,26 @@
+#include "gameCommon.h"
+
+#ifndef CAMERAS_H
+#define CAMERAS_H
+
+#define CAMERA_DIS 5.0
+#define CAMERA_COUNT 1
+
+// Each camera has a game loop callback and a init callback.
+typedef void (*CameraInitCb)(Game * game, Camera3D * camera);
+typedef void (*CameraCb)(Game * game, Camera3D * camera);
+
+extern const CameraInitCb cameraInitCallbacks[CAMERA_COUNT];
+extern const CameraCb cameraCallbacks[CAMERA_COUNT];
+
+typedef enum CameraId {
+ FIRST_PERSON_CAMERA
+} CameraId;
+
+// A array of the cameras.
+typedef Camera3D Cameras[CAMERA_COUNT];
+
+void initCameras(Game * game, Cameras cameras);
+void runCameraUpdate(Game * game, Cameras cameras, CameraId id);
+
+#endif