Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/OOZ/GasPlatform.h
338 views
1
#ifndef OBJ_GASPLATFORM_H
2
#define OBJ_GASPLATFORM_H
3
4
#include "Game.h"
5
6
typedef enum {
7
GASPLATFORM_INTERVAL,
8
GASPLATFORM_CONTACT,
9
GASPLATFORM_BOSS,
10
} GasPlatformTypes;
11
12
// Object Class
13
struct ObjectGasPlatform {
14
RSDK_OBJECT
15
Hitbox hitboxGas;
16
Vector2 range;
17
uint16 sfxGasPop;
18
uint16 sfxSpring;
19
};
20
21
// Entity Class
22
struct EntityGasPlatform {
23
MANIA_PLATFORM_BASE
24
uint16 interval;
25
uint16 intervalOffset;
26
Animator gasAnimator;
27
};
28
29
// Object Struct
30
extern ObjectGasPlatform *GasPlatform;
31
32
// Standard Entity Events
33
void GasPlatform_Update(void);
34
void GasPlatform_LateUpdate(void);
35
void GasPlatform_StaticUpdate(void);
36
void GasPlatform_Draw(void);
37
void GasPlatform_Create(void *data);
38
void GasPlatform_StageLoad(void);
39
#if GAME_INCLUDE_EDITOR
40
void GasPlatform_EditorDraw(void);
41
void GasPlatform_EditorLoad(void);
42
#endif
43
void GasPlatform_Serialize(void);
44
45
// Extra Entity Functions
46
void GasPlatform_PopPlatform(void);
47
void GasPlatform_State_Popped(void);
48
void GasPlatform_State_SpringCooldown(void);
49
void GasPlatform_State_Shaking(void);
50
51
#endif //! OBJ_GASPLATFORM_H
52
53