Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/LRZ/DashLift.h
338 views
1
#ifndef OBJ_DASHLIFT_H
2
#define OBJ_DASHLIFT_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectDashLift {
8
RSDK_OBJECT
9
uint16 sfxPulley;
10
};
11
12
// Entity Class
13
struct EntityDashLift {
14
RSDK_ENTITY
15
// Platform Base
16
StateMachine(state);
17
StateMachine(stateCollide);
18
int32 type;
19
Vector2 amplitude;
20
int32 length;
21
bool32 hasTension;
22
int8 frameID;
23
uint8 collision;
24
Vector2 tileOrigin;
25
Vector2 centerPos;
26
Vector2 drawPos;
27
Vector2 collisionOffset;
28
int32 stood;
29
int32 timer;
30
int32 stoodAngle;
31
uint8 stoodPlayers;
32
uint8 pushPlayersL;
33
uint8 pushPlayersR;
34
Hitbox hitbox;
35
Animator animator;
36
int32 childCount;
37
// Dash Lift
38
int32 startOff;
39
uint8 activePlayers;
40
};
41
42
// Object Struct
43
extern ObjectDashLift *DashLift;
44
45
// Standard Entity Events
46
void DashLift_Update(void);
47
void DashLift_LateUpdate(void);
48
void DashLift_StaticUpdate(void);
49
void DashLift_Draw(void);
50
void DashLift_Create(void *data);
51
void DashLift_StageLoad(void);
52
#if GAME_INCLUDE_EDITOR
53
void DashLift_EditorDraw(void);
54
void DashLift_EditorLoad(void);
55
#endif
56
void DashLift_Serialize(void);
57
58
// Extra Entity Functions
59
void DashLift_CheckOffScreen(void);
60
61
void DashLift_State_Init(void);
62
void DashLift_State_HandleDash(void);
63
64
#endif //! OBJ_DASHLIFT_H
65
66