Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/HCZ/HCZSpikeBall.h
338 views
1
#ifndef OBJ_HCZSPIKEBALL_H
2
#define OBJ_HCZSPIKEBALL_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectHCZSpikeBall {
8
RSDK_OBJECT
9
uint16 aniFrames;
10
};
11
12
// Entity Class
13
struct EntityHCZSpikeBall {
14
RSDK_ENTITY
15
int32 unused1;
16
Vector2 startPos;
17
int32 unused2;
18
int32 intervalOffset;
19
EntityHangConveyor *conveyor;
20
Hitbox hitbox;
21
Animator animator;
22
};
23
24
// Object Struct
25
extern ObjectHCZSpikeBall *HCZSpikeBall;
26
27
// Standard Entity Events
28
void HCZSpikeBall_Update(void);
29
void HCZSpikeBall_LateUpdate(void);
30
void HCZSpikeBall_StaticUpdate(void);
31
void HCZSpikeBall_Draw(void);
32
void HCZSpikeBall_Create(void *data);
33
void HCZSpikeBall_StageLoad(void);
34
#if GAME_INCLUDE_EDITOR
35
void HCZSpikeBall_EditorDraw(void);
36
void HCZSpikeBall_EditorLoad(void);
37
#endif
38
void HCZSpikeBall_Serialize(void);
39
40
// Extra Entity Functions
41
void HCZSpikeBall_HandleConveyorSetup(void);
42
void HCZSpikeBall_LinkToConveyor(void);
43
void HCZSpikeBall_HandlePlayerInteractions(void);
44
void HCZSpikeBall_HandleConveyorMovement(void);
45
46
#endif //! OBJ_HCZSPIKEBALL_H
47
48