Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/Title/TitleLogo.h
338 views
1
#ifndef OBJ_TITLELOGO_H
2
#define OBJ_TITLELOGO_H
3
4
#include "Game.h"
5
6
typedef enum {
7
TITLELOGO_EMBLEM,
8
TITLELOGO_RIBBON,
9
TITLELOGO_GAMETITLE,
10
TITLELOGO_POWERLED,
11
TITLELOGO_COPYRIGHT,
12
TITLELOGO_RINGBOTTOM,
13
TITLELOGO_PRESSSTART,
14
#if MANIA_USE_PLUS
15
TITLELOGO_PLUS,
16
#endif
17
} TitleLogoTypes;
18
19
// Object Class
20
struct ObjectTitleLogo {
21
RSDK_OBJECT
22
uint16 aniFrames;
23
#if MANIA_USE_PLUS
24
uint16 plusFrames;
25
uint16 sfxPlus;
26
#endif
27
};
28
29
// Entity Class
30
struct EntityTitleLogo {
31
RSDK_ENTITY
32
int32 type;
33
#if MANIA_USE_PLUS
34
StateMachine(state);
35
#endif
36
bool32 showRibbonCenter;
37
int32 timer;
38
int32 storeY;
39
Animator mainAnimator;
40
#if MANIA_USE_PLUS
41
Animator plusAnimator;
42
#endif
43
Animator ribbonCenterAnimator;
44
};
45
46
// Object Struct
47
extern ObjectTitleLogo *TitleLogo;
48
49
// Standard Entity Events
50
void TitleLogo_Update(void);
51
void TitleLogo_LateUpdate(void);
52
void TitleLogo_StaticUpdate(void);
53
void TitleLogo_Draw(void);
54
void TitleLogo_Create(void *data);
55
void TitleLogo_StageLoad(void);
56
#if GAME_INCLUDE_EDITOR
57
void TitleLogo_EditorDraw(void);
58
void TitleLogo_EditorLoad(void);
59
#endif
60
void TitleLogo_Serialize(void);
61
62
// Extra Entity Functions
63
void TitleLogo_SetupPressStart(void);
64
#if MANIA_USE_PLUS
65
void TitleLogo_State_Ribbon(void);
66
void TitleLogo_State_PressButton(void);
67
void TitleLogo_State_HandleSetup(void);
68
void TitleLogo_State_PlusLogo(void);
69
void TitleLogo_State_PlusShine(void);
70
#endif
71
72
#endif //! OBJ_TITLELOGO_H
73
74