Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/Unused/SpearBlock.h
338 views
1
#ifndef OBJ_SPEARBLOCK_H
2
#define OBJ_SPEARBLOCK_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectSpearBlock {
8
RSDK_OBJECT
9
Hitbox blockHitbox;
10
Hitbox spearHitboxes[4];
11
uint16 aniFrames;
12
Animator animator;
13
};
14
15
// Entity Class
16
struct EntitySpearBlock {
17
RSDK_ENTITY
18
StateMachine(state);
19
uint8 spearDir;
20
Vector2 spearPos;
21
int32 timer;
22
Animator animator;
23
};
24
25
// Object Entity
26
extern ObjectSpearBlock *SpearBlock;
27
28
// Standard Entity Events
29
void SpearBlock_Update(void);
30
void SpearBlock_LateUpdate(void);
31
void SpearBlock_StaticUpdate(void);
32
void SpearBlock_Draw(void);
33
void SpearBlock_Create(void *data);
34
void SpearBlock_StageLoad(void);
35
#if GAME_INCLUDE_EDITOR
36
void SpearBlock_EditorDraw(void);
37
void SpearBlock_EditorLoad(void);
38
#endif
39
void SpearBlock_Serialize(void);
40
41
// Extra Entity Functions
42
void SpearBlock_DebugDraw(void);
43
void SpearBlock_DebugSpawn(void);
44
45
void SpearBlock_CheckPlayerCollisions(void);
46
47
void SpearBlock_State_SetupSpears(void);
48
void SpearBlock_State_SpearRetracted(void);
49
void SpearBlock_State_ExtendSpears(void);
50
void SpearBlock_State_SpearExtended(void);
51
void SpearBlock_State_RetractSpears(void);
52
53
#endif //! OBJ_SPEARBLOCK_H
54
55