Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/MSZ/RotatingSpikes.h
338 views
1
#ifndef OBJ_ROTATINGSPIKES_H
2
#define OBJ_ROTATINGSPIKES_H
3
4
#include "Game.h"
5
6
typedef enum {
7
ROTSPIKES_PRIO_LOW,
8
ROTSPIKES_PRIO_HIGH,
9
} RotatingSpikesPriorities;
10
11
// Object Class
12
struct ObjectRotatingSpikes {
13
RSDK_OBJECT
14
uint16 aniFrames;
15
};
16
17
// Entity Class
18
struct EntityRotatingSpikes {
19
RSDK_ENTITY
20
Animator pivotAnimator;
21
Animator spikeBallAnimator;
22
int32 pivotRadius;
23
int32 spikeRadius;
24
int32 spikeCount;
25
int32 rotSpeed;
26
int32 angleOffset;
27
int32 priority;
28
};
29
30
// Object Struct
31
extern ObjectRotatingSpikes *RotatingSpikes;
32
33
// Standard Entity Events
34
void RotatingSpikes_Update(void);
35
void RotatingSpikes_LateUpdate(void);
36
void RotatingSpikes_StaticUpdate(void);
37
void RotatingSpikes_Draw(void);
38
void RotatingSpikes_Create(void *data);
39
void RotatingSpikes_StageLoad(void);
40
#if GAME_INCLUDE_EDITOR
41
void RotatingSpikes_EditorDraw(void);
42
void RotatingSpikes_EditorLoad(void);
43
#endif
44
void RotatingSpikes_Serialize(void);
45
46
// Extra Entity Functions
47
48
#endif //! OBJ_ROTATINGSPIKES_H
49
50