Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/HCZ/HCZOneWayDoor.h
338 views
1
#ifndef OBJ_HCZONEWAYDOOR_H
2
#define OBJ_HCZONEWAYDOOR_H
3
4
#include "Game.h"
5
6
typedef enum {
7
HCZONEWAYDOOR_UP,
8
HCZONEWAYDOOR_LEFT,
9
HCZONEWAYDOOR_DOWN,
10
HCZONEWAYDOOR_RIGHT,
11
} HCZOneWayDoorOrientations;
12
13
// Object Class
14
struct ObjectHCZOneWayDoor {
15
RSDK_OBJECT
16
uint16 aniFrames;
17
uint16 sfxClack;
18
};
19
20
// Entity Class
21
struct EntityHCZOneWayDoor {
22
RSDK_ENTITY
23
StateMachine(state);
24
Vector2 startPos;
25
Vector2 size;
26
Vector2 initialSize;
27
int32 movePos;
28
int32 length;
29
int32 duration;
30
uint8 orientation;
31
uint8 detectDirection;
32
Hitbox hitboxSolid;
33
Hitbox hitboxTrigger;
34
Animator animator;
35
};
36
37
// Object Struct
38
extern ObjectHCZOneWayDoor *HCZOneWayDoor;
39
40
// Standard Entity Events
41
void HCZOneWayDoor_Update(void);
42
void HCZOneWayDoor_LateUpdate(void);
43
void HCZOneWayDoor_StaticUpdate(void);
44
void HCZOneWayDoor_Draw(void);
45
void HCZOneWayDoor_Create(void *data);
46
void HCZOneWayDoor_StageLoad(void);
47
#if GAME_INCLUDE_EDITOR
48
void HCZOneWayDoor_EditorDraw(void);
49
void HCZOneWayDoor_EditorLoad(void);
50
#endif
51
void HCZOneWayDoor_Serialize(void);
52
53
// Extra Entity Functions
54
void HCZOneWayDoor_SetupHitboxes(void);
55
void HCZOneWayDoor_DrawSprites(void);
56
57
#endif //! OBJ_HCZONEWAYDOOR_H
58
59