Path: blob/master/SonicMania/Objects/ERZ/ERZSetup.c
338 views
// ---------------------------------------------------------------------1// RSDK Project: Sonic Mania2// Object Description: ERZSetup Object3// Object Author: Christian Whitehead/Simon Thomley/Hunter Bridges4// Decompiled by: Rubberduckycooly & RMGRich5// ---------------------------------------------------------------------67#include "Game.h"89ObjectERZSetup *ERZSetup;1011void ERZSetup_Update(void) {}1213void ERZSetup_LateUpdate(void) {}1415void ERZSetup_StaticUpdate(void)16{17ERZSetup->timer += 0x10000;18ERZSetup->timer &= 0x7FFFFFFF;1920if (!(Zone->timer & 3)) {21ERZSetup->aniTileTimer += 0x80;22ERZSetup->aniTileTimer &= 0xFFF;23RSDK.DrawAniTiles(ERZSetup->aniTiles, 520, ERZSetup->aniTileTimer & 0x1FF, (ERZSetup->aniTileTimer >> 2) & 0xFF80, 128, 128);24}25}2627void ERZSetup_Draw(void) {}2829void ERZSetup_Create(void *data) {}3031void ERZSetup_StageLoad(void)32{33ERZSetup->aniTiles = RSDK.LoadSpriteSheet("Phantom/Sky.gif", SCOPE_STAGE);3435RSDK.GetTileLayer(1)->scanlineCallback = ERZSetup_Scanline_Sky;3637// Animal Types in ERZ...? why is that? no animals would exist so it'd be safe to not define types38Animals->animalTypes[0] = ANIMAL_POCKY;39Animals->animalTypes[1] = ANIMAL_ROCKY;4041// Remove all players except for P142for (int32 p = 1; p < Player->playerCount; ++p) destroyEntitySlot(p);43Player->playerCount = 1;44}4546void ERZSetup_Scanline_Sky(ScanlineInfo *scanlines)47{48RSDKScreenInfo *screen = &ScreenInfo[SceneInfo->currentScreenID];4950RSDK.SetClipBounds(0, 0, 0, screen->size.x, 136);5152int32 a = 0x1000000;53int32 sineAngle = RSDK.Sin256(0);54int32 cosineAngle = RSDK.Cos256(0);5556for (int32 i = 160; i > 16; --i) {57int32 angle = a / (8 * i);58int32 sin = sineAngle * angle;59int32 cos = cosineAngle * angle;6061scanlines->deform.y = sin >> 7;62scanlines->deform.x = -cos >> 7;63scanlines->position.x = sin - screen->center.x * (-cos >> 7) - (screen->position.x << 14);64scanlines->position.y = ERZSetup->timer + 2 * cos - screen->center.x * (sin >> 7);6566a -= 0xC000;67scanlines++;68}69}7071#if GAME_INCLUDE_EDITOR72void ERZSetup_EditorDraw(void) {}7374void ERZSetup_EditorLoad(void) {}75#endif7677void ERZSetup_Serialize(void) {}787980