Path: blob/main/Scripts/Title/Background.txt
1319 views
//-----------------Sonic CD Background Script-----------------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//34// Aliases5#alias Object.Value0 : Object.LPlanetYOffset6#alias Object.Value1 : Object.Unused789sub ObjectDraw10// Draw the solid background color11TempValue0 = Screen.CenterX12TempValue0 <<= 113DrawRect(0, 0, TempValue0, 100, 0, 0, 96, 255)1415#platform: Use_Decomp16// Draw a small blue rectangle extension again17// -> This fixes the gray rectangle that appears when the screen is too wide18DrawRect(0, 0, TempValue0, 180, 0, 0, 96, 255)19#endplatform2021// Little Planet Movement22Sin(TempValue0, Object.LPlanetYOffset)23TempValue0 >>= 724TempValue0 -= 162526DrawSpriteScreenXY(2, 280, TempValue0)27Object.LPlanetYOffset++28Object.LPlanetYOffset &= 5112930// Water Movement31TempValue0 = 332TempValue1 = 1633ArrayPos0 = 4034while TempValue0 < 3935Object[ArrayPos0].XPos += TempValue136if Object[ArrayPos0].XPos > 0x200000037// Wrap the water 512 pixels back38Object[ArrayPos0].XPos -= 0x200000039end if4041TempValue2 = Object[ArrayPos0].XPos42TempValue2 >>= 1643ArrayPos0++4445DrawSpriteScreenXY(TempValue0, TempValue2, 0)46TempValue0++47DrawSpriteScreenXY(TempValue0, TempValue2, 0)48TempValue0++4950TempValue1 += 0x200051loop5253// Unknown use, this Value's never referenced anywhere else...54Object.Unused++55Object.Unused &= 51156end sub575859sub ObjectStartup60LoadSpriteSheet("Title/Title.gif")6162// Note: this three sprite frames are not actually used, the actual mountains are in Logo63SpriteFrame(0, 0, 176, 68, 256, 4) // #0 - Left Mountain6465// SpriteFrame(-124, 0, 124, 68, 256, 77) // #1 - Steam/Blit version location of Right Mountain6667SpriteFrame(-144, 0, 144, 68, 257, 251) // #1 - Right Mountain6869SpriteFrame(0, 0, 120, 104, 257, 146) // #2 - Little Planet7071// #4 - #20 rows of water sprites, from back to front72TempValue0 = 44773TempValue1 = 16874while TempValue0 < 51175SpriteFrame(0, TempValue1, 512, 4, 0, TempValue0)76SpriteFrame(-512, TempValue1, 512, 4, 0, TempValue0)77TempValue0 += 478TempValue1 += 479loop8081// #21 - #22 rows of water sprites, from back to front82TempValue0 -= 1683while TempValue1 < 24084SpriteFrame(0, TempValue1, 512, 4, 0, TempValue0)85SpriteFrame(-512, TempValue1, 512, 4, 0, TempValue0)86TempValue0 += 487TempValue1 += 488loop89end sub909192// ========================93// Editor Subs94// ========================9596sub RSDKDraw97DrawSprite(0)98end sub99100101sub RSDKLoad102LoadSpriteSheet("Title/Title.gif")103SpriteFrame(0, 0, 120, 104, 257, 146)104105SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")106end sub107108109