Removed test themes and stuff.midi, as well as themekit. Themekit can be brought back when it's more than a placeholder.

This commit is contained in:
Colby Klein
2010-01-27 11:14:30 -08:00
parent 5b6a2f1df0
commit df52494701
97 changed files with 0 additions and 13684 deletions
-103
View File
@@ -1,103 +0,0 @@
Theme Stuff: Editors Choice Edition
---------------------------------------
Theme Screen Loops
---------------------------------------
Honestly, SM-SSC wont really go anywhere until we have the graphical part setup
for it, and fittingly enough, the most brutal: THE THEME(S). This is pretty
much the core problem StepMania has had so far, and we should aim to keep it
simple, stupid, so that everyone who wants a chance at making themes for the
'new age', will be able to. Here, I decide to document some ways to make this
happen, by planning the main loop of theme junk ahead of time, so that way,
when you design the theme, you can create a clear path of what to do, and what
you're going to have to setup.
---------------------------------------
The Loops
---------------------------------------
"Default"
Suited for dance esque gameplay, as stepmania was originally designed for.
fairly easy to modify, but horrid to make usable for other gametypes. do note
that this is using the alpha 4 version of this setup, to include alot of stuff
we might miss.
#-------------------------------------#
[00.A] ScreenCompany
[00.B] ScreenDemonstration
[00.C] ScreenHowToPlay
[00.D] ScreenRanking
# Input
[01.A] ScreenTitleMenu
[01.B] ScreenTitlePay
#
[02.A] ScreenProfileLoad
[02.B] ScreenCaution
#
[03.A] ScreenSelectStyle
[03.B] ScreenSelectPlayMode
[03.C] ScreenSelectMusic
#
[04.A] ScreenPlayerOptions
[04.B] ScreenSongOptions
#
[05.A] ScreenStage
[05.B] ScreenGameplay
#
[06.A] ScreenEvaluation
[06.B] ScreenEvaluationStage
[06.C] ScreenEvaluationNonstop
[06.D] ScreenEvaluationOni
[06.E] ScreenEvaluationRave
#
[07.A] ScreenProfileSave
[07.B] ScreenNameEntry
#
[08.A] ScreenGameOver
[08.B] ScreenEnding
[08.C] ScreenEnding2
[08.D] ScreenEnding3
#-------------------------------------#
"Opttimized"
Suited for generic gameplay. A path that I beleive would be best to use in this
project, simply because it saves everyone time and stress. This might be under
a ton of editing cuz I stewpid. It still appeals to dance, but that might
change.
#-------------------------------------#
[00.A] ScreenBoot
#
[01.A] ScreenSetupPhaseOne
[01.B] ScreenSetupPhaseTwo
[01.C] ScreenSetupPhaseThree
# Input
[02.A] ScreenTitleMenu
[02.B] ScreenTitleMenuAuxiliary
#
[03.A] ScreenCustomizationHome
[03.B] ScreenCustomizationGameplay
[03.C] ScreenCustomizationSystem
[03.D] ScreenCustomizationGraphical
#
[04.A] ScreenProfileLoad
[04.B] ScreenCaution
#
[05.A] ScreenSelectPlayStyle
[05.B] ScreenSelectPlayMode
[05.C] ScreenSelectMusic
#
[06.A] ScreenPlayerOptions
[06.B] ScreenSongOptions
#
[07.A] ScreenStage
[07.B] ScreenGameplay
#
[08.A] ScreenEvaluation
[08.B] ScreenEvaluationStage
#
[09.A] ScreenProfileSave
[09.B] ScreenNameEntryTraditional
#
[10.A] ScreenGameOver
[10.B] ScreenEnding
#
[11.A] ScreenCreditsCondensed
[11.B] ScreenCreditsExpanded
#-------------------------------------#
@@ -1,40 +0,0 @@
local t = Def.ActorFrame {};
local x = Def.ActorFrame {
-- Name = 'Scroller';
-- NumItemsToDraw=10;
-- NumItemsToDraw=GAMESTATE:GetCurrentSong():GetStepsSeconds() or GAMESTATE:GetCurrentCourse():GetTotalSeconds(GAMESTATE:GetCurrentSteps(GAMESTATE:GetMasterPlayerNumber()));
-- InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y);
-- InitCommand=cmd(SetSecondsPauseBetweenItems,0;SetSecondsPerItem,2;ScrollWithPadding,0,0;SetLoop,true;);
-- OnCommand=cmd(z,-256;rotationx,-30;spin;effectmagnitude,0,32,0);
-- OnCommand=cmd(x,SCREEN_CENTER_X*2;rotationy,30;bob;effectmagnitude,SCREEN_CENTER_X*4,0,0;effectclock,'beat';effectperiod,32);
--[[ TransformFunction=function(self, offset, itemIndex, numItems)
self:x((itemIndex)*SCREEN_WIDTH);
if itemIndex%2 == 0 then
-- self:zoomx(-1);
-- self:rotationz(180);
-- self:addx(SCREEN_CENTER_X);
-- self:addy(-SCREEN_CENTER_Y);
-- self:pulse();
end;
-- self:zoom();
end; --]]
};
x[#x+1] = Def.ActorFrame {
Def.ActorProxy {
OnCommand=function(self)
self:SetTarget( SCREENMAN:GetTopScreen():GetChild('PlayerP1') );
self:visible(true);
end;
-- OnCommand=cmd(zoom,1);
};
Def.ActorProxy {
OnCommand=function(self)
self:SetTarget( SCREENMAN:GetTopScreen():GetChild('PlayerP2') );
self:visible(true);
end;
-- OnCommand=cmd(zoom,1);
};
};
t[#t+1] = x;
return t
@@ -1,116 +0,0 @@
local t = LoadFallbackB();
t[#t+1] = Def.ActorFrame {
InitCommand=cmd(x,SCREEN_CENTER_X*1.375;y,SCREEN_CENTER_Y);
SetCommand=function(self)
local c = self:GetChildren();
local SongOrCourse;
local Info = { Title, Genre, Artist, Meter, BPMs };
if GAMESTATE:GetCurrentSong() then
SongOrCourse = GAMESTATE:GetCurrentSong();
elseif GAMESTATE:GetCurrentCourse() then
SongOrCourse = GAMESTATE:GetCurrentCourse();
else
return;
end;
--
Info.Title = SongOrCourse:GetDisplayFullTitle();
Info.Artist = SongOrCourse:GetDisplayArtist();
Info.Genre = SongOrCourse:GetGenre();
Info.Meter = GAMESTATE:GetCurrentSteps( GAMESTATE:GetMasterPlayerNumber() ):GetMeter();
Info.BPMS = { 0, 0 };
--
c.Title:settext( Info.Title );
-- Title Size Check.
if c.Title:GetWidth() >= SCREEN_CENTER_X*1.375-48 then
c.Title:zoom(0.75);
c.Title:maxwidth( ( SCREEN_CENTER_X*1.375-48 ) / 0.75);
else
c.Title:zoom(1);
c.Title:maxwidth(SCREEN_CENTER_X*1.375-48);
end
--[[ -- Genre Text Check
if Info.Genre == "" then
Info.Genre = "?";
else
Info.Genre = Info.Genre;
end; --]]
c.Genre:settext( Info.Genre );
--
c.Artist:settext( Info.Artist );
-- BPM Check
if string.find(tostring(c.BPMDisplay:GetText()),"-") ~= nil then
Info.BPMS = split('-',c.BPMDisplay:GetText());
c.BPMLow:settext( Info.BPMS[1] );
c.BPMHigh:settext( Info.BPMS[2] );
c.BPMLow:visible(true);
--
c.BPMHigh:x(0);
c.BPMLow:x( -c.BPMHigh:GetWidth() );
--
else
Info.BPMS[1] = c.BPMDisplay:GetText();
c.BPMLow:settext( Info.BPMS[1] );
c.BPMHigh:settext( Info.BPMS[1] );
c.BPMLow:visible(false);
--
c.BPMHigh:x(0);
c.BPMLow:x( -c.BPMHigh:GetWidth() );
--
end
--[[ c.BPMLow:visible(false);
c.BPMHigh:settext( c.BPMDisplay:GetText() ); --]]
--
c.Title:playcommand("Refresh");
c.Genre:playcommand("Refresh");
c.Artist:playcommand("Refresh");
end;
OnCommand=cmd(playcommand,"Set");
CurrentCourseChangedMessageCommand=cmd(playcommand,"Set");
CurrentSongChangedMessageCommand=cmd(playcommand,"Set");
DisplayLanguageChangedMessageCommand=cmd(playcommand,"Set");
Def.BPMDisplay {
Name="BPMDisplay";
File=THEME:GetPathF("BPMDisplay", "bpm");
InitCommand=cmd(visible,false);
CurrentSongChangedMessageCommand=cmd( SetFromGameState );
};
LoadFont("UI","Title Large") .. {
Name="Title";
Text="!!!";
InitCommand=cmd(horizalign,right);
RefreshCommand=cmd(finishtweening;diffuse,Color.Blue;decelerate,0.2;diffuse,Color.White);
-- ShowCommand=cmd(settext,"!!!";);
};
LoadFont("UI","Title Small") .. {
Name="Genre";
Text="!!!";
InitCommand=cmd(y,-52/2-3;horizalign,right;);
OnCommand=cmd(shadowlength,1);
-- ShowCommand=cmd(settext,"!!!";);
};
LoadFont("UI","Title Small") .. {
Name="Artist";
Text="!!!";
InitCommand=cmd(y,52/2+3;horizalign,right;);
OnCommand=cmd(shadowlength,1);
-- ShowCommand=cmd(settext,"!!!";);
};
LoadFont("UI","Title Small") .. {
Name="BPMLow";
Text="!!!";
InitCommand=cmd(y,52/2+3+20;horizalign,right;);
OnCommand=cmd(shadowlength,1;zoom,0.75);
-- ShowCommand=cmd(settext,"!!!";);
};
LoadFont("UI","Title Small") .. {
Name="BPMHigh";
Text="!!!";
InitCommand=cmd(y,52/2+3+20;horizalign,right;);
OnCommand=cmd(shadowlength,1);
-- ShowCommand=cmd(settext,"!!!";);
};
};
return t
@@ -1,219 +0,0 @@
function GetLocalProfiles()
local ret = {};
for p = 0,PROFILEMAN:GetNumLocalProfiles()-1 do
local profile=PROFILEMAN:GetLocalProfileFromIndex(p);
local item = Def.ActorFrame {
Def.Quad {
InitCommand=cmd(zoomto,200,2;y,-40/2);
OnCommand=cmd(diffuse,Color('Outline'););
};
LoadFont("Common Normal") .. {
Text=profile:GetDisplayName();
InitCommand=cmd(shadowlength,1;y,-9);
};
LoadFont("Common Normal") .. {
Text=profile:GetNumTotalSongsPlayed() .. " Songs Played";
InitCommand=cmd(shadowlength,1;y,8;zoom,0.5;vertspacing,-8);
};
};
table.insert( ret, item );
end;
return ret;
end;
function LoadPlayerStuff(Player)
local ret = {};
local pn;
if Player == PLAYER_1 then
pn = 1;
else
pn = 2;
end;
--[[ local t = LoadActor(THEME:GetPathB('', '_frame 3x3'), 'metal', 200, 230) .. {
Name = 'BigFrame';
}; --]]
local t = Def.ActorFrame {
Name = 'BigFrame';
Def.Quad {
InitCommand=cmd(zoomto,200+4,230+4);
OnCommand=cmd(shadowlength,1);
};
Def.Quad {
InitCommand=cmd(zoomto,200,230);
OnCommand=cmd(diffuse,Color('Orange'));
};
};
table.insert( ret, t );
--[[ t = LoadActor(THEME:GetPathB('', '_frame 3x3'), 'metal', 170, 20) .. {
Name = 'SmallFrame';
}; --]]
t = Def.ActorFrame {
Name = 'SmallFrame';
--[[ Def.Quad {
InitCommand=cmd(zoomto,170+4,32+4);
OnCommand=cmd(shadowlength,1);
}; --]]
Def.Quad {
InitCommand=cmd(zoomto,200,40);
OnCommand=cmd(diffuse,Color('Blue'));
};
};
table.insert( ret, t );
t = Def.ActorScroller{
Name = 'Scroller';
NumItemsToDraw=4;
-- InitCommand=cmd(y,-230/2+20;);
OnCommand=cmd(SetFastCatchup,true;SetMask,200,230;SetSecondsPerItem,0.15);
TransformFunction=function(self, offset, itemIndex, numItems)
local focus = scale(math.abs(offset),0,2,1,0);
self:visible(false);
self:y(math.floor( offset*40 ));
-- self:zoomy( focus );
-- self:z(-math.abs(offset));
-- self:zoom(focus);
end;
children = GetLocalProfiles();
};
table.insert( ret, t );
--[[ t = Def.BitmapText {
OnCommand = cmd(y,160);
Name = 'SelectedProfileText';
Font = "Common Normal";
Text = 'No profile';
}; --]]
t = LoadFont("Common Normal") .. {
Name = 'SelectedProfileText';
InitCommand=cmd(y,160);
OnCommand=cmd(shadowlength,1);
};
table.insert( ret, t );
return ret;
end;
function UpdateInternal3(self, Player)
local pn;
if Player == PLAYER_1 then
pn = 1;
else
pn = 2;
end;
local frame = self:GetChild(string.format('P%uFrame', pn));
local scroller = frame:GetChild('Scroller');
local seltext = frame:GetChild('SelectedProfileText');
local smallframe = frame:GetChild('SmallFrame');
if GAMESTATE:IsHumanPlayer(Player) then
frame:visible(true);
if MEMCARDMAN:GetCardState(Player) == 'MemoryCardState_none' then
--using profile if any
smallframe:visible(true);
scroller:visible(true);
local ind = SCREENMAN:GetTopScreen():GetProfileIndex(Player);
if ind > 0 then
scroller:SetDestinationItem(ind-1);
seltext:settext(PROFILEMAN:GetLocalProfileFromIndex(ind-1):GetDisplayName());
else
if SCREENMAN:GetTopScreen():SetProfileIndex(Player, 1) then
scroller:SetDestinationItem(0);
self:queuecommand('UpdateInternal2');
else
smallframe:visible(false);
scroller:visible(false);
seltext:settext('No profile');
end;
end;
else
--using card
smallframe:visible(false);
scroller:visible(false);
seltext:settext('CARD');
SCREENMAN:GetTopScreen():SetProfileIndex(Player, 0);
end;
else
frame:visible(false);
end;
end;
local t = Def.ActorFrame {
StorageDevicesChangedMessageCommand=function(self, params)
self:queuecommand('UpdateInternal2');
end;
CodeMessageCommand = function(self, params)
if params.Name == 'Start' then
if not GAMESTATE:IsHumanPlayer(params.PlayerNumber) then
SCREENMAN:GetTopScreen():SetProfileIndex(params.PlayerNumber, -1);
else
SCREENMAN:GetTopScreen():Finish();
end;
end;
if params.Name == 'Up' then
if GAMESTATE:IsHumanPlayer(params.PlayerNumber) then
local ind = SCREENMAN:GetTopScreen():GetProfileIndex(params.PlayerNumber);
if ind > 1 then
if SCREENMAN:GetTopScreen():SetProfileIndex(params.PlayerNumber, ind - 1 ) then
self:queuecommand('UpdateInternal2');
end;
end;
end;
end;
if params.Name == 'Down' then
if GAMESTATE:IsHumanPlayer(params.PlayerNumber) then
local ind = SCREENMAN:GetTopScreen():GetProfileIndex(params.PlayerNumber);
if ind > 0 then
if SCREENMAN:GetTopScreen():SetProfileIndex(params.PlayerNumber, ind + 1 ) then
self:queuecommand('UpdateInternal2');
end;
end;
end;
end;
if params.Name == 'Back' then
if GAMESTATE:GetNumPlayersEnabled()==0 then
SCREENMAN:GetTopScreen():Cancel();
else
SCREENMAN:GetTopScreen():SetProfileIndex(params.PlayerNumber, -2);
end;
end;
end;
PlayerJoinedMessageCommand=function(self, params)
self:queuecommand('UpdateInternal2');
end;
PlayerUnjoinedMessageCommand=function(self, params)
self:queuecommand('UpdateInternal2');
end;
OnCommand=function(self, params)
self:queuecommand('UpdateInternal2');
end;
UpdateInternal2Command=function(self)
UpdateInternal3(self, PLAYER_1);
UpdateInternal3(self, PLAYER_2);
end;
children = {
Def.ActorFrame {
Name = 'P1Frame';
OnCommand=cmd(hide_if,not GAMESTATE:IsHumanPlayer(PLAYER_1);x,SCREEN_CENTER_X-200;y,SCREEN_CENTER_Y;addx,-SCREEN_WIDTH;decelerate,0.3;addx,SCREEN_WIDTH);
OffCommand=cmd(accelerate,0.3;addx,-SCREEN_WIDTH);
children = LoadPlayerStuff(PLAYER_2);
};
Def.ActorFrame {
Name = 'P2Frame';
OnCommand=cmd(hide_if,not GAMESTATE:IsHumanPlayer(PLAYER_2);x,SCREEN_CENTER_X+200;y,SCREEN_CENTER_Y;addx,SCREEN_WIDTH;decelerate,0.3;addx,-SCREEN_WIDTH);
OffCommand=cmd(accelerate,0.3;addx,SCREEN_WIDTH);
children = LoadPlayerStuff(PLAYER_2);
};
};
};
return t;
Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

@@ -1,8 +0,0 @@
return Def.ActorFrame {
FOV=90;
LoadActor("_logo") .. {
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y);
OnCommand=cmd(zoom,1.25;glow,color("1,1,1,1");decelerate,0.5;zoom,1;glow,color("1,1,1,0");glowshift;effecttiming,0.125,0,0.75,3);
OffCommand=cmd(diffusealpha,0.5;glow,color("1,1,1,1");decelerate,0.25;glow,color("1,1,1,0");accelerate,0.125;rotationx,90;diffusealpha,0;);
};
};
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

@@ -1,73 +0,0 @@
t = Def.ActorFrame { FOV = 90; };
-- BG Frame
t[#t+1] = Def.ActorFrame {
InitCommand=cmd(z,-48);
LoadActor("noise");
-- Centerize Items Here
Def.ActorFrame {
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;);
Def.Quad {
InitCommand=cmd(zoomto,SCREEN_WIDTH+256,SCREEN_WIDTH+256;blend,'BlendMode_WeightedMultiply');
OnCommand=cmd(diffuse,Color.ThemeElement.Background.Secondary;);
};
};
-- Radio Lines
Def.ActorFrame {
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;);
LoadActor("stripe") .. {
InitCommand=cmd(zoomto,SCREEN_WIDTH+512,Viewport.Height.Center);
OnCommand=cmd(diffuse,Color.ThemeElement.Background.Primary;diffusealpha,0.5;fadetop,0.125;fadebottom,0.125;customtexturerect,(SCREEN_WIDTH+512)/64,Viewport.Height.Center/64,0,0;texcoordvelocity,1.25,0;skewx,-0.125);
};
};
};
-- Movie
t[#t+1] = Def.ActorFrame {
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;);
LoadActor("824_JumpBack") .. {
InitCommand=cmd(scaletoclipped,SCREEN_WIDTH,Viewport.Height.Center;
play;rate,1.75;fadetop,0.125;fadebottom,0.125;diffuse,Color.ThemeElement.Background.Primary;diffusealpha,0.5);
};
};
-- Front Windows
t[#t+1] = Def.ActorFrame {
InitCommand=cmd(z,0);
-- Top Window.
Def.ActorFrame {
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_TOP);
OnCommand=cmd(decelerate,0.5;y,Viewport.Height.Bottom);
Def.Quad {
InitCommand=cmd(zoomto,SCREEN_WIDTH,Viewport.Height.Bottom;vertalign,bottom);
OnCommand=cmd(diffuse,Color.ThemeElement.Background.Primary);
};
Def.Quad {
InitCommand=cmd(zoomto,SCREEN_WIDTH,16;y,7;vertalign,bottom);
OnCommand=cmd( diffuse,Color.ThemeElement.Background.Highlight;fadetop,0.5;fadebottom,0.5;
diffuseshift;effectcolor1,Color.ThemeElement.Background.Highlight;effectcolor2,Color.ThemeElement.Background.Accent;
diffusealpha,0.5);
};
Def.Quad {
InitCommand=cmd(zoomto,SCREEN_WIDTH,2;vertalign,bottom);
OnCommand=cmd(diffuse,Color.ThemeElement.Background.Highlight);
};
};
-- Bottom Window.
Def.ActorFrame {
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_BOTTOM);
OnCommand=cmd(decelerate,0.5;y,SCREEN_BOTTOM-Viewport.Height.Bottom);
Def.Quad {
InitCommand=cmd(zoomto,SCREEN_WIDTH,Viewport.Height.Bottom;vertalign,top);
OnCommand=cmd(diffuse,Color.ThemeElement.Background.Primary);
};
Def.Quad {
InitCommand=cmd(zoomto,SCREEN_WIDTH,16;y,-7;vertalign,top);
OnCommand=cmd( diffuse,Color.ThemeElement.Background.Highlight;fadetop,0.5;fadebottom,0.5;
diffuseshift;effectcolor1,Color.ThemeElement.Background.Highlight;effectcolor2,Color.ThemeElement.Background.Accent;
diffusealpha,0.5);
};
Def.Quad {
InitCommand=cmd(zoomto,SCREEN_WIDTH,2;vertalign,top);
OnCommand=cmd(diffuse,Color.ThemeElement.Background.Highlight);
};
};
};
return t
@@ -1,16 +0,0 @@
local t = Def.ActorFrame {
LoadActor("noise") .. {
Name="Noise";
InitCommand=cmd(texturewrapping,true;SetTextureFiltering,false;x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoom,2);
};
};
local function Update(self)
local c = self:GetChild("Noise");
local x = math.random();
local y = math.random();
c:customtexturerect(0+x,0+y,2+x,2+y);
end;
t.InitCommand = cmd(SetUpdateFunction,Update);
return t;
Binary file not shown.

Before

Width:  |  Height:  |  Size: 255 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

@@ -1,3 +0,0 @@
local t = Def.ActorFrame {};
return t;
Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

@@ -1,352 +0,0 @@
[common]
Baseline=45
Top=10
LineSpacing=54
DrawExtraPixelsLeft=8
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=14
1=10
2=17
3=36
4=35
5=43
6=42
7=10
8=12
9=13
10=22
11=19
12=10
13=23
14=10
15=23
16=38
17=18
18=37
19=37
20=33
21=37
22=37
23=30
24=38
25=37
26=10
27=10
28=21
29=29
30=21
31=31
32=37
33=38
34=37
35=37
36=38
37=34
38=33
39=37
40=38
41=10
42=35
43=36
44=35
45=42
46=37
47=37
48=36
49=40
50=37
51=37
52=34
53=37
54=45
55=53
56=37
57=36
58=37
59=12
60=23
61=12
62=12
63=37
64=10
65=31
66=30
67=31
68=30
69=31
70=20
71=31
72=30
73=10
74=11
75=29
76=15
77=44
78=31
79=31
80=30
81=30
82=24
83=31
84=20
85=31
86=36
87=48
88=31
89=31
90=31
91=13
92=10
93=13
94=18
95=36
96=12
97=12
98=12
99=26
100=12
101=12
102=14
103=12
104=37
105=12
106=62
107=37
108=10
109=10
110=18
111=18
112=17
113=32
114=37
115=18
116=12
117=31
118=12
119=53
120=31
121=36
122=12
123=9
124=29
125=33
126=12
127=12
128=12
129=12
130=17
131=12
132=12
133=12
134=12
135=12
136=12
137=12
138=20
139=12
140=12
141=12
142=10
143=12
144=37
145=12
146=10
147=12
148=12
149=12
150=12
151=12
152=12
153=30
154=38
155=38
156=38
157=38
158=38
159=38
160=62
161=37
162=34
163=34
164=34
165=34
166=10
167=10
168=10
169=10
170=12
171=37
172=37
173=37
174=37
175=37
176=37
177=25
178=12
179=37
180=37
181=37
182=37
183=36
184=12
185=37
186=33
187=33
188=33
189=33
190=33
191=33
192=53
193=31
194=29
195=29
196=29
197=29
198=10
199=10
200=10
201=10
202=12
203=32
204=31
205=31
206=31
207=31
208=31
209=23
210=12
211=31
212=31
213=31
214=31
215=31
216=12
217=31
[alt]
Line 0= Ą˘Ł¤ĽŚ§¨Š
Line 1=ŞŤŹ­ŽŻ°ą˛ł
Line 2=´ľśˇ¸šşťź˝
Line 3=žżŔÁÂĂÄĹĆÇ
Line 4=ČÉĘËĚÍÎĎĐŃ
Line 5=ŇÓÔŐÖ×ŘŮÚŰ
Line 6=ÜÝŢßŕáâăäĺ
Line 7=ćçčéęëěíîď
Line 8=đńňóôőö÷řů
Line 9=úűüýţ˙
0=12
1=13
2=13
3=12
4=12
5=11
6=13
7=12
8=17
9=37
10=13
11=12
12=12
13=12
14=37
15=12
16=20
17=11
18=12
19=12
20=10
21=4
22=10
23=13
24=10
25=31
26=10
27=8
28=10
29=12
30=31
31=10
32=14
33=38
34=38
35=13
36=38
37=11
38=14
39=37
40=14
41=34
42=13
43=34
44=13
45=10
46=10
47=14
48=14
49=14
50=14
51=37
52=37
53=16
54=37
55=25
56=14
57=14
58=37
59=14
60=37
61=36
62=12
63=37
64=7
65=33
66=33
67=11
68=33
69=4
70=10
71=31
72=10
73=29
74=11
75=29
76=11
77=10
78=10
79=13
80=12
81=11
82=11
83=31
84=31
85=11
86=31
87=23
88=7
89=11
90=31
91=11
92=31
93=31
94=6
95=10
@@ -1 +0,0 @@
Library/_orbitron Bold 45px
@@ -1 +0,0 @@
Common Normal
@@ -1,10 +0,0 @@
local gc = Var("GameCommand");
return Def.ActorFrame {
LoadFont("Common Normal") .. {
Text=gc:GetText();
OnCommand=cmd(strokecolor,color("0,0,0,0.5"));
GainFocusCommand=cmd(zoom,1;diffuse,color("1,1,1,1"));
LoseFocusCommand=cmd(zoom,0.75;diffuse,color("0.5,0.5,0.5,1"));
};
};
@@ -1,9 +0,0 @@
-- theme identification:
ThemeInfo = {
ProductCode = "SSC-LAB",
Name = "SSCLab",
Version = "1.00",
Date = { Month = "2010", Month = "1", Day = "1" },
Revision = "1000",
RevisionName = "Volcanic Nightmare",
};
-61
View File
@@ -1,61 +0,0 @@
-- Colors! --
Color = {
--[[ Basic Colors ]]
Red = color("#ed1c24"),
Orange = color("#f7941d"),
Yellow = color("#fff200"),
Green = color("#39b54a"),
Blue = color("#00aeef"),
Purple = color("#92278f"),
--[[ Greyscale Tints ]]
White = color("1,1,1,1"),
Silver = color("0.75,0.75,0.75,1"),
Grey = color("0.5,0.5,0.5,1"),
Steel = color("0.25,0.25,0.25,1"),
Black = color("0,0,0,1"),
--[[ Transparencies ]]
Invisible = color("1,1,1,0"),
Stealth = color("0,0,0,0"),
--[[ Alternatives ]]
HKS = {
--[[ HKS Z Process ]]
Red = color("#ee3048"),
Orange = color("#ffcb05"),
Yellow = color("#fff200"),
Green = color("#a4cf57"),
Blue = color("#00bfe8"),
Purple = color("#6e3694"),
-- There is no "White" for this library;
White = color("1,1,1,1"),
Silver = color("#b1c6c8"),
Grey = color("#748392"),
Steel = color("#435769"),
Black = color("#262d27"),
Invisible = color("#b1c6c800"),
},
--[[ Theme Elements ]]
ThemeElement = {
Background = {
Primary = color("#b1c6c8"), -- Grey Highlight
Secondary = color("#748392"), -- Grey Darkened
Highlight = color("#fff200"), -- Orange Highlight
Accent = color("#f99d1c"), -- Orange Darkened
},
UI = {
Primary = color("1,1,1,1"),
Secondary = color("#a8aca9"),
Highlight = color("#fff200"),
Accent = color("#ffd400"),
};
},
};
Metrics = {}
-- Color Functions --
--[[ function BoostColor(cColor,fBoost,fAlpha)
local c = cColor;
local x = fBoost;
local a = fAlpha;
c = { c[1]+(c[1]*boost),c[2]+(c[2]*boost),c[3]+(c[3]*boost),c[4] };
c[4] = (fAlpha ~= nil) and fAlpha or c[4];
return c;
end; --]]
-31
View File
@@ -1,31 +0,0 @@
function JudgmentTransformSharedCommand( self, params )
local x = 0
local y = 30
if params.bReverse then y = y * -1 end
if params.bCentered then
if params.bReverse then
y = y - 30
else
y = y + 40
end
end
self:x( 0 )
self:y( 0 )
end
function ComboTransformCommand( self, params )
local x = 0
local y = 30
if params.bReverse then y = y * -1 end
if params.bCentered then
if params.bReverse then
y = y - 30
else
y = y + 40
end
end
self:x( 0 )
self:y( 0 )
end
@@ -1,19 +0,0 @@
local mainMaxWidth = 208; -- zoom w/subtitle is 0.75 (multiply by 1.25)
local subMaxWidth = 420; -- zoom is 0.6 (multiply zoom,1 value by 1.4)
local artistMaxWidth = 300;
function TextBannerAfterSet(self,param)
local Title=self:GetChild("Title");
local Subtitle=self:GetChild("Subtitle");
local Artist=self:GetChild("Artist");
if Subtitle:GetText() == "" then
(cmd(maxwidth,mainMaxWidth;y,0;zoom,1;))(Title);
(cmd(visible,false))(Subtitle);
-- (cmd(zoom,0.66;maxwidth,artistMaxWidth;y,8))(Artist);
else
-- subtitle below
(cmd(maxwidth,mainMaxWidth*1.25;y,-8;zoom,0.75;))(Title);
(cmd(visible,true;zoom,0.6;y,7;maxwidth,subMaxWidth))(Subtitle);
-- (cmd(zoom,0.6;maxwidth,artistMaxWidth;y,10))(Artist);
end
end
@@ -1,25 +0,0 @@
--[[ Globals ]]
--[[ TOP ]] -- 1/6
--[[ CENTER ]] -- 3/6
--[[ CENTER ]]
--[[ CENTER ]]
--[[ BOTTOM ]] -- 2/6
--[[ BOTTOM ]]
--[[ VIEWPORT_TOP = SCREEN_TOP+80
VIEWPORT_CENTER_Y = SCREEN_TOP+200
VIEWPORT_BOTTOM = SCREEN_BOTTOM-160
-- Heights
VIEWPORT_HEIGHT_TOP = 80
VIEWPORT_HEIGHT_CENTER = 240
VIEWPORT_HEIGHT_BOTTOM = 160
--]]
Viewport = {
Top = SCREEN_TOP+80,
Bottom = SCREEN_TOP+200,
Center = SCREEN_BOTTOM-160,
Height = {
Top = 80,
Center = 240,
Bottom = 160,
},
};
-3
View File
@@ -1,3 +0,0 @@
[ThemeInfo]
DisplayName=SSCLab
Author=Midiman
-65
View File
@@ -1,65 +0,0 @@
[Global]
FallbackTheme=_fallback
[BPMDisplay]
SetNoBpmCommand=stoptweening;linear,0.2;diffuse,Color("White");diffusebottomedge,BoostColor(Color("White"),0.875);
SetNormalCommand=stoptweening;linear,0.2;diffuse,Color("White");diffusebottomedge,BoostColor(Color("White"),0.875);
SetChangeCommand=stoptweening;linear,0.2;diffuse,Color("Orange");diffusetopedge,BoostColor(Color("Orange"),1.5);
SetRandomCommand=stoptweening;linear,0.2;diffuse,Color("Blue");diffusetopedge,BoostColor(Color("Blue"),1.5);
SetExtraCommand=stoptweening;linear,0.2;diffuse,Color("Red");diffusebottomedge,BoostColor(Color("Red"),0.5);
Cycle=false
NoBpmText="000"
RandomCycleSpeed=0.2 -- smaller numbers mean the bpm cycles faster
Separator="-"
ShowQMarksInRandomCycle=false
[CustomScoring]
ComboAboveThresholdAddsToScoreBonus=0
ComboScoreBonusThreshold=50
ComboScoreBonusValue=+1000
ComboMultiplier=0.0
DoubleNoteScoreMultiplier=2.0
TripleNoteScoreMultiplier=3.0
QuadOrHigherNoteScoreMultiplier=4.0
PointsW1=+50
PointsW2=+20
PointsW3=+10
PointsW4=+5
PointsW5=0
PointsMiss=-5
PointsHitMine=-5
PointsCheckpointHit=+5
PointsCheckpointMiss=-5
PointsNone=0
PointsHoldHeld=+5
PointsHoldLetGo=-5
[MusicWheel]
ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \
self:y( offsetFromCenter*32 ); \
end;
[ScreenWithMenuElements]
WaitForChildrenBeforeTweeningOut=true
[ScreenTitleMenu]
ScrollerY=SCREEN_CENTER_Y*1.75-16
[ScreenSelectMusic]
MusicWheelX=SCREEN_CENTER_X+200
MusicWheelY=SCREEN_CENTER_Y
[ScreenGameplay]
# Flipper [ Y Axis - EASY ]
#~ PlayerInitCommand=y,SCREEN_CENTER_Y;visible,false;pulse;effectmagnitude,1,1,1;effecttiming,0.5,7.5,0.5,7.5;effectcolor1,color("1,1,1,1");effectcolor2,color("1,-1,1,1");effectclock,'beat'
# Swing [ EASY ]
#~ PlayerInitCommand=y,SCREEN_CENTER_Y;fov,90;visible,false;wag;effectmagnitude,90*0.75,0,0;effecttiming,7.75,0.25,7.75,0.25;effectcolor1,color("1,1,1,1");effectcolor2,color("-1,1,1,1");effectclock,'beat'
# Spin [ X Axis - EASY ]
#~ PlayerInitCommand=y,SCREEN_CENTER_Y;fov,90;visible,false;spin;effectmagnitude,90,0,0;effectclock,'beat'
# Spin [ Y Axis - HARD ]
#~ PlayerInitCommand=y,SCREEN_CENTER_Y;fov,90;visible,false;spin;effectmagnitude,0,90,0;effectclock,'beat'
# Beaterator [ LOL THIS IS NOT EVEN HARD AT ALL CMON ]
#~ PlayerInitCommand=y,SCREEN_CENTER_Y;fov,90;visible,false;pulse;effectmagnitude,1,1,1;effectcolor1,color("1,1,1,1");effectcolor2,color("1.125,1.25,2,1");effecttiming,0.25,0,0.75,0;effectclock,'beat'
# Bouncerator [ Again ]
PlayerInitCommand=y,SCREEN_CENTER_Y;fov,90;visible,false;bob;effectmagnitude,0,0,32;effectperiod,0.25;effectclock,'beat'
Binary file not shown.
@@ -1 +0,0 @@
ScreenTitleMenu background
Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

@@ -1,43 +0,0 @@
local blendModes = {
'BlendMode_Normal',
'BlendMode_Add',
'BlendMode_Modulate',
'BlendMode_WeightedMultiply',
'BlendMode_InvertDest',
};
local t = Def.ActorFrame{};
for i=1,#blendModes do
--diffuse,color("0.45,0.45,0.45,0.9")
local thisX = (i > 3) and ((i-4)*72) or ((i-1)*72)
local thisY = (i > 3) and 72 or 0;
t[#t+1] = Def.Quad{
InitCommand=cmd(zoomto,64,64;x,(SCREEN_CENTER_X*0.25)+thisX;y,SCREEN_CENTER_Y+thisY;blend,blendModes[i];diffuse,color("1,1,1,0.4"););
--OnCommand=cmd(diffuse,color("0,0.7,1,0.25"););
};
end;
t[#t+1] = LoadFont("Common normal")..{
InitCommand=cmd(CenterX;y,SCREEN_CENTER_Y*0.75;maxwidth,SCREEN_WIDTH*0.95);
BeginCommand=function(self)
local driver = PREFSMAN:GetPreference('VideoRenderers');
local possibleRenderers = split(",", driver);
driver = possibleRenderers[1];
local blends = "";
for i=1,#blendModes do
blends = blends..blendModes[i];
if i < #blendModes then
blends = blends..", ";
end;
end;
self:settext(driver.."\n"..blends);
end;
};
t[#t+1] = Def.Quad{
InitCommand=cmd(zoomto,512,128;x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y*1.65;diffuse,color("0,0,0,0.1"););
OnCommand=cmd(diffuseleftedge,color("0,0,0,0.25");diffuserightedge,color("0,0,0,0.125"););
};
return t;
@@ -1,170 +0,0 @@
-- basic MultiTexture with quads
function MakeTexture()
-- [AJ] c is for children
local c;
-- [AJ] define Draw function
local Draw = function(self)
-- Render the quads to the texture.
-- [AJ] this becomes Target.
-- you must begin rendering to a target before drawing the
-- components of it.
c.Target:GetTexture():BeginRenderingTo();
c.Shape1:Draw(); -- [AJ] draw shape 1
c.Shape2:Draw();
-- [AJ] you also have to finalize the render.
c.Target:GetTexture():FinishRenderingTo();
-- [AJ] render to the second target
c.Target2:GetTexture():BeginRenderingTo();
-- Unpremultiply the rendered shapes.
c.mt:Draw();
-- Knock out the text.
c.nWo:Draw();
c.Target2:GetTexture():FinishRenderingTo();
-- [AJ] Target2 consists of:
-- mt (MultiTexture using Target 1 as source)
-- nWo (image layer)
-- Target2 becomes the premultiplied Target 1 + anything else
-- drawn to Target2. As you'll see below, Out uses Target2
-- as the texture.
-- Draw the result.
c.Out:Draw();
end
local parts = {
-- [AJ] render target 1
Def.ActorFrameTexture { Name = "Target"; };
-- [AJ] render target 2
Def.ActorFrameTexture { Name = "Target2"; };
-- [AJ] multitexture
Def.ActorMultiTexture { Name = "mt"; };
-- [AJ] output sprite
Def.Sprite {
Name = "Out";
InitCommand=cmd(diffusealpha,0);
OnCommand=cmd(stoptweening;accelerate,0.3;diffusealpha,1);
SpinCommand=cmd(spin;effectmagnitude,0,60,0);
};
-- [AJ] text
--[[
LoadFont("_frutiger") .. {
Name = "nWo";
Text = "intrade";
};
]]
LoadActor("_nWo")..{
Name="nWo";
};
-- [AJ] the two Run commands are concurrent. That is to say, the Run
-- command on the ActorFrame triggers the Run command on the Quad.
Def.ActorFrame{
Name="Shape1";
OnCommand=cmd(stoptweening;playcommand,"Run");
RunCommand=cmd(
y,0;
y,50;
sleep,1;
linear,2;addy,100;
sleep,1.3;
queuecommand,"Run"
);
Def.Quad{
InitCommand=cmd(diffuse,color("#00CCFF");x,256-32;y,100;zoomto,128,128;fadetop,0.25;fadebottom,0.25;faderight,0.1);
RunCommand=cmd(
finishtweening;
diffusealpha,0;
sleep,1.25;
linear,1;diffusealpha,1;
linear,.25;diffusealpha,1;
linear,.5;diffusealpha,0;
);
};
};
Def.ActorFrame{
Name="Shape2";
OnCommand=cmd(stoptweening;playcommand,"Run");
RunCommand=cmd(
y,0;
y,50;
sleep,1;
linear,2;addy,100;
sleep,1.3;
queuecommand,"Run"
);
Def.Quad{
InitCommand=cmd(diffuse,color("#FFCC00");x,256+32;y,100;zoomto,128,128;fadetop,0.25;fadebottom,0.25);
RunCommand=cmd(
finishtweening;
diffusealpha,0;
sleep,1.25;
linear,1;diffusealpha,1;
linear,.25;diffusealpha,1;
linear,.5;diffusealpha,0;
);
};
};
};
return Def.ActorFrame {
children = parts;
InitCommand = function(self)
c = self:GetChildren();
-- [AJ] sets draw function
self:SetDrawFunction( Draw );
-- Create the render target for the first pass.
-- [AJ] uses render target 1
c.Target:setsize(512, 512);
c.Target:EnableAlphaBuffer(true);
c.Target:EnableFloat(true);
c.Target:Create();
-- Create the render target for the second pass.
-- [AJ] uses render target 2
c.Target2:setsize(512, 512);
c.Target2:EnableAlphaBuffer(true);
c.Target2:Create();
-- [AJ] modify text
--c.nWo:shadowlength(0);
c.nWo:x(256);
c.nWo:y(236);
c.nWo:blend("BlendMode_AlphaKnockOut");
-- mt controls multitexture rendering for the unpremultiply pass.
-- [AJ] unpremultiply pass is here, this is the crazy one
local SourceTexture = c.Target:GetTexture();
c.mt:SetSizeFromTexture( SourceTexture );
c.mt:ClearTextures();
c.mt:AddTexture( SourceTexture );
c.mt:SetEffectMode( "EffectMode_HardMix" );
--c.mt:SetTextureMode(0, 'TextureMode_Glow')
c.mt:blend("BlendMode_CopySrc");
c.mt:x( 0 );
c.mt:y( 0 );
c.mt:align(0,0);
-- Out renders the final pass.
c.Out:valign(0);
c.Out:SetTexture( c.Target2:GetTexture() );
end;
};
end
local t = Def.ActorFrame{
MakeTexture() .. {
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y/2);
};
};
return t;
@@ -1 +0,0 @@
ScreenTitleMenu background
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,21 +0,0 @@
[AnimatedTexture]
Frame0000=t0_alex_01.bmp
Delay0000=2.00
Frame0001=t1_alex_01.bmp
Delay0001=0.30
Frame0002=t0_alex_01.bmp
Delay0002=2.00
Frame0003=t1_alex_01.bmp
Delay0003=0.30
Frame0004=t0_alex_01.bmp
Delay0004=2.00
Frame0005=t2_alex_01.bmp
Delay0005=2.00
Frame0006=t0_alex_01.bmp
Delay0006=2.00
Frame0007=t1_alex_01.bmp
Delay0007=0.30
Frame0008=t0_alex_01.bmp
Delay0008=2.00
Frame0009=t3_alex_01.bmp
Delay0009=2.00
Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

@@ -1,56 +0,0 @@
local modelNames = { "luna", "luna", "luna2" };
local t = Def.ActorFrame{
Lighting=true;
InitCommand=function(self)
self:fov(45);
--SetAmbientLightColor (default 1,1,1,1)
--self:SetAmbientLightColor( color("0.2,0.2,0.2,1") );
--SetDiffuseLightColor (default 1,1,1,1)
self:SetDiffuseLightColor( color("1,0,1,1") );
--SetSpecularLightColor (default 1,1,1,1)
self:SetSpecularLightColor( color("0,1,0,1") );
--SetLightDirection (WARNING: does not error out correctly yet) default 0,0,1
end;
Def.Model{
Materials = modelNames[1]..".txt";
Meshes = modelNames[1]..".txt";
Bones = "Rest.bones.txt";
-- was zoom,35 @ center, SCREEN_BOTTOM
InitCommand=cmd(x,SCREEN_CENTER_X*0.75;y,SCREEN_BOTTOM*0.9;zoom,24;wag;effectmagnitude,0,25,0;rotationy,90;rotationx,-30;cullmode,'CullMode_None');
};
Def.Model{
Materials = modelNames[2]..".txt";
Meshes = modelNames[2]..".txt";
Bones = "Rest.bones.txt";
InitCommand=cmd(x,SCREEN_CENTER_X*1.25;y,SCREEN_BOTTOM*0.9;zoom,24;wag;effectmagnitude,0,-25,0;rotationy,-90;rotationx,-30;cullmode,'CullMode_None';diffusecolor,color("0,1,0.75,1"););
OnCommand=cmd(queuecommand,"ShiftAlpha");
ShiftAlphaCommand=function(self)
self:linear(3);
local newAlpha = scale(math.random(), 0, 1, 0.325, 0.75 );
self:diffusealpha( newAlpha );
self:sleep(math.random(0.2,5));
self:queuecommand("ShiftAlpha");
end;
};
Def.Model{
Materials = modelNames[3]..".txt";
Meshes = modelNames[3]..".txt";
Bones = "Rest.bones.txt";
-- was zoom,35 @ center, SCREEN_BOTTOM
InitCommand=cmd(x,SCREEN_CENTER_X*0.25;y,SCREEN_BOTTOM*1.25;zoom,32;rotationy,157;rotationx,-30;cullmode,'CullMode_None');
};
--[[
LoadFont("Common normal")..{
InitCommand=cmd(x,SCREEN_LEFT+16;y,SCREEN_TOP+16;horizalign,left;);
OnCommand=function(self)
local chars = CHARMAN:GetAllCharacters();
self:settext("I'm thiiiiiiiiiiiiiis big: ".. #chars);
end;
};
--]]
};
return t;
File diff suppressed because it is too large Load Diff
@@ -1,21 +0,0 @@
[AnimatedTexture]
Frame0000=t0_gfac.bmp
Delay0000=2.00
Frame0001=t1_gfac.bmp
Delay0001=0.30
Frame0002=t0_gfac.bmp
Delay0002=2.00
Frame0003=t1_gfac.bmp
Delay0003=0.30
Frame0004=t0_gfac.bmp
Delay0004=2.00
Frame0005=t2_gfac.bmp
Delay0005=2.00
Frame0006=t0_gfac.bmp
Delay0006=2.00
Frame0007=t1_gfac.bmp
Delay0007=0.30
Frame0008=t0_gfac.bmp
Delay0008=2.00
Frame0009=t3_gfac.bmp
Delay0009=2.00
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,21 +0,0 @@
[AnimatedTexture]
Frame0000=t0_luna_00.bmp
Delay0000=2.00
Frame0001=t1_luna_00.bmp
Delay0001=0.30
Frame0002=t0_luna_00.bmp
Delay0002=2.00
Frame0003=t1_luna_00.bmp
Delay0003=0.30
Frame0004=t0_luna_00.bmp
Delay0004=2.00
Frame0005=t2_luna_00.bmp
Delay0005=2.00
Frame0006=t0_luna_00.bmp
Delay0006=2.00
Frame0007=t1_luna_00.bmp
Delay0007=0.30
Frame0008=t0_luna_00.bmp
Delay0008=2.00
Frame0009=t7_luna_00.bmp
Delay0009=2.00
@@ -1,21 +0,0 @@
[AnimatedTexture]
Frame0000=t0_luna_00.bmp
Delay0000=2.00
Frame0001=t1_luna_00.bmp
Delay0001=0.30
Frame0002=t0_luna_00.bmp
Delay0002=2.00
Frame0003=t1_luna_00.bmp
Delay0003=0.30
Frame0004=t0_luna_00.bmp
Delay0004=2.00
Frame0005=t2_luna_00.bmp
Delay0005=2.00
Frame0006=t0_luna_00.bmp
Delay0006=2.00
Frame0007=t1_luna_00.bmp
Delay0007=0.30
Frame0008=t0_luna_00.bmp
Delay0008=2.00
Frame0009=t3_luna_00.bmp
Delay0009=2.00
Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

@@ -1,33 +0,0 @@
local t = Def.ActorFrame{};
t[#t+1] = LoadFont("Common Normal")..{
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;);
--CurrentSongChangedMessageCommand=cmd(playcommand,"Set");
--CurrentStepsChangedP1MessageCommand=cmd(playcommand,"Set");
OnCommand=cmd(playcommand,"Set");
SetCommand=function(self,params)
-- song test cases
--[[
local song = GAMESTATE:GetCurrentSong();
if not song then self:settext(""); return; end;
-- song file path test case
self:settext( song:GetSongFilePath() );
-- get bpm from beat test case
self:settext( "BPM at beat 45 = "..song:GetBPMAtBeat(45) );
-- lol
--Trace( "MD5 of ".. song:GetDisplayFullTitle() .." = "..CRYPTMAN:MD5File(song:GetSongFilePath()) );
-- writing to profile dir!
local profDir = PROFILEMAN:GetProfileDir('ProfileSlot_Player1') or nil;
if profDir then
self:settext(profDir);
WriteFile(profDir.."hello.txt","hello world! eat my dick, from all your friends at SSC, but aj wrote it so really just him.");
end;
]]
end;
};
return t;
@@ -1,76 +0,0 @@
local t = Def.ActorFrame{};
t[#t+1] = LoadFont("Common normal")..{
InitCommand=cmd(x,SCREEN_CENTER_X*0.5;y,SCREEN_CENTER_Y);
SetCommand=function(self)
local song = GAMESTATE:GetCurrentSong();
if song then
--[[
-- test of TimingData:GetBPMs
local timing = song:GetTimingData();
local bpms = timing:GetBPMs();
local text = "";
for i=1,#bpms do
text = text ..bpms[i];
if i < (#bpms) then
text = text..", ";
end;
end;
self:settext(text);
--]]
--[[
-- test of TimingData:GetStops
-- format:
-- start row (float as beat)=stop length (float as seconds)
local timing = song:GetTimingData();
local stops = timing:GetStops();
local text = "";
for i=1,#stops do
text = text ..stops[i];
if i < (#stops) then
text = text..", ";
end;
end;
self:settext(text);
--]]
--[[
-- test of TimingData:GetBPMsAndTimes
-- format:
-- start row (float as beat)=new bpm (float)
local timing = song:GetTimingData();
local bpmchanges = timing:GetBPMsAndTimes();
local text = "";
for i=1,#bpmchanges do
text = text ..bpmchanges[i];
if i < (#bpmchanges) then
text = text..",\n";
end;
end;
self:settext(text);
--]]
-- test of TimingData:GetActualBPM (may need to be renamed)
-- bpms[1] = min, bpms[2] = max
local timing = song:GetTimingData();
local bpms = timing:GetActualBPM();
local minBPM = bpms[1];
local maxBPM = bpms[2];
local text = "";
if minBPM == maxBPM then
text = "min = max = ".. maxBPM;
else
text = "min = ".. minBPM .." | max = ".. maxBPM;
end;
self:settext(text);
else
self:settext("");
end;
end;
CurrentSongChangedMessageCommand=cmd(playcommand,"Set");
CurrentCourseChangedMessageCommand=cmd(playcommand,"Set");
CurrentStepsP1ChangedMessageCommand=cmd(playcommand,"Set");
CurrentTrailP1ChangedMessageCommand=cmd(playcommand,"Set");
CurrentStepsP2ChangedMessageCommand=cmd(playcommand,"Set");
CurrentTrailP2ChangedMessageCommand=cmd(playcommand,"Set");
};
return t;
@@ -1,61 +0,0 @@
local t = Def.ActorFrame{ FOV=45; };
t[#t+1] = LoadActor( THEME:GetPathB("","_titlebg") )..{
InitCommand=cmd(Center;zoomto,SCREEN_WIDTH,SCREEN_WIDTH;);
};
t[#t+1] = Def.Quad{
InitCommand=cmd(Center;zoomto,SCREEN_WIDTH,SCREEN_HEIGHT;diffusealpha,0.2);
--OnCommand=cmd(diffuse,color("0.65,0.35,0,0.35"));
OnCommand=cmd(diffuse,color("0,0.5,0.75,0.35"));
};
t[#t+1] = Def.Quad{
InitCommand=cmd(CenterX;y,SCREEN_TOP;vertalign,top;zoomto,SCREEN_WIDTH,SCREEN_HEIGHT*0.25;);
OnCommand=cmd(fadebottom,0.5;diffuse,color("0.0625,0.15625,0.28175,1"));
};
-- stars
local numStars= 250;
local maxZ = SCREEN_WIDTH;
local zStep = 5;
local reverse = false;
local zSpeed = 0.025; -- was 0.1
for i=1,numStars do
local starSize = math.random(0.25,4);
local randX = math.random(SCREEN_CENTER_X*0.05,SCREEN_CENTER_X*1.95);
local randY = math.random(SCREEN_CENTER_Y*0.05,SCREEN_CENTER_Y*1.95);
local fxOffset = math.random(0,15);
local fxPeriod = math.random(5,60);
t[#t+1] = Def.Quad{
InitCommand=cmd(x,randX;y,randY;zoomto,starSize,starSize;blend,bmAdd);
OnCommand=cmd(diffuseshift;effectperiod,fxPeriod;effectoffset,fxOffset;effectcolor1,color("1,1,1,0.25");effectcolor2,color("1,1,1,0.5");queuecommand,'Zoomer');
ZoomerCommand=function(self)
-- check Z
--[[
if self:GetZ()-starSize > maxZ then
self:linear(0.2);
self:diffusealpha(0);
self:sleep(0.001);
self:z(0);
self:linear(0.2);
self:diffusealpha(1);
end;
--]]
if self:GetZ()-starSize > maxZ then
reverse = true;
end;
if self:GetZ() == 0 then
reverse = false;
end;
local multi = 1;
if reverse then multi = -1; end;
self:linear(zSpeed);
self:addz(zStep * multi);
self:queuecommand('Zoomer');
end;
cmd(linear,starSize*20;addz,200;);
};
end;
return t;
@@ -1,34 +0,0 @@
local t = Def.ActorFrame{};
t[#t+1] = LoadActor( THEME:GetPathG("","_theme/logo") )..{
InitCommand=cmd(Center;diffusealpha,0.2;blend,bmAdd;pulse;effectmagnitude,0.95,1.25,1;effectcolor1,1.5,0.5,1,1;effectcolor2,0.5,1.5,2,1);
};
t[#t+1] = LoadActor( THEME:GetPathG("","_theme/logo") )..{
InitCommand=cmd(Center);
--[[
OnCommand=function(self)
-- let's test getpixel
local sxx = "";
--local pixCol = self:GetTexture():GetPixel(850,70);
local pixCol = color("0.75,0.9,0,1");
for i=1,#pixCol do
sxx = sxx..pixCol[i];
if i < #pixCol then
sxx = sxx..",";
end;
end;
Trace( "pixCol(850,70) = "..sxx );
end;
--]]
};
--[[
-- old version
t[#t+1] = LoadActor( THEME:GetPathG("","_theme/logo") )..{
InitCommand=cmd(Center;diffusealpha,0.2;blend,bmAdd;pulse;effectperiod,15;effectmagnitude,1,1.05,1;);
};
--]]
-- returns a table of all the files and directories in the scripts dir
--local files = FILEMAN:GetDirListing( "/Themes/test/Scripts/*" );
-- ActorUtil:GetFileType(path);
return t;
Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

-8
View File
@@ -1,8 +0,0 @@
to note, the current Lua bindings have bugs or don't work as intended:
BPMDisplay:GetText() is always one off from the current song.
Steps:GetHash() just plain doesn't work?
CRYPTMAN hash strings use the literal characters instead of the hex displayed as
ASCII. Not a bug, but something to make a note of, lest people get confused.
@@ -1,3 +0,0 @@
return Def.Quad{
InitCommand=cmd(zoomto,SCREEN_CENTER_X*0.8,SCREEN_HEIGHT*0.75;diffuse,color("0.9,0.75,0,0.9"));
};
@@ -1,3 +0,0 @@
return Def.Quad{
InitCommand=cmd(zoomto,SCREEN_CENTER_X*0.8,SCREEN_HEIGHT*0.75;diffuse,color("0,0.75,0.9,0.9"));
};
@@ -1 +0,0 @@
_blank
@@ -1,3 +0,0 @@
return LoadFont("Common Normal") .. {
Text="P1";
};
@@ -1,3 +0,0 @@
return LoadFont("Common Normal") .. {
Text="P2";
};
@@ -1,99 +0,0 @@
local gc = Var("GameCommand");
local index = gc:GetIndex();
local name = gc:GetName();
local text = gc:GetText();
local itemY = SCREEN_CENTER_Y*0.5 + (50 * index);
local t = Def.ActorFrame {
InitCommand=cmd(x,SCREEN_CENTER_X;y,itemY);
OffUnfocusedCommand=cmd(sleep,0.95/2;bounceend,0.3;zoomy,0);
--[[ OffFocusedCommand=function(self)
local bIsFirst = (index == 0) and true or false;
self:playcommand( (bIsFirst) and "LeftPick" or "RightPick");
end; --]]
OffFocusedCommand=cmd(sleep,0.5;linear,0.75;x,SCREEN_CENTER_X;zoom,1.25;sleep,0.75;decelerate,0.15;zoomy,0);
LeftPickCommand=cmd(sleep,1.25;linear,0.25;x,-SCREEN_WIDTH);
RightPickCommand=cmd(sleep,1.25;linear,0.25;x,SCREEN_WIDTH*2);
Def.Quad {
InitCommand=cmd(zoomto,274,42);
OnCommand=cmd();
};
-- Under
Def.ActorFrame {
Def.Quad {
InitCommand=cmd(zoomto,274-4,42-4);
OnCommand=cmd(diffuse,ThemeColor("Primary"));
};
};
-- Over
Def.ActorFrame {
Def.Quad {
InitCommand=cmd(zoomto,274-4,42-4);
OnCommand=cmd(diffuse,ThemeColor("Secondary");
diffuseshift;effectcolor2,ThemeColor("Secondary");effectcolor1,GenericColor("cStealth");
effectoffset,4.5;effecttiming,0.25,3.75,0.5,3.5);
-- Explanation:
-- 4 seconds for the each card to show on/off
-- 0.25 seconds of each card to transition inbetween.
-- 4.5 seconds to offset the transition of EffectColor2
-- therefore
-- EffectOffset = Time + TransitionTime*2
};
LoadFont("Common Stroke") .. {
Text=name;
InitCommand=cmd(shadowlength,0;zoomy,1.1);
OnCommand=cmd(y,-1;diffuse,ThemeColor("Secondary");
diffuseshift;effectcolor2,ThemeColor("Primary");effectcolor1,GenericColor("cStealth");
effectoffset,4.5;effecttiming,0.25,3.75,0.5,3.5
diffusealpha,0.5);
};
--[[
Def.ActorFrame {
OnCommand=cmd(vibrate;effectmagnitude,0,4,0);
LoadFont("Common Stroke") .. {
Text=name;
InitCommand=cmd(shadowlength,0;zoomy,1);
OnCommand=cmd(y,-1;diffuse,ThemeColor("Secondary");
diffuseshift;effectcolor2,ThemeColor("Primary");effectcolor1,GenericColor("cStealth");
effectoffset,4.5;effecttiming,0.25,3.75,0.5,3.5);
};
};
]]
LoadFont("Common Normal") .. {
Text=name;
InitCommand=cmd(shadowlength,0);
OnCommand=cmd(y,-1;diffuse,ThemeColor("Secondary");
diffuseshift;effectcolor2,GenericColor("cWhite");effectcolor1,GenericColor("cStealth");
effectoffset,4.5;effecttiming,0.25,3.75,0.5,3.5);
};
};
-- Choose
Def.ActorFrame {
Def.Quad {
InitCommand=cmd(zoomto,274-4,42-4);
OnCommand=cmd(
diffuseshift;effectcolor1,ThemeColor("Secondary");effectcolor2,ThemeColor("Primary");
effectoffset,4.5;effecttiming,0.25,3.75,0.5,3.5);
GainFocusCommand=cmd(stoptweening;linear,0.1;diffusealpha,1);
LoseFocusCommand=cmd(stoptweening;linear,0.25;diffusealpha,0);
OffFocusedCommand=cmd(sleep,0.25;linear,0.5;);
};
LoadFont("Common Normal") .. {
Text=name;
InitCommand=cmd(shadowlength,1);
OnCommand=cmd(y,-1;
diffuseshift;effectcolor2,ThemeColor("Secondary");effectcolor1,ThemeColor("Primary");
effectoffset,4.5;effecttiming,0.25,3.75,0.5,3.5);
GainFocusCommand=cmd(stoptweening;zoom,1.2;decelerate,0.2;zoom,1;diffusealpha,1);
LoseFocusCommand=cmd(stoptweening;zoom,1;decelerate,0.1;zoom,1;diffusealpha,0);
OffFocusedCommand=cmd(settext,"OK!";);
};
};
};
return t;
@@ -1,43 +0,0 @@
local gc = Var("GameCommand");
local index = gc:GetIndex();
local name = gc:GetName();
local text = gc:GetText();
local itemColors = {
HSV(128, 0.6, 0.85), -- play
HSV(192, 0.6, 0.85), -- options
HSV(160, 0.6, 0.85), -- customization
HSV( 64, 0.6, 0.85), -- edit
HSV( 0, 0.6, 0.85), -- exit
};
local t = Def.ActorFrame{
--[[
Def.Actor{
Name="TitleMenuController";
GainFocusCommand=function(self)
MESSAGEMAN:Broadcast("TitleChange",{NewColor=itemColors[index+1]});
end;
};
]]
LoadFont("Common Normal")..{
Text=Screen.String(text);
InitCommand=cmd(diffuse,color("1,1,1,1"));
DisabledCommand=cmd(diffuse,color("0.5,0.5,0.5,0.85"));
--GainFocusCommand=cmd(stoptweening;linear,0.25;diffuse,itemColors[index+1]);
GainFocusCommand=cmd(stoptweening;linear,0.25;diffuse,color("1,0.2,0.2,1"));
LoseFocusCommand=cmd(stoptweening;linear,0.25;diffuse,color("1,1,1,1"));
};
--[[ begin triangle ]]
Def.Quad{
InitCommand=cmd(x,-SCREEN_WIDTH*0.105;zoomto,8,24;zwrite,true;blend,'BlendMode_NoEffect');
};
Def.Quad{
InitCommand=cmd(x,-SCREEN_WIDTH*0.1;zoomto,12,12;rotationz,45;diffuselowerleft,color("0,0,0,0");ztest,true);
GainFocusCommand=cmd(stoptweening;visible,true);
LoseFocusCommand=cmd(stoptweening;visible,false);
};
--[[ end triangle ]]
};
return t;
-3
View File
@@ -1,3 +0,0 @@
return LoadFont("Common Normal") .. {
Text="P1";
};
Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

-4
View File
@@ -1,4 +0,0 @@
[ScreenTitleMenu]
Packages=Packages
CustomMenu=Custom Menu
Test Blend Modes=Test Blend Modes
@@ -1,105 +0,0 @@
-- temp, delete me when default is finalized
-- ProductivityHelpers: A set of useful aliases for theming.
-- Latest version at http://kki.ajworld.net/wiki/ProductivityHelpers
--[[ Aliases ]]
-- Blend Modes
-- Aliases for blend modes.
bmNormal = 'BlendMode_Normal';
bmAdd = 'BlendMode_Add';
bmMultiply = 'BlendMode_WeightedMultiply';
bmInvert = 'BlendMode_InvertDest';
bmNoEffect = 'BlendMode_NoEffect';
-- Health Declarations
-- Used primarily for lifebars.
hsMax = 'HealthState_Hot';
hsAlive = 'HealthState_Alive';
hsDanger = 'HealthState_Danger';
hsDead = 'HealthState_Dead';
--[[ Actor commands ]]
function Actor:CenterX()
self:x(SCREEN_CENTER_X);
end;
function Actor:CenterY()
self:y(SCREEN_CENTER_Y);
end;
-- xy(actorX,actorY)
-- Sets the x and y of an actor in one command.
function Actor:xy(actorX,actorY)
self:x(actorX);
self:y(actorY);
end;
-- MaskSource()
-- Sets an actor up as the source for a mask.
function Actor:MaskSource()
self:clearzbuffer(true);
self:zwrite(true);
self:blend('BlendMode_NoEffect');
end;
-- MaskDest()
-- Sets an actor up to be masked by anything with MaskSource().
function Actor:MaskDest()
self:ztest(true);
end;
--[[ BitmapText commands ]]
-- PixelFont()
-- An alias that turns off texture filtering.
-- Named because it works best with pixel fonts.
function BitmapText:PixelFont()
self:SetTextureFiltering(false);
end;
-- Stroke(color)
-- Sets the text's stroke color.
function BitmapText:Stroke(c)
self:strokecolor( c );
end;
-- NoStroke()
-- Removes any stroke.
function BitmapText:NoStroke()
self:strokecolor( color("0,0,0,0") );
end;
-- DiffuseAndStroke(diffuse,stroke)
-- Set diffuse and stroke at the same time.
function BitmapText:DiffuseAndStroke(diffuseC,strokeC)
self:diffuse(diffuseC);
self:strokecolor(strokeC);
end;
--[[ end BitmapText commands ]]
--[[ ----------------------------------------------------------------------- ]]
--[[ helper functions ]]
function tobool(v)
if type(v) == "string" then
local cmp = string.lower(v);
if cmp == "true" or cmp == "t" then
return true;
elseif cmp == "false" or cmp == "f" then
return false;
end;
elseif type(v) == "number" then
if v == 0 then return false;
else return true;
end;
end;
end;
-- does not assume multiplayer, that would be mpname, if it existed.
function pname(pn)
return (pn == PLAYER_1) and "P1" or "P2";
end;
--[[ end helper functions ]]
-- this code is in the public domain.
@@ -1,8 +0,0 @@
local a = math.random(50);
local ret;
if a % 2 == 0 then
ret = "_agB";
else
ret = "_agA";
end;
return THEME:GetPathS("",ret);
Binary file not shown.
Binary file not shown.
-3
View File
@@ -1,3 +0,0 @@
[ThemeInfo]
DisplayName=sm-ssc test theme
Author=the spinal shark collective
Binary file not shown.
Binary file not shown.
-67
View File
@@ -1,67 +0,0 @@
[Global]
#FallbackTheme=default
[Common]
InitialScreen="ScreenTitleMenu"
[ScreenTitleMenu]
IdleTimeoutSeconds=-1
IdleTimeoutScreen="ScreenTitleMenu"
ScrollerY=SCREEN_CENTER_Y*1.5
ScrollerTransform=function(self,offset,itemIndex,numItems) self:y(28*(itemIndex-(numItems-1)/2)); end
ChoiceNames="1,2,3,T1,4,Bl,5"
ChoiceT1="screen,ScreenLuaMenu;text,CustomMenu"
Choice1="applydefaultoptions;screen,ScreenProfileLoad;text,Game Start"
Choice2="screen,ScreenOptionsService;text,Options"
Choice3="screen,ScreenOptionsEdit;text,Edit/Share"
Choice4="screen,ScreenPackages;text,Packages"
Choice5="screen,ScreenExit;text,Exit"
ChoiceBl="screen,ScreenBlendMode2;text,Test Blend Modes"
[ScreenPackages]
DefaultUrl="http://ssc.ajworld.net/sm-ssc/drop/"
DownloadY=22
DownloadX=SCREEN_WIDTH*4.0/7.0
DownloadProgressCommand=diffuse,0.1,0.1,0.9,0.8
DownloadOnCommand=diffusealpha,0.0;linear,1.0;diffusealpha,1.0
DownloadOffCommand=diffusealpha,1.0;linear,0.6;diffusealpha,0.0
DownloadStatusY=22
DownloadStatusX=SCREEN_WIDTH*4.0/7.0
DownloadStatusOnCommand=diffusealpha,0.0;linear,1.0;diffusealpha,1.0
DownloadStatusOffCommand=diffusealpha,1.0;linear,0.6;diffusealpha,0.0
[ScreenLuaMenu]
Fallback="ScreenAttract"
Class="ScreenWithMenuElements"
PrevScreen="ScreenTitleMenu"
NextScreen="ScreenTitleMenu"
CodeNames="Up,Down,Left,Right,Start,Select"
CodeUp="Up"
CodeDown="Down"
CodeRight="Right"
CodeLeft="Left"
CodeStart="Start"
CodeSelect="Select"
[ScreenSelectPlayMode]
ShowCursor=false
SharedSelection=true
[ScreenBlendMode]
Class="ScreenAttract"
Fallback="ScreenAttract"
NextScreen="ScreenTitleMenu"
PrevScreen="ScreenTitleMenu"
TimerSeconds=60
[ScreenBlendMode2]
Class="ScreenSplash"
Fallback="ScreenSplash"
NextScreen="ScreenTitleMenu"
PrevScreen="ScreenTitleMenu"
TimerSeconds=-1