Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/Cutscene/CutsceneHBH.h
338 views
1
#ifndef OBJ_CUTSCENEHBH_H
2
#define OBJ_CUTSCENEHBH_H
3
4
#include "Game.h"
5
6
typedef enum {
7
HBH_GUNNER,
8
HBH_SHINOBI,
9
HBH_MYSTIC,
10
HBH_RIDER,
11
HBH_KING,
12
HBH_ROGUE_FANG,
13
HBH_ROGUE_BEAN,
14
HBH_ROGUE_BARK,
15
HBH_KINGDAMAGED,
16
HBH_PILE,
17
HBH_KINGTMZ2,
18
} HBHTypes;
19
20
// Object Class
21
struct ObjectCutsceneHBH {
22
RSDK_OBJECT
23
uint16 aniFrames;
24
color paletteColors[128];
25
};
26
27
// Entity Class
28
struct EntityCutsceneHBH {
29
RSDK_ENTITY
30
StateMachine(state);
31
uint8 characterID;
32
int32 oscillate;
33
int32 hiddenAtStart;
34
int32 curAngle;
35
int32 unused1;
36
Vector2 startPos;
37
Vector2 originPos;
38
int32 timer;
39
int32 angleOffset;
40
int32 colorSet;
41
color colors[128];
42
bool32 useCustomPalettes;
43
bool32 noGlobalTimer;
44
uint16 aniFrames;
45
Animator mainAnimator;
46
Animator fxAnimator;
47
};
48
49
// Object Struct
50
extern ObjectCutsceneHBH *CutsceneHBH;
51
52
// Standard Entity Events
53
void CutsceneHBH_Update(void);
54
void CutsceneHBH_LateUpdate(void);
55
void CutsceneHBH_StaticUpdate(void);
56
void CutsceneHBH_Draw(void);
57
void CutsceneHBH_Create(void *data);
58
void CutsceneHBH_StageLoad(void);
59
#if GAME_INCLUDE_EDITOR
60
void CutsceneHBH_EditorDraw(void);
61
void CutsceneHBH_EditorLoad(void);
62
#endif
63
void CutsceneHBH_Serialize(void);
64
65
// Extra Entity Functions
66
void CutsceneHBH_SetupColors(void);
67
void CutsceneHBH_SetupPalettes(void);
68
void CutsceneHBH_StorePalette(void);
69
void CutsceneHBH_RestorePalette(void);
70
void CutsceneHBH_LoadSprites(void);
71
EntityCutsceneHBH *CutsceneHBH_GetEntity(uint8 charID);
72
73
void CutsceneHBH_ShinobiJumpSetup(void);
74
void CutsceneHBH_ShinobiBounceSetup(void);
75
void CutsceneHBH_RiderSetup(void);
76
void CutsceneHBH_KingSetup(void);
77
void CutsceneHBH_KingTMZ2Setup(void);
78
79
void CutsceneHBH_State_GunnerExit(void);
80
void CutsceneHBH_State_ShinobiBounce(void);
81
void CutsceneHBH_State_ShinobiJump(void);
82
void CutsceneHBH_State_MysticExit(void);
83
void CutsceneHBH_State_RiderMove(void);
84
void CutsceneHBH_State_RiderExit(void);
85
void CutsceneHBH_State_KingExit(void);
86
void CutsceneHBH_State_KingFall(void);
87
void CutsceneHBH_State_KingTMZ2_Fall(void);
88
void CutsceneHBH_State_KingTMZ2_Land(void);
89
90
#endif //! OBJ_CUTSCENEHBH_H
91
92