Path: blob/main/Scripts/Menu/AboutMenuF.txt
1319 views
//------------Sonic CD About Menu Forever 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// Also, this object is exactly the same as the normal AboutMenu, only difference being the added facebook button67// Aliases8#alias Object.Value1 : Object.ButtonSelected9#alias Object[-10].Alpha : OptionsMenuH.Alpha //a.k.a the alpha value from the menu that called this1011// States12#alias 0 : ABOUTMENU_CONTROLS13#alias 1 : ABOUTMENU_OPTION_SELECTED1415// Global SFX16#alias 23 : SFX_G_MENUBUTTON17#alias 27 : SFX_G_SELECT1819// Engine States & Callbacks20#alias 9 : CALLBACK_TERMS_SELECTED21#alias 10 : CALLBACK_PRIVACY_SELECTED22#alias 17 : CALLBACK_FACEBOOK_LOG2324// Text Info type25#alias 0 : TEXTINFO_TEXTDATA26#alias 1 : TEXTINFO_TEXTSIZE272829sub ObjectMain30Object.Alpha = OptionsMenuH.Alpha31if Object.Alpha > 25432if 2 == 1 // This dummy-looking origins code was added to ignore inputs33switch Object.State34case ABOUTMENU_CONTROLS35if Options.PhysicalControls == true36if KeyPress[0].Up == true37Object.ButtonSelected--38if Object.ButtonSelected < 039Object.ButtonSelected = 240end if41PlaySfx(SFX_G_MENUBUTTON, false)42end if4344if KeyPress[0].Down == true45Object.ButtonSelected++46if Object.ButtonSelected > 247Object.ButtonSelected = 048end if49PlaySfx(SFX_G_MENUBUTTON, false)50end if5152CheckTouchRect(0, 0, Screen.XSize, Screen.YSize) //Touch input reset53if CheckResult > -154Options.PhysicalControls = false55Object.ButtonSelected = -156end if57else58CheckTouchRect(0, 0, Screen.XSize, Screen.YSize) //Touch input reset59TempValue3 = CheckResult6061TempValue0 = Screen.CenterX62TempValue0 += 3663TempValue1 = Screen.CenterX64TempValue1 += 11065CheckTouchRect(TempValue0, 108, TempValue1, 134) //Terms button press66if CheckResult > -167Object.ButtonSelected = 068else69if TempValue3 < 070if Object.ButtonSelected == 071KeyPress[0].Start = true72end if73else74if Object.ButtonSelected == 075Object.ButtonSelected = -176end if77end if78end if7980TempValue0 = Screen.CenterX81TempValue0 += 3682TempValue1 = Screen.CenterX83TempValue1 += 11084CheckTouchRect(TempValue0, 134, TempValue1, 160) //Privacy button press85if CheckResult > -186Object.ButtonSelected = 187else88if TempValue3 < 089if Object.ButtonSelected == 190KeyPress[0].Start = true91end if92else93if Object.ButtonSelected == 194Object.ButtonSelected = -195end if96end if97end if9899TempValue0 = Screen.CenterX100TempValue0 += 36101TempValue1 = Screen.CenterX102TempValue1 += 110103CheckTouchRect(TempValue0, 160, TempValue1, 185) //Facebook button press104if CheckResult > -1105Object.ButtonSelected = 2106else107if TempValue3 < 0108if Object.ButtonSelected == 2109KeyPress[0].Start = true110end if111else112if Object.ButtonSelected == 2113Object.ButtonSelected = -1114end if115end if116end if117118CallFunction(MenuHeading_CheckTouchBack)119if KeyPress[0].Up == true120Object.ButtonSelected = 1121Options.PhysicalControls = true122end if123124if KeyPress[0].Down == true125Object.ButtonSelected = 0126Options.PhysicalControls = true127end if128129end if130131CheckResult = false132if Object.ButtonSelected > -1133if KeyPress[0].Start == true134CheckResult = true135end if136137if KeyPress[0].ButtonA == true138CheckResult = true139end if140end if141142if CheckResult == true143PlaySfx(SFX_G_SELECT, false)144Object.State++145end if146break147148case ABOUTMENU_OPTION_SELECTED149if Object.AnimationTimer < 30150Object.AnimationTimer++151else152Object.AnimationTimer = 0153Object.State = ABOUTMENU_CONTROLS154switch Object.ButtonSelected155case 0156EngineCallback(CALLBACK_TERMS_SELECTED)157break158159case 1160EngineCallback(CALLBACK_PRIVACY_SELECTED)161break162163case 2164EngineCallback(CALLBACK_FACEBOOK_LOG)165break166167end switch168if Options.PhysicalControls == false169Object.ButtonSelected = -1170end if171end if172break173174end switch175end if176else177if Options.PhysicalControls == false178Object.ButtonSelected = -1179end if180181Object.AnimationTimer = 0182Object.State = ABOUTMENU_CONTROLS183end if184end sub185186187sub ObjectDraw188TempValue0 = Screen.CenterX189TempValue0 -= 120190DrawSpriteScreenFX(0, FX_INK, TempValue0, 72)191192TempValue0 = Screen.CenterX193TempValue0 += 72194DrawSpriteScreenFX(1, FX_INK, TempValue0, 74)195196TempValue0 = Screen.CenterX197TempValue0 += 72198if 2 == 1 // This dummy-looking origins code was added to ignore drawing this199switch Object.ButtonSelected200default201DrawSpriteScreenFX(47, FX_INK, TempValue0, 136)202DrawSpriteScreenFX(45, FX_INK, TempValue0, 110)203DrawSpriteScreenFX(49, FX_INK, TempValue0, 162)204if SegaID.LoggedIn == false205DrawSpriteScreenFX(51, FX_INK, TempValue0, 162)206else207DrawSpriteScreenFX(53, FX_INK, TempValue0, 162)208end if209break210211case 0212TempValue2 = Object.AnimationTimer213TempValue2 &= 3214TempValue2 >>= 1215TempValue2 += 44216DrawSpriteScreenFX(TempValue2, FX_INK, TempValue0, 110)217DrawSpriteScreenFX(47, FX_INK, TempValue0, 136)218DrawSpriteScreenFX(49, FX_INK, TempValue0, 162)219if SegaID.LoggedIn == false220DrawSpriteScreenFX(51, FX_INK, TempValue0, 162)221else222DrawSpriteScreenFX(53, FX_INK, TempValue0, 162)223end if224break225226case 1227TempValue2 = Object.AnimationTimer228TempValue2 &= 3229TempValue2 >>= 1230TempValue2 += 46231DrawSpriteScreenFX(TempValue2, FX_INK, TempValue0, 136)232DrawSpriteScreenFX(45, FX_INK, TempValue0, 110)233DrawSpriteScreenFX(49, FX_INK, TempValue0, 162)234if SegaID.LoggedIn == false235DrawSpriteScreenFX(51, FX_INK, TempValue0, 162)236else237DrawSpriteScreenFX(53, FX_INK, TempValue0, 162)238end if239break240241case 2242TempValue2 = Object.AnimationTimer243TempValue2 &= 3244TempValue2 >>= 1245TempValue2 += 48246DrawSpriteScreenFX(TempValue2, FX_INK, TempValue0, 162)247if SegaID.LoggedIn == false248TempValue2 += 2249DrawSpriteScreenFX(TempValue2, FX_INK, TempValue0, 162)250else251TempValue2 += 4252DrawSpriteScreenFX(TempValue2, FX_INK, TempValue0, 162)253end if254DrawSpriteScreenFX(47, FX_INK, TempValue0, 136)255DrawSpriteScreenFX(45, FX_INK, TempValue0, 110)256break257258end switch259end if260261ArrayPos0 = 0262263GetTextInfo(TempValue1, MENU_1, TEXTINFO_TEXTSIZE, 0, 0)264265TempValue2 = TempValue1266TempValue2 <<= 2267FlipSign(TempValue2)268TempValue2 += Screen.CenterX269TempValue2 += 72270271while TempValue1 > 0272GetTextInfo(TempValue0, MENU_1, TEXTINFO_TEXTDATA, 0, ArrayPos0) //Gets version numbers273switch TempValue0274default275Object.Frame = 0276if TempValue0 > 64277if TempValue0 < 91278Object.Frame = TempValue0279Object.Frame -= 63280end if281end if282if TempValue0 > 96283if TempValue0 < 123284Object.Frame = TempValue0285Object.Frame -= 95286end if287end if288if TempValue0 > 47289if TempValue0 < 58290Object.Frame = TempValue0291Object.Frame -= 18292end if293end if294if Object.Frame > 0295DrawSpriteScreenFX(Object.Frame, FX_INK, TempValue2, 92)296end if297break298299case 38300DrawSpriteScreenFX(33, FX_INK, TempValue2, 92)301break302303case 39304DrawSpriteScreenFX(31, FX_INK, TempValue2, 92)305break306307case 44308DrawSpriteScreenFX(29, FX_INK, TempValue2, 92)309break310311case 46312DrawSpriteScreenFX(28, FX_INK, TempValue2, 92)313break314315end switch316ArrayPos0++317TempValue1--318TempValue2 += 8319loop320end sub321322323sub ObjectStartup324LoadSpriteSheet("Menu/MenuGfx1_EN.gif")325326SpriteFrame(0, 0, 132, 113, 154, 235) // #0 - Sonic CD Mini Logo327SpriteFrame(-28, 0, 56, 16, 154, 349) // #1 - Version328329TempValue1 = 366330while TempValue1 < 417331TempValue0 = 154332while TempValue0 < 280333SpriteFrame(-3, 0, 8, 16, TempValue0, TempValue1) // #2 to #44 - Alphabet and Numbers334TempValue0 += 9335loop336TempValue1 += 17337loop338339SpriteFrame(-32, 0, 64, 21, 195, 476) // #45 - Terms Highlight340SpriteFrame(-32, 0, 64, 21, 130, 476) // #46 - Terms341SpriteFrame(-32, 0, 64, 21, 195, 454) // #47 - Privacy Highlight342SpriteFrame(-32, 0, 64, 21, 130, 454) // #48 - Privacy343SpriteFrame(-32, 0, 42, 21, 418, 439) // #49 - Facebook Log344SpriteFrame(-32, 0, 42, 21, 418, 461) // #50 - Facebook Log Highlight345SpriteFrame(10, 0, 22, 21, 464, 395) // #51 - Facebook Log In346SpriteFrame(10, 0, 22, 21, 464, 417) // #52 - Facebook Log In Highlight347SpriteFrame(10, 0, 22, 21, 464, 439) // #53 - Facebook Log Out348SpriteFrame(10, 0, 22, 21, 464, 461) // #54 - Facebook Log Out Highlight349end sub350351352// ========================353// Editor Subs354// ========================355356sub RSDKDraw357DrawSprite(0)358end sub359360361sub RSDKLoad362LoadSpriteSheet("Global/Display.gif")363SpriteFrame(-16, -16, 32, 32, 1, 143) // #0 - "Script" Icon364365SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")366end sub367368369