Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/SSZ/HiLoSign.h
338 views
1
#ifndef OBJ_HILOSIGN_H
2
#define OBJ_HILOSIGN_H
3
4
#include "Game.h"
5
6
typedef enum {
7
HILOSIGN_H,
8
HILOSIGN_V,
9
} HiLoSignTypes;
10
11
// Object Class
12
struct ObjectHiLoSign {
13
RSDK_OBJECT
14
uint16 aniFrames;
15
Hitbox spinHitbox[2];
16
uint16 sfxSignPost;
17
};
18
19
// Entity Class
20
struct EntityHiLoSign {
21
RSDK_ENTITY
22
StateMachine(stateDraw);
23
StateMachine(state);
24
uint8 type;
25
int32 spinSpeed;
26
Animator faceAnimator;
27
Animator sidesAnimator;
28
};
29
30
// Object Struct
31
extern ObjectHiLoSign *HiLoSign;
32
33
// Standard Entity Events
34
void HiLoSign_Update(void);
35
void HiLoSign_LateUpdate(void);
36
void HiLoSign_StaticUpdate(void);
37
void HiLoSign_Draw(void);
38
void HiLoSign_Create(void *data);
39
void HiLoSign_StageLoad(void);
40
#if GAME_INCLUDE_EDITOR
41
void HiLoSign_EditorDraw(void);
42
void HiLoSign_EditorLoad(void);
43
#endif
44
void HiLoSign_Serialize(void);
45
46
// Extra Entity Functions
47
void HiLoSign_DebugSpawn(void);
48
void HiLoSign_DebugDraw(void);
49
50
void HiLoSign_State_Spinning(void);
51
void HiLoSign_State_FinishSpinAdjust(void);
52
53
void HiLoSign_Draw_Horizontal(void);
54
void HiLoSign_Draw_Vertical(void);
55
56
#endif //! OBJ_HILOSIGN_H
57
58