aboutsummaryrefslogtreecommitdiff
path: root/src/cameras.h
blob: c892ee1f050201e820624b887c9b3ffc4e870fea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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