Right, forgot this.

This commit is contained in:
Jason Felds
2011-02-22 19:46:37 -05:00
15 changed files with 602 additions and 0 deletions
@@ -0,0 +1,9 @@
-- this file returns a single quad that represents the background of
-- ScreenTitleMenu.
return Def.Quad{
-- FullScreen is defined in Themes/_fallback/Scripts/02 Actor.lua in sm-ssc.
-- colors can either be entered as hex ("#FFFFFFFF") or 0..1 ("1.0,1.0,1.0,1.0")
-- where the values are Red, Green, Blue, and Alpha (transparency).
InitCommand=cmd(FullScreen;diffuse,color("#fffdf2"));
};
@@ -0,0 +1,62 @@
-- This file returns an ActorFrame that holds a few objects.
-- Since I like to collapse similar code, here is a simple example:
local lineWidth = SCREEN_WIDTH*0.9;
-- previously, I had this set to SCREEN_WIDTH*0.8 in each of the
-- Def.Quad blocks below. Now I just use lineWidth and I get two advantages:
-- 1) I can change it and it takes effect in multiple places.
-- 2) I get a human readable name out of it.
-- It makes your code easier to read and work with.
local lineTime = 0.625;
-- same with this code.
return Def.ActorFrame {
Def.ActorFrame{
Name="Flourishes";
-- it has to be 0.05 since 0.9 uses up space on both sides.
InitCommand=cmd(x,SCREEN_LEFT+(SCREEN_WIDTH*0.05);y,SCREEN_CENTER_Y;);
Def.Quad{
Name="Red";
InitCommand=cmd(horizalign,left;zoomto,0,4;diffuse,color("#DA8989");diffuserightedge,color("#FFBBBB"));
OnCommand=cmd(sleep,0.1;linear,lineTime;zoomx,lineWidth);
};
Def.Quad{
Name="Yellow";
InitCommand=cmd(y,4;horizalign,left;zoomto,0,4;diffuse,color("#DAD989");diffuserightedge,color("#FFFCBB"));
OnCommand=cmd(sleep,0.05;linear,lineTime;zoomx,lineWidth);
};
Def.Quad{
Name="Blue";
InitCommand=cmd(y,8;horizalign,left;zoomto,0,4;diffuse,color("#89C6DA");diffuserightedge,color("#BBEEFF"));
OnCommand=cmd(linear,lineTime;zoomx,lineWidth);
};
};
-- LoadActor() is used to automatically load objects.
-- You'll be using it a lot.
-- THEME:GetPathG() gets a file from the Graphics folder.
-- What graphic depends on the arguments.
-- There must always be two, and there usually is a space between the
-- first and second, unless you perform a trick like this:
LoadActor( THEME:GetPathG("","_common/_logo") ) .. {
-- the InitCommand puts the logo 44 pixels above vertical center
-- and moves it 60 pixels to the left of horizontal center.
-- diffusealpha,0 makes the object invisible,
-- which is handy for transitions...
InitCommand=cmd(x,SCREEN_CENTER_X*0.8125;y,SCREEN_CENTER_Y-44;diffusealpha,0;);
-- ...as we see in the OnCommand. linear means to perform the next
-- commands over a span of time (in seconds).
-- diffusealpha,1 makes the logo fade in when applied here.
OnCommand=cmd(linear,0.5;diffusealpha,1;);
};
-- Creative Commons logo, using a local file in the same directory:
LoadActor( "creativecommons" )..{
InitCommand=cmd(x,SCREEN_LEFT+64;y,SCREEN_BOTTOM-48;Real);
};
};
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

@@ -0,0 +1,392 @@
[main]
Baseline=23
Top=6
LineSpacing=28
DrawExtraPixelsLeft=1
DrawExtraPixelsRight=0
AdvanceExtraPixels=0
0=10
1=10
2=10
3=10
4=10
5=10
6=10
7=10
8=10
9=10
10=10
11=10
12=10
13=10
14=10
15=10
16=10
17=10
18=10
19=10
20=10
21=10
22=10
23=10
24=10
25=10
26=10
27=10
28=10
29=10
30=10
31=10
32=7
33=9
34=13
35=13
36=13
37=24
38=17
39=7
40=8
41=8
42=13
43=14
44=7
45=8
46=7
47=7
48=13
49=13
50=13
51=13
52=13
53=13
54=13
55=13
56=13
57=13
58=7
59=7
60=14
61=14
62=14
63=12
64=19
65=17
66=15
67=15
68=17
69=13
70=12
71=17
72=17
73=7
74=9
75=16
76=12
77=23
78=17
79=19
80=13
81=19
82=15
83=12
84=13
85=17
86=16
87=24
88=16
89=16
90=13
91=8
92=7
93=8
94=14
95=12
96=7
97=13
98=15
99=11
100=15
101=13
102=9
103=15
104=15
105=7
106=7
107=13
108=7
109=21
110=15
111=15
112=15
113=15
114=9
115=9
116=9
117=15
118=12
119=20
120=12
121=12
122=12
123=8
124=5
125=8
126=14
127=10
128=13
129=10
130=7
131=13
132=13
133=24
134=13
135=13
136=7
137=24
138=12
139=7
140=23
141=10
142=13
143=10
144=10
145=7
146=7
147=13
148=13
149=12
150=12
151=24
152=7
153=24
154=9
155=7
156=23
157=12
158=10
159=16
160=7
161=9
162=13
163=13
164=13
165=13
166=5
167=13
168=7
169=19
170=9
171=13
172=14
173=8
174=19
175=7
176=10
177=14
178=9
179=9
180=7
181=15
182=14
183=7
184=7
185=9
186=10
187=13
188=20
189=20
190=20
191=12
192=17
193=17
194=17
195=17
196=17
197=17
198=23
199=15
200=13
201=13
202=13
203=13
204=7
205=7
206=7
207=7
208=17
209=17
210=19
211=19
212=19
213=19
214=19
215=14
216=19
217=17
218=17
219=17
220=17
221=16
222=13
223=15
224=13
225=13
226=13
227=13
228=13
229=13
230=21
231=11
232=13
233=13
234=13
235=13
236=7
237=7
238=7
239=7
240=15
241=15
242=15
243=15
244=15
245=15
246=15
247=14
248=15
249=15
250=15
251=15
252=15
253=12
254=15
255=12
[alt]
0=10
1=10
2=10
3=10
4=10
5=10
6=10
7=10
8=10
9=10
10=10
11=10
12=10
13=10
14=10
15=10
16=10
17=10
18=10
19=10
20=10
21=10
22=10
23=10
24=10
25=10
26=10
27=10
28=10
29=10
30=10
31=10
32=7
33=12
34=7
35=12
36=13
37=10
38=11
39=13
40=7
41=12
42=11
43=9
44=11
45=8
46=13
47=11
48=10
49=11
50=7
51=7
52=7
53=7
54=9
55=7
56=7
57=9
58=9
59=7
60=8
61=7
62=12
63=8
64=13
65=17
66=17
67=12
68=17
69=10
70=12
71=15
72=12
73=13
74=11
75=13
76=11
77=7
78=7
79=13
80=13
81=13
82=13
83=19
84=19
85=13
86=19
87=14
88=13
89=12
90=17
91=12
92=17
93=16
94=9
95=15
96=7
97=13
98=13
99=11
100=13
101=5
102=9
103=11
104=9
105=13
106=10
107=13
108=10
109=7
110=7
111=13
112=11
113=11
114=11
115=15
116=15
117=11
118=15
119=14
120=7
121=11
122=15
123=11
124=15
125=12
126=6
127=7
@@ -0,0 +1,30 @@
-- This file is used to define how the items should look on ScreenTitleMenu.
-- The syntax is different because I took this code from moonlight. :)
--[[
Concepts used:
* THEME:GetString(screen,string)
* zoom
* shadowlength
* diffuse
* halign (0 = left, 0.5 = middle, 1 = right)
* strokecolor
* stoptweening
* accelerate
--]]
local t = Def.ActorFrame{
LoadFont( "_frutiger roman" ) ..{
-- This line tries to find a corresponding line in the current language
-- ini file; If it doesn't, (and you haven't disabled error messages,)
-- then an error will pop up telling you where you need to add the
-- string.
Text=THEME:GetString( 'ScreenTitleMenu', Var("GameCommand"):GetText() );
InitCommand=cmd(zoom,0.85;y,-1;shadowlength,0;diffuse,color("#000000");halign,1;strokecolor,color("0,0,0,0"););
DisabledCommand=cmd( diffuse,color("0.45,0,0,1") );
GainFocusCommand=cmd(stoptweening;accelerate,0.15;diffuse,color("#000000");strokecolor,color("0.85,0.9,1,0.75"););
LoseFocusCommand=cmd(stoptweening;accelerate,0.2;diffuse,color("#888888");strokecolor,color("0,0,0,0"););
};
};
return t;
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

+6
View File
@@ -0,0 +1,6 @@
[Common]
WindowTitle=Hello World (and other sm-ssc theming examples)
[ScreenTitleMenu]
Game Start=Enter Guide
Tutorial=Tutorial Series
+6
View File
@@ -0,0 +1,6 @@
# [en] ThemeInfo is used to set the theme's name (as it appears in the options
# menu), as well as the author (which shows up on ScreenInit, assuming you use it
# in your them).
[ThemeInfo]
DisplayName=Hello World
Author=SSC
Binary file not shown.
Binary file not shown.
+72
View File
@@ -0,0 +1,72 @@
# Hello World
# (and other sm-ssc theming examples)
# A theme by various contributors. Sign your comments if you wish.
# contributors:
# AJ Kelly of the Spinal Shark Collective (http://ssc.ajworld.net/)
################################################################################
#
[Common]
# InitialScreen defines the starting screen of the theme.
# It can either be a string or a Lua function that returns a string.
InitialScreen="ScreenTitleMenu"
################################################################################
# [core] Core Screens; these are the concrete implementations.
[ScreenTitleMenu]
PrevScreen="ScreenTitleMenu"
# These settings are used to disable the attract sequence:
IdleTimeoutSeconds=-1
IdleTimeoutScreen="ScreenTitleMenu"
# These settings define what options appear on the menu:
#ChoiceNames="1,4,5,6,7"
ChoiceNames="1,2,4,7"
Choice1="applydefaultoptions;screen,ScreenProfileLoad;text,Game Start"
Choice2="text,Tutorial"
Choice4="screen,ScreenOptionsService;text,Options"
Choice7="screen,ScreenExit;text,Exit"
# These control the placement of the items, as well as the list:
ScrollerX=SCREEN_RIGHT-44
ScrollerY=SCREEN_CENTER_Y+32
ScrollerTransform=function(self,offset,itemIndex,numItems) self:y(27*offset) end
################################################################################
# [guide] The guide splits the elements of StepMania theming into different sections. #
# All guide pages aside from ScreenGuideMain MUST be prefixed with "Guide" in
# order to differentiate them from the core screens.
[ScreenGuideMain]
## Metrics
## Fonts
## Graphics
## BGAnimations
### Decorations (simpler)
### Overlay/Underlay (can be more complex)
## Sounds
## Scripts
## the Other folder
################################################################################
# [ref] The reference section contains a complete listing of commands and examples of how they work. #
# All reference pages aside from ScreenReferenceMain MUST be prefixed with "Reference"
# in order to differentiate them from the core screens.
[ScreenReferenceMain]
## Screens
## Classes
## Etc.
################################################################################
# [tutor] Tutorials are guides to implementing specific things #
[ScreenTutorialMain]
+25
View File
@@ -0,0 +1,25 @@
Hello World (and other sm-ssc theming examples)
A theme by various contributors.
-----------------------------------------------
This theme and its accompanying documentation are licensed under
the Creative Commons Attribution-Share Alike 3.0 license.
The license text can be viewed at:
http://creativecommons.org/licenses/by-sa/3.0/us/
================================================================================
Table of Contents
Introduction [intro]
Chapter List [chapt]
[others tba]
================================================================================
Introduction [intro]
Hello, and welcome to Hello World (and other sm-ssc theming examples).
This theme and accompanying documentation are provided for people new to
theming for StepMania, using sm-ssc as a base.
================================================================================
The Chapters [chapt]