Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/MSZ/CollapsingSand.h
338 views
1
#ifndef OBJ_COLLAPSINGSAND_H
2
#define OBJ_COLLAPSINGSAND_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectCollapsingSand {
8
RSDK_OBJECT
9
Animator animator;
10
uint16 aniFrames;
11
uint16 sfxSandFall;
12
};
13
14
// Entity Class
15
struct EntityCollapsingSand {
16
RSDK_ENTITY
17
StateMachine(state);
18
Vector2 size;
19
int32 delay;
20
int32 collapseTimer;
21
bool32 collapseLeft;
22
Vector2 collapseDuration;
23
Vector2 tilePos;
24
Vector2 tileEndPos;
25
Hitbox hitbox;
26
};
27
28
// Object Struct
29
extern ObjectCollapsingSand *CollapsingSand;
30
31
// Standard Entity Events
32
void CollapsingSand_Update(void);
33
void CollapsingSand_LateUpdate(void);
34
void CollapsingSand_StaticUpdate(void);
35
void CollapsingSand_Draw(void);
36
void CollapsingSand_Create(void *data);
37
void CollapsingSand_StageLoad(void);
38
#if GAME_INCLUDE_EDITOR
39
void CollapsingSand_EditorDraw(void);
40
void CollapsingSand_EditorLoad(void);
41
#endif
42
void CollapsingSand_Serialize(void);
43
44
// Extra Entity Functions
45
void CollapsingSand_State_CheckPlayerCollisions(void);
46
void CollapsingSand_State_CollapseDelay(void);
47
void CollapsingSand_State_CollapseLeft(void);
48
void CollapsingSand_State_CollapseRight(void);
49
50
#endif //! OBJ_COLLAPSINGSAND_H
51
52