Path: blob/master/SonicMania/Objects/MMZ/BuzzSaw.h
338 views
#ifndef OBJ_BUZZSAW_H1#define OBJ_BUZZSAW_H23#include "Game.h"45typedef enum {6BUZZSAW_ATTACHED,7BUZZSAW_STRAY,8} BuzzsawTypes;910// Object Class11struct ObjectBuzzSaw {12RSDK_OBJECT13uint16 aniFrames;14Hitbox hitbox;15Vector2 unused1;16int32 unused2;17};1819// Entity Class20struct EntityBuzzSaw {21RSDK_ENTITY22StateMachine(state);23int32 type;24Vector2 amplitude;25int32 speed;26Vector2 startPos;27Vector2 drawPos;28Animator animator;29};3031// Object Struct32extern ObjectBuzzSaw *BuzzSaw;3334// Standard Entity Events35void BuzzSaw_Update(void);36void BuzzSaw_LateUpdate(void);37void BuzzSaw_StaticUpdate(void);38void BuzzSaw_Draw(void);39void BuzzSaw_Create(void *data);40void BuzzSaw_StageLoad(void);41#if GAME_INCLUDE_EDITOR42void BuzzSaw_EditorDraw(void);43void BuzzSaw_EditorLoad(void);44#endif45void BuzzSaw_Serialize(void);4647// Extra Entity Functions48bool32 BuzzSaw_SfxCheck_SawSus(void);49void BuzzSaw_SfxUpdate_SawSus(int32 sfx);5051void BuzzSaw_CheckPlayerCollisions(void);5253void BuzzSaw_State_Attached(void);5455void BuzzSaw_State_Stray_Waiting(void);56void BuzzSaw_State_Stray_Released(void);57void BuzzSaw_State_FreeMove_Reset(void);5859#endif //! OBJ_BUZZSAW_H606162