Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/UFO/UFO_Ring.h
338 views
1
#ifndef OBJ_UFO_RING_H
2
#define OBJ_UFO_RING_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectUFO_Ring {
8
RSDK_OBJECT
9
int32 unused1;
10
int32 unused2;
11
uint16 aniFrames;
12
uint16 sfxRing;
13
};
14
15
// Entity Class
16
struct EntityUFO_Ring {
17
RSDK_ENTITY
18
StateMachine(state);
19
int32 unused1;
20
int32 height;
21
int32 bounceVelocity;
22
int32 worldX;
23
int32 worldY;
24
Animator animator;
25
};
26
27
// Object Struct
28
extern ObjectUFO_Ring *UFO_Ring;
29
30
// Standard Entity Events
31
void UFO_Ring_Update(void);
32
void UFO_Ring_LateUpdate(void);
33
void UFO_Ring_StaticUpdate(void);
34
void UFO_Ring_Draw(void);
35
void UFO_Ring_Create(void *data);
36
void UFO_Ring_StageLoad(void);
37
#if GAME_INCLUDE_EDITOR
38
void UFO_Ring_EditorDraw(void);
39
void UFO_Ring_EditorLoad(void);
40
#endif
41
void UFO_Ring_Serialize(void);
42
43
// Extra Entity Functions
44
void UFO_Ring_PlayRingSfx(void);
45
void UFO_Ring_LoseRings(EntityUFO_Player *player);
46
47
// States
48
void UFO_Ring_State_NormalRing(void);
49
void UFO_Ring_State_Sparkle(void);
50
void UFO_Ring_State_LoseRing(void);
51
52
#endif //! OBJ_UFO_RING_H
53
54