Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/GHZ/GHZSetup.h
338 views
1
#ifndef OBJ_GHZSETUP_H
2
#define OBJ_GHZSETUP_H
3
4
#include "Game.h"
5
6
typedef enum {
7
GHZ_BG_OUTSIDE,
8
GHZ_BG_CAVES,
9
} BGSwitchIDsGHZ;
10
11
typedef enum { GHZ_DECORATION_BRIDGEPOST } DecorationTypesGHZ;
12
13
// Object Class
14
struct ObjectGHZSetup {
15
RSDK_OBJECT
16
int32 paletteTimer;
17
STATIC(int32 sunFlowerTimer, 30);
18
int32 sunFlowerFrame;
19
TABLE(int32 sunFlowerDurationTable[8], { 30, 2, 2, 2, 30, 2, 2, 2 });
20
STATIC(int32 extendFlowerTimer, 60);
21
int32 extendFlowerFrame;
22
TABLE(int32 extendFlowerDurationTable[16], { 120, 2, 2, 2, 8, 2, 2, 2, 120, 2, 2, 2, 8, 2, 2, 2 });
23
uint16 aniTiles;
24
};
25
26
// Entity Class
27
struct EntityGHZSetup {
28
RSDK_ENTITY
29
};
30
31
// Object Struct
32
extern ObjectGHZSetup *GHZSetup;
33
34
// Standard Entity Events
35
void GHZSetup_Update(void);
36
void GHZSetup_LateUpdate(void);
37
void GHZSetup_StaticUpdate(void);
38
void GHZSetup_Draw(void);
39
void GHZSetup_Create(void *data);
40
void GHZSetup_StageLoad(void);
41
#if GAME_INCLUDE_EDITOR
42
void GHZSetup_EditorDraw(void);
43
void GHZSetup_EditorLoad(void);
44
#endif
45
void GHZSetup_Serialize(void);
46
47
// Extra Entity Functions
48
void GHZSetup_SetupAct1BG(void);
49
void GHZSetup_StageFinish_EndAct1(void);
50
void GHZSetup_HandleActTransition(void);
51
void GHZSetup_BGSwitch_Outside_Act2(void);
52
void GHZSetup_BGSwitch_Caves_Act2(void);
53
void GHZSetup_BGSwitch_Outside_Act1(void);
54
void GHZSetup_BGSwitch_Caves_Act1(void);
55
void GHZSetup_StageFinish_EndAct2(void);
56
57
#endif //! OBJ_GHZSETUP_H
58
59