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/CountdownBubble.txt
1480 views
1
// ----------------------------------
2
// RSDK Project: Sonic 2
3
// Script Description: Countdown Bubble 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.value0 : object.timer
13
private alias object.value1 : object.drawPos.x
14
private alias object.value2 : object.drawPos.y
15
16
private alias 0 : COUNTDOWNBUBBLE_SETUP
17
private alias 1 : COUNTDOWNBUBBLE_FRAME1
18
private alias 2 : COUNTDOWNBUBBLE_FRAME2
19
private alias 3 : COUNTDOWNBUBBLE_FRAME3
20
private alias 4 : COUNTDOWNBUBBLE_FRAME4
21
private alias 5 : COUNTDOWNBUBBLE_FRAME5
22
private alias 6 : COUNTDOWNBUBBLE_FRAME6
23
private alias 7 : COUNTDOWNBUBBLE_FRAME7
24
private alias 8 : COUNTDOWNBUBBLE_FRAME8
25
26
27
// ========================
28
// Events
29
// ========================
30
31
event ObjectUpdate
32
switch object.state
33
case COUNTDOWNBUBBLE_SETUP
34
object.ypos += object.yvel
35
object.timer++
36
if object.timer > 6
37
object.timer = 0
38
object.frame++
39
end if
40
41
if object.frame < 5
42
Sin(object.xpos, object.angle)
43
object.xpos <<= 9
44
object.xpos += object.drawPos.x
45
object.angle += 4
46
object.angle &= 0x1FF
47
else
48
temp0 = object.propertyValue
49
temp0 *= 3
50
object.frame += temp0
51
object.drawPos.x = object.ixpos
52
object.drawPos.x -= screen.xoffset
53
object.drawPos.y = object.iypos
54
object.drawPos.y -= screen.yoffset
55
object.state++
56
end if
57
break
58
59
case COUNTDOWNBUBBLE_FRAME1
60
object.timer++
61
if object.timer == 6
62
object.timer = 0
63
object.frame++
64
object.state++
65
end if
66
break
67
68
case COUNTDOWNBUBBLE_FRAME2
69
object.timer++
70
if object.timer == 6
71
object.timer = 0
72
object.frame++
73
object.state++
74
end if
75
break
76
77
case COUNTDOWNBUBBLE_FRAME3
78
object.timer++
79
if object.timer == 8
80
object.timer = 0
81
object.frame--
82
object.state++
83
end if
84
break
85
86
case COUNTDOWNBUBBLE_FRAME4
87
object.timer++
88
if object.timer == 8
89
object.timer = 0
90
object.frame++
91
object.state++
92
end if
93
break
94
95
case COUNTDOWNBUBBLE_FRAME5
96
object.timer++
97
if object.timer == 8
98
object.timer = 0
99
object.frame--
100
object.state++
101
end if
102
break
103
104
case COUNTDOWNBUBBLE_FRAME6
105
object.timer++
106
if object.timer == 8
107
object.timer = 0
108
object.frame++
109
object.state++
110
end if
111
break
112
113
case COUNTDOWNBUBBLE_FRAME7
114
object.timer++
115
if object.timer == 8
116
object.timer = 0
117
object.frame--
118
object.state++
119
end if
120
break
121
122
case COUNTDOWNBUBBLE_FRAME8
123
object.timer++
124
if object.timer == 9
125
object.type = TypeName[Blank Object]
126
end if
127
break
128
129
end switch
130
end event
131
132
133
event ObjectDraw
134
#platform: USE_ORIGINS
135
if game.playMode == BOOT_PLAYMODE_MIRRORING
136
object.direction = FLIP_X
137
if object.state == COUNTDOWNBUBBLE_SETUP
138
DrawSpriteFX(object.propertyValue, FX_FLIP, object.xpos, object.ypos)
139
else
140
DrawSpriteScreenFX(object.frame, FX_FLIP, object.drawPos.x, object.drawPos.y)
141
end if
142
else
143
if object.state == COUNTDOWNBUBBLE_SETUP
144
DrawSprite(object.frame)
145
else
146
DrawSpriteScreenXY(object.frame, object.drawPos.x, object.drawPos.y)
147
end if
148
end if
149
#endplatform
150
151
#platform: USE_STANDALONE
152
if object.state == COUNTDOWNBUBBLE_SETUP
153
DrawSprite(object.frame)
154
else
155
DrawSpriteScreenXY(object.frame, object.drawPos.x, object.drawPos.y)
156
end if
157
#endplatform
158
end event
159
160
161
event ObjectStartup
162
LoadSpriteSheet("HPZ/Objects3.gif")
163
164
SpriteFrame(-2, -2, 4, 4, 157, 2)
165
SpriteFrame(-3, -3, 6, 6, 156, 9)
166
SpriteFrame(-4, -4, 8, 8, 155, 17)
167
SpriteFrame(-6, -6, 12, 12, 209, 36)
168
SpriteFrame(-8, -8, 16, 16, 207, 51)
169
SpriteFrame(-8, -12, 16, 24, 1, 22)
170
SpriteFrame(-8, -10, 16, 20, 1, 1)
171
SpriteFrame(0, 0, 1, 1, 1, 1)
172
SpriteFrame(-8, -12, 16, 24, 35, 22)
173
SpriteFrame(-8, -10, 16, 20, 18, 1)
174
SpriteFrame(0, 0, 1, 1, 1, 1)
175
SpriteFrame(-8, -12, 16, 24, 18, 22)
176
SpriteFrame(-8, -10, 16, 20, 35, 1)
177
SpriteFrame(0, 0, 1, 1, 1, 1)
178
SpriteFrame(-8, -12, 16, 24, 18, 22)
179
SpriteFrame(-8, -10, 16, 20, 52, 1)
180
SpriteFrame(0, 0, 1, 1, 1, 1)
181
SpriteFrame(-8, -12, 16, 24, 35, 22)
182
SpriteFrame(-8, -10, 16, 20, 69, 1)
183
SpriteFrame(0, 0, 1, 1, 1, 1)
184
SpriteFrame(-8, -12, 16, 24, 52, 22)
185
SpriteFrame(-8, -10, 16, 20, 86, 1)
186
SpriteFrame(0, 0, 1, 1, 1, 1)
187
end event
188
189
190
// ========================
191
// Editor Events
192
// ========================
193
194
event RSDKDraw
195
DrawSprite(0)
196
end event
197
198
199
event RSDKLoad
200
LoadSpriteSheet("HPZ/Objects3.gif")
201
SpriteFrame(-2, -2, 4, 4, 157, 2)
202
203
SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")
204
end event
205
206