Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/PGZ/PSZ1Setup.h
338 views
1
#ifndef OBJ_PSZ1SETUP_H
2
#define OBJ_PSZ1SETUP_H
3
4
#include "Game.h"
5
6
typedef enum { GENERICTRIGGER_PSZ1_PETALSINACTIVE, GENERICTRIGGER_PSZ1_PETALSACTIVE, GENERICTRIGGER_PSZ1_ACHIEVEMENT } GenericTriggerTypesPSZ1;
7
8
typedef enum {
9
PSZ1_BG_INSIDE,
10
PSZ1_BG_OUTSIDE,
11
} BGSwitchIDsPSZ1;
12
13
typedef enum {
14
PSZ1_WRAP_TOP,
15
PSZ1_WRAP_BOTTOM,
16
} PSZ1WrapTypes;
17
18
// Object Class
19
struct ObjectPSZ1Setup {
20
RSDK_OBJECT
21
TABLE(int32 buttonSideAniDurationTable[7], { 64, 2, 1, 2, 2, 6, 2 });
22
TABLE(int32 buttonSideBackAniDurationTable[14], { 37, 2, 1, 2, 2, 6, 2, 12, 2, 1, 2, 2, 6, 2 });
23
int32 unused;
24
bool32 petalBehaviourActive;
25
int32 petalTimer;
26
int32 inkRollerAniDuration;
27
int32 inkRollerAniFrame;
28
int32 buttonFrontAniDuration;
29
int32 buttonFrontAniFrame;
30
int32 buttonBackAniDuration;
31
int32 buttonBackAniFrame;
32
int32 buttonSideFrontAniDuration;
33
int32 buttonSideFrontAniFrame;
34
int32 buttonSideBackAniDuration;
35
int32 buttonSideBackAniFrame;
36
int32 buttonSideAniDuration;
37
int32 buttonSideAniFrame;
38
int32 buttonBladeAniFrame;
39
int32 newspaperHAniFrame;
40
int32 newspaperVAniFrame;
41
int32 levelWrapType;
42
bool32 hasAchievement;
43
uint16 aniTiles1;
44
uint16 aniTiles2;
45
uint16 aniTiles3;
46
};
47
48
// Entity Class
49
struct EntityPSZ1Setup {
50
RSDK_ENTITY
51
};
52
53
// Object Struct
54
extern ObjectPSZ1Setup *PSZ1Setup;
55
56
// Standard Entity Events
57
void PSZ1Setup_Update(void);
58
void PSZ1Setup_LateUpdate(void);
59
void PSZ1Setup_StaticUpdate(void);
60
void PSZ1Setup_Draw(void);
61
void PSZ1Setup_Create(void *data);
62
void PSZ1Setup_StageLoad(void);
63
#if GAME_INCLUDE_EDITOR
64
void PSZ1Setup_EditorDraw(void);
65
void PSZ1Setup_EditorLoad(void);
66
#endif
67
void PSZ1Setup_Serialize(void);
68
69
// Extra Entity Functions
70
#if MANIA_USE_PLUS
71
void PSZ1Setup_BGSwitch_Inside(void);
72
void PSZ1Setup_BGSwitch_Outside(void);
73
#endif
74
void PSZ1Setup_Trigger_DeactivatePetalBehaviour(void);
75
void PSZ1Setup_Trigger_ActivatePetalBehaviour(void);
76
void PSZ1Setup_Trigger_AwardAchievement(void);
77
void PSZ1Setup_StageFinish_EndAct1(void);
78
void PSZ1Setup_LevelWrap_Top(void);
79
void PSZ1Setup_LevelWrap_Bottom(void);
80
81
#endif //! OBJ_PSZ1SETUP_H
82
83