Path: blob/master/SonicMania/Objects/CPZ/Staircase.h
338 views
#ifndef OBJ_STAIRCASE_H1#define OBJ_STAIRCASE_H23#include "Game.h"45#define STAIRCASE_STAIR_COUNT (4)67typedef enum {8STAIRCASE_DOWN,9STAIRCASE_UP,10} StaircaseTypes;1112// Object Class13struct ObjectStaircase {14RSDK_OBJECT15Hitbox blockHitbox;16uint16 aniFrames;17uint16 unused;18uint16 sfxBlockStop;19};2021// Entity Class22struct EntityStaircase {23RSDK_ENTITY24StateMachine(state);25StateMachine(stateDraw);26Vector2 blockPos[STAIRCASE_STAIR_COUNT];27int32 timer;28Animator animator;29uint8 type;30bool32 bumpable;31};3233// Object Struct34extern ObjectStaircase *Staircase;3536// Standard Entity Events37void Staircase_Update(void);38void Staircase_LateUpdate(void);39void Staircase_StaticUpdate(void);40void Staircase_Draw(void);41void Staircase_Create(void *data);42void Staircase_StageLoad(void);43#if GAME_INCLUDE_EDITOR44void Staircase_EditorDraw(void);45void Staircase_EditorLoad(void);46#endif47void Staircase_Serialize(void);4849// Extra Entity Functions50bool32 Staircase_SfxCheck_HitBlocks(void);5152void Staircase_State_Idle(void);53void Staircase_State_Wait(void);54void Staircase_State_MoveBlocks(void);55void Staircase_State_MovedBlocks(void);5657void Staircase_Draw_Blocks(void);58void Staircase_Draw_Shake(void);5960#endif //! OBJ_STAIRCASE_H616263