Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/MSZ/Cactula.h
338 views
1
#ifndef OBJ_CACTULA_H
2
#define OBJ_CACTULA_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectCactula {
8
RSDK_OBJECT
9
Hitbox hitboxBadnik;
10
uint16 aniFrames;
11
uint16 sfxCactDrop;
12
};
13
14
// Entity Class
15
struct EntityCactula {
16
RSDK_ENTITY
17
StateMachine(state);
18
int32 unused;
19
int32 offsetY;
20
bool32 droppedBomb;
21
Animator bodyTopAnimator;
22
Animator bodyBottomAnimator;
23
Animator propellerAnimator;
24
};
25
26
// Object Struct
27
extern ObjectCactula *Cactula;
28
29
// Standard Entity Events
30
void Cactula_Update(void);
31
void Cactula_LateUpdate(void);
32
void Cactula_StaticUpdate(void);
33
void Cactula_Draw(void);
34
void Cactula_Create(void *data);
35
void Cactula_StageLoad(void);
36
#if GAME_INCLUDE_EDITOR
37
void Cactula_EditorDraw(void);
38
void Cactula_EditorLoad(void);
39
#endif
40
void Cactula_Serialize(void);
41
42
// Extra Entity Functions
43
void Cactula_DebugSpawn(void);
44
void Cactula_DebugDraw(void);
45
46
void Cactula_CheckPlayerCollisions(void);
47
bool32 Cactula_SfxChecK_CactChopper(void);
48
49
void Cactula_State_CheckPlayerInRange(void);
50
void Cactula_State_Rising(void);
51
void Cactula_State_DropBomb(void);
52
53
#endif //! OBJ_CACTULA_H
54
55