Path: blob/master/SonicMania/Objects/MMZ/RPlaneShifter.h
338 views
#ifndef OBJ_RPLANESHIFTER_H1#define OBJ_RPLANESHIFTER_H23#include "Game.h"45// Object Class6struct ObjectRPlaneShifter {7RSDK_OBJECT8Animator barAnimator;9uint16 aniFrames;10uint16 sfxTicTock;11};1213// Entity Class14struct EntityRPlaneShifter {15RSDK_ENTITY16StateMachine(state);17uint32 height;18uint8 flags;19int32 rotateDir;20uint8 activePlayers; // if you're in the hitbox and it's spinning21uint8 prevActivePlayers;22uint8 stoodPlayers; // if you're in the hitbox at all23int32 unused;24int32 spinSpeed;25int32 startAngle;26int32 spinAngle;27Animator baseAnimator;28Hitbox hitbox;29};3031// Object Struct32extern ObjectRPlaneShifter *RPlaneShifter;3334// Standard Entity Events35void RPlaneShifter_Update(void);36void RPlaneShifter_LateUpdate(void);37void RPlaneShifter_StaticUpdate(void);38void RPlaneShifter_Draw(void);39void RPlaneShifter_Create(void *data);40void RPlaneShifter_StageLoad(void);41#if GAME_INCLUDE_EDITOR42void RPlaneShifter_EditorDraw(void);43void RPlaneShifter_EditorLoad(void);44#endif45void RPlaneShifter_Serialize(void);4647// Extra Entity Functions48void RPlaneShifter_DrawSprites(void);4950void RPlaneShifter_HandlePlaneShift(EntityPlayer *player);5152void RPlaneShifter_State_Init(void);53void RPlaneShifter_State_AwaitPlayer(void);54void RPlaneShifter_State_Spinning(void);55void RPlaneShifter_State_FinishSpin(void);5657#endif //! OBJ_RPLANESHIFTER_H585960