Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/AIZ/AIZKingClaw.h
338 views
1
#ifndef OBJ_AIZKINGCLAW_H
2
#define OBJ_AIZKINGCLAW_H
3
4
#include "Game.h"
5
6
#define AIZKingClaw_ChainCount (12)
7
8
// Object Class
9
struct ObjectAIZKingClaw {
10
RSDK_OBJECT
11
uint16 aniFrames;
12
uint16 sfxClack;
13
uint16 sfxWalkerLegs;
14
};
15
16
// Entity Class
17
struct EntityAIZKingClaw {
18
RSDK_ENTITY
19
StateMachine(state);
20
int32 timer;
21
int32 startY;
22
Vector2 chainPos[AIZKingClaw_ChainCount];
23
Vector2 clawPos;
24
Entity *grabbedEntities[8];
25
int32 grabCount;
26
int32 unused1;
27
Animator chainAnimator;
28
Animator hingeAnimator;
29
Animator clawBackAnimator;
30
Animator clawFrontAnimator;
31
};
32
33
// Object Struct
34
extern ObjectAIZKingClaw *AIZKingClaw;
35
36
// Standard Entity Events
37
void AIZKingClaw_Update(void);
38
void AIZKingClaw_LateUpdate(void);
39
void AIZKingClaw_StaticUpdate(void);
40
void AIZKingClaw_Draw(void);
41
void AIZKingClaw_Create(void *data);
42
void AIZKingClaw_StageLoad(void);
43
#if GAME_INCLUDE_EDITOR
44
void AIZKingClaw_EditorDraw(void);
45
void AIZKingClaw_EditorLoad(void);
46
#endif
47
void AIZKingClaw_Serialize(void);
48
49
// Extra Entity Functions
50
void AIZKingClaw_HandleClawPositions(void);
51
void AIZKingClaw_State_Grab(void);
52
53
#endif //! OBJ_AIZKINGCLAW_H
54
55