Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/FBZ/FBZSetup.h
338 views
1
#ifndef OBJ_FBZSETUP_H
2
#define OBJ_FBZSETUP_H
3
4
#include "Game.h"
5
6
typedef enum { FBZ_GENERICTRIGGER_EXTERIOR, FBZ_GENERICTRIGGER_INTERIOR } GenericTriggerTypesFBZ;
7
8
typedef enum {
9
FBZ_BG_INSIDE1,
10
FBZ_BG_INSIDE2,
11
FBZ_BG_INSIDE1_NOSTORM,
12
} BGSwitchIDsFBZ;
13
14
typedef enum {
15
FBZ_DECORATION_BLUEPRINT1,
16
FBZ_DECORATION_BLUEPRINT2,
17
} DecorationTypesFBZ;
18
19
typedef enum {
20
FBZ_PARALLAXSPRITE_CLOUDS,
21
} ParallaxSpriteAniIDsFBZ;
22
23
// Object Class
24
struct ObjectFBZSetup {
25
RSDK_OBJECT
26
int32 unused;
27
int32 cylinderAniFrame;
28
int32 propellerShaftAniFrame;
29
int32 spiralPlatformAniFrame;
30
int32 propellerShaftAniFrameUnused;
31
int32 scanlineDeformX[0x400];
32
int32 positionYMove[0x400];
33
int32 scanlinePosY[0x400];
34
uint16 aniTiles;
35
uint16 backgroundOutside;
36
EntityFBZ1Outro *outro;
37
};
38
39
// Entity Class
40
struct EntityFBZSetup {
41
RSDK_ENTITY
42
};
43
44
// Object Struct
45
extern ObjectFBZSetup *FBZSetup;
46
47
// Standard Entity Events
48
void FBZSetup_Update(void);
49
void FBZSetup_LateUpdate(void);
50
void FBZSetup_StaticUpdate(void);
51
void FBZSetup_Draw(void);
52
void FBZSetup_Create(void *data);
53
void FBZSetup_StageLoad(void);
54
#if GAME_INCLUDE_EDITOR
55
void FBZSetup_EditorDraw(void);
56
void FBZSetup_EditorLoad(void);
57
#endif
58
void FBZSetup_Serialize(void);
59
60
// Extra Entity Functions
61
void FBZSetup_ActTransitionLoad(void);
62
63
void FBZSetup_AddDynamicBG(ScanlineInfo *scanlines, int32 parallaxFactorX, int32 parallaxFactorY, int32 startLine, int32 lineCount, int32 sourcePosY);
64
void FBZSetup_Scanline_BGInside(ScanlineInfo *scanlines);
65
66
void FBZSetup_BGSwitch_ShowInside1(void);
67
void FBZSetup_BGSwitch_ShowInside2(void);
68
void FBZSetup_BGSwitch_ShowInside1_NoStorm(void);
69
70
void FBZSetup_Trigger_ShowExterior(void);
71
void FBZSetup_Trigger_ShowInterior(void);
72
73
void FBZSetup_StageFinish_EndAct1(void);
74
#if MANIA_USE_PLUS
75
void FBZSetup_StageFinish_EndAct2(void);
76
#endif
77
78
#endif //! OBJ_FBZSETUP_H
79
80