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/WFZ/HullSeal.txt
1483 views
1
// ----------------------------------
2
// RSDK Project: Sonic 2
3
// Script Description: Hull Seal 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
14
// States
15
private alias 0 : HULLSEAL_OPEN
16
private alias 1 : HULLSEAL_CLOSING
17
private alias 2 : HULLSEAL_CLOSED
18
19
// Player Aliases
20
private alias object.ypos : player.ypos
21
22
23
// ========================
24
// Events
25
// ========================
26
27
event ObjectUpdate
28
switch object.state
29
case HULLSEAL_OPEN
30
temp0 = object.ypos
31
temp0 += 0x180000
32
if player[0].ypos > temp0
33
object.timer = 16
34
object.drawOrder = 4
35
object.state = HULLSEAL_CLOSING
36
end if
37
break
38
39
case HULLSEAL_CLOSING
40
object.xpos += 0x40000
41
42
object.timer--
43
if object.timer == 0
44
if object.propertyValue == 1
45
temp0 = object.xpos
46
temp0 >>= 23
47
temp1 = object.ypos
48
temp1 >>= 23
49
SetTileLayerEntry(262, 0, temp0, temp1)
50
PlaySfx(SfxName[Hull Close], false)
51
end if
52
53
object.state = HULLSEAL_CLOSED
54
end if
55
break
56
57
case HULLSEAL_CLOSED
58
break
59
60
end switch
61
62
foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)
63
BoxCollisionTest(C_SOLID, object.entityPos, -32, -16, 32, 16, currentPlayer, C_BOX, C_BOX, C_BOX, C_BOX)
64
next
65
end event
66
67
68
event ObjectDraw
69
DrawSprite(0)
70
end event
71
72
73
event ObjectStartup
74
LoadSpriteSheet("SCZ/Objects2.gif")
75
SpriteFrame(-32, -16, 64, 32, 1, 193)
76
end event
77
78
79
// ========================
80
// Editor Events
81
// ========================
82
83
event RSDKEdit
84
if editor.returnVariable == true
85
switch editor.variableID
86
case EDIT_VAR_PROPVAL // property value
87
checkResult = object.propertyValue
88
break
89
90
case 0 // type
91
checkResult = object.propertyValue
92
break
93
94
end switch
95
else
96
switch editor.variableID
97
case EDIT_VAR_PROPVAL // property value
98
object.propertyValue = editor.variableValue
99
break
100
101
case 0 // type
102
object.propertyValue = editor.variableValue
103
break
104
105
end switch
106
end if
107
end event
108
109
110
event RSDKDraw
111
DrawSprite(0)
112
end event
113
114
115
event RSDKLoad
116
LoadSpriteSheet("SCZ/Objects2.gif")
117
SpriteFrame(-32, -16, 64, 32, 1, 193)
118
119
AddEditorVariable("type")
120
SetActiveVariable("type")
121
AddEnumVariable("Doesn't Update TileLayer", 0)
122
AddEnumVariable("Updates TileLayer", 1)
123
end event
124
125