Path: blob/main/Scripts/R8/R83DSetup.txt
1319 views
//---------------Sonic CD R8 3 D Setup Script-----------------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//34// Aliases5#alias Object.Value0 : Object.PaletteTimer6#alias Object.Value1 : Object.CurrentPalette7#alias Object.Value2 : Object.VGearFrame8#alias Object.Value3 : Object.HCylinderFrame9#alias Object.Value4 : Object.VCylinderFrame10#alias Object.Value5 : Object.LightsFrame1112// Priority13#alias 1 : PRIORITY_ACTIVE1415// Tile Info16#alias 1 : TILEINFO_DIRECTION17#alias 8 : TILEINFO_ANGLEB181920sub ObjectMain21Object.Rotation++22Object.Rotation %= 1442324TempValue0 = Object.VGearFrame25TempValue0 %= 726if TempValue0 == 027TempValue0 = Object.VGearFrame28TempValue0 /= 729TempValue0 <<= 130TempValue0 += 60031Copy16x16Tile(387, TempValue0)32TempValue0++33Copy16x16Tile(388, TempValue0)34end if35Object.VGearFrame++36Object.VGearFrame %= 283738TempValue0 = Object.HCylinderFrame39TempValue0 &= 340if TempValue0 == 041TempValue0 = Object.HCylinderFrame42TempValue0 >>= 243TempValue0 <<= 144TempValue0 += 60845Copy16x16Tile(389, TempValue0)46TempValue0++47Copy16x16Tile(390, TempValue0)48end if49Object.HCylinderFrame++50Object.HCylinderFrame &= 155152TempValue0 = Object.VCylinderFrame53TempValue0 %= 554if TempValue0 == 055TempValue0 = Object.VCylinderFrame56TempValue0 /= 557TempValue0 <<= 258TempValue0 += 61659Copy16x16Tile(391, TempValue0)60TempValue0++61Copy16x16Tile(392, TempValue0)62TempValue0++63Copy16x16Tile(393, TempValue0)64TempValue0++65Copy16x16Tile(394, TempValue0)66end if67Object.VCylinderFrame++68Object.VCylinderFrame %= 206970TempValue0 = Object.LightsFrame71TempValue0 &= 772if TempValue0 == 073TempValue0 = Object.LightsFrame74TempValue0 >>= 375TempValue0 += 63276Copy16x16Tile(396, TempValue0)77end if78Object.LightsFrame++79Object.LightsFrame %= 568081Object.PaletteTimer++82if Object.PaletteTimer == 683Object.PaletteTimer = 084Object.CurrentPalette++85Object.CurrentPalette %= 686TempValue0 = Object.CurrentPalette87TempValue0 += 63988Copy16x16Tile(395, TempValue0)89end if90SetActivePalette(Object.CurrentPalette, 0, Screen.YSize)91end sub929394sub ObjectPlayerInteraction95TempValue1 = Player.XPos96TempValue1 >>= 1697TempValue1 += Player.CollisionRight98TempValue2 = Player.YPos99TempValue2 >>= 16100TempValue2 += Player.CollisionBottom101TempValue2 += 2102Get16x16TileInfo(TempValue0, TempValue1, TempValue2, TILEINFO_ANGLEB)103if TempValue0 == 1104Get16x16TileInfo(TempValue0, TempValue1, TempValue2, TILEINFO_DIRECTION)105if TempValue0 == 0106Player.XPos += 0x10000107else108Player.XPos -= 0x10000109end if110else111TempValue1 = Player.XPos112TempValue1 >>= 16113TempValue1 += Player.CollisionLeft114Get16x16TileInfo(TempValue0, TempValue1, TempValue2, TILEINFO_ANGLEB)115if TempValue0 == 1116Get16x16TileInfo(TempValue0, TempValue1, TempValue2, TILEINFO_DIRECTION)117if TempValue0 == 0118Player.XPos += 0x10000119else120Player.XPos -= 0x10000121end if122end if123end if124end sub125126127sub ObjectStartup128Object[19].Type = TypeName[R8 Setup]129Object[19].Priority = PRIORITY_ACTIVE130131CopyPalette(0, 1)132CopyPalette(0, 2)133CopyPalette(0, 3)134CopyPalette(0, 4)135CopyPalette(0, 5)136137TempValue0 = 0138TempValue1 = 0139TempValue2 = 32140while TempValue0 < 6141LoadPalette("R83D_PalCycle.act", TempValue0, 160, TempValue1, TempValue2)142TempValue0++143TempValue1 += 32144TempValue2 += 32145loop146end sub147148149// ========================150// Editor Subs151// ========================152153sub RSDKDraw154DrawSprite(0)155end sub156157158sub RSDKLoad159LoadSpriteSheet("Global/Display.gif")160SpriteFrame(-16, -16, 32, 32, 1, 143) // #0 - "Script" Icon161162SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")163end sub164165166