Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/TMZ/PopOut.h
338 views
1
#ifndef OBJ_POPOUT_H
2
#define OBJ_POPOUT_H
3
4
#include "Game.h"
5
6
typedef enum {
7
POPOUT_CHILD_SPRING_YELLOW,
8
POPOUT_CHILD_SPRING_RED,
9
POPOUT_CHILD_SPIKES,
10
} PopOutChildTypes;
11
12
// Object Class
13
struct ObjectPopOut {
14
RSDK_OBJECT
15
bool32 hasButton;
16
uint16 aniFrames;
17
};
18
19
// Entity Class
20
struct EntityPopOut {
21
RSDK_ENTITY
22
uint8 orientation;
23
uint8 tag;
24
bool32 manualTrigger;
25
int32 delay;
26
Vector2 startPos;
27
int32 unused;
28
int32 childType;
29
bool32 shouldAppear;
30
int32 appearTimer;
31
int32 timer;
32
Vector2 appearVelocity;
33
Hitbox hitboxSolid;
34
Hitbox hitboxRange;
35
Animator mountAnimator;
36
Animator childAnimator;
37
};
38
39
// Object Struct
40
extern ObjectPopOut *PopOut;
41
42
// Standard Entity Events
43
void PopOut_Update(void);
44
void PopOut_LateUpdate(void);
45
void PopOut_StaticUpdate(void);
46
void PopOut_Draw(void);
47
void PopOut_Create(void *data);
48
void PopOut_StageLoad(void);
49
#if GAME_INCLUDE_EDITOR
50
void PopOut_EditorDraw(void);
51
void PopOut_EditorLoad(void);
52
#endif
53
void PopOut_Serialize(void);
54
55
// Extra Entity Functions
56
void PopOut_SetupHitboxes(void);
57
58
#endif //! OBJ_POPOUT_H
59
60