Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/CPZ/OneWayDoor.h
338 views
1
#ifndef OBJ_ONEWAYDOOR_H
2
#define OBJ_ONEWAYDOOR_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectOneWayDoor {
8
RSDK_OBJECT
9
uint16 aniFrames;
10
Hitbox hitboxTop;
11
Hitbox hitboxBottom;
12
Hitbox hitboxRange;
13
};
14
15
// Entity Class
16
struct EntityOneWayDoor {
17
RSDK_ENTITY
18
StateMachine(state);
19
StateMachine(stateDraw);
20
int32 offsetY;
21
Animator animator;
22
};
23
24
// Object Struct
25
extern ObjectOneWayDoor *OneWayDoor;
26
27
// Standard Entity Events
28
void OneWayDoor_Update(void);
29
void OneWayDoor_LateUpdate(void);
30
void OneWayDoor_StaticUpdate(void);
31
void OneWayDoor_Draw(void);
32
void OneWayDoor_Create(void *data);
33
void OneWayDoor_StageLoad(void);
34
#if GAME_INCLUDE_EDITOR
35
void OneWayDoor_EditorDraw(void);
36
void OneWayDoor_EditorLoad(void);
37
#endif
38
void OneWayDoor_Serialize(void);
39
40
// Extra Entity Functions
41
void OneWayDoor_HandlePlayerInteractions(void);
42
43
void OneWayDoor_State_MoveDown(void);
44
void OneWayDoor_State_MoveUp(void);
45
46
void OneWayDoor_Draw_MMZ(void);
47
void OneWayDoor_Draw_CPZ(void);
48
49
#endif //! OBJ_ONEWAYDOOR_H
50
51