Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/CPZ/CPZSetup.h
338 views
1
#ifndef OBJ_CPZSETUP_H
2
#define OBJ_CPZSETUP_H
3
4
#include "Game.h"
5
6
typedef enum {
7
CPZ_BG_CPZ2,
8
CPZ_BG_CPZ1,
9
} BGSwitchIDsCPZ;
10
11
typedef enum { CPZ_DECORATION_WARNSIGN } DecorationTypesCPZ;
12
13
typedef enum {
14
CPZ_PARALLAXSPRITE_GIRDER,
15
CPZ_PARALLAXSPRITE_CHEMICAL1,
16
CPZ_PARALLAXSPRITE_CHEMICAL2,
17
} ParallaxSpriteAniIDsCPZ;
18
19
// Object Class
20
struct ObjectCPZSetup {
21
RSDK_OBJECT
22
uint16 aniTiles;
23
TileLayer *background;
24
TABLE(int32 deformation[64], { 1, 2, 1, 3, 1, 2, 2, 1, 2, 3, 1, 2, 1, 2, 0, 0, 2, 0, 3, 2, 2, 3, 2, 2, 1, 3, 0, 0, 1, 0, 1, 3,
25
1, 2, 1, 3, 1, 2, 2, 1, 2, 3, 1, 2, 1, 2, 0, 0, 2, 0, 3, 2, 2, 3, 2, 2, 1, 3, 0, 0, 1, 0, 1, 3 });
26
int32 bgTowerLightPalIndex;
27
int32 rainbowLightPalIndex;
28
int32 chemLiquidPalIndex1;
29
int32 chemLiquidPalIndex2;
30
int32 chemLiquidPalIndex3;
31
uint16 aniTileFrame;
32
EntityCPZ2Outro *outro;
33
};
34
35
// Entity Class
36
struct EntityCPZSetup {
37
RSDK_ENTITY
38
};
39
40
// Object Struct
41
extern ObjectCPZSetup *CPZSetup;
42
43
// Standard Entity Events
44
void CPZSetup_Update(void);
45
void CPZSetup_LateUpdate(void);
46
void CPZSetup_StaticUpdate(void);
47
void CPZSetup_Draw(void);
48
void CPZSetup_Create(void *data);
49
void CPZSetup_StageLoad(void);
50
#if GAME_INCLUDE_EDITOR
51
void CPZSetup_EditorDraw(void);
52
void CPZSetup_EditorLoad(void);
53
#endif
54
void CPZSetup_Serialize(void);
55
56
// Extra Entity Functions
57
void CPZSetup_BGSwitch_Act2BG(void);
58
void CPZSetup_BGSwitch_Act1BG(void);
59
void CPZSetup_StageFinish_EndAct1(void);
60
void CPZSetup_StageFinish_EndAct2(void);
61
62
#endif //! OBJ_CPZSETUP_H
63
64