Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/Unused/WallCrawl.h
338 views
1
#ifndef OBJ_WALLCRAWL_H
2
#define OBJ_WALLCRAWL_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectWallCrawl {
8
RSDK_OBJECT
9
Hitbox hitboxBadnik;
10
Hitbox hitboxRange;
11
Hitbox hitboxLaser;
12
Hitbox hitboxProjectile;
13
uint16 aniFrames;
14
};
15
16
// Entity Class
17
struct EntityWallCrawl {
18
RSDK_ENTITY
19
StateMachine(state);
20
int32 idleTimer;
21
int32 timer;
22
EntityPlayer *playerPtr;
23
Vector2 startPos;
24
uint8 startDir;
25
Animator animator;
26
};
27
28
// Object Entity
29
extern ObjectWallCrawl *WallCrawl;
30
31
// Standard Entity Events
32
void WallCrawl_Update(void);
33
void WallCrawl_LateUpdate(void);
34
void WallCrawl_StaticUpdate(void);
35
void WallCrawl_Draw(void);
36
void WallCrawl_Create(void *data);
37
void WallCrawl_StageLoad(void);
38
#if GAME_INCLUDE_EDITOR
39
void WallCrawl_EditorDraw(void);
40
void WallCrawl_EditorLoad(void);
41
#endif
42
void WallCrawl_Serialize(void);
43
44
// Extra Entity Functions
45
void WallCrawl_DebugSpawn(void);
46
void WallCrawl_DebugDraw(void);
47
48
void WallCrawl_HandlePlayerInteractions(void);
49
void WallCrawl_CheckOffScreen(void);
50
51
void WallCrawl_State_Init(void);
52
void WallCrawl_State_Moving(void);
53
void WallCrawl_State_Idle(void);
54
55
void WallCrawl_State_Projectile(void);
56
57
#endif //! OBJ_WALLCRAWL_H
58
59