Add dimension-tripper theme
(Sourced from shakesoda/stepmania.)
@@ -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
|
||||
|
After Width: | Height: | Size: 22 KiB |
|
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
|
||||
|
After Width: | Height: | Size: 32 KiB |
|
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"))
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
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
|
||||
@@ -0,0 +1,3 @@
|
||||
[ThemeInfo]
|
||||
DisplayName=Dimension Tripper
|
||||
Author=shakesoda
|
||||
@@ -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
|
||||