Path: blob/master/SonicMania/Objects/MSZ/Bumpalo.h
338 views
#ifndef OBJ_BUMPALO_H1#define OBJ_BUMPALO_H23#include "Game.h"45// Object Class6struct ObjectBumpalo {7RSDK_OBJECT8Hitbox hitboxBadnik;9Hitbox hitboxBumper;10Hitbox hitboxRange;11Hitbox hitboxCharge;12Hitbox hitboxUnused;13uint16 aniFrames;14uint16 sfxBumper;15uint16 sfxHuff;16uint16 sfxClack;17uint16 sfxImpact;18};1920// Entity Class21struct EntityBumpalo {22RSDK_ENTITY23StateMachine(state);24Vector2 startPos;25uint8 startDir;26int32 timer;27bool32 ignoreCliffs;28bool32 wallCollided;29Animator badnikAnimator;30Animator huffAnimator;31Animator dustAnimator;32};3334// Object Struct35extern ObjectBumpalo *Bumpalo;3637// Standard Entity Events38void Bumpalo_Update(void);39void Bumpalo_LateUpdate(void);40void Bumpalo_StaticUpdate(void);41void Bumpalo_Draw(void);42void Bumpalo_Create(void *data);43void Bumpalo_StageLoad(void);44#if GAME_INCLUDE_EDITOR45void Bumpalo_EditorDraw(void);46void Bumpalo_EditorLoad(void);47#endif48void Bumpalo_Serialize(void);4950// Extra Entity Functions51void Bumpalo_DebugSpawn(void);52void Bumpalo_DebugDraw(void);5354void Bumpalo_CheckOffScreen(void);55void Bumpalo_BumpPlayer(EntityPlayer *player);56void Bumpalo_CheckPlayerCollisions(void);57void Bumpalo_HandlePlatformCollisions(EntityPlatform *platform);58void Bumpalo_HandleObjectCollisions(void);5960void Bumpalo_State_Init(void);61void Bumpalo_State_Moving(void);62void Bumpalo_State_Idle(void);63void Bumpalo_State_Charging(void);64void Bumpalo_State_Turning(void);65void Bumpalo_State_Bumped(void);66void Bumpalo_State_Falling(void);6768#endif //! OBJ_BUMPALO_H697071