Path: blob/master/SonicMania/Objects/ERZ/PhantomMystic.h
338 views
#ifndef OBJ_PHANTOMMYSTIC_H1#define OBJ_PHANTOMMYSTIC_H23#include "Game.h"45// Object Class6struct ObjectPhantomMystic {7RSDK_OBJECT8uint16 aniFrames;9uint16 sfxCupSwap;10uint16 sfxBigLaser;11uint16 sfxImpact;12};1314// Entity Class15struct EntityPhantomMystic {16RSDK_ENTITY17StateMachine(state);18StateMachine(stateDraw);19Vector2 originPos;20Vector2 mysticPos;21int32 mysticVelY;22int32 middleCupY;23int32 timer;24int32 invincibilityTimer;25int32 correctCup;26int32 cupPos[3];27int32 unused1[3];28int32 unused2[3];29int32 cupAlpha[3];30int32 swapCup1;31int32 swapCup2;32int32 swapCup1Pos;33int32 swapCup2Pos;34int32 swapCup1Alpha;35int32 swapCup2Alpha;36int32 cupSwapCount;37Animator mysticAnimator;38Animator cupAnimator;39Animator cupSilhouetteAnimator;40Animator cupSpikeAnimator; // Not actually ever drawn...41Animator cupBlastAnimator;42Hitbox hitbox;43};4445// Object Struct46extern ObjectPhantomMystic *PhantomMystic;4748// Standard Entity Events49void PhantomMystic_Update(void);50void PhantomMystic_LateUpdate(void);51void PhantomMystic_StaticUpdate(void);52void PhantomMystic_Draw(void);53void PhantomMystic_Create(void *data);54void PhantomMystic_StageLoad(void);55#if GAME_INCLUDE_EDITOR56void PhantomMystic_EditorDraw(void);57void PhantomMystic_EditorLoad(void);58#endif59void PhantomMystic_Serialize(void);6061// Extra Entity Functions62void PhantomMystic_CheckPlayerCollisions(void);63void PhantomMystic_Hit(void);64void PhantomMystic_SetupNewCupSwap(void);6566void PhantomMystic_Draw_CupSetup(void);67void PhantomMystic_Draw_CupSwap(void);6869void PhantomMystic_State_Init(void);70void PhantomMystic_State_SetupInitialCupPos(void);71void PhantomMystic_State_MoveCupsDownwards(void);72void PhantomMystic_State_RotateMiddleCup(void);73void PhantomMystic_State_MoveMiddleCupToFloor(void);74void PhantomMystic_State_PrepareCupSwap(void);75void PhantomMystic_State_CupSwapping(void);76void PhantomMystic_State_RevealMystic(void);77void PhantomMystic_State_CupBlast(void);78void PhantomMystic_State_MoveCupsToMystic(void);7980#endif //! OBJ_PHANTOMMYSTIC_H818283