Path: blob/master/SonicMania/Objects/PGZ/Crate.h
338 views
#ifndef OBJ_CRATE_H1#define OBJ_CRATE_H23#include "Game.h"45typedef enum {6CRATE_FRAME_BLUE,7CRATE_FRAME_ORANGE_BROKEN,8CRATE_FRAME_ORANGE,9CRATE_FRAME_BLUE_BG,10} CrateFrameIDs;1112// Object Class13struct ObjectCrate {14RSDK_OBJECT15uint16 aniFrames;16uint16 sfxExplosion2;17};1819// Entity Class20struct EntityCrate {21MANIA_PLATFORM_BASE2223bool32 ignoreItemBox;24};2526// Object Struct27extern ObjectCrate *Crate;2829// Standard Entity Events30void Crate_Update(void);31void Crate_LateUpdate(void);32void Crate_StaticUpdate(void);33void Crate_Draw(void);34void Crate_Create(void *data);35void Crate_StageLoad(void);36#if GAME_INCLUDE_EDITOR37void Crate_EditorDraw(void);38void Crate_EditorLoad(void);39#endif40void Crate_Serialize(void);4142// Extra Entity Functions43void Crate_Break(EntityCrate *entity);44void Crate_MoveY(EntityCrate *self, int32 offset);45bool32 Crate_Collide(void);4647void Crate_State_None(void);48void Crate_State_ApplyGravity(void);49void Crate_State_WaitToFall(void);50void Crate_State_Fall(void);5152#endif //! OBJ_CRATE_H535455