Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-CD-2011-Script-Decompilation
Path: blob/main/Scripts/LBoards/BGAnimation.txt
1319 views
1
//----------------Sonic CD BG Animation Script----------------//
2
//--------Scripted by Christian Whitehead 'The Taxman'--------//
3
//-------Unpacked By Rubberduckycooly's Script Unpacker-------//
4
//------------------Only exist in WP7 Versions----------------//
5
6
// Aliases
7
#alias Object.Value1 : Object.VLLYOffset // Vertical Line Left
8
#alias Object.Value2 : Object.VLRYOffset // Vertical Line Right
9
#alias Object.Value3 : Object.ArrowXOffset
10
11
12
13
sub ObjectMain
14
Object.VLLYOffset--
15
if Object.VLLYOffset < -31
16
Object.VLLYOffset += 32
17
end if
18
19
Object.VLRYOffset++
20
if Object.VLRYOffset > -1
21
Object.VLRYOffset -= 32
22
end if
23
24
Object.ArrowXOffset++
25
if Object.ArrowXOffset > -1
26
Object.ArrowXOffset -= 96
27
end if
28
end sub
29
30
31
sub ObjectDraw
32
if Object.DrawOrder == 3
33
DrawRect(0, 0, 2, Screen.YSize, 0, 0, 0, 255)
34
35
TempValue0 = Screen.CenterX
36
TempValue0 -= 20
37
DrawRect(0, 160, TempValue0, 2, 0, 0, 0, 255)
38
39
TempValue0 += 36
40
DrawRect(TempValue0, 0, Screen.CenterX, Screen.YSize, 224, 0, 0, 255)
41
DrawRect(TempValue0, 175, Screen.CenterX, 38, 0, 0, 96, 255)
42
43
TempValue0 -= 38
44
DrawRect(2, 0, TempValue0, 160, 160, 160, 64, 255)
45
DrawRect(2, 162, TempValue0, 78, 0, 128, 0, 255)
46
DrawRect(0, 31, Screen.XSize, 9, 0, 0, 0, 255)
47
48
TempValue1 = Object.ArrowXOffset
49
DrawSpriteScreenXY(3, TempValue1, 226)
50
DrawSpriteScreenXY(4, TempValue1, 226)
51
52
TempValue0 += 2
53
TempValue1 = Object.VLLYOffset
54
TempValue1 >>= 1
55
DrawSpriteScreenXY(1, TempValue0, TempValue1)
56
57
TempValue1 = Object.VLRYOffset
58
TempValue1 >>= 1
59
DrawSpriteScreenXY(2, TempValue0, TempValue1)
60
SetDrawListEntityRef(Object.EntityNo, 4, Screen.DrawListSize[4])
61
Screen.DrawListSize[4]++
62
Object.DrawOrder = 4
63
else
64
DrawRect(0, 213, Screen.XSize, 13, 0, 0, 0, 255)
65
DrawSpriteScreenXY(0, 16, 195)
66
67
TempValue0 = Screen.CenterX
68
TempValue0 += 19
69
DrawSpriteScreenXY(5, TempValue0, 213)
70
Object.DrawOrder = 3
71
end if
72
end sub
73
74
75
sub ObjectStartup
76
LoadSpriteSheet("LBoards/Leaderboards.gif")
77
78
LoadPalette("TimeAttack.act", 0, 0, 0, 256)
79
80
MatrixTranslateXYZ(MAT_WORLD, 0, 0, 0)
81
MatrixRotateXYZ(MAT_VIEW, 0, 0, 0)
82
83
SpriteFrame(0, 0, 152, 30, 70, 90) // #0 - Leaderboards
84
SpriteFrame(0, 0, 24, 256, 463, 1) // #1 - BG Vertical Line First Half
85
SpriteFrame(24, 0, 24, 256, 487, 1) // #2 - BG Vertical Line Second Half
86
SpriteFrame(0, 0, 448, 14, 1, 125) // #4 - BG Right Arrow Line
87
SpriteFrame(448, 0, 448, 14, 1, 125) // #5 - BG Left Arrow Line
88
SpriteFrame(0, 0, 104, 13, 358, 111) // #6 - Sonic The Hedgehog CD
89
SpriteFrame(0, 0, 64, 16, 326, 188) // #7 - Next
90
SpriteFrame(0, 0, 64, 16, 326, 205) // #8 - Next Highlight
91
92
Object[31].Type = TypeName[BG Animation]
93
end sub
94
95
96
// ========================
97
// Editor Subs
98
// ========================
99
100
sub RSDKDraw
101
DrawSprite(0)
102
end sub
103
104
105
sub RSDKLoad
106
LoadSpriteSheet("LBoards/Leaderboards.gif")
107
SpriteFrame(0, 0, 152, 30, 70, 90) // #0 - Leaderboards
108
109
SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")
110
end sub
111
112