summaryrefslogtreecommitdiff
path: root/src/enhancements/freecam/freecam_engine.h
blob: 7c7ecc75433ada1f4fe69d2cbdf86b85ed875cc8 (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
27
28
29
30
31
32
33
34
35
#ifndef FREE_CAM_ENGINE_H
#define FREE_CAM_ENGINE_H

#ifdef __cplusplus
extern "C" {
#endif

#include <libultraship.h>
#include "camera.h"

// Yaw/pitch rotation sensitivity
#define MOUSE_SENSITIVITY_X 0.006f
#define MOUSE_SENSITIVITY_Y 0.006f

typedef struct {
    Vec3f velocity;
    Vec3f forwardVector;
} FreeCam;

extern FreeCam freeCam;
extern f32 gDampValue;
extern u32 fTargetPlayer;
extern u32 fRankIndex;

void freecam_calculate_forward_vector_allow_rotation(Camera* camera, Vec3f forwardVector);
void freecam_target_player(Camera* camera, Vec3f forwardVector);
void freecam_tick(Camera* camera, Vec3f forwardVector);

extern f32 gDampValue;

#ifdef __cplusplus
}
#endif

#endif // FREE_CAM_ENGINE_H