Path: blob/master/SonicMania/Objects/SPZ/CircleBumper.h
338 views
#ifndef OBJ_CIRCLEBUMPER_H1#define OBJ_CIRCLEBUMPER_H23#include "Game.h"45typedef enum {6CIRCLEBUMPER_FIXED,7CIRCLEBUMPER_LINEAR,8CIRCLEBUMPER_CIRCLE,9CIRCLEBUMPER_TRACK,10CIRCLEBUMPER_PATH,11} CircleBumperTypes;1213// Object Class14struct ObjectCircleBumper {15RSDK_OBJECT16Hitbox hitboxBumper;17uint16 aniFrames;18uint16 sfxBumper;19};2021// Entity Class22struct EntityCircleBumper {23RSDK_ENTITY24StateMachine(stateCollide);25StateMachine(stateMove);26int32 hitCount;27int32 type;28Vector2 amplitude;29int32 speed;30Vector2 drawPos;31Animator animator;32int32 unused;33};3435// Object Struct36extern ObjectCircleBumper *CircleBumper;3738// Standard Entity Events39void CircleBumper_Update(void);40void CircleBumper_LateUpdate(void);41void CircleBumper_StaticUpdate(void);42void CircleBumper_Draw(void);43void CircleBumper_Create(void *data);44void CircleBumper_StageLoad(void);45#if GAME_INCLUDE_EDITOR46void CircleBumper_EditorDraw(void);47void CircleBumper_EditorLoad(void);48#endif49void CircleBumper_Serialize(void);5051// Extra Entity Functions52void CircleBumper_DebugDraw(void);53void CircleBumper_DebugSpawn(void);5455void CircleBumper_CheckPlayerCollisions(void);5657void CircleBumper_Collide_Normal(void);58void CircleBumper_Collide_Bumped(void);5960void CircleBumper_Move_Fixed(void);61void CircleBumper_Move_Linear(void);62void CircleBumper_Move_Circular(void);63void CircleBumper_Move_Path(void);64void CircleBumper_Move_Track(void);6566#endif //! OBJ_CIRCLEBUMPER_H676869