Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/HCZ/TwistingSlide.h
338 views
1
#ifndef OBJ_TWISTINGSLIDE_H
2
#define OBJ_TWISTINGSLIDE_H
3
4
#include "Game.h"
5
6
typedef enum {
7
TWISTINGSLIDE_START,
8
TWISTINGSLIDE_STRIP,
9
TWISTINGSLIDE_TWIST,
10
TWISTINGSLIDE_END,
11
} TwistingSlideTypes;
12
13
// Object Class
14
struct ObjectTwistingSlide {
15
RSDK_OBJECT
16
Hitbox hitbox;
17
uint16 aniFrames;
18
};
19
20
// Entity Class
21
struct EntityTwistingSlide {
22
RSDK_ENTITY
23
uint8 type;
24
int32 endLen;
25
int32 activePlayers;
26
int32 playerAngles[PLAYER_COUNT];
27
int32 minY;
28
int32 maxY;
29
Hitbox hitboxSlideStart;
30
Hitbox hitboxSlideEnd;
31
Hitbox hitboxSlide;
32
Animator animator;
33
};
34
35
// Object Struct
36
extern ObjectTwistingSlide *TwistingSlide;
37
38
// Standard Entity Events
39
void TwistingSlide_Update(void);
40
void TwistingSlide_LateUpdate(void);
41
void TwistingSlide_StaticUpdate(void);
42
void TwistingSlide_Draw(void);
43
void TwistingSlide_Create(void *data);
44
void TwistingSlide_StageLoad(void);
45
#if GAME_INCLUDE_EDITOR
46
void TwistingSlide_EditorDraw(void);
47
void TwistingSlide_EditorLoad(void);
48
#endif
49
void TwistingSlide_Serialize(void);
50
51
// Extra Entity Functions
52
void TwistingSlide_SetupHitboxes(void);
53
54
#endif //! OBJ_TWISTINGSLIDE_H
55
56