Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/MSZ/Pinata.h
338 views
1
#ifndef OBJ_PINATA_H
2
#define OBJ_PINATA_H
3
4
#include "Game.h"
5
6
typedef enum { PINATA_PRIO_HIGH, PINATA_PRIO_LOW } PinataPriorities;
7
8
// Object Class
9
struct ObjectPinata {
10
RSDK_OBJECT
11
Hitbox hitboxPinata;
12
uint16 aniFrames;
13
uint16 sfxPinata;
14
};
15
16
// Entity Class
17
struct EntityPinata {
18
RSDK_ENTITY
19
StateMachine(state);
20
bool32 respawn;
21
int32 priority;
22
Animator animator;
23
};
24
25
// Object Struct
26
extern ObjectPinata *Pinata;
27
28
// Standard Entity Events
29
void Pinata_Update(void);
30
void Pinata_LateUpdate(void);
31
void Pinata_StaticUpdate(void);
32
void Pinata_Draw(void);
33
void Pinata_Create(void *data);
34
void Pinata_StageLoad(void);
35
#if GAME_INCLUDE_EDITOR
36
void Pinata_EditorDraw(void);
37
void Pinata_EditorLoad(void);
38
#endif
39
void Pinata_Serialize(void);
40
41
// Extra Entity Functions
42
void Pinata_DebugDraw(void);
43
void Pinata_DebugSpawn(void);
44
45
void Pinata_State_CheckPlayerCollisions(void);
46
void Pinata_State_Destroyed(void);
47
48
#endif //! OBJ_PINATA_H
49
50