Path: blob/master/SonicMania/Objects/GHZ/Chopper.h
338 views
#ifndef OBJ_CHOPPER_H1#define OBJ_CHOPPER_H23#include "Game.h"45typedef enum { CHOPPER_JUMP, CHOPPER_SWIM } ChopperTypes;67// Object Class8struct ObjectChopper {9RSDK_OBJECT10Hitbox hitboxJump;11Hitbox hitboxSwim;12Hitbox hitboxRange;13Hitbox hitboxWater;14uint16 aniFrames;15};1617// Entity Class18struct EntityChopper {19RSDK_ENTITY20StateMachine(state);21uint8 type;22uint16 timer;23bool32 charge;24Vector2 startPos;25uint8 startDir;26Animator animator;27};2829// Object Struct30extern ObjectChopper *Chopper;3132// Standard Entity Events33void Chopper_Update(void);34void Chopper_LateUpdate(void);35void Chopper_StaticUpdate(void);36void Chopper_Draw(void);37void Chopper_Create(void *data);38void Chopper_StageLoad(void);39#if GAME_INCLUDE_EDITOR40void Chopper_EditorDraw(void);41void Chopper_EditorLoad(void);42#endif43void Chopper_Serialize(void);4445// Extra Entity Functions46void Chopper_DebugDraw(void);47void Chopper_DebugSpawn(void);4849void Chopper_CheckOffScreen(void);50void Chopper_CheckPlayerCollisions_Jump(void);51void Chopper_CheckPlayerCollisions_Swim(void);5253// States54void Chopper_State_Init(void);55void Chopper_State_Jump(void);56void Chopper_State_Swim(void);57void Chopper_State_ChargeDelay(void);58void Chopper_State_Charge(void);5960#endif //! OBJ_CHOPPER_H616263