Path: blob/main/Scripts/Menu/AboutMenu.txt
1319 views
//-----------------Sonic CD About Menu Script-----------------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//3//---This Object is normally only used by Mobile Data files---//45// Aliases6#alias Object.Value1 : Object.ButtonSelected7#alias Object.Value2 : Object.DrawHeight8#alias Object[-10].Alpha : Object.OptionsAlpha //a.k.a the alpha value from the menu that called this910// States11#alias 0 : ABOUTMENU_CONTROLS12#alias 1 : ABOUTMENU_OPTION_SELECTED1314// Global SFX15#alias 23 : SFX_G_MENUBUTTON16#alias 27 : SFX_G_SELECT1718// Engine States & Callbacks19#alias 9 : CALLBACK_TERMS_SELECTED20#alias 10 : CALLBACK_PRIVACY_SELECTED2122// Text Info type23#alias 0 : TEXTINFO_TEXTDATA24#alias 1 : TEXTINFO_TEXTSIZE252627sub ObjectMain28Object.Alpha = Object.OptionsAlpha29#platform: Mobile30if Object.Alpha > 25431switch Object.State32case ABOUTMENU_CONTROLS33if Options.PhysicalControls == true34if KeyPress[0].Up == true35Object.ButtonSelected--36if Object.ButtonSelected < 037Object.ButtonSelected = 138end if39PlaySfx(SFX_G_MENUBUTTON, false)40end if4142if KeyPress[0].Down == true43Object.ButtonSelected++44if Object.ButtonSelected > 145Object.ButtonSelected = 046end if47PlaySfx(SFX_G_MENUBUTTON, false)48end if4950CheckTouchRect(0, 0, Screen.XSize, Screen.YSize) //Touch input reset51if CheckResult > -152Options.PhysicalControls = false53Object.ButtonSelected = -154end if55else56CheckTouchRect(0, 0, Screen.XSize, Screen.YSize) //Touch input reset57TempValue3 = CheckResult5859TempValue0 = Screen.CenterX60TempValue0 += 3661TempValue1 = Screen.CenterX62TempValue1 += 11063CheckTouchRect(TempValue0, 124, TempValue1, 152) //Terms button press64if CheckResult > -165Object.ButtonSelected = 066else67if TempValue3 < 068if Object.ButtonSelected == 069KeyPress[0].Start = true70end if71else72if Object.ButtonSelected == 073Object.ButtonSelected = -174end if75end if76end if7778TempValue0 = Screen.CenterX79TempValue0 += 3680TempValue1 = Screen.CenterX81TempValue1 += 11082CheckTouchRect(TempValue0, 152, TempValue1, 180) //Privacy button press83if CheckResult > -184Object.ButtonSelected = 185else86if TempValue3 < 087if Object.ButtonSelected == 188KeyPress[0].Start = true89end if90else91if Object.ButtonSelected == 192Object.ButtonSelected = -193end if94end if95end if9697CallFunction(MenuHeading_CheckTouchBack)98if KeyPress[0].Up == true99Object.ButtonSelected = 1100Options.PhysicalControls = true101end if102103if KeyPress[0].Down == true104Object.ButtonSelected = 0105Options.PhysicalControls = true106end if107108end if109110CheckResult = false111if Object.ButtonSelected > -1112if KeyPress[0].Start == true113CheckResult = true114end if115116if KeyPress[0].ButtonA == true117CheckResult = true118end if119end if120121if CheckResult == true122PlaySfx(SFX_G_SELECT, false)123Object.State++124end if125break126127case ABOUTMENU_OPTION_SELECTED128if Object.AnimationTimer < 30129Object.AnimationTimer++130else131Object.AnimationTimer = 0132Object.State = ABOUTMENU_CONTROLS133switch Object.ButtonSelected134case 0135EngineCallback(CALLBACK_TERMS_SELECTED)136break137case 1138EngineCallback(CALLBACK_PRIVACY_SELECTED)139break140end switch141Object.ButtonSelected = -1142end if143break144145end switch146else147if Options.PhysicalControls == false148Object.ButtonSelected = -1149end if150151Object.AnimationTimer = 0152Object.State = ABOUTMENU_CONTROLS153end if154#endplatform155156#platform: Use_Origins157if Object.Alpha > 254158if Options.PhysicalControls == false159CallFunction(MenuHeading_CheckTouchBack)160end if161else162if Options.PhysicalControls == false163Object.ButtonSelected = -1164end if165Object.AnimationTimer = 0166Object.State = ABOUTMENU_CONTROLS167end if168#endplatform169end sub170171172sub ObjectDraw173TempValue0 = Screen.CenterX174TempValue0 -= 120175DrawSpriteScreenFX(0, FX_INK, TempValue0, 72)176177TempValue0 = Screen.CenterX178TempValue0 += 72179DrawSpriteScreenFX(1, FX_INK, TempValue0, 82)180181TempValue0 = Screen.CenterX182TempValue0 += 72183if Object.ButtonSelected == 0184TempValue2 = Object.AnimationTimer185TempValue2 &= 3186TempValue2 >>= 1187TempValue2 += 44188DrawSpriteScreenFX(TempValue2, FX_INK, TempValue0, 128)189else190DrawSpriteScreenFX(45, FX_INK, TempValue0, 128)191end if192if Object.ButtonSelected == 1193TempValue2 = Object.AnimationTimer194TempValue2 &= 3195TempValue2 >>= 1196TempValue2 += 46197DrawSpriteScreenFX(TempValue2, FX_INK, TempValue0, 156)198else199DrawSpriteScreenFX(47, FX_INK, TempValue0, 156)200end if201202ArrayPos0 = 0203GetTextInfo(TempValue1, MENU_1, TEXTINFO_TEXTSIZE, 0, 0) //Gets version numbers204TempValue2 = TempValue1205TempValue2 <<= 2206FlipSign(TempValue2)207TempValue2 += Screen.CenterX208TempValue2 += 72209Object.DrawHeight = 102210211//This handles the drawing of the game version212while TempValue1 > 0213GetTextInfo(TempValue0, MENU_1, TEXTINFO_TEXTDATA, 0, ArrayPos0)214switch TempValue0215default216Object.Frame = 0217if TempValue0 > 64218if TempValue0 < 91219Object.Frame = TempValue0220Object.Frame -= 63221end if222end if223if TempValue0 > 96224if TempValue0 < 123225Object.Frame = TempValue0226Object.Frame -= 95227end if228end if229if TempValue0 > 47230if TempValue0 < 58231Object.Frame = TempValue0232Object.Frame -= 18233end if234end if235if Object.Frame > 0236DrawSpriteScreenFX(Object.Frame, FX_INK, TempValue2, Object.DrawHeight)237end if238break239240case 38241DrawSpriteScreenFX(33, FX_INK, TempValue2, Object.DrawHeight)242break243244case 39245DrawSpriteScreenFX(31, FX_INK, TempValue2, Object.DrawHeight)246break247248case 44249DrawSpriteScreenFX(29, FX_INK, TempValue2, Object.DrawHeight)250break251252case 46253DrawSpriteScreenFX(28, FX_INK, TempValue2, Object.DrawHeight)254break255256end switch257ArrayPos0++258TempValue1--259TempValue2 += 8260loop261end sub262263264sub ObjectStartup265LoadSpriteSheet("Menu/MenuGfx1_EN.gif")266267SpriteFrame(0, 0, 132, 113, 154, 235) // #0 - Sonic CD Mini Logo268SpriteFrame(-28, 0, 56, 16, 154, 349) // #1 - Version269270TempValue1 = 366271while TempValue1 < 417272TempValue0 = 154273while TempValue0 < 280274SpriteFrame(-3, 0, 8, 16, TempValue0, TempValue1) // #2 to #44 - Alphabet and Numbers275TempValue0 += 9276loop277TempValue1 += 17278loop279280SpriteFrame(-32, 0, 64, 21, 195, 476) // #45 - Terms Highlight281SpriteFrame(-32, 0, 64, 21, 130, 476) // #46 - Terms282SpriteFrame(-32, 0, 64, 21, 195, 454) // #47 - Privacy Highlight283SpriteFrame(-32, 0, 64, 21, 130, 454) // #48 - Privacy284SpriteFrame(-32, 0, 42, 21, 418, 439) // #49 - Facebook Log285SpriteFrame(-32, 0, 42, 21, 418, 461) // #50 - Facebook Log Highlight286SpriteFrame(10, 0, 22, 21, 464, 395) // #51 - Facebook Log In287SpriteFrame(10, 0, 22, 21, 464, 417) // #52 - Facebook Log In Highlight288SpriteFrame(10, 0, 22, 21, 464, 439) // #53 - Facebook Log Out289SpriteFrame(10, 0, 22, 21, 464, 461) // #54 - Facebook Log Out Highlight290end sub291292293// ========================294// Editor Subs295// ========================296297sub RSDKDraw298DrawSprite(0)299end sub300301302sub RSDKLoad303LoadSpriteSheet("Global/Display.gif")304SpriteFrame(-16, -16, 32, 32, 1, 143) // #0 - "Script" Icon305306SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")307end sub308309310