Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-1-Sonic-2-2013-Script-Decompilation
Path: blob/master/Sonic 2/Scripts/LevelSelect/MenuButton.txt
1480 views
1
// ----------------------------------
2
// RSDK Project: Sonic 2
3
// Script Description: Menu Button Object
4
// Script Author: Christian Whitehead/Simon Thomley
5
// Unpacked by Rubberduckycooly's script unpacker
6
// ----------------------------------
7
8
// ========================
9
// Aliases
10
// ========================
11
12
private alias object.value1 : object.pressed
13
14
// MenuControl aliases
15
private alias object.value3 : menuControl.currentSelection
16
17
18
// ========================
19
// Events
20
// ========================
21
22
event ObjectUpdate
23
if MenuControl_optionsMenuOpen == false
24
temp0 = screen.xsize
25
temp0 -= 62
26
temp1 = temp0
27
temp1 += 48
28
CheckTouchRect(0, 0, screen.xsize, screen.ysize)
29
if checkResult > -1
30
CheckTouchRect(temp0, 172, temp1, 222)
31
if checkResult > -1
32
object.pressed = true
33
else
34
object.pressed = false
35
end if
36
else
37
if object.pressed == true
38
object.pressed = false
39
if menuControl[+1].currentSelection < 22
40
keyPress[0].start = true
41
else
42
keyPress[0].buttonC = true
43
end if
44
end if
45
end if
46
end if
47
end event
48
49
50
event ObjectDraw
51
if MenuControl_optionsMenuOpen == false
52
temp0 = screen.xsize
53
temp0 -= 38
54
if menuControl[+1].currentSelection < 22
55
if object.pressed == true
56
DrawSpriteScreenXY(1, temp0, 202)
57
else
58
DrawSpriteScreenXY(0, temp0, 202)
59
end if
60
else
61
// On the sound test
62
if object.pressed == true
63
DrawSpriteScreenXY(3, temp0, 202)
64
else
65
DrawSpriteScreenXY(2, temp0, 202)
66
end if
67
end if
68
end if
69
end event
70
71
72
event ObjectStartup
73
LoadSpriteSheet("LevelSelect/Icons.gif")
74
75
foreach (TypeName[Menu Button], arrayPos0, ALL_ENTITIES)
76
switch engine.deviceType
77
case STANDARD
78
// If on a standard platform, then touch controls aren't needed
79
object[arrayPos0].type = TypeName[Blank Object]
80
break
81
82
case MOBILE
83
object[arrayPos0].priority = PRIORITY_ACTIVE
84
break
85
86
end switch
87
next
88
89
SpriteFrame(-20, -10, 40, 20, 97, 1) // 0 - Blue `GO` button
90
SpriteFrame(-20, -10, 40, 20, 97, 43) // 1 - Blue large right arrow
91
SpriteFrame(-20, -10, 40, 20, 97, 22) // 2 - Red `GO` button
92
SpriteFrame(-20, -10, 40, 20, 97, 64) // 3 - Red large right arrow
93
end event
94
95
96
// ========================
97
// Editor Events
98
// ========================
99
100
event RSDKDraw
101
DrawSprite(0)
102
end event
103
104
105
event RSDKLoad
106
LoadSpriteSheet("LevelSelect/Icons.gif")
107
SpriteFrame(-20, -10, 40, 20, 97, 1) // 0 - Blue `GO` button
108
109
SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")
110
end event
111
112