Path: blob/master/SonicMania/Objects/LRZ/KingClaw.h
338 views
#ifndef OBJ_KINGCLAW_H1#define OBJ_KINGCLAW_H23#include "Game.h"45#define KINGCLAW_CHAIN_COUNT (12)67// Object Class8struct ObjectKingClaw {9RSDK_OBJECT10uint16 aniFrames;11uint16 sfxClack;12uint16 sfxWalkerLegs;13};1415// Entity Class16struct EntityKingClaw {17RSDK_ENTITY18StateMachine(state);19int32 timer;20int32 targetY;21Vector2 chainPos[KINGCLAW_CHAIN_COUNT];22Vector2 drawPos;23EntityHPZEmerald *masterEmerald;24bool32 forceHighdrawGroup;25Animator chainAnimator;26Animator hingeAnimator;27Animator clawBackAnimator;28Animator clawFrontAnimator;29};3031// Object Struct32extern ObjectKingClaw *KingClaw;3334// Standard Entity Events35void KingClaw_Update(void);36void KingClaw_LateUpdate(void);37void KingClaw_StaticUpdate(void);38void KingClaw_Draw(void);39void KingClaw_Create(void *data);40void KingClaw_StageLoad(void);41#if GAME_INCLUDE_EDITOR42void KingClaw_EditorDraw(void);43void KingClaw_EditorLoad(void);44#endif45void KingClaw_Serialize(void);4647// Extra Entity Functions48void KingClaw_HandleJointPositions(void);4950void KingClaw_State_EnterClaw(void);51void KingClaw_State_Grab(void);52void KingClaw_State_LiftMasterEmerald(void);53void KingClaw_State_Swinging(void);54void KingClaw_State_LowerClaw(void);55void KingClaw_State_RaiseClaw(void);5657#endif //! OBJ_KINGCLAW_H585960