Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/ERZ/ERZOutro.h
338 views
1
#ifndef OBJ_ERZOUTRO_H
2
#define OBJ_ERZOUTRO_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectERZOutro {
8
RSDK_OBJECT
9
int32 unused; // Might be "uint16 aniFrames" and was used inEditor but I do not know
10
Vector2 playerPos;
11
EntityFXRuby *fxRuby;
12
EntityPhantomKing *king;
13
EntityKleptoMobile *eggman;
14
EntityRubyPortal *rubyPortal;
15
EntityPhantomRuby *ruby;
16
int32 rubyPortalAcceleration;
17
int32 rubyPortalRadius;
18
int32 rubyPortalAngle;
19
bool32 savedGame;
20
};
21
22
// Entity Class
23
struct EntityERZOutro {
24
MANIA_CUTSCENE_BASE
25
};
26
27
// Object Struct
28
extern ObjectERZOutro *ERZOutro;
29
30
// Standard Entity Events
31
void ERZOutro_Update(void);
32
void ERZOutro_LateUpdate(void);
33
void ERZOutro_StaticUpdate(void);
34
void ERZOutro_Draw(void);
35
void ERZOutro_Create(void *data);
36
void ERZOutro_StageLoad(void);
37
#if GAME_INCLUDE_EDITOR
38
void ERZOutro_EditorDraw(void);
39
void ERZOutro_EditorLoad(void);
40
#endif
41
void ERZOutro_Serialize(void);
42
43
// Extra Entity Functions
44
void ERZOutro_SetEmeraldStates(void);
45
void ERZOutro_HandleRubyHover(void);
46
47
bool32 ERZOutro_Cutscene_AttackEggman(EntityCutsceneSeq *host);
48
bool32 ERZOutro_Cutscene_AttackRecoil(EntityCutsceneSeq *host);
49
bool32 ERZOutro_Cutscene_LoseEmeralds(EntityCutsceneSeq *host);
50
bool32 ERZOutro_Cutscene_OpenPortal(EntityCutsceneSeq *host);
51
bool32 ERZOutro_Cutscene_EnterPortal(EntityCutsceneSeq *host);
52
bool32 ERZOutro_Cutscene_FadeOut(EntityCutsceneSeq *host);
53
bool32 ERZOutro_Cutscene_ShowEnding(EntityCutsceneSeq *host);
54
55
#if MANIA_USE_PLUS
56
void ERZOutro_SaveFileCB(bool32 success);
57
#else
58
void ERZOutro_SaveFileCB(void);
59
#endif
60
61
#endif //! OBJ_ERZOUTRO_H
62
63