Path: blob/main/Scripts/Menu/TrophiesMenu.txt
1319 views
//----------------Sonic CD Trophies Menu Script---------------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//3//-----This Object is normally only used by WP7 Data files----//45// Aliases6#alias Object.Value0 : Object.Fade7#alias Object.Value1 : Object.TrophyTimer8#alias Object.Value2 : Object.SelectionPos9#alias Object.Value3 : Object.DragEnabled10#alias Object.Value4 : Object.TouchYPos11#alias Object.Value5 : Object.DragYOffset1213// Object[1] is a blank object only used to share values across the menu objects14#alias Object[1].Value0 : Object.DragPos15#alias Object[1].Value4 : Object.YOffSet1 //in other scripts this is used to check inputs16#alias Object[1].Value5 : Object.YOffSet217#alias Object[1].Value6 : Object.YOffSet31819// States20#alias 0 : TROPHIES_SETUP21#alias 1 : TROPHIES_FADEIN22#alias 2 : TROPHIES_CONTROLS23#alias 5 : TROPHIES_EXIT2425// Presentation Stage26#alias 1 : STAGE_P_MENU2728//Engine & CallBacks29#alias 2 : MESSAGE_LOSTFOCUS3031// Soundtrack32#alias 0 : OST_JP3334// SFX35#alias 26 : SFX_G_OUTTAHERE3637// Priority38#alias 1 : PRIORITY_ACTIVE3940// Callbacks & Engine States41#alias 0 : CALLBACK_DISPLAYLOGOS42#alias 7 : CALLBACK_EXIT_SELECTED4344#alias 5 : ENGINE_ENTER_HIRESMODE45#alias 6 : ENGINE_EXIT_HIRESMODE464748sub ObjectMain49switch Object.State50case TROPHIES_SETUP51TempValue0 = 25652TempValue0 -= Screen.CenterX53Screen.XOffset = TempValue054PlayMusic(1)55Object.Fade = 38456Object.State++57SetScreenFade(0, 0, 0, 255)58break5960case TROPHIES_FADEIN61if Object.Fade > 062Object.Fade -= 863else64Object.State++65end if66SetScreenFade(0, 0, 0, Object.Fade)67break6869case TROPHIES_CONTROLS70if Options.PhysicalControls == true71if KeyDown[0].Down == true72Object.SelectionPos += 0x4000073if Object.SelectionPos > 0x180000074Object.SelectionPos = 0x180000075end if76end if7778if KeyDown[0].Up == true79Object.SelectionPos -= 0x4000080if Object.SelectionPos < 081Object.SelectionPos = 082end if83end if8485CheckTouchRect(0, 0, Screen.XSize, Screen.YSize)86if CheckResult > -187Options.PhysicalControls = false88end if89else90CheckTouchRect(0, 48, Screen.XSize, Screen.YSize)91if CheckResult > -192ArrayPos0 = CheckResult93if Object.DragEnabled == false94Object.DragEnabled = true95Object.DragPos = Object.SelectionPos96Object.DragPos >>= 169798Object.TouchYPos = TouchScreen[ArrayPos0].YPos99else100TempValue0 = Object.TouchYPos101TempValue0 -= TouchScreen[ArrayPos0].YPos102TempValue0 += Object.DragPos103104Object.YOffSet3 = Object.YOffSet2105Object.YOffSet2 = Object.YOffSet1106Object.YOffSet1 = Object.DragYOffset107108Object.DragYOffset = TempValue0109TempValue1 = Object.SelectionPos110TempValue1 >>= 16111Object.DragYOffset -= TempValue1112113Object.SelectionPos = TempValue0114Object.SelectionPos <<= 16115end if116else117if Object.DragEnabled == true118Object.DragEnabled = false119Object.DragYOffset += Object.YOffSet1120Object.DragYOffset += Object.YOffSet2121Object.DragYOffset += Object.YOffSet3122Object.DragYOffset >>= 2123Object.DragYOffset <<= 16124end if125126if Object.DragYOffset != 0127Object.SelectionPos += Object.DragYOffset128if Object.SelectionPos < 0129Object.DragYOffset = 0130end if131132if Object.SelectionPos > 0x1800000133Object.DragYOffset = 0134end if135136if Object.DragYOffset > 0137Object.DragYOffset -= 0x2000138if Object.DragYOffset < 0139Object.DragYOffset = 0140end if141else142Object.DragYOffset += 0x2000143if Object.DragYOffset > 0144Object.DragYOffset = 0145end if146end if147else148if Object.SelectionPos < 0149Object.SelectionPos *= 224150Object.SelectionPos >>= 8151end if152153if Object.SelectionPos > 0x1800000154Object.SelectionPos -= 0x1800000155Object.SelectionPos *= 224156Object.SelectionPos >>= 8157Object.SelectionPos += 0x1800000158end if159end if160end if161if KeyPress[0].Up == true162Options.PhysicalControls = true163end if164165if KeyPress[0].Down == true166Options.PhysicalControls = true167end if168end if169170if KeyPress[0].ButtonB == true171PlaySfx(SFX_G_OUTTAHERE, false)172StopMusic()173Object.State = TROPHIES_EXIT174end if175break176177case TROPHIES_EXIT178if Object.Fade < 348179Object.Fade += 8180else181Stage.ListPos = STAGE_P_MENU182Engine.State = ENGINE_EXIT_HIRESMODE183LoadStage()184end if185SetScreenFade(0, 0, 0, Object.Fade)186break187188end switch189end sub190191192sub ObjectDraw193Object.TrophyTimer--194if Object.TrophyTimer < -31195Object.TrophyTimer += 32196end if197TempValue1 = Object.TrophyTimer198TempValue1 >>= 1199while TempValue1 < Screen.YSize200TempValue0 = Object.TrophyTimer201TempValue0 >>= 1202while TempValue0 < Screen.XSize203DrawSpriteScreenXY(0, TempValue0, TempValue1)204TempValue0 += 64205loop206TempValue1 += 64207loop208TempValue0 = Screen.XSize209TempValue0 -= 16210DrawRect(TempValue0, 56, 4, 176, 128, 128, 128, 128)211212TempValue1 = Object.SelectionPos213TempValue1 >>= 16214if TempValue1 < 0215TempValue1 = 0216end if217if TempValue1 > 384218TempValue1 = 384219end if220TempValue1 *= 160221TempValue1 /= 384222TempValue1 += 56223DrawRect(TempValue0, TempValue1, 4, 16, 0, 0, 0, 255)224end sub225226227sub ObjectStartup228LoadSpriteSheet("Menu/Trophies.gif")229SpriteFrame(0, 0, 64, 64, 385, 385) // #0 - White Space230231LoadPalette("Trophies.act", 0, 0, 0, 256)232LoadPalette("HelpPal1.act", 0, 0, 0, 32)233LoadTextFont("Data/Game/HelpText.bin")234235if Options.Soundtrack == OST_JP236SetMusicTrack("JP/DAGarden.ogg", 1, 1)237else238SetMusicTrack("US/DAGarden.ogg", 1, 117382)239end if240241Engine.State = ENGINE_ENTER_HIRESMODE242Screen.CameraEnabled = false243244Object[0].Type = TypeName[Trophies Menu]245Object[0].Priority = PRIORITY_ACTIVE246Object[0].DrawOrder = 0247248LoadTextFile(MENU_1, "Data/Game/Trophies.txt", 1)249end sub250251252// ========================253// Editor Subs254// ========================255256sub RSDKDraw257DrawSprite(0)258end sub259260261sub RSDKLoad262LoadSpriteSheet("Menu/MenuGfx2_EN.gif")263SpriteFrame(16, 0, 63, 30, 1, 513) // Options264265SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")266end sub267268269