37 lines
579 B
C
37 lines
579 B
C
/**
|
|
* Copyright (c) 2025 Dominic Masters
|
|
*
|
|
* This software is released under the MIT License.
|
|
* https://opensource.org/licenses/MIT
|
|
*/
|
|
|
|
#pragma once
|
|
#include "dusk.h"
|
|
|
|
typedef enum {
|
|
RPG_CAMERA_MODE_FREE,
|
|
RPG_CAMERA_MODE_FOLLOW_ENTITY,
|
|
} rpgcameramode_t;
|
|
|
|
typedef struct {
|
|
vec3 position;
|
|
rpgcameramode_t mode;
|
|
|
|
union {
|
|
struct {
|
|
uint8_t followEntityId;
|
|
} followEntity;
|
|
};
|
|
} rpgcamera_t;
|
|
|
|
extern rpgcamera_t RPG_CAMERA;
|
|
|
|
/**
|
|
* Initializes the RPG camera.
|
|
*/
|
|
void rpgCameraInit(void);
|
|
|
|
/**
|
|
* Updates the RPG camera.
|
|
*/
|
|
void rpgCameraUpdate(void); |