Path: blob/master/Sonic 1/Scripts/LevelSelect/MenuDPad.txt
1482 views
// ----------------------------------1// RSDK Project: Sonic 12// Script Description: Menu DPad Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Aliases9// ========================1011private alias object.value1 : object.pressedLR121314// ========================15// Events16// ========================1718event ObjectUpdate19#platform: MOBILE20temp0 = screen.xcenter21temp0 -= 5622CheckTouchRect(0, 96, temp0, screen.ysize)23if checkResult > -124arrayPos0 = checkResult25temp0 = touchscreen[arrayPos0].xpos26temp0 -= 6427temp1 = touchscreen[arrayPos0].ypos28temp1 -= 19429ATan2(temp2, temp0, temp1)30temp2 += 0x2031temp2 &= 0xFF32temp2 >>= 633switch temp234case 035keyDown[0].right = true36if object.pressedLR == false37keyPress[0].right |= keyDown[0].right38end if39object.pressedLR = keyDown[0].right40break4142case 143keyDown[0].down = true44break4546case 247keyDown[0].left = true48if object.pressedLR == false49keyPress[0].left |= keyDown[0].left50end if51object.pressedLR = keyDown[0].left52break5354case 355keyDown[0].up = true56break5758end switch59else60object.pressedLR = false61end if62#endplatform63end event646566event ObjectDraw67if keyDown[0].up == true68DrawSpriteScreenXY(1, 64, 194)69else70DrawSpriteScreenXY(0, 64, 194)71end if7273if keyDown[0].down == true74DrawSpriteScreenXY(3, 64, 194)75else76DrawSpriteScreenXY(2, 64, 194)77end if7879if keyDown[0].left == true80DrawSpriteScreenXY(5, 64, 194)81else82DrawSpriteScreenXY(4, 64, 194)83end if8485if keyDown[0].right == true86DrawSpriteScreenXY(7, 64, 194)87else88DrawSpriteScreenXY(6, 64, 194)89end if90end event919293event ObjectStartup94LoadSpriteSheet("LevelSelect/Icons.gif")9596foreach (TypeName[Menu DPad], arrayPos0, ALL_ENTITIES)97switch engine.deviceType98case STANDARD99// If on a standard platform, then touch controls aren't needed100object[arrayPos0].type = TypeName[Blank Object]101break102103case MOBILE104object[arrayPos0].priority = PRIORITY_ACTIVE105break106107end switch108next109110SpriteFrame(-10, -30, 20, 20, 138, 1) // 0 - Blue up arrow111SpriteFrame(-10, -30, 20, 20, 138, 43) // 1 - Red up arrow112SpriteFrame(-10, 10, 20, 20, 159, 1) // 2 - Blue down arrow113SpriteFrame(-10, 10, 20, 20, 159, 43) // 3 - Red down arrow114SpriteFrame(-30, -10, 20, 20, 138, 22) // 4 - Blue left arrow115SpriteFrame(-30, -10, 20, 20, 138, 64) // 5 - Red left arrow116SpriteFrame(10, -10, 20, 20, 159, 22) // 6 - Blue right arrow117SpriteFrame(10, -10, 20, 20, 159, 64) // 7 - Red right arrow118end event119120121// ========================122// Editor Events123// ========================124125event RSDKDraw126DrawSprite(0)127DrawSprite(2)128DrawSprite(4)129DrawSprite(6)130end event131132133event RSDKLoad134LoadSpriteSheet("LevelSelect/Icons.gif")135SpriteFrame(-10, -30, 20, 20, 138, 1) // 0 - Blue up arrow136SpriteFrame(-10, -30, 20, 20, 138, 43) // 1 - Red up arrow137SpriteFrame(-10, 10, 20, 20, 159, 1) // 2 - Blue down arrow138SpriteFrame(-10, 10, 20, 20, 159, 43) // 3 - Red down arrow139SpriteFrame(-30, -10, 20, 20, 138, 22) // 4 - Blue left arrow140SpriteFrame(-30, -10, 20, 20, 138, 64) // 5 - Red left arrow141SpriteFrame(10, -10, 20, 20, 159, 22) // 6 - Blue right arrow142SpriteFrame(10, -10, 20, 20, 159, 64) // 7 - Red right arrow143144SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")145end event146147148