Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/PGZ/IceBomba.h
338 views
1
#ifndef OBJ_ICEBOMBA_H
2
#define OBJ_ICEBOMBA_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectIceBomba {
8
RSDK_OBJECT
9
Hitbox hitboxBadnik;
10
Hitbox hitboxBomb;
11
Hitbox hitboxRange;
12
uint16 aniFrames;
13
uint16 sfxExplosion;
14
uint16 sfxFreeze;
15
};
16
17
// Entity Class
18
struct EntityIceBomba {
19
RSDK_ENTITY
20
StateMachine(state);
21
uint8 dir;
22
uint16 dist;
23
uint16 dip;
24
uint8 startDir;
25
Vector2 startPos;
26
uint32 startDist;
27
Animator bodyAnimator;
28
Animator wingAnimator;
29
Animator bombAnimator;
30
};
31
32
// Object Struct
33
extern ObjectIceBomba *IceBomba;
34
35
// Standard Entity Events
36
void IceBomba_Update(void);
37
void IceBomba_LateUpdate(void);
38
void IceBomba_StaticUpdate(void);
39
void IceBomba_Draw(void);
40
void IceBomba_Create(void *data);
41
void IceBomba_StageLoad(void);
42
#if GAME_INCLUDE_EDITOR
43
void IceBomba_EditorDraw(void);
44
void IceBomba_EditorLoad(void);
45
#endif
46
void IceBomba_Serialize(void);
47
48
// Extra Entity Functions
49
void IceBomba_DebugDraw(void);
50
void IceBomba_DebugSpawn(void);
51
52
void IceBomba_CheckOffScreen(void);
53
54
void IceBomba_HandlePlayerCollisions(void);
55
56
void IceBomba_State_Init(void);
57
void IceBomba_State_Flying(void);
58
void IceBomba_State_Turning(void);
59
void IceBomba_State_FlyAway(void);
60
61
void IceBomba_State_Bomb(void);
62
63
#endif //! OBJ_ICEBOMBA_H
64
65