Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/Pinball/PBL_Camera.h
338 views
1
#ifndef OBJ_PBL_CAMERA_H
2
#define OBJ_PBL_CAMERA_H
3
4
#include "Game.h"
5
6
#if MANIA_USE_PLUS
7
// Object Class
8
struct ObjectPBL_Camera {
9
RSDK_OBJECT
10
Matrix matWorld;
11
Matrix matNormalItem;
12
Matrix matNormal;
13
bool32 useAltMatNormal;
14
};
15
16
// Entity Class
17
struct EntityPBL_Camera {
18
RSDK_ENTITY
19
StateMachine(state);
20
int32 unused1;
21
int32 worldY;
22
int32 rotationY;
23
int32 cameraStartOffset; // I don't think this is ever actually set
24
int32 curCamBoundaryT;
25
int32 curCamBoundaryB;
26
int32 newCamBoundaryT;
27
int32 newCamBoundaryB;
28
int32 prevAngle;
29
int32 centerY;
30
Entity *target;
31
Matrix matTransform;
32
Matrix unusedMatrix1;
33
Vector2 targetPos;
34
};
35
36
// Object Struct
37
extern ObjectPBL_Camera *PBL_Camera;
38
39
// Standard Entity Events
40
void PBL_Camera_Update(void);
41
void PBL_Camera_LateUpdate(void);
42
void PBL_Camera_StaticUpdate(void);
43
void PBL_Camera_Draw(void);
44
void PBL_Camera_Create(void *data);
45
void PBL_Camera_StageLoad(void);
46
#if GAME_INCLUDE_EDITOR
47
void PBL_Camera_EditorDraw(void);
48
void PBL_Camera_EditorLoad(void);
49
#endif
50
void PBL_Camera_Serialize(void);
51
52
// Extra Entity Functions
53
void PBL_Camera_HandleScreenPos(void);
54
void PBL_Camera_State_Normal(void);
55
56
#endif
57
58
#endif //! OBJ_PBL_CAMERA_H
59
60