Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/MSZ/MSZSpotlight.h
338 views
1
#ifndef OBJ_MSZSPOTLIGHT_H
2
#define OBJ_MSZSPOTLIGHT_H
3
4
#include "Game.h"
5
6
typedef enum {
7
MSZSPOTLIGHT_RED,
8
MSZSPOTLIGHT_GREEN,
9
MSZSPOTLIGHT_BLUE,
10
} MSZSpotlightColors;
11
12
// Object Class
13
struct ObjectMSZSpotlight {
14
RSDK_OBJECT
15
uint16 aniFrames;
16
};
17
18
// Entity Class
19
struct EntityMSZSpotlight {
20
RSDK_ENTITY
21
StateMachine(state);
22
uint8 color;
23
int32 timer;
24
int32 angleOffset;
25
Vector2 startPos;
26
Animator animatorSpotlight;
27
};
28
29
// Object Struct
30
extern ObjectMSZSpotlight *MSZSpotlight;
31
32
// Standard Entity Events
33
void MSZSpotlight_Update(void);
34
void MSZSpotlight_LateUpdate(void);
35
void MSZSpotlight_StaticUpdate(void);
36
void MSZSpotlight_Draw(void);
37
void MSZSpotlight_Create(void *data);
38
void MSZSpotlight_StageLoad(void);
39
#if GAME_INCLUDE_EDITOR
40
void MSZSpotlight_EditorDraw(void);
41
void MSZSpotlight_EditorLoad(void);
42
#endif
43
void MSZSpotlight_Serialize(void);
44
45
// Extra Entity Functions
46
void MSZSpotlight_State_Appear(void);
47
void MSZSpotlight_State_Circling(void);
48
void MSZSpotlight_State_Idle(void);
49
void MSZSpotlight_State_MoveToBox(void);
50
void MSZSpotlight_State_Disappear(void);
51
52
#endif //! OBJ_MSZSPOTLIGHT_H
53
54