Path: blob/main/Scripts/Menu/HelpMenu.txt
1319 views
//-----------------Sonic CD Help Menu Script------------------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//34// Aliases5#alias Object.Value0 : Object.Timer //Also used for fading6#alias Object.Value2 : Object.YOffset7#alias Object.Value3 : Object.HelpPage8#alias Object.Value4 : Object.PageTimer910// States11#alias 0 : HELPMENU_SETUP12#alias 1 : HELPMENU_FADEIN13#alias 2 : HELPMENU_CONTROLS14#alias 3 : HELPMENU_PAGEDOWN15#alias 4 : HELPMENU_PAGEUP16#alias 5 : HELPMENU_LEAVE1718// Languages19#alias 0 : LANG_ENGLISH20#alias 1 : LANG_FRENCH21#alias 2 : LANG_ITALIAN22#alias 3 : LANG_DEUTSCH23#alias 4 : LANG_SPANISH24#alias 5 : LANG_JAPANESE2526// Global SFX27#alias 26 : SFX_G_OUTTAHERE28#alias 27 : SFX_G_SELECT2930// Soundtrack31#alias 0 : OST_JP3233// Presentation Stages34#alias 1 : STAGE_P_MENU3536// Engine & Callbacks37#alias 5 : ENGINE_ENTER_HIRESMODE38#alias 6 : ENGINE_EXIT_HIRESMODE3940// Priority41#alias 1 : PRIORITY_ACTIVE4243// Function declarations44#function HelpMenu_PageLoad4546function HelpMenu_PageLoad47switch Object.HelpPage48case 049switch Engine.Language50case LANG_ENGLISH51LoadTextFile(MENU_1, "Data/Game/EN_Help/SCD_Pg1_EN.txt", 1)52break53case LANG_FRENCH54LoadTextFile(MENU_1, "Data/Game/FR_Help/SCD_Pg1_FR.txt", 1)55break56case LANG_ITALIAN57LoadTextFile(MENU_1, "Data/Game/IT_Help/SCD_Pg1_IT.txt", 1)58break59case LANG_DEUTSCH60LoadTextFile(MENU_1, "Data/Game/DE_Help/SCD_Pg1_DE.txt", 1)61break62case LANG_SPANISH63LoadTextFile(MENU_1, "Data/Game/ES_Help/SCD_Pg1_ES.txt", 1)64break65case LANG_JAPANESE66LoadTextFile(MENU_1, "Data/Game/JP_Help/SCD_Pg1_JP.txt", 1)67break68end switch69break70case 171switch Engine.Language72case LANG_ENGLISH73LoadTextFile(MENU_1, "Data/Game/EN_Help/SCD_Pg2_EN.txt", 1)74break75case LANG_FRENCH76LoadTextFile(MENU_1, "Data/Game/FR_Help/SCD_Pg2_FR.txt", 1)77break78case LANG_ITALIAN79LoadTextFile(MENU_1, "Data/Game/IT_Help/SCD_Pg2_IT.txt", 1)80break81case LANG_DEUTSCH82LoadTextFile(MENU_1, "Data/Game/DE_Help/SCD_Pg2_DE.txt", 1)83break84case LANG_SPANISH85LoadTextFile(MENU_1, "Data/Game/ES_Help/SCD_Pg2_ES.txt", 1)86break87case LANG_JAPANESE88LoadTextFile(MENU_1, "Data/Game/JP_Help/SCD_Pg2_JP.txt", 1)89break90end switch91break92case 293switch Engine.Language94case LANG_ENGLISH95LoadTextFile(MENU_1, "Data/Game/EN_Help/SCD_Pg3_EN.txt", 1)96break97case LANG_FRENCH98LoadTextFile(MENU_1, "Data/Game/FR_Help/SCD_Pg3_FR.txt", 1)99break100case LANG_ITALIAN101LoadTextFile(MENU_1, "Data/Game/IT_Help/SCD_Pg3_IT.txt", 1)102break103case LANG_DEUTSCH104LoadTextFile(MENU_1, "Data/Game/DE_Help/SCD_Pg3_DE.txt", 1)105break106case LANG_SPANISH107LoadTextFile(MENU_1, "Data/Game/ES_Help/SCD_Pg3_ES.txt", 1)108break109case LANG_JAPANESE110LoadTextFile(MENU_1, "Data/Game/JP_Help/SCD_Pg3_JP.txt", 1)111break112end switch113break114case 3115switch Engine.Language116case LANG_ENGLISH117LoadTextFile(MENU_1, "Data/Game/EN_Help/SCD_Pg4_EN.txt", 1)118break119case LANG_FRENCH120LoadTextFile(MENU_1, "Data/Game/FR_Help/SCD_Pg4_FR.txt", 1)121break122case LANG_ITALIAN123LoadTextFile(MENU_1, "Data/Game/IT_Help/SCD_Pg4_IT.txt", 1)124break125case LANG_DEUTSCH126LoadTextFile(MENU_1, "Data/Game/DE_Help/SCD_Pg4_DE.txt", 1)127break128case LANG_SPANISH129LoadTextFile(MENU_1, "Data/Game/ES_Help/SCD_Pg4_ES.txt", 1)130break131case LANG_JAPANESE132LoadTextFile(MENU_1, "Data/Game/JP_Help/SCD_Pg4_JP.txt", 1)133break134end switch135break136case 4137switch Engine.Language138case LANG_ENGLISH139LoadTextFile(MENU_1, "Data/Game/EN_Help/SCD_Pg5_EN.txt", 1)140break141case LANG_FRENCH142LoadTextFile(MENU_1, "Data/Game/FR_Help/SCD_Pg5_FR.txt", 1)143break144case LANG_ITALIAN145LoadTextFile(MENU_1, "Data/Game/IT_Help/SCD_Pg5_IT.txt", 1)146break147case LANG_DEUTSCH148LoadTextFile(MENU_1, "Data/Game/DE_Help/SCD_Pg5_DE.txt", 1)149break150case LANG_SPANISH151LoadTextFile(MENU_1, "Data/Game/ES_Help/SCD_Pg5_ES.txt", 1)152break153case LANG_JAPANESE154LoadTextFile(MENU_1, "Data/Game/JP_Help/SCD_Pg5_JP.txt", 1)155break156end switch157break158case 5159switch Engine.Language160case LANG_ENGLISH161LoadTextFile(MENU_1, "Data/Game/EN_Help/SCD_Pg6_EN.txt", 1)162break163case LANG_FRENCH164LoadTextFile(MENU_1, "Data/Game/FR_Help/SCD_Pg6_FR.txt", 1)165break166case LANG_ITALIAN167LoadTextFile(MENU_1, "Data/Game/IT_Help/SCD_Pg6_IT.txt", 1)168break169case LANG_DEUTSCH170LoadTextFile(MENU_1, "Data/Game/DE_Help/SCD_Pg6_DE.txt", 1)171break172case LANG_SPANISH173LoadTextFile(MENU_1, "Data/Game/ES_Help/SCD_Pg6_ES.txt", 1)174break175case LANG_JAPANESE176LoadTextFile(MENU_1, "Data/Game/JP_Help/SCD_Pg6_JP.txt", 1)177break178end switch179break180case 6181switch Engine.Language182case LANG_ENGLISH183LoadTextFile(MENU_1, "Data/Game/EN_Help/SCD_Pg7_EN.txt", 1)184break185case LANG_FRENCH186LoadTextFile(MENU_1, "Data/Game/FR_Help/SCD_Pg7_FR.txt", 1)187break188case LANG_ITALIAN189LoadTextFile(MENU_1, "Data/Game/IT_Help/SCD_Pg7_IT.txt", 1)190break191case LANG_DEUTSCH192LoadTextFile(MENU_1, "Data/Game/DE_Help/SCD_Pg7_DE.txt", 1)193break194case LANG_SPANISH195LoadTextFile(MENU_1, "Data/Game/ES_Help/SCD_Pg7_ES.txt", 1)196break197case LANG_JAPANESE198LoadTextFile(MENU_1, "Data/Game/JP_Help/SCD_Pg7_JP.txt", 1)199break200end switch201break202case 7203switch Engine.Language204case LANG_ENGLISH205LoadTextFile(MENU_1, "Data/Game/EN_Help/SCD_Pg8_EN.txt", 1)206break207case LANG_FRENCH208LoadTextFile(MENU_1, "Data/Game/FR_Help/SCD_Pg8_FR.txt", 1)209break210case LANG_ITALIAN211LoadTextFile(MENU_1, "Data/Game/IT_Help/SCD_Pg8_IT.txt", 1)212break213case LANG_DEUTSCH214LoadTextFile(MENU_1, "Data/Game/DE_Help/SCD_Pg8_DE.txt", 1)215break216case LANG_SPANISH217LoadTextFile(MENU_1, "Data/Game/ES_Help/SCD_Pg8_ES.txt", 1)218break219case LANG_JAPANESE220LoadTextFile(MENU_1, "Data/Game/JP_Help/SCD_Pg8_JP.txt", 1)221break222end switch223break224case 8225switch Engine.Language226case LANG_ENGLISH227LoadTextFile(MENU_1, "Data/Game/EN_Help/SCD_Pg9_EN.txt", 1)228break229case LANG_FRENCH230LoadTextFile(MENU_1, "Data/Game/FR_Help/SCD_Pg9_FR.txt", 1)231break232case LANG_ITALIAN233LoadTextFile(MENU_1, "Data/Game/IT_Help/SCD_Pg9_IT.txt", 1)234break235case LANG_DEUTSCH236LoadTextFile(MENU_1, "Data/Game/DE_Help/SCD_Pg9_DE.txt", 1)237break238case LANG_SPANISH239LoadTextFile(MENU_1, "Data/Game/ES_Help/SCD_Pg9_ES.txt", 1)240break241case LANG_JAPANESE242LoadTextFile(MENU_1, "Data/Game/JP_Help/SCD_Pg9_JP.txt", 1)243break244end switch245break246end switch247end function248249250sub ObjectMain251switch Object.State252case HELPMENU_SETUP253TempValue0 = 256254TempValue0 -= Screen.CenterX255Screen.XOffset = TempValue0256Object.HelpPage = 0257CallFunction(HelpMenu_PageLoad)258PlayMusic(1)259Object.Timer = 384260Object.State++261SetScreenFade(0, 0, 0, 255)262break263264case HELPMENU_FADEIN265if Object.Timer > 0266Object.Timer -= 8267else268Object.State++269end if270SetScreenFade(0, 0, 0, Object.Timer)271break272273case HELPMENU_CONTROLS274if KeyPress[0].Down == true275if Object.HelpPage < 8276PlaySfx(SFX_G_SELECT, false)277Object.Timer = 256278Object.State = HELPMENU_PAGEDOWN279end if280end if281282if KeyPress[0].Up == true283if Object.HelpPage > 0284PlaySfx(SFX_G_SELECT, false)285Object.State = HELPMENU_PAGEUP286end if287end if288289if KeyPress[0].ButtonB == true290PlaySfx(SFX_G_OUTTAHERE, false)291Object.State = HELPMENU_LEAVE292end if293break294295case HELPMENU_PAGEDOWN296if Object.Timer > 0297Cos(TempValue0, Object.Timer)298TempValue0 >>= 1299TempValue0 += 256300TempValue1 = Object.YOffset301TempValue1 += TempValue0302Screen.YOffset = TempValue1303304TempValue1 += 256305TempValue1 >>= 9306if TempValue1 > Object.HelpPage307Object.HelpPage++308if Object.HelpPage == 2309SetActivePalette(1, 0, Screen.YSize)310else311SetActivePalette(0, 0, Screen.YSize)312end if313CallFunction(HelpMenu_PageLoad)314end if315316Object.Timer -= 3317if Object.Timer < 0318Object.Timer = 0319end if320else321Object.YOffset += 512322Screen.YOffset = Object.YOffset323Object.State = HELPMENU_CONTROLS324end if325break326327case HELPMENU_PAGEUP328if Object.Timer < 256329Cos(TempValue0, Object.Timer)330TempValue0 >>= 1331TempValue0 -= 256332TempValue1 = Object.YOffset333TempValue1 += TempValue0334Screen.YOffset = TempValue1335336TempValue1 += 256337TempValue1 >>= 9338if TempValue1 < Object.HelpPage339Object.HelpPage--340if Object.HelpPage == 2341SetActivePalette(1, 0, Screen.YSize)342else343SetActivePalette(0, 0, Screen.YSize)344end if345CallFunction(HelpMenu_PageLoad)346end if347348Object.Timer += 3349if Object.Timer > 256350Object.Timer = 256351end if352else353Object.YOffset -= 512354Screen.YOffset = Object.YOffset355356Object.Timer = 0357Object.State = HELPMENU_CONTROLS358end if359break360361case HELPMENU_LEAVE362if Object.Timer < 348363Object.Timer += 8364else365Stage.ListPos = STAGE_P_MENU366Engine.State = ENGINE_EXIT_HIRESMODE367LoadStage()368end if369SetScreenFade(0, 0, 0, Object.Timer)370break371372end switch373end sub374375376sub ObjectDraw377Object.PageTimer--378if Object.PageTimer < -31379Object.PageTimer += 32380end if381TempValue1 = Object.PageTimer382TempValue1 >>= 1383while TempValue1 < Screen.YSize384TempValue0 = Object.PageTimer385TempValue0 >>= 1386while TempValue0 < Screen.XSize387DrawSpriteScreenXY(0, TempValue0, TempValue1)388TempValue0 += 128389loop390TempValue1 += 128391loop392end sub393394395sub ObjectStartup396LoadSpriteSheet("Menu/HelpBG.gif")397398SpriteFrame(0, 0, 128, 128, 1, 1)399400if Engine.Language == LANG_JAPANESE401Object[59].XPos -= 0x100000402Object[60].XPos -= 0x100000403Object[61].XPos -= 0x100000404Object[62].XPos -= 0x100000405Object[63].XPos -= 0x100000406Object[64].XPos += 0x500000407Object[59].YPos += 0x180000408Object[60].YPos += 0x180000409Object[61].YPos += 0x180000410Object[62].YPos += 0x180000411Object[63].YPos += 0x180000412Object[64].YPos -= 0x2F0000413end if414415LoadPalette("HelpPal1.act", 0, 0, 0, 256)416LoadPalette("HelpPal2.act", 1, 0, 0, 256)417LoadTextFont("Data/Game/HelpText.bin")418419if Options.Soundtrack == OST_JP420SetMusicTrack("JP/DAGarden.ogg", 1, 1)421else422SetMusicTrack("US/DAGarden.ogg", 1, 117382)423end if424425Engine.State = ENGINE_ENTER_HIRESMODE426Screen.CameraEnabled = false427428Object[0].Type = TypeName[Help Menu]429Object[0].Priority = PRIORITY_ACTIVE430Object[0].DrawOrder = 0431end sub432433434// ========================435// Editor Subs436// ========================437438sub RSDKDraw439DrawSprite(0)440end sub441442443sub RSDKLoad444LoadSpriteSheet("Menu/MenuGfx2_EN.gif")445SpriteFrame(16, 0, 46, 30, 1, 677) // Help446447SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")448end sub449450451