Path: blob/master/SonicMania/Objects/PGZ/Acetone.h
338 views
#ifndef OBJ_ACETONE_H1#define OBJ_ACETONE_H23#include "Game.h"45// Object Class6struct ObjectAcetone {7RSDK_OBJECT8uint16 aniFrames;9uint16 sfxFrostThrower;10uint16 sfxFreeze;11};1213// Entity Class14struct EntityAcetone {15RSDK_ENTITY16StateMachine(state);17uint16 timer;18Animator dispenseAnimator;19Animator gustAnimator;20uint16 interval;21uint16 intervalOffset;22uint16 duration;23Hitbox hitbox;24bool32 isActive;25int32 maxGustCount[4];26int32 gustCount[4];27Vector2 gustPos[12];28};2930// Object Entity31extern ObjectAcetone *Acetone;3233// Standard Entity Events34void Acetone_Update(void);35void Acetone_LateUpdate(void);36void Acetone_StaticUpdate(void);37void Acetone_Draw(void);38void Acetone_Create(void *data);39void Acetone_StageLoad(void);40#if GAME_INCLUDE_EDITOR41void Acetone_EditorDraw(void);42void Acetone_EditorLoad(void);43#endif44void Acetone_Serialize(void);4546// Extra Entity Functions47void Acetone_DrawGustFX(void);48void Acetone_CheckPlayerCollisions(void);49void Acetone_HandleGustCount(void);50void Acetone_HandleGustPos(void);51void Acetone_State_AwaitInterval(void);52void Acetone_State_Dispensing(void);53void Acetone_State_StopDispensing(void);5455#endif //! OBJ_ACETONE_H565758