Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/TMZ/TMZ1Setup.h
338 views
1
#ifndef OBJ_TMZ1SETUP_H
2
#define OBJ_TMZ1SETUP_H
3
4
#include "Game.h"
5
6
typedef enum {
7
TMZ1_STAGESTATE_NONE = -1,
8
TMZ1_STAGESTATE_SKY = 0,
9
TMZ1_STAGESTATE_CITY = 1,
10
TMZ1_STAGESTATE_LIFT = 2,
11
} TMZ1StageStates;
12
13
typedef enum {
14
TMZ1_BG_CITY,
15
TMZ1_BG_LIFT,
16
} BGSwitchIDsTMZ1;
17
18
// Object Class
19
struct ObjectTMZ1Setup {
20
RSDK_OBJECT
21
bool32 paletteInit;
22
int32 aniTileDuration;
23
int32 angle;
24
int32 unused1;
25
int32 bannerAniFrame;
26
int32 stageState;
27
int32 unused2;
28
int32 unused3;
29
bool32 hasAchievement;
30
uint16 aniTiles;
31
TileLayer *background1;
32
};
33
34
// Entity Class
35
struct EntityTMZ1Setup {
36
RSDK_ENTITY
37
StateMachine(state);
38
int32 timer;
39
};
40
41
// Object Struct
42
extern ObjectTMZ1Setup *TMZ1Setup;
43
44
// Standard Entity Events
45
void TMZ1Setup_Update(void);
46
void TMZ1Setup_LateUpdate(void);
47
void TMZ1Setup_StaticUpdate(void);
48
void TMZ1Setup_Draw(void);
49
void TMZ1Setup_Create(void *data);
50
void TMZ1Setup_StageLoad(void);
51
#if GAME_INCLUDE_EDITOR
52
void TMZ1Setup_EditorDraw(void);
53
void TMZ1Setup_EditorLoad(void);
54
#endif
55
void TMZ1Setup_Serialize(void);
56
57
// Extra Entity Functions
58
void TMZ1Setup_BGSwitch_ShowSky(void);
59
void TMZ1Setup_BGSwitch_ShowLift(void);
60
61
void TMZ1Setup_StageFinish_EndAct1(void);
62
63
void TMZ1Setup_State_FadeToLift(void);
64
void TMZ1Setup_State_ShowOutsideBGs(void);
65
void TMZ1Setup_State_FadeOutCurrentBG(void);
66
void TMZ1Setup_State_ShowCityBG(void);
67
void TMZ1Setup_State_ShowSkyBG(void);
68
void TMZ1Setup_State_FadeIntoOutsideBGs(void);
69
70
#endif //! OBJ_TMZ1SETUP_H
71
72