Path: blob/master/SonicMania/Objects/UFO/UFO_Setup.h
338 views
#ifndef OBJ_UFO_SETUP_H1#define OBJ_UFO_SETUP_H23#include "Game.h"45typedef enum {6UFO_TFLAGS_NORMAL,7UFO_TFLAGS_BUMPER,8UFO_TFLAGS_GRITTYGROUND,9} TileFlagsUFO;1011// Object Class12struct ObjectUFO_Setup {13RSDK_OBJECT14StateMachine(deformCB);15int32 timedOut;16#if MANIA_USE_PLUS17bool32 encoreStage;18#endif19int32 machLevel;20int32 scoreBonus;21int32 machPoints;22int32 rings;23int32 timer;24int32 ringFrame;25int32 ringPan;26int32 spherePan;27int32 specialStageID;28int32 machQuotas[3];29uint8 playFieldLayer;30uint16 sfxBlueSphere;31uint16 sfxSSExit;32uint16 sfxEmerald;33uint16 sfxEvent;34bool32 resetToTitle;35};3637// Entity Class38struct EntityUFO_Setup {39RSDK_ENTITY40StateMachine(state);41int32 timer;42color fadeColor;43};4445// Object Struct46extern ObjectUFO_Setup *UFO_Setup;4748// Standard Entity Events49void UFO_Setup_Update(void);50void UFO_Setup_LateUpdate(void);51void UFO_Setup_StaticUpdate(void);52void UFO_Setup_Draw(void);53void UFO_Setup_Create(void *data);54void UFO_Setup_StageLoad(void);55#if GAME_INCLUDE_EDITOR56void UFO_Setup_EditorDraw(void);57void UFO_Setup_EditorLoad(void);58#endif59void UFO_Setup_Serialize(void);6061// Extra Entity Functions62void UFO_Setup_DrawHook_PrepareDrawingFX(void);63void UFO_Setup_Scanline_Playfield(ScanlineInfo *scanlines);64void UFO_Setup_Scanline_3DFloor(ScanlineInfo *scanlines);65void UFO_Setup_Scanline_3DRoof(ScanlineInfo *scanlines);6667void UFO_Setup_PlaySphereSfx(void);68void UFO_Setup_Finish_Win(void);69void UFO_Setup_Finish_Fail(void);70void UFO_Setup_Deform_UFO3(void);71void UFO_Setup_Deform_UFO4(void);72void UFO_Setup_Deform_UFO5(void);73void UFO_Setup_State_ShowStartMessage(void);74void UFO_Setup_State_FinishFadeout(void);75void UFO_Setup_State_HandleRingDrain(void);76void UFO_Setup_State_TimedOver(void);7778#endif //! OBJ_UFO_SETUP_H798081