Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/TMZ/TMZCable.h
338 views
1
#ifndef OBJ_TMZCABLE_H
2
#define OBJ_TMZCABLE_H
3
4
#include "Game.h"
5
6
#define TMZCABLE_JOINT_COUNT (8)
7
8
// Object Class
9
struct ObjectTMZCable {
10
RSDK_OBJECT
11
Hitbox hitbox;
12
};
13
14
// Entity Class
15
struct EntityTMZCable {
16
RSDK_ENTITY
17
StateMachine(state);
18
int32 timer;
19
int32 cableID;
20
Vector2 offset;
21
Vector2 jointPos[TMZCABLE_JOINT_COUNT];
22
bool32 jointVisible[TMZCABLE_JOINT_COUNT];
23
Vector2 *parentPos;
24
Animator animator;
25
};
26
27
// Object Struct
28
extern ObjectTMZCable *TMZCable;
29
30
// Standard Entity Events
31
void TMZCable_Update(void);
32
void TMZCable_LateUpdate(void);
33
void TMZCable_StaticUpdate(void);
34
void TMZCable_Draw(void);
35
void TMZCable_Create(void *data);
36
void TMZCable_StageLoad(void);
37
#if GAME_INCLUDE_EDITOR
38
void TMZCable_EditorDraw(void);
39
void TMZCable_EditorLoad(void);
40
#endif
41
void TMZCable_Serialize(void);
42
43
// Extra Entity Functions
44
void TMZCable_HandleDrawPositions(void);
45
46
void TMZCable_State_Idle(void);
47
void TMZCable_State_Charge(void);
48
void TMZCable_State_Live(void);
49
void TMZCable_State_Fade(void);
50
void TMZCable_State_Destroyed(void);
51
52
#endif //! OBJ_TMZCABLE_H
53
54