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/EggmanHorn.txt
1483 views
1
// ----------------------------------
2
// RSDK Project: Sonic 2
3
// Script Description: Eggman Horn 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 : HPZEGGMANHORN_IDLE
16
private alias 1 : HPZEGGMANHORN_PLAYINGNOISE
17
private alias 2 : HPZEGGMANHORN_FINISHEDNOISE
18
private alias 3 : HPZEGGMANHORN_DEBRIS
19
20
21
// ========================
22
// Events
23
// ========================
24
25
event ObjectUpdate
26
switch object.state
27
default
28
case HPZEGGMANHORN_IDLE
29
break
30
31
case HPZEGGMANHORN_PLAYINGNOISE
32
object.frame = object.timer
33
object.frame &= 3
34
if object.frame == 0
35
screen.shakeY = 2
36
end if
37
38
object.frame >>= 1
39
if object.timer > 0
40
object.timer--
41
else
42
object.state = HPZEGGMANHORN_IDLE
43
end if
44
break
45
46
case HPZEGGMANHORN_FINISHEDNOISE
47
if object.timer > 0
48
object.frame = 1
49
object.timer--
50
else
51
object.frame = 0
52
object.state = HPZEGGMANHORN_IDLE
53
end if
54
break
55
56
case HPZEGGMANHORN_DEBRIS
57
object.frame = 0
58
object.xpos += object.xvel
59
object.ypos += object.yvel
60
object.yvel += 0x3800
61
62
if object.outOfBounds == true
63
object.type = TypeName[Blank Object]
64
end if
65
break
66
67
end switch
68
69
end event
70
71
72
event ObjectDraw
73
DrawSpriteFX(2, FX_FLIP, object.xpos, object.ypos)
74
DrawSpriteFX(object.frame, FX_FLIP, object.xpos, object.ypos)
75
end event
76
77
78
event ObjectStartup
79
LoadSpriteSheet("HPZ/Objects.gif")
80
SpriteFrame(-32, -60, 32, 40, 451, 214)
81
SpriteFrame(-34, -64, 34, 48, 449, 165)
82
SpriteFrame(0, -44, 20, 20, 430, 132)
83
end event
84
85
86
// ========================
87
// Editor Events
88
// ========================
89
90
event RSDKDraw
91
DrawSprite(2)
92
DrawSprite(0)
93
end event
94
95
96
event RSDKLoad
97
LoadSpriteSheet("HPZ/Objects.gif")
98
SpriteFrame(-32, -60, 32, 40, 451, 214)
99
SpriteFrame(-34, -64, 34, 48, 449, 165)
100
SpriteFrame(0, -44, 20, 20, 430, 132)
101
102
SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")
103
end event
104
105