Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/PGZ/PrintBlock.h
338 views
1
#ifndef OBJ_PRINTBLOCK_H
2
#define OBJ_PRINTBLOCK_H
3
4
#include "Game.h"
5
6
typedef enum {
7
PRINTBLOCK_LETTER_E,
8
PRINTBLOCK_LETTER_T,
9
PRINTBLOCK_LETTER_A,
10
PRINTBLOCK_LETTER_O,
11
PRINTBLOCK_LETTER_I,
12
PRINTBLOCK_LETTER_N,
13
PRINTBLOCK_LETTER_S,
14
PRINTBLOCK_LETTER_H,
15
PRINTBLOCK_LETTER_R,
16
PRINTBLOCK_LETTER_D,
17
PRINTBLOCK_LETTER_L,
18
PRINTBLOCK_LETTER_U,
19
} PrintBlockLetters;
20
21
// Object Class
22
struct ObjectPrintBlock {
23
RSDK_OBJECT
24
Animator animator;
25
uint16 aniFrames;
26
uint16 sfxLetter;
27
};
28
29
// Entity Class
30
struct EntityPrintBlock {
31
MANIA_PLATFORM_BASE
32
uint16 interval;
33
uint16 intervalOffset;
34
uint16 duration;
35
uint8 letter;
36
};
37
38
// Object Struct
39
extern ObjectPrintBlock *PrintBlock;
40
41
// Standard Entity Events
42
void PrintBlock_Update(void);
43
void PrintBlock_LateUpdate(void);
44
void PrintBlock_StaticUpdate(void);
45
void PrintBlock_Draw(void);
46
void PrintBlock_Create(void *data);
47
void PrintBlock_StageLoad(void);
48
#if GAME_INCLUDE_EDITOR
49
void PrintBlock_EditorDraw(void);
50
void PrintBlock_EditorLoad(void);
51
#endif
52
void PrintBlock_Serialize(void);
53
54
// Extra Entity Functions
55
void PrintBlock_State_Appear(void);
56
void PrintBlock_State_Disappear(void);
57
58
#endif //! OBJ_PRINTBLOCK_H
59
60