Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/ERZ/PhantomShield.h
338 views
1
#ifndef OBJ_PHANTOMSHIELD_H
2
#define OBJ_PHANTOMSHIELD_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectPhantomShield {
8
RSDK_OBJECT
9
Hitbox hitbox;
10
uint16 aniFrames;
11
};
12
13
// Entity Class
14
struct EntityPhantomShield {
15
RSDK_ENTITY
16
StateMachine(state);
17
bool32 shieldActive;
18
int32 blendAmount;
19
int32 playerTimer[PLAYER_COUNT];
20
Entity *parent;
21
Animator animator;
22
};
23
24
// Object Struct
25
extern ObjectPhantomShield *PhantomShield;
26
27
// Standard Entity Events
28
void PhantomShield_Update(void);
29
void PhantomShield_LateUpdate(void);
30
void PhantomShield_StaticUpdate(void);
31
void PhantomShield_Draw(void);
32
void PhantomShield_Create(void *data);
33
void PhantomShield_StageLoad(void);
34
#if GAME_INCLUDE_EDITOR
35
void PhantomShield_EditorDraw(void);
36
void PhantomShield_EditorLoad(void);
37
#endif
38
void PhantomShield_Serialize(void);
39
40
// Extra Entity Functions
41
void PhantomShield_State_Appear(void);
42
void PhantomShield_State_Active(void);
43
void PhantomShield_State_Disappear(void);
44
45
#endif //! OBJ_PHANTOMSHIELD_H
46
47