Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-CD-2011-Script-Decompilation
Path: blob/main/Scripts/R8/R81CSetup.txt
1319 views
1
//---------------Sonic CD R8 1 C Setup Script-----------------//
2
//--------Scripted by Christian Whitehead 'The Taxman'--------//
3
//-------Unpacked By Rubberduckycooly's Script Unpacker-------//
4
5
// Aliases
6
#alias Object.Value0 : Object.PaletteTimer
7
#alias Object.Value1 : Object.CurrentPalette
8
#alias Object.Value2 : Object.VGearFrame
9
#alias Object.Value3 : Object.HCylinderFrame
10
#alias Object.Value4 : Object.VCylinderFrame
11
#alias Object.Value5 : Object.LightsFrame
12
13
// Priority
14
#alias 1 : PRIORITY_ACTIVE
15
16
17
sub ObjectMain
18
Object.Rotation++
19
Object.Rotation %= 144
20
21
TempValue0 = Object.VGearFrame
22
TempValue0 %= 7
23
if TempValue0 == 0
24
TempValue0 = Object.VGearFrame
25
TempValue0 /= 7
26
TempValue0 <<= 1
27
TempValue0 += 600
28
Copy16x16Tile(444, TempValue0)
29
TempValue0++
30
Copy16x16Tile(445, TempValue0)
31
end if
32
Object.VGearFrame++
33
Object.VGearFrame %= 28
34
35
TempValue0 = Object.HCylinderFrame
36
TempValue0 &= 3
37
if TempValue0 == 0
38
TempValue0 = Object.HCylinderFrame
39
TempValue0 >>= 2
40
TempValue0 <<= 1
41
TempValue0 += 608
42
Copy16x16Tile(446, TempValue0)
43
TempValue0++
44
Copy16x16Tile(447, TempValue0)
45
end if
46
47
Object.HCylinderFrame++
48
Object.HCylinderFrame &= 15
49
50
TempValue0 = Object.VCylinderFrame
51
TempValue0 %= 5
52
if TempValue0 == 0
53
TempValue0 = Object.VCylinderFrame
54
TempValue0 /= 5
55
TempValue0 <<= 2
56
TempValue0 += 616
57
Copy16x16Tile(448, TempValue0)
58
TempValue0++
59
Copy16x16Tile(449, TempValue0)
60
TempValue0++
61
Copy16x16Tile(450, TempValue0)
62
TempValue0++
63
Copy16x16Tile(451, TempValue0)
64
end if
65
Object.VCylinderFrame++
66
Object.VCylinderFrame %= 20
67
68
TempValue0 = Object.LightsFrame
69
TempValue0 &= 7
70
if TempValue0 == 0
71
TempValue0 = Object.LightsFrame
72
TempValue0 >>= 3
73
TempValue0 += 632
74
Copy16x16Tile(452, TempValue0)
75
end if
76
Object.LightsFrame++
77
Object.LightsFrame %= 56
78
79
Object.PaletteTimer++
80
if Object.PaletteTimer == 5
81
Object.PaletteTimer = 0
82
Object.CurrentPalette++
83
Object.CurrentPalette %= 6
84
TempValue0 = Object.CurrentPalette
85
TempValue0 += 639
86
end if
87
SetActivePalette(Object.CurrentPalette, 0, Screen.YSize)
88
end sub
89
90
91
sub ObjectStartup
92
Object[19].Type = TypeName[R8 Setup]
93
Object[19].Priority = PRIORITY_ACTIVE
94
95
CopyPalette(0, 1)
96
CopyPalette(0, 2)
97
CopyPalette(0, 3)
98
CopyPalette(0, 4)
99
CopyPalette(0, 5)
100
101
TempValue0 = 0
102
TempValue1 = 0
103
TempValue2 = 32
104
while TempValue0 < 6
105
LoadPalette("R81C_PalCycle.act", TempValue0, 160, TempValue1, TempValue2)
106
TempValue0++
107
TempValue1 += 32
108
TempValue2 += 32
109
loop
110
end sub
111
112
113
// ========================
114
// Editor Subs
115
// ========================
116
117
sub RSDKDraw
118
DrawSprite(0)
119
end sub
120
121
122
sub RSDKLoad
123
LoadSpriteSheet("Global/Display.gif")
124
SpriteFrame(-16, -16, 32, 32, 1, 143) // #0 - "Script" Icon
125
126
SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")
127
end sub
128
129