Path: blob/master/SonicMania/Objects/Cutscene/FXRuby.h
338 views
#ifndef OBJ_FXRUBY_H1#define OBJ_FXRUBY_H23#include "Game.h"45// Object Class6struct ObjectFXRuby {7RSDK_OBJECT8int32 deformation[0x200];9#if MANIA_USE_PLUS10uint16 tintLookupTable[0x10000];11#endif12TileLayer *fgLow;13TileLayer *fgHigh;14};1516// Entity Class17struct EntityFXRuby {18RSDK_ENTITY19StateMachine(state);20int32 unused1;21int32 radiusSpeed;22int32 radius;23int32 innerRadius;24int32 outerRadius;25int32 timer;26int32 delay;27int32 fadeWhite;28int32 fadeBlack;29bool32 waitForTrigger;30int32 unused2;31int32 unused3;32int32 unused4;33bool32 fullyExpanded;34};3536// Object Struct37extern ObjectFXRuby *FXRuby;3839// Standard Entity Events40void FXRuby_Update(void);41void FXRuby_LateUpdate(void);42void FXRuby_StaticUpdate(void);43void FXRuby_Draw(void);44void FXRuby_Create(void *data);45void FXRuby_StageLoad(void);46#if GAME_INCLUDE_EDITOR47void FXRuby_EditorDraw(void);48void FXRuby_EditorLoad(void);49#endif50void FXRuby_Serialize(void);5152// Extra Entity Functions53void FXRuby_SetupLayerDeformation(void);54void FXRuby_HandleLayerDeform(void);5556void FXRuby_State_Expanding(void);57void FXRuby_State_Shrinking(void);58void FXRuby_State_Idle(void);59void FXRuby_State_IncreaseStageDeform(void);60void FXRuby_State_DecreaseStageDeform(void);61void FXRuby_State_ShrinkAndDestroy(void);6263#endif //! OBJ_FXRUBY_H646566