Path: blob/main/Scripts/R8/R83CSetup.txt
1319 views
//---------------Sonic CD R8 3 C 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 %= 206970Object.PaletteTimer++71if Object.PaletteTimer == 572Object.PaletteTimer = 073Object.CurrentPalette++74Object.CurrentPalette %= 675TempValue0 = Object.CurrentPalette76TempValue0 += 63977Copy16x16Tile(395, TempValue0)78end if79SetActivePalette(Object.CurrentPalette, 0, Screen.YSize)80end sub818283sub ObjectPlayerInteraction84TempValue1 = Player.XPos85TempValue1 >>= 1686TempValue1 += Player.CollisionRight87TempValue2 = Player.YPos88TempValue2 >>= 1689TempValue2 += Player.CollisionBottom90TempValue2 += 291Get16x16TileInfo(TempValue0, TempValue1, TempValue2, TILEINFO_ANGLEB)92if TempValue0 == 193Get16x16TileInfo(TempValue0, TempValue1, TempValue2, TILEINFO_DIRECTION)94if TempValue0 == 095Player.XPos += 0x1000096else97Player.XPos -= 0x1000098end if99else100TempValue1 = Player.XPos101TempValue1 >>= 16102TempValue1 += Player.CollisionLeft103Get16x16TileInfo(TempValue0, TempValue1, TempValue2, TILEINFO_ANGLEB)104if TempValue0 == 1105Get16x16TileInfo(TempValue0, TempValue1, TempValue2, TILEINFO_DIRECTION)106if TempValue0 == 0107Player.XPos += 0x10000108else109Player.XPos -= 0x10000110end if111end if112end if113end sub114115116sub ObjectStartup117Object[19].Type = TypeName[R8 Setup]118Object[19].Priority = PRIORITY_ACTIVE119120CopyPalette(0, 1)121CopyPalette(0, 2)122CopyPalette(0, 3)123CopyPalette(0, 4)124CopyPalette(0, 5)125126TempValue0 = 0127TempValue1 = 0128TempValue2 = 32129while TempValue0 < 6130LoadPalette("R83C_PalCycle.act", TempValue0, 160, TempValue1, TempValue2)131TempValue0++132TempValue1 += 32133TempValue2 += 32134loop135end sub136137138// ========================139// Editor Subs140// ========================141142sub RSDKDraw143DrawSprite(0)144end sub145146147sub RSDKLoad148LoadSpriteSheet("Global/Display.gif")149SpriteFrame(-16, -16, 32, 32, 1, 143) // #0 - "Script" Icon150151SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")152end sub153154155