Path: blob/master/SonicMania/Objects/Common/Button.h
338 views
#ifndef OBJ_BUTTON_H1#define OBJ_BUTTON_H23#include "Game.h"45typedef enum { BUTTON_FLOOR, BUTTON_ROOF, BUTTON_RWALL, BUTTON_LWALL } ButtonTypes;67// Object Class8struct ObjectButton {9RSDK_OBJECT10uint16 aniFrames;11bool32 hasEggman;12bool32 hasPhantomRider;13Hitbox hitboxV;14Hitbox hitboxH;15int32 activatePos;16int32 buttonOffset;17int32 hitboxOffset;18int32 unused1; // set in stageload, but never used. no way to tell what it is19uint16 sfxButton;20};2122// Entity Class23struct EntityButton {24MANIA_BUTTON_BASE2526Hitbox hitboxButton;27Animator buttonAnimator;28Animator baseAnimator;29};3031// Object Struct32extern ObjectButton *Button;3334// Standard Entity Events35void Button_Update(void);36void Button_LateUpdate(void);37void Button_StaticUpdate(void);38void Button_Draw(void);39void Button_Create(void *data);40void Button_StageLoad(void);41#if GAME_INCLUDE_EDITOR42void Button_EditorDraw(void);43void Button_EditorLoad(void);44#endif45void Button_Serialize(void);4647// Extra Entity Functions48void Button_CheckEggmanCollisions(void);49void Button_CheckPRiderCollisions(void);5051void Button_HandleFloor(void);52void Button_HandleRoof(void);53void Button_HandleRWall(void);54void Button_HandleLWall(void);5556#endif //! OBJ_BUTTON_H575859