Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/MMZ/BladePole.h
338 views
1
#ifndef OBJ_BLADEPOLE_H
2
#define OBJ_BLADEPOLE_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectBladePole {
8
RSDK_OBJECT
9
uint16 aniFrames;
10
Hitbox hitboxTop;
11
Hitbox hitboxBottom;
12
};
13
14
// Entity Class
15
struct EntityBladePole {
16
RSDK_ENTITY
17
StateMachine(state);
18
uint16 timer;
19
Animator poleAnimator;
20
Animator bladeTopAnimator;
21
Animator bladeBottomAnimator;
22
};
23
24
// Object Struct
25
extern ObjectBladePole *BladePole;
26
27
// Standard Entity Events
28
void BladePole_Update(void);
29
void BladePole_LateUpdate(void);
30
void BladePole_StaticUpdate(void);
31
void BladePole_Draw(void);
32
void BladePole_Create(void *data);
33
void BladePole_StageLoad(void);
34
#if GAME_INCLUDE_EDITOR
35
void BladePole_EditorDraw(void);
36
void BladePole_EditorLoad(void);
37
#endif
38
void BladePole_Serialize(void);
39
40
// Extra Entity Functions
41
void BladePole_DrawSprites(void);
42
43
bool32 BladePole_SetAnimation(Animator *animator);
44
void BladePole_CheckPlayerCollisions(Hitbox *hitbox);
45
46
void BladePole_State_TopBladeActive(void);
47
void BladePole_State_BottomBladeActive(void);
48
49
#endif //! OBJ_BLADEPOLE_H
50
51