Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/HCZ/Jawz.h
338 views
1
#ifndef OBJ_JAWZ_H
2
#define OBJ_JAWZ_H
3
4
#include "Game.h"
5
6
typedef enum {
7
JAWS_TRIGGER_BOTH,
8
JAWS_TRIGGER_LEFT,
9
JAWS_TRIGGER_RIGHT,
10
} JawzTriggerDirs;
11
12
// Object Class
13
struct ObjectJawz {
14
RSDK_OBJECT
15
Hitbox hitboxBadnik;
16
uint16 aniFrames;
17
};
18
19
// Entity Class
20
struct EntityJawz {
21
RSDK_ENTITY
22
uint8 triggerDir;
23
StateMachine(state);
24
Vector2 startPos;
25
Animator animator;
26
};
27
28
// Object Struct
29
extern ObjectJawz *Jawz;
30
31
// Standard Entity Events
32
void Jawz_Update(void);
33
void Jawz_LateUpdate(void);
34
void Jawz_StaticUpdate(void);
35
void Jawz_Draw(void);
36
void Jawz_Create(void *data);
37
void Jawz_StageLoad(void);
38
#if GAME_INCLUDE_EDITOR
39
void Jawz_EditorDraw(void);
40
void Jawz_EditorLoad(void);
41
#endif
42
void Jawz_Serialize(void);
43
44
// Extra Entity Functions
45
void Jawz_DebugSpawn(void);
46
void Jawz_DebugDraw(void);
47
void Jawz_CheckPlayerCollisions(void);
48
void Jawz_State_CheckPlayerTrigger(void);
49
void Jawz_State_Triggered(void);
50
51
#endif //! OBJ_JAWZ_H
52
53