Path: blob/master/SonicMania/Objects/HPZ/Batbot.h
338 views
#ifndef OBJ_BATBOT_H1#define OBJ_BATBOT_H23#include "Game.h"45// Object Class6struct ObjectBatbot {7RSDK_OBJECT8Hitbox hitboxBadnik;9Hitbox hitboxSpinCheck;10Hitbox hitboxAttack;11Hitbox hitboxPlayer;12uint16 aniFrames;13uint8 directionTable[5];14};1516// Entity Class17struct EntityBatbot {18RSDK_ENTITY19StateMachine(state);20Vector2 startPos;21uint8 startDir;22uint16 timer;23int32 arcAngle;24int32 originY;25Vector2 landPos;26int32 unused1;27int32 unused2;28int32 swoopAngle;29EntityPlayer *playerPtr;30uint8 swoopDir;31bool32 showJet;32uint16 unused3; // set to 0, not used, value isn't in S233Animator bodyAnimator;34Animator jetAnimator;35};3637// Object Entity38extern ObjectBatbot *Batbot;3940// Standard Entity Events41void Batbot_Update(void);42void Batbot_LateUpdate(void);43void Batbot_StaticUpdate(void);44void Batbot_Draw(void);45void Batbot_Create(void *data);46void Batbot_StageLoad(void);47#if GAME_INCLUDE_EDITOR48void Batbot_EditorDraw(void);49void Batbot_EditorLoad(void);50#endif51void Batbot_Serialize(void);5253// Extra Entity Functions54void Batbot_DebugSpawn(void);55void Batbot_DebugDraw(void);5657void Batbot_CheckPlayerCollisions(void);5859void Batbot_State_Init(void);60void Batbot_State_Idle(void);61void Batbot_State_Attack(void);62void Batbot_State_SwoopLeft(void);63void Batbot_State_SwoopRight(void);6465#endif //! OBJ_BATBOT_H666768