Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/MSZ/MSZCutsceneST.h
338 views
1
#ifndef OBJ_MSZCUTSCENEST_H
2
#define OBJ_MSZCUTSCENEST_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectMSZCutsceneST {
8
RSDK_OBJECT
9
TABLE(int32 signPostOffsets[6], { -0x10000, -0x10000, 0, 0, 0, -0x10000 });
10
uint16 unused1;
11
uint16 unused2;
12
Vector2 tornadoStartPos;
13
uint8 rogueID;
14
EntitySignPost *signPost;
15
EntityCutsceneHBH *mystic;
16
EntityTornado *tornado;
17
EntityTornadoPath *tornadoPath;
18
Entity *projectile;
19
EntityCutsceneHBH *rogues[3];
20
EntityArmadiloid *roguePlatforms[3];
21
bool32 finishedAct;
22
bool32 isMayday;
23
uint16 sfxExplosion3;
24
uint16 sfxMayday;
25
uint16 sfxLedgeBreak;
26
bool32 playingMaydaySfx;
27
};
28
29
// Entity Class
30
struct EntityMSZCutsceneST {
31
RSDK_ENTITY
32
Vector2 size;
33
bool32 activated;
34
EntityTornadoPath *pathNode;
35
int32 unused1;
36
int32 unused2;
37
int32 unused3;
38
int32 unused4;
39
int32 unused5;
40
int32 unused6;
41
Hitbox hitbox;
42
};
43
44
// Object Struct
45
extern ObjectMSZCutsceneST *MSZCutsceneST;
46
47
// Standard Entity Events
48
void MSZCutsceneST_Update(void);
49
void MSZCutsceneST_LateUpdate(void);
50
void MSZCutsceneST_StaticUpdate(void);
51
void MSZCutsceneST_Draw(void);
52
void MSZCutsceneST_Create(void *data);
53
void MSZCutsceneST_StageLoad(void);
54
#if GAME_INCLUDE_EDITOR
55
void MSZCutsceneST_EditorDraw(void);
56
void MSZCutsceneST_EditorLoad(void);
57
#endif
58
void MSZCutsceneST_Serialize(void);
59
60
// Extra Entity Functions
61
void MSZCutsceneST_SetupCutscene(void);
62
63
bool32 MSZCutsceneST_Cutscene_HandleSignPostLand(EntityCutsceneSeq *host);
64
bool32 MSZCutsceneST_Cutscene_AwaitActFinish(EntityCutsceneSeq *host);
65
bool32 MSZCutsceneST_Cutscene_EnterMystic(EntityCutsceneSeq *host);
66
bool32 MSZCutsceneST_Cutscene_PrepareAmbush(EntityCutsceneSeq *host);
67
bool32 MSZCutsceneST_Cutscene_RoguesAmbush(EntityCutsceneSeq *host);
68
bool32 MSZCutsceneST_Cutscene_ShowFang(EntityCutsceneSeq *host);
69
bool32 MSZCutsceneST_Cutscene_ShowBean(EntityCutsceneSeq *host);
70
bool32 MSZCutsceneST_Cutscene_ShowBark(EntityCutsceneSeq *host);
71
bool32 MSZCutsceneST_Cutscene_Mayday(EntityCutsceneSeq *host);
72
bool32 MSZCutsceneST_Cutscene_SetPlayerMSZ2SpawnPos(EntityCutsceneSeq *host);
73
bool32 MSZCutsceneST_Cutscene_PanCameraToPlayer(EntityCutsceneSeq *host);
74
bool32 MSZCutsceneST_Cutscene_SetupMSZ2(EntityCutsceneSeq *host);
75
76
#endif //! OBJ_MSZCUTSCENEST_H
77
78