Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/SPZ/PathInverter.h
338 views
1
#ifndef OBJ_PATHINVERTER_H
2
#define OBJ_PATHINVERTER_H
3
4
#include "Game.h"
5
6
typedef enum {
7
PATHINVERTER_H,
8
PATHINVERTER_V,
9
} PathInverterTypes;
10
11
// Object Class
12
struct ObjectPathInverter {
13
RSDK_OBJECT
14
uint16 aniFrames;
15
};
16
17
// Entity Class
18
struct EntityPathInverter {
19
RSDK_ENTITY
20
StateMachine(state);
21
uint8 type;
22
Vector2 size2x;
23
Vector2 size;
24
EntityPlayer *playerPtrs[PLAYER_COUNT];
25
int32 groundVelStore[PLAYER_COUNT];
26
int32 playerFlipFlags[PLAYER_COUNT];
27
Animator animator;
28
};
29
30
// Object Struct
31
extern ObjectPathInverter *PathInverter;
32
33
// Standard Entity Events
34
void PathInverter_Update(void);
35
void PathInverter_LateUpdate(void);
36
void PathInverter_StaticUpdate(void);
37
void PathInverter_Draw(void);
38
void PathInverter_Create(void *data);
39
void PathInverter_StageLoad(void);
40
#if GAME_INCLUDE_EDITOR
41
void PathInverter_EditorDraw(void);
42
void PathInverter_EditorLoad(void);
43
#endif
44
void PathInverter_Serialize(void);
45
46
// Extra Entity Functions
47
void PathInverter_HandlePathSwitch(EntityPlayer *player);
48
void PathInverter_State_Horizontal(void);
49
void PathInverter_State_Vertical(void);
50
51
#endif //! OBJ_PATHINVERTER_H
52
53