Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/Common/PlatformControl.h
338 views
1
#ifndef OBJ_PLATFORMCONTROL_H
2
#define OBJ_PLATFORMCONTROL_H
3
4
#include "Game.h"
5
6
typedef enum {
7
PLATFORMCONTROL_CIRCUIT,
8
PLATFORMCONTROL_REVERSE,
9
PLATFORMCONTROL_TELEPORT,
10
PLATFORMCONTROL_STOP,
11
} PlatformControlTypes;
12
13
// Object Class
14
struct ObjectPlatformControl {
15
RSDK_OBJECT
16
};
17
18
// Entity Class
19
struct EntityPlatformControl {
20
RSDK_ENTITY
21
int32 nodeCount;
22
int32 childCount;
23
int32 speed;
24
bool32 setActive;
25
uint8 type;
26
bool32 isActive;
27
int32 buttonTag;
28
EntityButton *taggedButton;
29
};
30
31
// Object Struct
32
extern ObjectPlatformControl *PlatformControl;
33
34
// Standard Entity Events
35
void PlatformControl_Update(void);
36
void PlatformControl_LateUpdate(void);
37
void PlatformControl_StaticUpdate(void);
38
void PlatformControl_Draw(void);
39
void PlatformControl_Create(void *data);
40
void PlatformControl_StageLoad(void);
41
#if GAME_INCLUDE_EDITOR
42
void PlatformControl_EditorDraw(void);
43
void PlatformControl_EditorLoad(void);
44
#endif
45
void PlatformControl_Serialize(void);
46
47
// Extra Entity Functions
48
void PlatformControl_ManagePlatformVelocity(EntityPlatform *platform, EntityPlatformNode *node);
49
50
#endif //! OBJ_PLATFORMCONTROL_H
51
52