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/HPZ/EggmanValve.txt
1483 views
1
// ----------------------------------
2
// RSDK Project: Sonic 2
3
// Script Description: Eggman Valve 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.valvePos1.y
13
private alias object.value2 : object.valvePos2.y
14
15
// States
16
private alias 0 : HPZEGGMANVALVE_RESETBOTH
17
private alias 1 : HPZEGGMANVALVE_USEL
18
private alias 2 : HPZEGGMANVALVE_USER
19
private alias 3 : HPZEGGMANVALVE_USEBOTH
20
private alias 4 : HPZEGGMANVALVE_DEBRIS
21
22
23
// ========================
24
// Events
25
// ========================
26
27
event ObjectUpdate
28
switch object.state
29
case HPZEGGMANVALVE_RESETBOTH
30
if object.valvePos1.y > 0
31
object.valvePos1.y -= 0x10000
32
end if
33
34
if object.valvePos2.y > 0
35
object.valvePos2.y -= 0x10000
36
end if
37
break
38
39
case HPZEGGMANVALVE_USEL
40
if object.valvePos1.y < 0x50000
41
object.valvePos1.y += 0x10000
42
end if
43
44
if object.valvePos2.y > 0
45
object.valvePos2.y -= 0x10000
46
end if
47
break
48
49
case HPZEGGMANVALVE_USER
50
if object.valvePos1.y > 0
51
object.valvePos1.y -= 0x10000
52
end if
53
54
if object.valvePos2.y < 0x50000
55
object.valvePos2.y += 0x10000
56
end if
57
break
58
59
case HPZEGGMANVALVE_USEBOTH
60
if object.valvePos1.y < 0x50000
61
object.valvePos1.y += 0x10000
62
end if
63
64
if object.valvePos2.y < 0x50000
65
object.valvePos2.y += 0x10000
66
end if
67
break
68
69
case HPZEGGMANVALVE_DEBRIS
70
object.xpos += object.xvel
71
object.ypos += object.yvel
72
object.yvel += 0x3800
73
74
if object.outOfBounds == true
75
object.type = TypeName[Blank Object]
76
end if
77
break
78
79
end switch
80
end event
81
82
83
event ObjectDraw
84
DrawSpriteFX(0, FX_FLIP, object.xpos, object.ypos)
85
86
temp0 = object.valvePos1.y
87
temp0 += object.ypos
88
DrawSpriteFX(1, FX_FLIP, object.xpos, temp0)
89
90
temp0 = object.valvePos2.y
91
temp0 += object.ypos
92
DrawSpriteFX(2, FX_FLIP, object.xpos, temp0)
93
end event
94
95
96
event ObjectStartup
97
LoadSpriteSheet("HPZ/Objects.gif")
98
SpriteFrame(8, -12, 24, 24, 405, 132) // main - #0
99
SpriteFrame(10, -20, 10, 8, 407, 123) // valve 1 - #1
100
SpriteFrame(20, -20, 10, 8, 407, 123) // valve 2 - #2
101
end event
102
103
104
// ========================
105
// Editor Events
106
// ========================
107
108
event RSDKDraw
109
DrawSpriteFX(0, FX_FLIP, object.xpos, object.ypos)
110
DrawSpriteFX(1, FX_FLIP, object.xpos, object.ypos)
111
DrawSpriteFX(2, FX_FLIP, object.xpos, object.ypos)
112
end event
113
114
115
event RSDKLoad
116
LoadSpriteSheet("HPZ/Objects.gif")
117
SpriteFrame(8, -12, 24, 24, 405, 132)
118
SpriteFrame(10, -20, 10, 8, 407, 123)
119
SpriteFrame(20, -20, 10, 8, 407, 123)
120
121
SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")
122
end event
123
124