Path: blob/master/SonicMania/Objects/PGZ/FrostThrower.h
338 views
#ifndef OBJ_FROSTTHROWER_H1#define OBJ_FROSTTHROWER_H23#include "Game.h"45// Object Class6struct ObjectFrostThrower {7RSDK_OBJECT8uint16 aniFrames;9uint16 sfxFrostThrower;10uint16 sfxFreeze;11};1213// Entity Class14struct EntityFrostThrower {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 Struct31extern ObjectFrostThrower *FrostThrower;3233// Standard Entity Events34void FrostThrower_Update(void);35void FrostThrower_LateUpdate(void);36void FrostThrower_StaticUpdate(void);37void FrostThrower_Draw(void);38void FrostThrower_Create(void *data);39void FrostThrower_StageLoad(void);40#if GAME_INCLUDE_EDITOR41void FrostThrower_EditorDraw(void);42void FrostThrower_EditorLoad(void);43#endif44void FrostThrower_Serialize(void);4546// Extra Entity Functions47void FrostThrower_DrawGustFX(void);48void FrostThrower_CheckPlayerCollisions(void);49void FrostThrower_HandleGustCount(void);50void FrostThrower_HandleGustPos(void);51void FrostThrower_State_AwaitInterval(void);52void FrostThrower_State_Dispensing(void);53void FrostThrower_State_StopDispensing(void);5455#endif //! OBJ_FROSTTHROWER_H565758