Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/AIZ/EncoreIntro.h
338 views
1
#ifndef OBJ_ENCOREINTRO_H
2
#define OBJ_ENCOREINTRO_H
3
4
#include "Game.h"
5
6
#if MANIA_USE_PLUS
7
8
// Object Class
9
struct ObjectEncoreIntro {
10
RSDK_OBJECT
11
int32 unused1;
12
uint16 aniFrames;
13
uint16 unused2;
14
uint16 sfxHighFive;
15
uint16 sfxMysticPoof;
16
uint16 sfxKingCharge;
17
uint16 sfxMysticHat;
18
uint16 sfxMysticTransform;
19
uint16 sfxPon;
20
EntityFXRuby *fxRuby;
21
EntityPhantomRuby *phantomRuby;
22
EntityRubyPortal *rubyPortal;
23
int32 unused3;
24
bool32 awaitingSaveFinish;
25
};
26
27
// Entity Class
28
struct EntityEncoreIntro {
29
RSDK_ENTITY
30
Vector2 size;
31
bool32 activated;
32
int32 skipPart2;
33
int32 unused1;
34
int32 unused2;
35
int32 unused3;
36
int32 unused4;
37
int32 unused5;
38
Hitbox hitbox;
39
40
bool32 seenActClear;
41
};
42
43
// Object Struct
44
extern ObjectEncoreIntro *EncoreIntro;
45
46
// Standard Entity Events
47
void EncoreIntro_Update(void);
48
void EncoreIntro_LateUpdate(void);
49
void EncoreIntro_StaticUpdate(void);
50
void EncoreIntro_Draw(void);
51
void EncoreIntro_Create(void *data);
52
void EncoreIntro_StageLoad(void);
53
#if GAME_INCLUDE_EDITOR
54
void EncoreIntro_EditorDraw(void);
55
void EncoreIntro_EditorLoad(void);
56
#endif
57
void EncoreIntro_Serialize(void);
58
59
// Extra Entity Functions
60
void EncoreIntro_SetupEntities(void);
61
62
void EncoreIntro_SetupCutscene(void);
63
void EncoreIntro_SetupCutscenePart2(void);
64
65
bool32 EncoreIntro_Cutscene_SetupAIZEncore(EntityCutsceneSeq *host);
66
bool32 EncoreIntro_Cutscene_PlayerAppear(EntityCutsceneSeq *host);
67
bool32 EncoreIntro_Cutscene_RubyAppear(EntityCutsceneSeq *host);
68
bool32 EncoreIntro_Cutscene_PortalClose(EntityCutsceneSeq *host);
69
bool32 EncoreIntro_Cutscene_Empty(EntityCutsceneSeq *host);
70
bool32 EncoreIntro_Cutscene_BeginAIZEncore(EntityCutsceneSeq *host);
71
bool32 EncoreIntro_Cutscene_AIZEncore(EntityCutsceneSeq *host);
72
bool32 EncoreIntro_Cutscene_CapsuleFound(EntityCutsceneSeq *host);
73
bool32 EncoreIntro_Cutscene_BuddySelect(EntityCutsceneSeq *host);
74
bool32 EncoreIntro_Cutscene_ViewEncoreTutorial(EntityCutsceneSeq *host);
75
bool32 EncoreIntro_Cutscene_MysticGetRuby(EntityCutsceneSeq *host);
76
bool32 EncoreIntro_Cutscene_MysticStealRuby(EntityCutsceneSeq *host);
77
bool32 EncoreIntro_Cutscene_MysticEscape(EntityCutsceneSeq *host);
78
bool32 EncoreIntro_Cutscene_AIZEncoreTutorial(EntityCutsceneSeq *host);
79
bool32 EncoreIntro_Cutscene_CameraPanToHBHPile(EntityCutsceneSeq *host);
80
bool32 EncoreIntro_Cutscene_MysticPassRuby(EntityCutsceneSeq *host);
81
bool32 EncoreIntro_Cutscene_KingActivate(EntityCutsceneSeq *host);
82
bool32 EncoreIntro_Cutscene_RubyActivated(EntityCutsceneSeq *host);
83
bool32 EncoreIntro_Cutscene_RubyWarp(EntityCutsceneSeq *host);
84
bool32 EncoreIntro_Cutscene_LoadGHZ(EntityCutsceneSeq *host);
85
bool32 EncoreIntro_Cutscene_AwaitSaveFinish(EntityCutsceneSeq *host);
86
bool32 EncoreIntro_Cutscene_FadeOutAndReset(EntityCutsceneSeq *host);
87
bool32 EncoreIntro_Cutscene_FadeInAndStart(EntityCutsceneSeq *host);
88
bool32 EncoreIntro_Cutscene_SkipAndFadeOut(EntityCutsceneSeq *host);
89
90
void EncoreIntro_SaveGameCB(bool32 success);
91
92
void EncoreIntro_PhantomRuby_OscillateFX(void);
93
void EncoreIntro_PhantomRuby_EscapeRight(void);
94
void EncoreIntro_PhantomRuby_Fall(void);
95
void EncoreIntro_PhantomRuby_CapsuleRiseUp(void);
96
void EncoreIntro_PhantomRuby_CapsuleFallDown(void);
97
98
void EncoreIntro_PlayerState_BuddySel(void);
99
void EncoreIntro_PlayerState_HandleAir(void);
100
void EncoreIntro_PlayerInput_BuddySel(void);
101
102
#endif
103
104
#endif //! OBJ_ENCOREINTRO_H
105
106