Path: blob/main/Scripts/TAttack/SRecords.txt
1319 views
//--------------Sonic CD Special Records Script---------------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//34// Aliases5#alias Object.Value1 : Object.Minutes6#alias Object.Value2 : Object.Seconds7#alias Object.Value3 : Object.MilliSeconds8#alias Object.PropertyValue : Object.Record910// Special Large Icon Aliases11#alias Object.PropertyValue : SLargeIcon.Portrait1213// Menu Control Aliases14#alias Object[0].Value0 : MenuControl.Timer15#alias Object[0].Value4 : MenuControl.SMYPos16#alias Object[0].Value5 : MenuControl.SMCurrentButton17#alias Object[0].State : MenuControl.State1819// Menu Control States20// *SM = Sub Menu21#alias 7 : MENUCONTROL_SM_CONTROLS22#alias 10 : MENUCONTROL_SM_CONFIRMED23#alias 11 : MENUCONTROL_SM_LOAD_LEVEL24#alias 13 : MENUCONTROL_SM_COMFIRMED_LEAVE2526// Property Values27#alias 0 : FIRST_RECORD28#alias 1 : SECOND_RECORD29#alias 2 : THIRD_RECORD303132// Function declarations33#function SRecords_DrawRecords3435function SRecords_DrawRecords36Object.Minutes = SaveRAM[ArrayPos0]37Object.Minutes /= 60003839Object.Seconds = SaveRAM[ArrayPos0]40Object.Seconds /= 10041Object.Seconds %= 604243Object.MilliSeconds = SaveRAM[ArrayPos0]44Object.MilliSeconds %= 1004546TempValue0 = Object.XPos47TempValue0 >>= 1648TempValue0 -= 1649DrawNumbers(0, TempValue0, TempValue1, Object.Minutes, 2, 8, 1)50TempValue0 += 2451DrawNumbers(0, TempValue0, TempValue1, Object.Seconds, 2, 8, 1)52TempValue0 += 2453DrawNumbers(0, TempValue0, TempValue1, Object.MilliSeconds, 2, 8, 1)54end function555657sub ObjectMain58Object.YPos = Object.Record59Object.YPos *= 19260Object.YPos -= MenuControl.SMYPos61if Object.YPos < -38462Object.YPos += 57663end if64Object.YPos += 22465Object.YPos <<= 1666end sub676869sub ObjectDraw70DrawSprite(18)71DrawSprite(10)72switch Object.Record73case 074TempValue0 = SLargeIcon[-1].Portrait75TempValue0 += 1176DrawSprite(TempValue0)77break7879case 180TempValue0 = SLargeIcon[-2].Portrait81TempValue0 += 1182DrawSprite(TempValue0)83break8485case 286TempValue0 = SLargeIcon[-3].Portrait87TempValue0 += 1188DrawSprite(TempValue0)89break9091end switch92ArrayPos0 = TempValue093ArrayPos0 -= 1194ArrayPos0 *= 189596TempValue0 = Object.Record97TempValue0 *= 69899ArrayPos0 += TempValue0100ArrayPos0 += 49101102TempValue1 = Object.YPos103TempValue1 >>= 16104TempValue1 += 97105CallFunction(SRecords_DrawRecords)106107TempValue1 += 24108ArrayPos0 += 2109CallFunction(SRecords_DrawRecords)110111TempValue1 += 24112ArrayPos0 += 2113CallFunction(SRecords_DrawRecords)114DrawSprite(21)115116#platform: Standard117switch MenuControl.State118case MENUCONTROL_SM_CONTROLS119switch MenuControl.SMCurrentButton120case 0121DrawSprite(19)122break123case 2124DrawSprite(20)125break126end switch127break128129case MENUCONTROL_SM_CONFIRMED130TempValue0 = MenuControl.Timer131TempValue0 &= 3132TempValue0 >>= 1133if TempValue0 == 0134DrawSprite(20)135end if136break137138case MENUCONTROL_SM_LOAD_LEVEL139DrawSprite(20)140break141142case MENUCONTROL_SM_COMFIRMED_LEAVE143TempValue0 = MenuControl.Timer144TempValue0 &= 3145TempValue0 >>= 1146if TempValue0 == 0147DrawSprite(19)148end if149break150151end switch152#endplatform153end sub154155156sub ObjectStartup157LoadSpriteSheet("TAttack/TimeAttack.gif")158159SpriteFrame(0, 0, 8, 16, 370, 638) // #0 - 0160SpriteFrame(0, 0, 8, 16, 379, 638) // #1 - 1161SpriteFrame(0, 0, 8, 16, 388, 638) // #2 - 2162SpriteFrame(0, 0, 8, 16, 397, 638) // #3 - 3163SpriteFrame(0, 0, 8, 16, 406, 638) // #4 - 4164SpriteFrame(0, 0, 8, 16, 415, 638) // #5 - 5165SpriteFrame(0, 0, 8, 16, 424, 638) // #6 - 6166SpriteFrame(0, 0, 8, 16, 433, 638) // #7 - 7167SpriteFrame(0, 0, 8, 16, 442, 638) // #8 - 8168SpriteFrame(0, 0, 8, 16, 451, 638) // #9 - 9169SpriteFrame(-26, 17, 54, 32, 1, 797) // #10 - Special Stage170SpriteFrame(-20, 49, 38, 16, 368, 593) // #11 - Zone 1171SpriteFrame(-20, 49, 40, 15, 366, 610) // #12 - Zone 2172SpriteFrame(-20, 49, 40, 15, 422, 655) // #13 - Zone 3173SpriteFrame(-20, 49, 40, 15, 422, 671) // #14 - Zone 4174SpriteFrame(-20, 49, 40, 15, 422, 731) // #15 - Zone 5175SpriteFrame(-20, 49, 40, 15, 422, 747) // #16 - Zone 6176SpriteFrame(-20, 49, 40, 15, 422, 763) // #17 - Zone 7177SpriteFrame(-60, 0, 224, 192, 81, 831) // #18 - Record Menu178SpriteFrame(-36, 0, 44, 8, 306, 864) // #19 - Exit179SpriteFrame(8, 0, 28, 8, 390, 864) // #20 - Go180181#platform: Use_Origins182SpriteFrame(-60, 0, 112, 8, 306, 846) // #21 - Unfocused Exit Go183#endplatform184185#platform: Use_Standalone186#platform: Standard187SpriteFrame(-60, 0, 112, 8, 306, 846) // #21 - Unfocused Exit Go188#endplatform189#endplatform190191#platform: Use_Standalone192#platform: Mobile193SpriteFrame(-60, 0, 112, 8, 306, 855) // #21 - Black Rect194#endplatform195#endplatform196197end sub198199200// ========================201// Editor Subs202// ========================203204sub RSDKEdit205if Editor.ReturnVariable == true206switch Editor.VariableID207case EDIT_VAR_PROPVAL // Property Value208CheckResult = Object.PropertyValue209break210case 0 // zoneID211CheckResult = Object.PropertyValue212break213end switch214else215switch Editor.VariableID216case EDIT_VAR_PROPVAL // Property Value217Object.PropertyValue = Editor.VariableValue218break219case 0 // zoneID220Object.PropertyValue = Editor.VariableValue221break222end switch223end if224end sub225226227sub RSDKDraw228DrawSprite(18)229230DrawSprite(10)231232TempValue0 = 11233TempValue0 += Object.PropertyValue234DrawSprite(TempValue0)235end sub236237238sub RSDKLoad239LoadSpriteSheet("TAttack/TimeAttack.gif")240SpriteFrame(0, 0, 8, 16, 370, 638) // #0 - 0241SpriteFrame(0, 0, 8, 16, 379, 638) // #1 - 1242SpriteFrame(0, 0, 8, 16, 388, 638) // #2 - 2243SpriteFrame(0, 0, 8, 16, 397, 638) // #3 - 3244SpriteFrame(0, 0, 8, 16, 406, 638) // #4 - 4245SpriteFrame(0, 0, 8, 16, 415, 638) // #5 - 5246SpriteFrame(0, 0, 8, 16, 424, 638) // #6 - 6247SpriteFrame(0, 0, 8, 16, 433, 638) // #7 - 7248SpriteFrame(0, 0, 8, 16, 442, 638) // #8 - 8249SpriteFrame(0, 0, 8, 16, 451, 638) // #9 - 9250SpriteFrame(-26, 17, 54, 32, 1, 797) // #10 - Special Stage251SpriteFrame(-20, 49, 38, 16, 368, 593) // #11 - Zone 1252SpriteFrame(-20, 49, 40, 15, 366, 610) // #12 - Zone 2253SpriteFrame(-20, 49, 40, 15, 422, 655) // #13 - Zone 3254SpriteFrame(-20, 49, 40, 15, 422, 671) // #14 - Zone 4255SpriteFrame(-20, 49, 40, 15, 422, 731) // #15 - Zone 5256SpriteFrame(-20, 49, 40, 15, 422, 747) // #16 - Zone 6257SpriteFrame(-20, 49, 40, 15, 422, 763) // #17 - Zone 7258SpriteFrame(-60, 0, 224, 192, 81, 831) // #18 - Record Menu259SpriteFrame(-36, 0, 44, 8, 306, 864) // #19 - Exit260SpriteFrame(8, 0, 28, 8, 390, 864) // #20 - Go261SpriteFrame(-60, 0, 112, 8, 306, 855) // #21 - Black Rect262263AddEditorVariable("zoneID")264SetActiveVariable("zoneID")265AddEnumVariable("Zone 1", 0)266AddEnumVariable("Zone 2", 1)267AddEnumVariable("Zone 3", 2)268AddEnumVariable("Zone 4", 3)269AddEnumVariable("Zone 5", 4)270AddEnumVariable("Zone 6", 5)271AddEnumVariable("Zone 7", 6)272end sub273274275