Add dimension-tripper theme

(Sourced from shakesoda/stepmania.)
This commit is contained in:
Colby Klein
2013-10-07 12:48:42 -07:00
parent b34ab5577c
commit 02ec3d871b
22 changed files with 1273 additions and 0 deletions
@@ -0,0 +1,3 @@
return Def.ActorFrame {
}
@@ -0,0 +1,5 @@
return Def.ActorFrame {
Def.Quad {
InitCommand=cmd(FullScreen;diffuse,{1,1,1,0.85})
}
}
@@ -0,0 +1 @@
helveticaneue/_helveticaneuelt std 20px
@@ -0,0 +1 @@
helveticaneue/_helveticaneuelt std 20px
Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

@@ -0,0 +1,352 @@
[common]
Baseline=21
Top=5
LineSpacing=23
DrawExtraPixelsLeft=2
DrawExtraPixelsRight=0
AdvanceExtraPixels=0
[main]
Line 0= !"#$%&'()*+,-.
Line 1=/0123456789:;<=
Line 2=>?@ABCDEFGHIJKL
Line 3=MNOPQRSTUVWXYZ[
Line 4=\]^_`abcdefghij
Line 5=klmnopqrstuvwxy
Line 6=z{|}~€‚ƒ„…†‡ˆ‰Š
Line 7=‹ŒŽ‘’“”•–—˜™š›œ
Line 8=žŸ ¡¢£¤¥¦§¨©ª«¬
Line 9=­®¯°±²³´µ¶·¸¹º»
Line 10=¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊ
Line 11=ËÌÍÎÏÐÑÒÓÔÕÖרÙ
Line 12=ÚÛÜÝÞßàáâãäåæçè
Line 13=éêëìíîïðñòóôõö÷
Line 14=øùúûüýþÿ
0=6
1=5
2=9
3=11
4=11
5=20
6=13
7=6
8=5
9=5
10=7
11=12
12=6
13=8
14=6
15=7
16=11
17=11
18=11
19=11
20=11
21=11
22=11
23=11
24=11
25=11
26=6
27=6
28=12
29=12
30=12
31=11
32=16
33=13
34=14
35=14
36=14
37=12
38=11
39=15
40=14
41=5
42=10
43=13
44=11
45=17
46=14
47=15
48=13
49=15
50=14
51=13
52=11
53=14
54=12
55=19
56=12
57=13
58=12
59=5
60=7
61=5
62=12
63=10
64=4
65=11
66=12
67=11
68=12
69=11
70=6
71=11
72=11
73=4
74=4
75=10
76=4
77=17
78=11
79=11
80=12
81=12
82=7
83=10
84=6
85=11
86=10
87=15
88=10
89=10
90=10
91=7
92=4
93=7
94=12
95=11
96=6
97=11
98=9
99=20
100=11
101=11
102=4
103=23
104=13
105=5
106=21
107=12
108=6
109=6
110=9
111=9
112=10
113=10
114=20
115=4
116=20
117=10
118=5
119=18
120=10
121=13
122=6
123=5
124=11
125=11
126=11
127=11
128=4
129=11
130=4
131=16
132=8
133=9
134=12
135=8
136=16
137=4
138=8
139=12
140=7
141=7
142=4
143=11
144=12
145=6
146=4
147=7
148=8
149=9
150=17
151=17
152=17
153=11
154=13
155=13
156=13
157=13
158=13
159=13
160=19
161=14
162=12
163=12
164=12
165=12
166=5
167=5
168=5
169=5
170=14
171=14
172=15
173=15
174=15
175=15
176=15
177=12
178=15
179=14
180=14
181=14
182=14
183=13
184=13
185=11
186=11
187=11
188=11
189=11
190=11
191=11
192=17
193=11
194=11
195=11
196=11
197=11
198=4
199=4
200=4
201=4
202=11
203=11
204=11
205=11
206=11
207=11
208=11
209=12
210=11
211=11
212=11
213=11
214=11
215=10
216=12
217=10
[alt]
Line 0= Ą˘Ł¤ĽŚ§¨Š
Line 1=ŞŤŹ­ŽŻ°ą˛ł
Line 2=´ľśˇ¸šşťź˝
Line 3=žżŔÁÂĂÄĹĆÇ
Line 4=ČÉĘËĚÍÎĎĐŃ
Line 5=ŇÓÔŐÖ×ŘŮÚŰ
Line 6=ÜÝŢßŕáâăäĺ
Line 7=ćçčéęëěíîď
Line 8=đńňóôőö÷řů
Line 9=úűüýţ˙
0=6
1=13
2=4
3=11
4=11
5=10
6=13
7=11
8=4
9=13
10=13
11=12
12=12
13=8
14=12
15=12
16=8
17=11
18=4
19=4
20=4
21=6
22=10
23=4
24=4
25=10
26=10
27=8
28=9
29=4
30=10
31=9
32=14
33=13
34=13
35=13
36=13
37=11
38=14
39=14
40=14
41=12
42=13
43=12
44=13
45=5
46=5
47=14
48=14
49=13
50=13
51=15
52=15
53=16
54=15
55=12
56=14
57=13
58=14
59=13
60=14
61=13
62=12
63=11
64=7
65=11
66=11
67=11
68=11
69=4
70=10
71=11
72=10
73=11
74=11
75=11
76=11
77=4
78=4
79=12
80=11
81=10
82=10
83=11
84=11
85=11
86=11
87=12
88=7
89=10
90=11
91=10
92=11
93=10
94=6
95=4
Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

@@ -0,0 +1,352 @@
[common]
Baseline=29
Top=7
LineSpacing=33
DrawExtraPixelsLeft=2
DrawExtraPixelsRight=0
AdvanceExtraPixels=0
[main]
Line 0= !"#$%&'()*+,-.
Line 1=/0123456789:;<=
Line 2=>?@ABCDEFGHIJKL
Line 3=MNOPQRSTUVWXYZ[
Line 4=\]^_`abcdefghij
Line 5=klmnopqrstuvwxy
Line 6=z{|}~€‚ƒ„…†‡ˆ‰Š
Line 7=‹ŒŽ‘’“”•–—˜™š›œ
Line 8=žŸ ¡¢£¤¥¦§¨©ª«¬
Line 9=­®¯°±²³´µ¶·¸¹º»
Line 10=¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊ
Line 11=ËÌÍÎÏÐÑÒÓÔÕÖרÙ
Line 12=ÚÛÜÝÞßàáâãäåæçè
Line 13=éêëìíîïðñòóôõö÷
Line 14=øùúûüýþÿ
0=8
1=7
2=12
3=16
4=16
5=28
6=18
7=8
8=7
9=7
10=10
11=17
12=8
13=11
14=8
15=9
16=16
17=16
18=16
19=16
20=16
21=16
22=16
23=16
24=16
25=16
26=8
27=8
28=17
29=17
30=17
31=16
32=22
33=18
34=19
35=20
36=20
37=17
38=16
39=21
40=20
41=7
42=15
43=19
44=16
45=24
46=20
47=21
48=18
49=21
50=19
51=18
52=16
53=20
54=17
55=26
56=17
57=18
58=17
59=7
60=9
61=7
62=17
63=14
64=6
65=15
66=17
67=15
68=17
69=15
70=8
71=16
72=16
73=6
74=6
75=15
76=6
77=24
78=16
79=16
80=17
81=17
82=9
83=14
84=9
85=16
86=14
87=21
88=15
89=14
90=13
91=9
92=6
93=9
94=17
95=16
96=8
97=16
98=12
99=28
100=16
101=16
102=6
103=32
104=18
105=7
106=30
107=17
108=8
109=8
110=12
111=12
112=14
113=14
114=28
115=6
116=28
117=14
118=7
119=25
120=13
121=18
122=8
123=7
124=16
125=16
126=16
127=16
128=6
129=16
130=6
131=22
132=11
133=13
134=17
135=11
136=22
137=6
138=11
139=17
140=9
141=9
142=6
143=16
144=17
145=8
146=6
147=9
148=11
149=13
150=23
151=23
152=23
153=16
154=18
155=18
156=18
157=18
158=18
159=18
160=26
161=20
162=17
163=17
164=17
165=17
166=7
167=7
168=7
169=7
170=20
171=20
172=21
173=21
174=21
175=21
176=21
177=17
178=21
179=20
180=20
181=20
182=20
183=18
184=18
185=16
186=15
187=15
188=15
189=15
190=15
191=15
192=24
193=15
194=15
195=15
196=15
197=15
198=6
199=6
200=6
201=6
202=16
203=16
204=16
205=16
206=16
207=16
208=16
209=17
210=16
211=16
212=16
213=16
214=16
215=14
216=17
217=14
[alt]
Line 0= Ą˘Ł¤ĽŚ§¨Š
Line 1=ŞŤŹ­ŽŻ°ą˛ł
Line 2=´ľśˇ¸šşťź˝
Line 3=žżŔÁÂĂÄĹĆÇ
Line 4=ČÉĘËĚÍÎĎĐŃ
Line 5=ŇÓÔŐÖ×ŘŮÚŰ
Line 6=ÜÝŢßŕáâăäĺ
Line 7=ćçčéęëěíîď
Line 8=đńňóôőö÷řů
Line 9=úűüýţ˙
0=8
1=13
2=6
3=16
4=16
5=10
6=13
7=16
8=6
9=18
10=13
11=12
12=12
13=11
14=17
15=12
16=11
17=11
18=6
19=6
20=6
21=6
22=10
23=6
24=6
25=14
26=10
27=8
28=9
29=6
30=13
31=9
32=14
33=18
34=18
35=13
36=18
37=11
38=14
39=20
40=14
41=17
42=13
43=17
44=13
45=7
46=7
47=14
48=14
49=13
50=13
51=21
52=21
53=16
54=21
55=17
56=14
57=13
58=20
59=13
60=20
61=18
62=12
63=16
64=7
65=15
66=15
67=11
68=15
69=4
70=10
71=15
72=10
73=15
74=11
75=15
76=11
77=6
78=6
79=12
80=11
81=10
82=10
83=16
84=16
85=11
86=16
87=17
88=7
89=10
90=16
91=10
92=16
93=14
94=6
95=6
@@ -0,0 +1,23 @@
local Metric = function(c,k) return tonumber(THEME:GetMetric(c, k)) end
local width = Theme.MusicWheelItemWidth()
local height = Metric("MusicWheel", "ItemHeight")
local offset = Metric("MusicWheel", "ItemOffset")
return Def.ActorFrame {
Def.Quad {
InitCommand=function(self)
self:x(offset)
self:setsize(width,height)
self:blend('BlendMode_Add')
self:diffuse({1, 0.8, 0.7, 0.1})
self:effectclock('beat')
end,
CurrentSongChangedMessageCommand=function(self, params)
if not GAMESTATE:GetCurrentSong() then
self:stopeffect()
else
self:thump()
end
end
}
}
@@ -0,0 +1,43 @@
local t = Def.ActorFrame {}
local Metric = function(c,k) return tonumber(THEME:GetMetric(c, k)) end
local width = Theme.MusicWheelItemWidth()
local height = Metric("MusicWheel", "ItemHeight")
local offset = Metric("MusicWheel", "ItemOffset")
-- background mask
t[#t+1] = Def.Quad {}
t[#t].InitCommand = function(self)
self:x(offset)
self:setsize(width, height)
self:diffuse({0, 0, 0, 0.6})
end
t[#t+1] = LoadActor(THEME:GetPathG("", "_texture checkerboard"))
t[#t].InitCommand = function(self)
self:rainbow()
self:diffusealpha(0.05)
self:stretchto(-width/2 + offset, -height/2, width/2 + offset, height/2)
self:customtexturerect(0, 0, width/32, height/32)
self:texcoordvelocity(0.5, 0.25)
end
t[#t+1] = LoadActor(THEME:GetPathG("", "_texture checkerboard"))
t[#t].InitCommand = function(self)
self:rainbow()
self:diffusealpha(0.05)
self:stretchto(-width/2 + offset, -height/2, width/2 + offset, height/2)
self:customtexturerect(0, 0, width/32, height/32)
self:texcoordvelocity(0.5, -0.25)
end
t[#t+1] = LoadActor(THEME:GetPathG("", "_texture checkerboard"))
t[#t].InitCommand = function(self)
self:rainbow()
self:diffusealpha(0.05)
self:stretchto(-width/2 + offset, -height/2, width/2 + offset, height/2)
self:customtexturerect(0, 0, width/32, height/32)
self:texcoordvelocity(-0, 0.5)
end
return t
@@ -0,0 +1,27 @@
local t = Def.ActorFrame {}
local Metric = function(c,k) return tonumber(THEME:GetMetric(c, k)) end
local width = Theme.MusicWheelItemWidth()
local height = Metric("MusicWheel", "ItemHeight")
local offset = Metric("MusicWheel", "ItemOffset")
-- background top
t[#t+1] = Def.Quad {}
t[#t].InitCommand = function(self)
self:x(offset)
self:vertalign(bottom)
self:setsize(width, height/2)
self:diffusetopedge({0.05, 0.05, 0.05, 0.6})
self:diffusebottomedge({0.0, 0.0, 0.0, 0.6})
end
-- background bottom
t[#t+1] = Def.Quad {}
t[#t].InitCommand = function(self)
self:x(offset)
self:vertalign(top)
self:setsize(width, height/2)
self:diffuse({0, 0, 0, 0.6})
end
return t
@@ -0,0 +1,27 @@
local t = Def.ActorFrame {}
local Metric = function(c,k) return tonumber(THEME:GetMetric(c, k)) end
local width = Theme.MusicWheelItemWidth()
local height = Metric("MusicWheel", "ItemHeight")
local offset = Metric("MusicWheel", "ItemOffset")
-- background top
t[#t+1] = Def.Quad {}
t[#t].InitCommand = function(self)
self:x(offset)
self:vertalign(bottom)
self:setsize(width, height/2)
self:diffuse({0.1, 0.1, 0.1, 0.6})
end
-- background bottom
t[#t+1] = Def.Quad {}
t[#t].InitCommand = function(self)
self:x(offset)
self:vertalign(top)
self:setsize(width, height/2)
self:diffusebottomedge({0.2, 0.2, 0.2, 0.6})
self:diffusetopedge({0.1, 0.1, 0.1, 0.6})
end
return t
@@ -0,0 +1,153 @@
local t = Def.ActorFrame {}
local Metric = function(c,k) return tonumber(THEME:GetMetric(c, k)) end
local width = Theme.MusicWheelItemWidth()
local height = Metric("MusicWheel", "ItemHeight")
local offset = Metric("MusicWheel", "ItemOffset")
-- genre gen <3
local function GenerateRandomColors(song)
if not song then return 0, {} end
-- randomseed truncates float values, but we need more randomness.
-- move the number over several digits to compensate.
local length = song:MusicLengthSeconds()
if song:GetDisplayMainTitle() == "DVNO" then
return 2, { { 1, 0.8, 0, 1 }, { 1, 0.6, 0, 1 } }
end
if song:GetDisplayMainTitle() == "The Witches' Ball" then
return 3, { { 0.2, 0.1, 0.3, 1 }, { 0.7, 0.7, 1.0, 1 }, { 0.2, 0.1, 0.3, 1 } }
end
-- BMS files without BGM mess with this (zero). Use 120 instead.
if length == 0 then
length = 120
elseif length == 105 then -- ITG length hack
length = 1001
end
local seed = 10000*length
math.randomseed(seed)
-- Vary the amount of words returned, based on the seed.
local rand = math.random()
-- chances for word amount:
-- 2/10 for one, 7/10 for two, 1/10 for three
if rand < 0.2 then num = 1
elseif rand > 0.9 then num = 3
else num = 2 end
colors = {}
for i=1,num do
colors[i] = {}
math.randomseed(seed)
colors[i][1] = math.random();
math.randomseed(seed+5)
colors[i][2] = math.random();
math.randomseed(seed+10)
colors[i][3] = math.random();
math.randomseed(seed+15)
colors[i][4] = clamp(math.random(), 0.75, 1.0)
seed = seed + 1
end
return num, colors
end
local t2 = Def.ActorFrame {
SetMessageCommand = function(self, params)
local song = params.Song
local num, colors = GenerateRandomColors(song)
local children = {}
for i=1,self:GetNumChildren() do
children[i] = self:GetChild("MusicWheel_Quad"..i)
end
for k, v in pairs(children) do
v:visible(false)
if k <= num and song then
v:visible(true)
v:x(math.ceil(-width/2 + ((width-1)/num)*(k-1)))
local sub = num % 2 == 0 and 1 or 0
v:setsize(math.ceil((width-sub)/num), height)
v:diffuse(colors[k])
end
end
end
}
for i=1,3 do
t2[#t2+1] = Def.Quad {
Name="MusicWheel_Quad"..i,
InitCommand=function(self)
self:horizalign(left)
self:vertalign(bottom)
self:y(math.ceil(height/2))
self:diffusealpha(0.0)
end
}
end
t[#t+1] = t2
t[#t+1] = LoadActor(THEME:GetPathG("", "_texture checkerboard"))
t[#t].InitCommand = function(self)
self:stretchto(-width/2 + offset, -height/2*0.8, width/2 + offset, height/2*0.8)
self:customtexturerect(0, 0, width/16, height/16)
self:texcoordvelocity(0, 0.25)
end
t[#t].SetMessageCommand = function(self, params)
local song = params.Song
local num, colors = GenerateRandomColors(song)
if not colors[num] then return end
colors[num][1] = colors[num][1] + 0.25
colors[num][2] = colors[num][2] + 0.25
colors[num][3] = colors[num][3] + 0.25
self:SetTextureFiltering(false)
colors[num][4] = 0.125
self:blend(Blend.Add)
self:diffuse(colors[num])
end
-- background
t[#t+1] = Def.Quad {}
t[#t].InitCommand = function(self)
self:setsize(width, height * 0.8)
self:diffuse({0, 0, 0, 0.7})
end
t[#t+1] = LoadActor(THEME:GetPathG("", "_shigu"))
t[#t].InitCommand = cmd(visible,false;x,width/2-32;zoom,0.25;animate,false)
t[#t].SetMessageCommand = function(self, params)
local song = params.Song
if song and song:GetDisplayMainTitle():lower() == "sigsig" then
self:visible(true)
if params.HasFocus then
self:animate(true)
else
self:setstate(0)
self:animate(false)
end
else
self:visible(false)
end
end
t[#t+1] = LoadActor(THEME:GetPathG("", "_hax"))
t[#t].InitCommand = cmd(visible,false;x,width/2-32;zoom,0.25;animate,false)
t[#t].SetMessageCommand = function(self, params)
local song = params.Song
if song and song:MusicLengthSeconds() == 105 then
self:visible(true)
else
self:visible(false)
end
end
return t
@@ -0,0 +1,16 @@
local gc = Var("GameCommand");
return Def.ActorFrame {
Def.Quad {
InitCommand=cmd(zoomto,256,26;fadeleft,0.45;faderight,0.45),
OnCommand=cmd(diffuseshift;effectcolor1,color("0,0,0,0.5");effectcolor2,color("0,0,0,0.5")),
GainFocusCommand=cmd(stoptweening;decelerate,0.1;zoomto,256,26;diffusealpha,1),
LoseFocusCommand=cmd(stoptweening;accelerate,0.1;zoomto,SCREEN_WIDTH/2,0;diffusealpha,0)
},
LoadFont("Common Normal") .. {
Text=THEME:GetString("ScreenTitleMenu",gc:GetText()),
OnCommand=cmd(shadowlength,1),
GainFocusCommand=cmd(stoptweening;linear,0.1;zoom,1;diffuse,color("1,1,1,1")),
LoseFocusCommand=cmd(stoptweening;linear,0.1;zoom,0.75;diffuse,color("0.5,0.5,0.5,1"))
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

@@ -0,0 +1,94 @@
Theme = {}
Theme.MusicWheelItemWidth = function()
return tonumber(THEME:GetMetric("MusicWheel", "ItemWidth"))
end
Theme.MusicWheelTitleSet = function(self, params)
local song = params.Song
if not song then return end
local width = Theme.MusicWheelItemWidth()-20
local title = song:GetDisplayFullTitle()
local artist = song:GetDisplayArtist()
if title == "Let It Flow" and artist == "BANTU" then
self:jitter(true)
else
self:jitter(false)
end
if title:find("Katamari") then
self:rainbowscroll(true)
else
self:rainbowscroll(false)
end
if title == "KING of the SEA" then
self:zoom(1.5)
self:maxwidth(width*(1/1.5))
end
if (title:lower():find("hardstyle") or title:lower():find("hardcore")) and
params.HasFocus then
self:diffuseramp()
self:effectclock("bgm")
self:effectcolor1(color("#ccaaaa"))
else
self:stopeffect()
end
if artist == "Angerfist" and params.HasFocus then
self:diffuseramp()
self:effectclock("bgm")
self:effectcolor1(color("#ffaaaa"))
else
self:stopeffect()
end
end
Theme.MusicWheelSubtitleSet=function(self, params)
local song = params.Song
if not song then return end
-- I've got a few simfiles here with an annoying prefix here.
local subtitle = song:GetDisplaySubTitle()
if subtitle:sub(1, 2) == "- " then
self:settext(subtitle:sub(3))
end
end
Theme.MusicWheelArtistSet=function(self, params)
self:diffuse(color("#aaaaaa"))
end
Theme.MusicWheelAfterSet=function(self, params)
local width = Theme.MusicWheelItemWidth()-20
local mainMaxWidth = width
local subMaxWidth = width*(1/0.55)
local artistMaxWidth = width*(1/0.66)
local Title = self:GetChild("Title")
local Subtitle = self:GetChild("Subtitle")
local Artist = self:GetChild("Artist")
if Subtitle:GetText() == "" then
Title:maxwidth(mainMaxWidth)
Title:y(-8)
Title:zoom(1)
-- hide so that the game skips drawing.
Subtitle:visible(false)
Artist:zoom(0.66)
Artist:maxwidth(artistMaxWidth)
Artist:y(8)
else
Title:maxwidth(mainMaxWidth*1.25)
Title:y(-11)
Title:zoom(0.75)
-- subtitle below title
Subtitle:visible(true)
Subtitle:zoom(0.55)
Subtitle:y(0)
Subtitle:maxwidth(subMaxWidth)
Artist:zoom(0.6)
Artist:maxwidth(artistMaxWidth)
Artist:y(10)
end
end
+3
View File
@@ -0,0 +1,3 @@
[ThemeInfo]
DisplayName=Dimension Tripper
Author=shakesoda
+173
View File
@@ -0,0 +1,173 @@
[Global]
FallbackTheme=_fallback
[FadingBanner]
BannerFadeFromCachedCommand=diffusealpha,1;stoptweening;accelerate,0.05;glow,Color.Alpha( Color("White"), 0.45 );decelerate,0.075;diffusealpha,0;glow,Color("Invisible");
BannerOnCommand=
BannerFadeFromCachedCommand=diffusealpha,1;stoptweening;linear,0.1;glow,Color.Alpha(Color("White"),0.25);decelerate,0.15;glow,Color.Invisible;diffusealpha,0
BannerFadeOffCommand=diffusealpha,1;stoptweening;linear,0.1;diffusealpha,0
BannerResetFadeCommand=diffusealpha,1
[ScreenWithMenuElements]
ShowHeader=true
HeaderX=SCREEN_CENTER_X
HeaderY=SCREEN_TOP
HeaderOnCommand=
HeaderOffCommand=
ShowFooter=true
FooterX=SCREEN_CENTER_X
FooterY=SCREEN_BOTTOM
FooterOnCommand=
FooterOffCommand=
TimerX=SCREEN_RIGHT-32
TimerY=SCREEN_TOP+40-4.5
TimerOnCommand=
TimerOffCommand=
[MenuTimer]
Text1OnCommand=stopeffect;stoptweening;vertalign,bottom;horizalign,right;shadowlengthy,1
Text1FormatFunction=function(time) \
return string.format("%0.0f", math.floor(time)) \
end
Text2OnCommand=stopeffect;stoptweening;vertalign,bottom;horizalign,left;zoom,0.6;shadowlengthy,1
Text2FormatFunction=function(time) local remainder=time-math.floor(time); local digit=math.floor(remainder*100); return string.format("%02.0f", digit) end
FrameOnCommand=
Warning10Command=diffuseshift;effectperiod,1;effectcolor2,Color("Red");effectcolor1,color("0.5,0,0,1");
[ScreenTitleMenu]
ShowHeader=true
ShowFooter=true
ScrollerColors="Exit:#ff0000"
[StepsDisplay]
FrameX=0
FrameY=0
FrameOnCommand=
FrameLoadCommand=
FrameSetCommand=%function(self,param) if param.CustomDifficulty then self:diffuse(CustomDifficultyToDarkColor(param.CustomDifficulty)) end end
NumTicks=10
MaxTicks=10
TicksX=0
TicksY=0
TicksOnCommand=shadowlength,0;
TicksSetCommand=%function(self,param) end;
MeterX=(128+32)/2
MeterY=-1
MeterOnCommand=textglowmode,"TextGlowMode_Inner";shadowlength,1.5;
MeterSetCommand=%function(self,param) \
if param.CustomDifficulty then \
self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \
end; \
if param.Meter then \
if param.Meter >= 100 then \
self:basezoom(0.8); \
self:glowshift(); \
elseif param.Meter >= 10 then \
self:basezoom(1); \
self:glowshift(); \
else \
self:basezoom(1); \
self:stopeffect(); \
end; \
end; \
end;
ShowDescription=true
DescriptionX=(-32)/2
DescriptionY=-1
DescriptionOnCommand=shadowlength,1.5;
DescriptionSetCommand=%function(self,param) \
if self:GetText() == "" then \
self:settext("Edit"); \
end; \
if param.CustomDifficulty then \
self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \
end; \
end;
ShowAutogen=false
AutogenX=0
AutogenY=0
AutogenOnCommand=
AutogenSetCommand=
AutogenTweenOnCommand=
AutogenTweenOffCommand=
ShowStepsType=false
StepsTypeX=0
StepsTypeY=0
StepsTypeOnCommand=
[ScreenSelectMusic]
BannerX=SCREEN_CENTER_X
BannerY=SCREEN_CENTER_Y-65
BannerOnCommand=scaletoclipped,256,80
MusicWheelX=SCREEN_CENTER_X
MusicWheelY=SCREEN_CENTER_Y-150
MusicWheelOnCommand=draworder,-1
[MusicWheel]
ItemWidth=math.max(math.ceil(SCREEN_WIDTH/3), 220)
ItemHeight=70
ItemOffset=0
ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \
local threshold, distance = 1, Theme.MusicWheelItemWidth() \
function sign(x) return x > 0 and 1 or x < 0 and -1 or 0 end \
self:y((math.abs(offsetFromCenter)-1) * 70) \
if offsetFromCenter < threshold and offsetFromCenter > -threshold then \
self:x(offsetFromCenter * distance) \
self:y(0) \
elseif offsetFromCenter <= -threshold then \
self:x(-distance * threshold) \
elseif offsetFromCenter >= threshold then \
self:x(distance * threshold) \
end \
end
NumWheelItems=16
[MusicWheelItem]
WheelNotifyIconX=-128-16+0.5
WheelNotifyIconOnCommand=shadowlength,2;
SongNameX=-Theme.MusicWheelItemWidth()/2+10
CourseX=-120
CourseOnCommand=maxwidth,208;horizalign,left
SectionExpandedX=-Theme.MusicWheelItemWidth()/2+10
SectionExpandedY=0
SectionExpandedOnCommand=maxwidth,194;horizalign,left;shadowcolor,color("0.1,0.1,0.1,0.25")
SectionCollapsedX=-Theme.MusicWheelItemWidth()/2+10
SectionCollapsedY=0
SectionCollapsedOnCommand=maxwidth,194;horizalign,left;shadowcolor,color("0.1,0.1,0.1,0.2")
SectionCountX=Theme.MusicWheelItemWidth()/2-20
SectionCountOnCommand=zoom,0.75;strokecolor,Color("Outline")
RouletteOnCommand=maxwidth,400;shadowlength,1;basezoom,0.75;rainbowscroll,true;pulse;effectmagnitude,1,1.125,1;effectperiod,3
SortX=-132
SortY=-2
SortOnCommand=maxwidth,256;horizalign,left;shadowlength,1;shadowcolor,color("0,0,0,0.325")
ModeX=-132
ModeY=-2
ModeOnCommand=maxwidth,256;horizalign,left;strokecolor,Color("Outline")
GradeP1X=106+16
GradeP1Y=-8
GradeP2X=110+16
GradeP2Y=8
[TextBanner]
TitleOnCommand=horizalign,left;shadowlengthy,1;shadowcolor,color("0,0,0,0.5")
; lots of misc effects for songs
TitleSetMessageCommand=%Theme.MusicWheelTitleSet
SubtitleOnCommand=horizalign,left;shadowlengthy,1;shadowcolor,color("0,0,0,0.5")
SubtitleSetMessageCommand=%Theme.MusicWheelSubtitleSet
ArtistOnCommand=horizalign,left;shadowlengthy,1;shadowcolor,color("0,0,0,0.5")
ArtistSetMessageCommand=%Theme.MusicWheelArtistSet
ArtistPrependString="/"
AfterSetCommand=%Theme.MusicWheelAfterSet
[SongManager]
SongGroupColor1=color("#ffffff") -- white
ExtraColor=color("#ffaa88") -- pink