Path: blob/master/SonicMania/Objects/AIZ/AIZSetup.h
338 views
#ifndef OBJ_AIZSETUP_H1#define OBJ_AIZSETUP_H23#include "Game.h"45typedef enum {6AIZ_BG_JUNGLE,7AIZ_BG_SKY,8} BGSwitchIDsAIZ;910typedef enum {11AIZ_DECOR_LEAF1,12AIZ_DECOR_LEAF2,13AIZ_DECOR_LEAF3,14AIZ_DECOR_LEAF4,15} DecorTypesAIZ;1617// Object Class18struct ObjectAIZSetup {19RSDK_OBJECT20#if MANIA_USE_PLUS21TABLE(int32 bellPlantAniFramePos[13], { 0, 1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1, -1 });22TABLE(int32 bellPlantAniDurations[12], { 6, 4, 3, 2, 3, 4, 6, 4, 3, 2, 3, 4 });23TABLE(int32 curlPlant1AniFramePos[15], { 0, 1, 2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2, 1, -1 });24TABLE(int32 curlPlant1AniDurations[14], { 30, 4, 3, 2, 3, 4, 6, 12, 6, 4, 3, 2, 3, 4 });25TABLE(int32 curlPlant2AniFramePos[15], { 7, 6, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, 6, -1 });26TABLE(int32 curlPlant2AniDurations[14], { 12, 6, 4, 3, 2, 3, 4, 30, 4, 3, 2, 3, 4, 6 });27#endif28bool32 hasSetupCutscene;29bool32 playDrillSfx;30bool32 playingDrillSfx;31TileLayer *background1;32TileLayer *background2;33TileLayer *background3;34TileLayer *background4;35EntityAIZTornado *tornado;36EntityAIZKingClaw *claw;37EntityPlatform *platform;38EntityPhantomRuby *phantomRuby;39EntityFXRuby *fxRuby;40EntityDecoration *decorations[3];41#if MANIA_USE_PLUS42int32 bellPlantAniFrame;43int32 bellPlantAniTimer;44int32 curlPlant1AniFrame;45int32 curlPlant1AniTimer;46int32 curlPlant2AniFrame;47int32 curlPlant2AniTimer;48#endif49uint16 knuxFrames;50uint16 sfxDrill;51uint16 sfxBreak;52uint16 sfxImpact;53uint16 sfxHeliWoosh;54uint16 aniTiles;55};5657// Entity Class58struct EntityAIZSetup {59RSDK_ENTITY60};6162// Object Struct63extern ObjectAIZSetup *AIZSetup;6465// Standard Entity Events66void AIZSetup_Update(void);67void AIZSetup_LateUpdate(void);68void AIZSetup_StaticUpdate(void);69void AIZSetup_Draw(void);70void AIZSetup_Create(void *data);71void AIZSetup_StageLoad(void);72#if GAME_INCLUDE_EDITOR73void AIZSetup_EditorDraw(void);74void AIZSetup_EditorLoad(void);75#endif76void AIZSetup_Serialize(void);7778// Extra Entity Functions79#if MANIA_USE_PLUS80void AIZSetup_BGSwitch_Jungle(void);81void AIZSetup_BGSwitch_Sky(void);82#endif8384void AIZSetup_PlayerState_Static(void);85void AIZSetup_PlayerState_P2Enter(void);8687void AIZSetup_HandleHeavyMovement(void);8889void AIZSetup_SetupObjects(void);9091void AIZSetup_GetCutsceneSetupPtr(void);92#if MANIA_USE_PLUS93void AIZSetup_Cutscene_SkipCB(void);94#endif9596void AIZSetup_CutsceneST_Setup(void);97bool32 AIZSetup_CutsceneSonic_EnterAIZ(EntityCutsceneSeq *host);98bool32 AIZSetup_CutsceneSonic_EnterAIZJungle(EntityCutsceneSeq *host);99bool32 AIZSetup_CutsceneSonic_EnterHeavies(EntityCutsceneSeq *host);100bool32 AIZSetup_CutsceneSonic_P2FlyIn(EntityCutsceneSeq *host);101bool32 AIZSetup_CutsceneSonic_EnterClaw(EntityCutsceneSeq *host);102bool32 AIZSetup_CutsceneSonic_WatchClaw(EntityCutsceneSeq *host);103bool32 AIZSetup_CutsceneSonic_RubyGrabbed(EntityCutsceneSeq *host);104bool32 AIZSetup_CutsceneSonic_RubyAppear(EntityCutsceneSeq *host);105bool32 AIZSetup_CutsceneSonic_RubyFX(EntityCutsceneSeq *host);106107void AIZSetup_CutsceneK_Setup(void);108bool32 AIZSetup_CutsceneKnux_Chillin(EntityCutsceneSeq *host);109bool32 AIZSetup_CutsceneKnux_StartDrillin(EntityCutsceneSeq *host);110bool32 AIZSetup_CutsceneKnux_Drillin(EntityCutsceneSeq *host);111bool32 AIZSetup_CutsceneKnux_PrepareForTrouble(EntityCutsceneSeq *host);112bool32 AIZSetup_CutsceneKnux_EnterThreat(EntityCutsceneSeq *host);113bool32 AIZSetup_CutsceneKnux_HeaviesAppear(EntityCutsceneSeq *host);114bool32 AIZSetup_CutsceneKnux_RubyImpact(EntityCutsceneSeq *host);115bool32 AIZSetup_CutsceneKnux_RubyFX(EntityCutsceneSeq *host);116117bool32 AIZSetup_Cutscene_LoadGHZ(EntityCutsceneSeq *host);118119#endif //! OBJ_AIZSETUP_H120121122