Path: blob/main/Scripts/R4/BGAnimation.txt
1319 views
//----------------Sonic CD BG Animation Script----------------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//34// Aliases5#alias Object.Value0 : Object.Timer6#alias Object.Value1 : Object.CurrentPal7#alias Object.Value2 : Object.CurrentTile89// States10#alias 0 : BGANIMATION_VULKAN_ERUPT11#alias 1 : BGANIMATION_WAIT1213// Priority14#alias 1 : PRIORITY_ACTIVE151617sub ObjectMain18Object.Timer++19if Object.State == BGANIMATION_VULKAN_ERUPT20if Object.Timer == 521switch Object.Frame22case 023case 624Object.CurrentPal = 025break2627case 128Object.CurrentPal = 129break3031case 232Object.CurrentPal = 233break3435case 336Object.CurrentPal = 337break3839case 440Object.CurrentPal = 441break4243case 544Object.CurrentPal = 545break4647end switch48end if4950if Object.Timer == 951Object.Timer = 052Object.Frame++53if Object.Frame > 654Object.Frame = 055Object.State = BGANIMATION_WAIT56end if5758TempValue0 = Object.CurrentTile5960switch Object.Frame61case 062Copy16x16Tile(TempValue0, 716)63TempValue0++64Copy16x16Tile(TempValue0, 716)65TempValue0++66Copy16x16Tile(TempValue0, 716)67TempValue0++68Copy16x16Tile(TempValue0, 716)69TempValue0++70if TempValue0 > 54271TempValue0 = 53472end if73Copy16x16Tile(TempValue0, 716)74TempValue0++75Copy16x16Tile(TempValue0, 716)76TempValue0++77Copy16x16Tile(TempValue0, 716)78TempValue0++79Copy16x16Tile(TempValue0, 716)80TempValue0++81break8283case 184Copy16x16Tile(TempValue0, 716)85TempValue0++86Copy16x16Tile(TempValue0, 717)87TempValue0++88Copy16x16Tile(TempValue0, 718)89TempValue0++90Copy16x16Tile(TempValue0, 719)91TempValue0++92if TempValue0 > 54293TempValue0 = 53494end if95Copy16x16Tile(TempValue0, 716)96TempValue0++97Copy16x16Tile(TempValue0, 717)98TempValue0++99Copy16x16Tile(TempValue0, 718)100TempValue0++101Copy16x16Tile(TempValue0, 719)102TempValue0++103break104105case 2106Copy16x16Tile(TempValue0, 720)107TempValue0++108Copy16x16Tile(TempValue0, 721)109TempValue0++110Copy16x16Tile(TempValue0, 722)111TempValue0++112Copy16x16Tile(TempValue0, 723)113TempValue0++114if TempValue0 > 542115TempValue0 = 534116end if117Copy16x16Tile(TempValue0, 720)118TempValue0++119Copy16x16Tile(TempValue0, 721)120TempValue0++121Copy16x16Tile(TempValue0, 722)122TempValue0++123Copy16x16Tile(TempValue0, 723)124TempValue0++125break126127case 3128Copy16x16Tile(TempValue0, 724)129TempValue0++130Copy16x16Tile(TempValue0, 725)131TempValue0++132Copy16x16Tile(TempValue0, 726)133TempValue0++134Copy16x16Tile(TempValue0, 727)135TempValue0++136if TempValue0 > 542137TempValue0 = 534138end if139Copy16x16Tile(TempValue0, 724)140TempValue0++141Copy16x16Tile(TempValue0, 725)142TempValue0++143Copy16x16Tile(TempValue0, 726)144TempValue0++145Copy16x16Tile(TempValue0, 727)146TempValue0++147break148149case 4150Copy16x16Tile(TempValue0, 728)151TempValue0++152Copy16x16Tile(TempValue0, 729)153TempValue0++154Copy16x16Tile(TempValue0, 730)155TempValue0++156Copy16x16Tile(TempValue0, 731)157TempValue0++158if TempValue0 > 542159TempValue0 = 534160end if161Copy16x16Tile(TempValue0, 728)162TempValue0++163Copy16x16Tile(TempValue0, 729)164TempValue0++165Copy16x16Tile(TempValue0, 730)166TempValue0++167Copy16x16Tile(TempValue0, 731)168TempValue0++169break170171case 5172Copy16x16Tile(TempValue0, 732)173TempValue0++174Copy16x16Tile(TempValue0, 733)175TempValue0++176Copy16x16Tile(TempValue0, 734)177TempValue0++178Copy16x16Tile(TempValue0, 735)179TempValue0++180if TempValue0 > 542181TempValue0 = 534182end if183Copy16x16Tile(TempValue0, 732)184TempValue0++185Copy16x16Tile(TempValue0, 733)186TempValue0++187Copy16x16Tile(TempValue0, 734)188TempValue0++189Copy16x16Tile(TempValue0, 735)190TempValue0++191break192193case 6194Copy16x16Tile(TempValue0, 736)195TempValue0++196Copy16x16Tile(TempValue0, 737)197TempValue0++198Copy16x16Tile(TempValue0, 738)199TempValue0++200Copy16x16Tile(TempValue0, 739)201TempValue0++202if TempValue0 > 542203TempValue0 = 534204end if205Copy16x16Tile(TempValue0, 736)206TempValue0++207Copy16x16Tile(TempValue0, 737)208TempValue0++209Copy16x16Tile(TempValue0, 738)210TempValue0++211Copy16x16Tile(TempValue0, 739)212TempValue0++213break214215end switch216end if217else218if Object.Timer == 68219Object.Timer = 0220221Object.State = BGANIMATION_VULKAN_ERUPT222223Object.CurrentTile -= 4224if Object.CurrentTile < 534225Object.CurrentTile = 542226end if227end if228end if229end sub230231232sub ObjectStartup233Object[19].Type = TypeName[Blank Object]234Object[19].Priority = PRIORITY_ACTIVE235Object[19].CurrentTile = 534236237CopyPalette(0, 1)238CopyPalette(0, 2)239CopyPalette(0, 3)240CopyPalette(0, 4)241CopyPalette(0, 5)242243TempValue0 = 0244TempValue1 = 0245TempValue2 = 16246while TempValue0 < 6247LoadPalette("R41A_PalCycle.act", TempValue0, 176, TempValue1, TempValue2)248TempValue0++249TempValue1 += 16250TempValue2 += 16251loop252end sub253254255// ========================256// Editor Subs257// ========================258259sub RSDKDraw260DrawSprite(0)261end sub262263264sub RSDKLoad265LoadSpriteSheet("Global/Display.gif")266SpriteFrame(-16, -16, 32, 32, 1, 143) // #0 - "Script" Icon267268SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")269end sub270271272273