Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/AIZ/Sweep.h
338 views
1
#ifndef OBJ_SWEEP_H
2
#define OBJ_SWEEP_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectSweep {
8
RSDK_OBJECT
9
Hitbox hitboxBadnik;
10
Hitbox hitboxRange;
11
Hitbox hitboxProjectile;
12
uint16 aniFrames;
13
uint16 sfxPon;
14
};
15
16
// Entity Class
17
struct EntitySweep {
18
RSDK_ENTITY
19
StateMachine(state);
20
StateMachine(stateStore);
21
int32 timer;
22
uint8 hasShot;
23
Vector2 startPos;
24
uint8 startDir;
25
EntityWater *water;
26
Animator animator;
27
};
28
29
// Object Struct
30
extern ObjectSweep *Sweep;
31
32
// Standard Entity Events
33
void Sweep_Update(void);
34
void Sweep_LateUpdate(void);
35
void Sweep_StaticUpdate(void);
36
void Sweep_Draw(void);
37
void Sweep_Create(void *data);
38
void Sweep_StageLoad(void);
39
#if GAME_INCLUDE_EDITOR
40
void Sweep_EditorDraw(void);
41
void Sweep_EditorLoad(void);
42
#endif
43
void Sweep_Serialize(void);
44
45
// Extra Entity Functions
46
void Sweep_DebugSpawn(void);
47
void Sweep_DebugDraw(void);
48
49
void Sweep_CheckOffScreen(void);
50
void Sweep_CheckPlayerCollisions(void);
51
void Sweep_CheckShoot(void);
52
53
void Sweep_State_Init(void);
54
void Sweep_State_Idle(void);
55
void Sweep_State_Dash(void);
56
void Sweep_State_Stop(void);
57
void Sweep_State_FiredShot(void);
58
void Sweep_State_Turn(void);
59
void Sweep_State_Projectile(void);
60
61
#endif //! OBJ_SWEEP_H
62
63