Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/CPZ/TippingPlatform.h
338 views
1
#ifndef OBJ_TIPPINGPLATFORM_H
2
#define OBJ_TIPPINGPLATFORM_H
3
4
#include "Game.h"
5
6
typedef enum {
7
TIPPINGPLATFORM_NONE,
8
TIPPINGPLATFORM_PLAYER,
9
TIPPINGPLATFORM_EGGMAN,
10
} TippingPlatformBossIDs;
11
12
// Object Class
13
struct ObjectTippingPlatform {
14
RSDK_OBJECT
15
};
16
17
// Entity Class
18
struct EntityTippingPlatform {
19
MANIA_PLATFORM_BASE
20
21
uint8 interval;
22
uint8 intervalOffset;
23
uint8 duration;
24
uint8 bossID;
25
EntitySyringe *syringe;
26
};
27
28
// Object Struct
29
extern ObjectTippingPlatform *TippingPlatform;
30
31
// Standard Entity Events
32
void TippingPlatform_Update(void);
33
void TippingPlatform_LateUpdate(void);
34
void TippingPlatform_StaticUpdate(void);
35
void TippingPlatform_Draw(void);
36
void TippingPlatform_Create(void *data);
37
void TippingPlatform_StageLoad(void);
38
#if GAME_INCLUDE_EDITOR
39
void TippingPlatform_EditorDraw(void);
40
void TippingPlatform_EditorLoad(void);
41
#endif
42
void TippingPlatform_Serialize(void);
43
44
// Extra Entity Functions
45
void TippingPlatform_State_Tipping_Boss(void);
46
void TippingPlatform_State_RestorePlatform(void);
47
void TippingPlatform_State_Tipping(void);
48
void TippingPlatform_State_Restore(void);
49
void TippingPlatform_State_Tipping_Delay(void);
50
51
#endif //! OBJ_TIPPINGPLATFORM_H
52
53