Path: blob/master/SonicMania/Objects/AIZ/Rhinobot.h
338 views
#ifndef OBJ_RHINOBOT_H1#define OBJ_RHINOBOT_H23#include "Game.h"45#if MANIA_USE_PLUS6// Object Class7struct ObjectRhinobot {8RSDK_OBJECT9Hitbox hitboxBadnik;10uint16 aniFrames;11uint16 sfxHuff;12};1314// Entity Class15struct EntityRhinobot {16RSDK_ENTITY17StateMachine(state);18StateMachine(stateDelay);19int32 unused1;20int32 timer;21int32 skidDir;22int32 moveDir;23bool32 drawDust;24int32 acceleration;25int32 topSpeed;26Vector2 startPos;27uint8 startDir;28Animator bodyAnimator;29Animator dustAnimator;30};3132// Object Struct33extern ObjectRhinobot *Rhinobot;3435// Standard Entity Events36void Rhinobot_Update(void);37void Rhinobot_LateUpdate(void);38void Rhinobot_StaticUpdate(void);39void Rhinobot_Draw(void);40void Rhinobot_Create(void *data);41void Rhinobot_StageLoad(void);42#if GAME_INCLUDE_EDITOR43void Rhinobot_EditorDraw(void);44void Rhinobot_EditorLoad(void);45#endif46void Rhinobot_Serialize(void);4748// Extra Entity Functions49void Rhinobot_DebugSpawn(void);50void Rhinobot_DebugDraw(void);5152bool32 Rhinobot_CheckTileCollisions(void);53void Rhinobot_CheckPlayerCollisions(void);54void Rhinobot_CheckOffScreen(void);5556void Rhinobot_Delay_Charge(void);57void Rhinobot_Delay_Skidding(void);58void Rhinobot_Delay_SkidFinish(void);5960void Rhinobot_State_Init(void);61void Rhinobot_State_Moving(void);62void Rhinobot_State_Skidding(void);63void Rhinobot_State_Idle(void);64void Rhinobot_State_Fall(void);6566#endif6768#endif //! OBJ_RHINOBOT_H697071