Path: blob/master/SonicMania/Objects/MMZ/MechaBu.h
338 views
#ifndef OBJ_MECHABU_H1#define OBJ_MECHABU_H23#include "Game.h"45// Object Class6struct ObjectMechaBu {7RSDK_OBJECT8TABLE(int32 sawOffsets[10], { -0x150000, -0xF0000, -0x170000, -0xE0000, -0x190000, -0xA0000, -0x1A0000, -0x50000, -0x1A0000, -0x40000 });9Hitbox hitboxSaw;10Hitbox hitboxUnused;11uint16 aniFrames;12uint16 sfxSawUp;13uint16 sfxSawDown;14};1516// Entity Class17struct EntityMechaBu {18RSDK_ENTITY19StateMachine(state);20PlaneFilterTypes planeFilter;21uint8 timer;22uint8 sawTimer;23Vector2 startPos;24uint8 startDir;25Vector2 sawPos;26Animator badnikAnimator;27Animator hornAnimator;28Animator sawAnimator;29};3031// Object Struct32extern ObjectMechaBu *MechaBu;3334// Standard Entity Events35void MechaBu_Update(void);36void MechaBu_LateUpdate(void);37void MechaBu_StaticUpdate(void);38void MechaBu_Draw(void);39void MechaBu_Create(void *data);40void MechaBu_StageLoad(void);41#if GAME_INCLUDE_EDITOR42void MechaBu_EditorDraw(void);43void MechaBu_EditorLoad(void);44#endif45void MechaBu_Serialize(void);4647// Extra Entity Functions48void MechaBu_DebugSpawn(void);49void MechaBu_DebugDraw(void);5051void MechaBu_CheckPlayerCollisions(void);52void MechaBu_CheckOffScreen(void);53Vector2 MechaBu_GetSawOffset(void);5455void MechaBu_State_Init(void);56void MechaBu_State_Moving(void);57void MechaBu_State_Stopped(void);58void MechaBu_State_Falling(void);5960#endif //! OBJ_MECHABU_H616263