Path: blob/master/SonicMania/Objects/TMZ/TMZ2Setup.c
338 views
// ---------------------------------------------------------------------1// RSDK Project: Sonic Mania2// Object Description: TMZ2Setup Object3// Object Author: Christian Whitehead/Simon Thomley/Hunter Bridges4// Decompiled by: Rubberduckycooly & RMGRich5// ---------------------------------------------------------------------67#include "Game.h"89ObjectTMZ2Setup *TMZ2Setup;1011void TMZ2Setup_Update(void) {}1213void TMZ2Setup_LateUpdate(void) {}1415void TMZ2Setup_StaticUpdate(void)16{17if (!(Zone->timer & 1))18RSDK.RotatePalette(0, 204, 207, false);1920if (!(Zone->timer & 7))21RSDK.RotatePalette(0, 250, 252, true);2223RSDK.SetLimitedFade(0, 1, 2, (RSDK.Sin256(2 * Zone->timer) >> 1) + 0x80, 192, 197);24RSDK.SetLimitedFade(0, 1, 2, (RSDK.Sin256(2 * Zone->timer + 0x80) >> 1) + 0x80, 198, 203);25RSDK.SetLimitedFade(4, 1, 2, (RSDK.Sin256(2 * Zone->timer) >> 1) + 0x80, 192, 197);26RSDK.SetLimitedFade(4, 1, 2, (RSDK.Sin256(2 * Zone->timer + 0x80) >> 1) + 0x80, 198, 203);2728if (TMZ2Setup->palDuration <= 0) {29TMZ2Setup->palTimer += 32;30TMZ2Setup->palTimer = TMZ2Setup->palTimer & 0xFF;3132RSDK.SetLimitedFade(0, 1, 2, (RSDK.Sin256(TMZ2Setup->palTimer) >> 1) + 0x80, 184, 190);3334if (TMZ2Setup->palTimer == 160)35TMZ2Setup->palDuration = RSDK.Rand(2, 60);36}37else {38TMZ2Setup->palDuration--;39}40}4142void TMZ2Setup_Draw(void) {}4344void TMZ2Setup_Create(void *data) {}4546void TMZ2Setup_StageLoad(void)47{48TMZ2Setup->aniTiles = RSDK.LoadSpriteSheet("TMZ1/AniTiles.gif", SCOPE_STAGE);49TMZ2Setup->dynTiles = RSDK.LoadSpriteSheet("TMZ1/DynTiles.gif", SCOPE_STAGE);5051TMZ2Setup->palDuration = RSDK.Rand(2, 60);52TMZ2Setup->palTimer = 192;5354if (!TMZ2Setup->paletteInit) {55#if MANIA_USE_PLUS56if ((SceneInfo->filter & FILTER_ENCORE))57RSDK.LoadPalette(0, "EncoreTMZ2.act", 0b0000000011111111);58#endif5960for (int32 i = 0; i < 256; ++i) RSDK.SetPaletteEntry(5, i, 0);6162RSDK.CopyPalette(0, 128, 4, 128, 128);6364TMZ2Setup->paletteInit = true;65}6667Animals->animalTypes[0] = ANIMAL_TOCKY;68Animals->animalTypes[1] = ANIMAL_PICKY;6970RSDK.SetDrawGroupProperties(0, false, TMZ2Setup_DrawHook_ApplyDynTilesPalette);71RSDK.SetDrawGroupProperties(1, false, TMZ2Setup_DrawHook_RemoveDynTilesPalette);7273if (isMainGameMode()) {74if (globals->atlEnabled && !CutsceneRules_CheckStageReload()) {75Zone_ReloadStoredEntities(480 << 16, 7920 << 16, true);76CREATE_ENTITY(TMZ1Outro, NULL, 0, 0);77}78}79}8081void TMZ2Setup_DrawHook_ApplyDynTilesPalette(void) { RSDK.SetActivePalette(4, 0, ScreenInfo->size.y); }82void TMZ2Setup_DrawHook_RemoveDynTilesPalette(void) { RSDK.SetActivePalette(0, 0, ScreenInfo->size.y); }8384void TMZ2Setup_DrawDynTiles_Eggman(void)85{86RSDK.DrawAniTiles(TMZ2Setup->dynTiles, 604, 64, 0, 96, 128);87RSDK.DrawAniTiles(TMZ2Setup->dynTiles, 983, 16, 0, 48, 16);88RSDK.DrawAniTiles(TMZ2Setup->dynTiles, 986, 0, 16, 64, 96);89RSDK.DrawAniTiles(TMZ2Setup->dynTiles, 1010, 16, 112, 48, 16);90}91void TMZ2Setup_DrawDynTiles_Ruby(void)92{93RSDK.DrawAniTiles(TMZ2Setup->dynTiles, 604, 64, 128, 96, 128);94RSDK.DrawAniTiles(TMZ2Setup->dynTiles, 983, 16, 128, 48, 16);95RSDK.DrawAniTiles(TMZ2Setup->dynTiles, 986, 0, 144, 64, 96);96RSDK.DrawAniTiles(TMZ2Setup->dynTiles, 1010, 16, 240, 48, 16);97}9899#if GAME_INCLUDE_EDITOR100void TMZ2Setup_EditorDraw(void) {}101102void TMZ2Setup_EditorLoad(void)103{104RSDK_ACTIVE_VAR(WarpDoor, effect);105RSDK_ENUM_VAR("None", WARPDOOR_EFFECT_NONE);106RSDK_ENUM_VAR("Ruby Mist", TMZ2_WARPDOOR_EFFECT_MIST);107}108#endif109110void TMZ2Setup_Serialize(void) {}111112113