Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/SSZ/Kanabun.h
338 views
1
#ifndef OBJ_KANABUN_H
2
#define OBJ_KANABUN_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectKanabun {
8
RSDK_OBJECT
9
Hitbox hitboxBadnik;
10
uint16 aniFrames;
11
};
12
13
// Entity Class
14
struct EntityKanabun {
15
RSDK_ENTITY
16
StateMachine(state);
17
int32 unused;
18
Vector2 startPos;
19
uint8 startDir;
20
int32 hVel;
21
uint8 hDist;
22
uint8 bobDist;
23
uint8 angleVel;
24
Animator animator;
25
};
26
27
// Object Struct
28
extern ObjectKanabun *Kanabun;
29
30
// Standard Entity Events
31
void Kanabun_Update(void);
32
void Kanabun_LateUpdate(void);
33
void Kanabun_StaticUpdate(void);
34
void Kanabun_Draw(void);
35
void Kanabun_Create(void *data);
36
void Kanabun_StageLoad(void);
37
#if GAME_INCLUDE_EDITOR
38
void Kanabun_EditorDraw(void);
39
void Kanabun_EditorLoad(void);
40
#endif
41
void Kanabun_Serialize(void);
42
43
// Extra Entity Functions
44
void Kanabun_DebugSpawn(void);
45
void Kanabun_DebugDraw(void);
46
47
void Kanabun_CheckPlayerCollisions(void);
48
void Kanabun_CheckOffScreen(void);
49
void Kanabun_HandleMovement(void);
50
51
void Kanabun_State_Init(void);
52
void Kanabun_State_Moving(void);
53
void Kanabun_State_Turning(void);
54
55
#endif //! OBJ_KANABUN_H
56
57