Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-1-Sonic-2-2013-Script-Decompilation
Path: blob/master/Sonic 1/Scripts/LevelSelect/MenuButton.txt
1482 views
1
// ----------------------------------
2
// RSDK Project: Sonic 1
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
temp0 = screen.xsize
24
temp0 -= 62
25
temp1 = temp0
26
temp1 += 48
27
CheckTouchRect(0, 0, screen.xsize, screen.ysize)
28
if checkResult > -1
29
CheckTouchRect(temp0, 164, temp1, 214)
30
if checkResult > -1
31
object.pressed = true
32
else
33
object.pressed = false
34
end if
35
else
36
if object.pressed == true
37
object.pressed = false
38
if menuControl[+1].currentSelection < 26
39
keyPress[0].start = true
40
else
41
keyPress[0].buttonA = true
42
end if
43
end if
44
end if
45
end event
46
47
48
event ObjectDraw
49
temp0 = screen.xsize
50
temp0 -= 38
51
if menuControl[+1].currentSelection < 27 // (Selection 27 is the Sound Test btw)
52
if object.pressed == true
53
DrawSpriteScreenXY(1, temp0, 194)
54
else
55
DrawSpriteScreenXY(0, temp0, 194)
56
end if
57
else
58
if object.pressed == true
59
DrawSpriteScreenXY(3, temp0, 194)
60
else
61
DrawSpriteScreenXY(2, temp0, 194)
62
end if
63
end if
64
end event
65
66
67
event ObjectStartup
68
LoadSpriteSheet("LevelSelect/Icons.gif")
69
70
foreach (TypeName[Menu Button], arrayPos0, ALL_ENTITIES)
71
switch engine.deviceType
72
case STANDARD
73
// If on a standard platform, then touch controls aren't needed
74
object[arrayPos0].type = TypeName[Blank Object]
75
break
76
77
case MOBILE
78
object[arrayPos0].priority = PRIORITY_ACTIVE
79
break
80
81
end switch
82
next
83
84
SpriteFrame(-20, -10, 40, 20, 97, 1) // 0 - Blue `GO` button
85
SpriteFrame(-20, -10, 40, 20, 97, 43) // 1 - Blue large right arrow
86
SpriteFrame(-20, -10, 40, 20, 97, 22) // 2 - Red `GO` button
87
SpriteFrame(-20, -10, 40, 20, 97, 64) // 3 - Red large right arrow
88
end event
89
90
91
// ========================
92
// Editor Events
93
// ========================
94
95
event RSDKDraw
96
DrawSprite(0)
97
end event
98
99
100
event RSDKLoad
101
LoadSpriteSheet("LevelSelect/Icons.gif")
102
SpriteFrame(-20, -10, 40, 20, 97, 1) // Blue `GO` button
103
104
SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")
105
end event
106
107