Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/GHZ/ZipLine.h
338 views
1
#ifndef OBJ_ZIPLINE_H
2
#define OBJ_ZIPLINE_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectZipLine {
8
RSDK_OBJECT
9
uint16 aniFrames;
10
Hitbox hitboxHandle;
11
};
12
13
// Entity Class
14
struct EntityZipLine {
15
RSDK_ENTITY
16
StateMachine(state);
17
uint8 activePlayers;
18
Animator animator;
19
int32 length;
20
Vector2 startPos;
21
Vector2 endPos;
22
Vector2 handlePos;
23
uint8 grabDelay[PLAYER_COUNT];
24
Vector2 joinPos;
25
int32 unused1;
26
};
27
28
// Object Struct
29
extern ObjectZipLine *ZipLine;
30
31
// Standard Entity Events
32
void ZipLine_Update(void);
33
void ZipLine_LateUpdate(void);
34
void ZipLine_StaticUpdate(void);
35
void ZipLine_Draw(void);
36
void ZipLine_Create(void *data);
37
void ZipLine_StageLoad(void);
38
#if GAME_INCLUDE_EDITOR
39
void ZipLine_EditorDraw(void);
40
void ZipLine_EditorLoad(void);
41
#endif
42
void ZipLine_Serialize(void);
43
44
// Extra Entity Functions
45
void ZipLine_VSSwap_CheckBusy(void);
46
void ZipLine_GrabHandle(EntityPlayer *player, int32 playerID, Hitbox *playerHitbox);
47
void ZipLine_ForceReleasePlayers(void);
48
Vector2 ZipLine_GetJoinPos(void);
49
void ZipLine_State_Moving(void);
50
51
#endif //! OBJ_ZIPLINE_H
52
53