Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/UFO/UFO_Camera.h
338 views
1
#ifndef OBJ_UFO_CAMERA_H
2
#define OBJ_UFO_CAMERA_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectUFO_Camera {
8
RSDK_OBJECT
9
Matrix matWorld;
10
Matrix matView;
11
Matrix matTemp;
12
bool32 isSS7;
13
};
14
15
// Entity Class
16
struct EntityUFO_Camera {
17
RSDK_ENTITY
18
StateMachine(state);
19
int32 unused1;
20
int32 height;
21
int32 radius;
22
int32 angleX;
23
int32 prevAngle;
24
int32 clipY;
25
Entity *target;
26
Matrix matWorld;
27
Matrix matView;
28
};
29
30
// Object Struct
31
extern ObjectUFO_Camera *UFO_Camera;
32
33
// Standard Entity Events
34
void UFO_Camera_Update(void);
35
void UFO_Camera_LateUpdate(void);
36
void UFO_Camera_StaticUpdate(void);
37
void UFO_Camera_Draw(void);
38
void UFO_Camera_Create(void *data);
39
void UFO_Camera_StageLoad(void);
40
#if GAME_INCLUDE_EDITOR
41
void UFO_Camera_EditorDraw(void);
42
void UFO_Camera_EditorLoad(void);
43
#endif
44
void UFO_Camera_Serialize(void);
45
46
// Extra Entity Functions
47
void UFO_Camera_HandleCamPos(void);
48
void UFO_Camera_State_Normal(void);
49
void UFO_Camera_State_CourseOut(void);
50
void UFO_Camera_State_UFOCaught(void);
51
52
#endif //! OBJ_UFO_CAMERA_H
53
54