Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-CD-2011-Script-Decompilation
Path: blob/main/Scripts/R1/Boss_Shoulder.txt
1319 views
1
//----------------Sonic CD Boss Shoulder Script---------------//
2
//--------Scripted by Christian Whitehead 'The Taxman'--------//
3
//-------Unpacked By Rubberduckycooly's Script Unpacker-------//
4
5
// Aliases
6
#alias Object.Value0 : Object.FaceEntity
7
#alias Object.Value2 : Object.XOffSet
8
#alias Object.Value5 : Object.YOffSet
9
10
// Face aliases
11
#alias Object.XPos : Face.XPos
12
#alias Object.YPos : Face.YPos
13
14
// States
15
#alias 0 : BOSSSHOULDER_SETUP
16
#alias 1 : BOSSSHOULDER_IDLE
17
#alias 2 : BOSSSHOULDER_DESTROYED
18
19
// Priority
20
#alias 0 : PRIORITY_BOUNDS
21
22
23
sub ObjectMain
24
switch Object.State
25
case BOSSSHOULDER_SETUP
26
Object.State = BOSSSHOULDER_IDLE
27
// Fall-Through
28
case BOSSSHOULDER_IDLE
29
ArrayPos0 = Object.FaceEntity
30
31
Object.XPos = Face[ArrayPos0].XPos
32
Object.XPos += 0x180000
33
34
Object.YPos = Face[ArrayPos0].YPos
35
Object.YPos -= 0xC0000
36
break
37
38
case BOSSSHOULDER_DESTROYED
39
Object.XOffSet -= 0x600
40
Object.XPos += Object.XOffSet
41
42
Object.YOffSet += 0x1800
43
Object.YPos += Object.YOffSet
44
45
if Object.OutOfBounds == true
46
Object.Type = TypeName[Blank Object]
47
Object.Priority = PRIORITY_BOUNDS
48
end if
49
break
50
end switch
51
end sub
52
53
54
sub ObjectDraw
55
DrawSprite(0)
56
end sub
57
58
59
sub ObjectStartup
60
LoadSpriteSheet("R1/Objects3.gif")
61
62
SpriteFrame(-24, -12, 40, 24, 66, 66) // #0 - Shoulder
63
end sub
64
65
66
// ========================
67
// Editor Subs
68
// ========================
69
70
sub RSDKDraw
71
DrawSprite(0)
72
end sub
73
74
75
sub RSDKLoad
76
LoadSpriteSheet("R1/Objects3.gif")
77
SpriteFrame(-24, -12, 40, 24, 66, 66) // #0 - Shoulder
78
79
SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")
80
end sub
81
82