Path: blob/main/Scripts/LBoards/LButton.txt
1319 views
//--------------Sonic CD Leaderboards Button Script-----------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//3//------------------Only exist in WP7 Versions----------------//45// Aliases6#alias Object.Value1 : Object.ButtonPressed78// LEntry Aliases9#alias Object[32].State : LEntry.State1011// MenuControl Aliases12#alias Object[0].State : MenuControl.State1314// LEntry States15#alias 1 : LENTRY_MOVE_RIGHT16#alias 4 : LENTRY_MOVE_LEFT17#alias 7 : LENTRY_MOVE_DOWN18#alias 10 : LENTRY_MOVE_UP1920// MenuControl States21#alias 2 : MENUCONTROL_CONTROLS22#alias 3 : MENUCONTROL_BLANK23#alias 4 : MENUCONTROL_EXIT2425// Global SFX26#alias 23 : SFX_G_MENUBUTTON27#alias 27 : SFX_G_SELECT2829// Property Values30#alias 0 : BUTTON_EXIT31#alias 1 : BUTTON_ARROW_UP32#alias 2 : BUTTON_ARROW_DOWN33#alias 3 : BUTTON_ARROW_LEFT34#alias 4 : BUTTON_ARROW_RIGHT3536//Engine & CallBacks37#alias 2 : MESSAGE_LOSTFOCUS383940sub ObjectMain41if Engine.Message == MESSAGE_LOSTFOCUS42Object.ButtonPressed = 043end if4445TempValue0 = Object.XPos46TempValue0 >>= 164748TempValue1 = TempValue04950TempValue2 = Object.YPos51TempValue2 >>= 165253TempValue3 = TempValue254switch Object.PropertyValue55case BUTTON_EXIT56TempValue1 += 6457TempValue2 -= 858TempValue3 += 2459break6061case BUTTON_ARROW_UP62TempValue1 += 4863TempValue2 -= 864TempValue3 += 2465break6667case BUTTON_ARROW_DOWN68TempValue1 += 4869TempValue2 -= 870TempValue3 += 2471break7273case BUTTON_ARROW_LEFT74TempValue0 -= 875TempValue1 += 3276TempValue2 -= 877TempValue3 += 4078break7980case BUTTON_ARROW_RIGHT81TempValue0 -= 882TempValue1 += 3283TempValue2 -= 884TempValue3 += 4085break8687end switch88if MenuControl.State == MENUCONTROL_CONTROLS89CheckTouchRect(TempValue0, TempValue2, TempValue1, TempValue3)90else91CheckResult = -192end if93if CheckResult > -194Object.ButtonPressed = 195else96CheckTouchRect(0, 0, Screen.XSize, Screen.YSize)97if CheckResult < 098if Object.ButtonPressed == 199switch Object.PropertyValue100case BUTTON_EXIT101MenuControl.State = MENUCONTROL_EXIT102StopMusic()103PlaySfx(SFX_G_SELECT, false)104break105106case BUTTON_ARROW_UP107MenuControl.State = MENUCONTROL_BLANK108LEntry.State = LENTRY_MOVE_UP109PlaySfx(SFX_G_MENUBUTTON, false)110break111112case BUTTON_ARROW_DOWN113MenuControl.State = MENUCONTROL_BLANK114LEntry.State = LENTRY_MOVE_DOWN115PlaySfx(SFX_G_MENUBUTTON, false)116break117118case BUTTON_ARROW_LEFT119MenuControl.State = MENUCONTROL_BLANK120LEntry.State = LENTRY_MOVE_LEFT121PlaySfx(SFX_G_MENUBUTTON, false)122break123124case BUTTON_ARROW_RIGHT125MenuControl.State = MENUCONTROL_BLANK126LEntry.State = LENTRY_MOVE_RIGHT127PlaySfx(SFX_G_MENUBUTTON, false)128break129130end switch131Object.ButtonPressed = 0132end if133else134Object.ButtonPressed = 0135end if136end if137end sub138139140sub ObjectDraw141TempValue0 = Object.PropertyValue142TempValue0 <<= 1143TempValue0 += Object.ButtonPressed144DrawSprite(TempValue0)145end sub146147148sub ObjectStartup149LoadSpriteSheet("LBoards/Leaderboards.gif")150151SpriteFrame(0, 0, 64, 20, 135, 34) // #0 - Exit152SpriteFrame(0, 0, 64, 20, 135, 55) // #1 - Exit Highlight153SpriteFrame(0, 0, 48, 20, 200, 34) // #2 - Up Arrow154SpriteFrame(0, 0, 48, 20, 200, 55) // #3 - Up Arrow Highlight155SpriteFrame(0, 0, 48, 20, 249, 34) // #4 - Down Arrow156SpriteFrame(0, 0, 48, 20, 249, 55) // #5 - Down Arrow Highlight157SpriteFrame(0, 0, 24, 32, 223, 92) // #6 - Left Arrow158SpriteFrame(0, 0, 24, 32, 248, 92) // #7 - Left Arrow Highlight159SpriteFrame(0, 0, 24, 32, 273, 92) // #8 - Right Arrow160SpriteFrame(0, 0, 24, 32, 298, 92) // #9 - Right Arrow Highlight161end sub162163164// ========================165// Editor Subs166// ========================167168sub RSDKEdit169if Editor.ReturnVariable == true170switch Editor.VariableID171case EDIT_VAR_PROPVAL // Property Value172CheckResult = Object.PropertyValue173break174case 0 // buttonType175CheckResult = Object.PropertyValue176break177end switch178else179switch Editor.VariableID180case EDIT_VAR_PROPVAL // Property Value181Object.PropertyValue = Editor.VariableValue182break183case 0 // buttonType184Object.PropertyValue = Editor.VariableValue185break186end switch187end if188end sub189190sub RSDKDraw191DrawSprite(Object.PropertyValue)192end sub193194195sub RSDKLoad196LoadSpriteSheet("LBoards/Leaderboards.gif")197198SpriteFrame(0, 0, 64, 20, 135, 34) // #0 - Exit199SpriteFrame(0, 0, 48, 20, 200, 34) // #2 - Up Arrow200SpriteFrame(0, 0, 48, 20, 249, 34) // #4 - Down Arrow201SpriteFrame(0, 0, 24, 32, 223, 92) // #6 - Left Arrow202SpriteFrame(0, 0, 24, 32, 273, 92) // #8 - Right Arrow203204AddEditorVariable("buttonType")205SetActiveVariable("buttonType")206AddEnumVariable("Exit Button", 0)207AddEnumVariable("Up Arrow", 1)208AddEnumVariable("Down Arrow", 2)209AddEnumVariable("Left Arrow", 3)210AddEnumVariable("Right Arrow", 4)211end sub212213214