...ah yes. Merges. My old friends.

This commit is contained in:
Jason Felds
2012-06-19 09:45:55 -04:00
24 changed files with 199 additions and 45 deletions
+13
View File
@@ -0,0 +1,13 @@
local Color1 = color(Var "Color1");
local Color2 = color(Var "Color2");
local t = Def.ActorFrame {};
t[#t+1] = LoadActor(Var "File1") .. {
OnCommand=cmd(diffuse,Color1;blend,"BlendMode_Add";x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;scale_or_crop_background;linear,1;diffusealpha,0);
GainFocusCommand=cmd(play);
LoseFocusCommand=cmd(pause);
};
return t;
+20
View File
@@ -0,0 +1,20 @@
local Color1 = color(Var "Color1");
local Color2 = color(Var "Color2");
local t = Def.ActorFrame {};
t[#t+1] = LoadActor(Var "File1") .. {
OnCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;scale_or_crop_background;diffuse,Color1;effectclock,"music");
GainFocusCommand=cmd(play);
LoseFocusCommand=cmd(pause);
};
if Var("File2") ~= nil then
t[#t+1] = LoadActor(Var("File2")) .. {
OnCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;scale_or_crop_background;diffuse,Color2;effectclock,"music";linear,1;diffusealpha,0);
GainFocusCommand=cmd(play);
LoseFocusCommand=cmd(pause);
};
end;
return t;
+21
View File
@@ -0,0 +1,21 @@
local Color1 = color(Var "Color1");
local Color2 = color(Var "Color2");
local stretchBG = PREFSMAN:GetPreference("StretchBackgrounds")
local t = Def.ActorFrame {};
t[#t+1] = LoadActor(Var "File1") .. {
OnCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;scale_or_crop_background;diffuse,Color1;effectclock,"music");
GainFocusCommand=cmd(play);
LoseFocusCommand=cmd(pause);
};
if Var("File2") ~= nil then
t[#t+1] = LoadActor(Var("File2")) .. {
OnCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;scale_or_crop_background;diffuse,Color1;effectclock,"music");
GainFocusCommand=cmd(play);
LoseFocusCommand=cmd(pause);
};
end;
return t;
+11
View File
@@ -0,0 +1,11 @@
local Color1 = color(Var "Color1");
local t = Def.ActorFrame {};
t[#t+1] = LoadActor(Var "File1") .. {
OnCommand=cmd(diffuse,Color1;blend,"BlendMode_Add";x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;scale_or_crop_background;);
GainFocusCommand=cmd(play);
LoseFocusCommand=cmd(pause);
};
return t;
@@ -0,0 +1,20 @@
local Color1 = color(Var "Color1");
local Color2 = color(Var "Color2");
local t = Def.ActorFrame {};
t[#t+1] = LoadActor(Var "File1") .. {
OnCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;scale_or_crop_background;diffuse,Color1;effectclock,"music");
GainFocusCommand=cmd(play);
LoseFocusCommand=cmd(pause);
};
if Var("File2") ~= nil then
t[#t+1] = LoadActor(Var("File2")) .. {
OnCommand=cmd(blend,"BlendMode_Add";x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;scale_or_crop_background;diffuse,Color2;effectclock,"music";linear,1;diffusealpha,0);
GainFocusCommand=cmd(play);
LoseFocusCommand=cmd(pause);
};
end;
return t;
@@ -0,0 +1,4 @@
<BackgroundTransition
LeavesCommand="stoptweening;linear,0.75;diffusealpha,0"
RootCommand=""
/>
@@ -0,0 +1,4 @@
<BackgroundTransition
LeavesCommand="stoptweening;linear,0.5;diffusealpha,0"
RootCommand=""
/>
@@ -0,0 +1,4 @@
<BackgroundTransition
LeavesCommand="croptop,-0.3;fadetop,0.3;cropbottom,-0.3;fadebottom,0.3;linear,1.0;croptop,.5;cropbottom,.5"
RootCommand=""
/>
@@ -0,0 +1,4 @@
<BackgroundTransition
LeavesCommand="cropright,-0.3;faderight,0.3;cropleft,-0.3;fadeleft,0.3;linear,1.0;cropright,.5;cropleft,.5"
RootCommand=""
/>
+9 -4
View File
@@ -4,6 +4,7 @@ The following is a list of known issues with StepMania 5.
NoteSkins. Random Vanish, in particular, has caused crashes. NoteSkins. Random Vanish, in particular, has caused crashes.
* In a more technical and general sense, diffuse commands do not * In a more technical and general sense, diffuse commands do not
work properly with ActorFrames. work properly with ActorFrames.
* This is most evident with the default dance mode noteskin.
* The course editor is not working. (It could stand to be rewritten.) * The course editor is not working. (It could stand to be rewritten.)
@@ -22,7 +23,7 @@ The following is a list of known issues with StepMania 5.
* Routine mode (dance or pump) isn't perfect yet. * Routine mode (dance or pump) isn't perfect yet.
* Attempting to use the Jukebox to show Routine steps will lead to an infinite * Attempting to use the Jukebox to show Routine steps will lead to an infinite
loop that is not escapable short of killing the program. loop that is not escapable short of killing the program.
* Practice mode and routine steps may cause a crash. (?) * Attempting to select routine mode in the Practice menu causes a crash.
* The attempted unlock code written around Previews 2-4 (?) does not seem to * The attempted unlock code written around Previews 2-4 (?) does not seem to
work at this time. Assistance may be needed here. work at this time. Assistance may be needed here.
@@ -31,6 +32,7 @@ The following is a list of known issues with StepMania 5.
shouldn't be all the time. shouldn't be all the time.
* C-Mods have not been fully tested with all of the new segments yet. * C-Mods have not been fully tested with all of the new segments yet.
Warp segments are ignored when C-Mods are used.
* Split Timing needs adjustments with only one chart in place. * Split Timing needs adjustments with only one chart in place.
* Either that, or all tags must be allowable in song timing. * Either that, or all tags must be allowable in song timing.
@@ -46,12 +48,13 @@ The following is a list of known issues with StepMania 5.
* FFMPEG ruins our lives. I suspect init problems for Linux, since it * FFMPEG ruins our lives. I suspect init problems for Linux, since it
works perfectly fine seemingly at random. Unsure for other platforms. works perfectly fine seemingly at random. Unsure for other platforms.
* is this still an issue with ffmpeg 0.10? -freem
* VBR MP3's don't seek correctly in the editor, which botches sync. * VBR MP3's don't seek correctly in the editor, which botches sync.
* While ScreenHowToPlay no longer crashes (?), the steps do not show up. * While ScreenHowToPlay no longer crashes (?), the steps do not show up.
The steps themselves are being read, as the character will react to where The steps themselves are being read, as the character will still step
the arrows would be. to the arrows would be.
* There is no make install target for linux systems - this is important for * There is no make install target for linux systems - this is important for
packaging purposes in particular (it would be great to release .debs!) packaging purposes in particular (it would be great to release .debs!)
@@ -59,4 +62,6 @@ The following is a list of known issues with StepMania 5.
* LuaDriver works well, but without threading it has latency issues. * LuaDriver works well, but without threading it has latency issues.
* Survival courses crash if you set a noteskin in the player options * Survival courses crash if you set a noteskin in the player options
just before starting the course. just before starting the course.
* On some graphics cards, 3D models may cause crashes.
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

+1 -1
View File
@@ -152,7 +152,7 @@ function FailCombo()
end end
local RoutineSkins = { local RoutineSkins = {
dance = { P1 = "midi-routine-p1", P2 = "midi-routine-p1" }, dance = { P1 = "midi-routine-p1", P2 = "midi-routine-p2" },
pump = { P1 = "cmd-routine-p1", P2 = "cmd-routine-p2" }, pump = { P1 = "cmd-routine-p1", P2 = "cmd-routine-p2" },
kb7 = { P1 = "default", P2 = "retrobar" }, kb7 = { P1 = "default", P2 = "retrobar" },
------------------------------------------------------------- -------------------------------------------------------------
@@ -154,7 +154,7 @@ ScoringModes["DDR SuperNOVA 2"]=function(judge,pss,player,mode)
--this is how one activates ScoringEngine2's built-in filter system. --this is how one activates ScoringEngine2's built-in filter system.
judge,pss,player,mode=coroutine.yield({{'TapNoteScore_None','TapNoteScore_CheckpointHit','TapNoteScore_CheckpointMiss'},{"HoldNoteScore_None"}}) judge,pss,player,mode=coroutine.yield({{'TapNoteScore_None','TapNoteScore_CheckpointHit','TapNoteScore_CheckpointMiss'},{"HoldNoteScore_None"}})
local mineWasHit=false local mineWasHit=false
while mode == "update" do while mode=="update" do
if judge.TapNoteScore:find("Mine") then mineWasHit = true end if judge.TapNoteScore:find("Mine") then mineWasHit = true end
curScore=curScore+(stepScore*(not judge.HoldNoteScore and tnsMultiplier[judge.TapNoteScore] - curScore=curScore+(stepScore*(not judge.HoldNoteScore and tnsMultiplier[judge.TapNoteScore] -
(subtract10Points[judge.TapNoteScore] and 10 or 0) or (subtract10Points[judge.TapNoteScore] and 10 or 0) or
@@ -178,7 +178,7 @@ ScoringModes["Billions DP"]=function(judge,pss,player,mode)
while true do while true do
judge,pss,player,mode=coroutine.yield(curScore,curMaxScore) judge,pss,player,mode=coroutine.yield(curScore,curMaxScore)
curScore = (pss:GetActualDancePoints()/possibleDP)*1000000000 curScore = (pss:GetActualDancePoints()/possibleDP)*1000000000
curMaxScore = (pss:GetCurrentPossibleDancePoints/possibleDP)*1000000000 curMaxScore = (pss:GetCurrentPossibleDancePoints()/possibleDP)*1000000000
if mode=="finalize" then return curScore,curMaxScore end if mode=="finalize" then return curScore,curMaxScore end
end end
end end
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

+15
View File
@@ -1870,6 +1870,21 @@ SongInformationY=SCREEN_TOP+100
SongInformationOnCommand=playcommand,"Set";draworder,105 SongInformationOnCommand=playcommand,"Set";draworder,105
SongInformationOffCommand= SongInformationOffCommand=
ShowWinArea=GAMESTATE:GetPlayMode() == 'PlayMode_Rave'
WinFrameP1X=
WinFrameP1Y=
WinFrameP1OnCommand=
WinFrameP2X=
WinFrameP2Y=
WinFrameP2OnCommand=
#----#
WinP1X=SCREEN_CENTER_X-224
WinP1Y=SCREEN_BOTTOM-224
WinP1OnCommand=draworder,101
WinP2X=SCREEN_CENTER_X+224
WinP2Y=SCREEN_BOTTOM-224
WinP2OnCommand=draworder,101
[ScreenEvaluationNormal] [ScreenEvaluationNormal]
Fallback="ScreenEvaluation" Fallback="ScreenEvaluation"
# #
@@ -2,11 +2,34 @@ local t = LoadFallbackB();
-- --
t[#t+1] = StandardDecorationFromFileOptional("BannerFrame","BannerFrame"); t[#t+1] = StandardDecorationFromFileOptional("BannerFrame","BannerFrame");
t[#t+1] = StandardDecorationFromFileOptional("BPMDisplay","BPMDisplay"); t[#t+1] = StandardDecorationFromFileOptional("BPMDisplay","BPMDisplay");
t[#t+1] = StandardDecorationFromFileOptional("TimeDisplay","TimeDisplay"); --~ t[#t+1] = StandardDecorationFromFileOptional("TimeDisplay","TimeDisplay");
t[#t+1] = StandardDecorationFromFileOptional("StageDisplay","StageDisplay"); t[#t+1] = StandardDecorationFromFileOptional("StageDisplay","StageDisplay");
t[#t+1] = StandardDecorationFromFileOptional("SortDisplay","SortDisplay"); --~ t[#t+1] = StandardDecorationFromFileOptional("SortDisplay","SortDisplay");
t[#t+1] = StandardDecorationFromFileOptional("DifficultyList","DifficultyList"); --~ t[#t+1] = StandardDecorationFromFileOptional("DifficultyList","DifficultyList");
t[#t+1] = Def.ActorFrame {
Def.Quad {
InitCommand=cmd(x,SCREEN_CENTER_X-320+24;y,SCREEN_CENTER_Y-192+16;zoomto,40-4,20;diffuse,PlayerColor(PLAYER_1));
};
LoadFont("Common Normal") .. {
Text=ToEnumShortString(PLAYER_1);
InitCommand=cmd(x,SCREEN_CENTER_X-320+24;y,SCREEN_CENTER_Y-192+16;diffuse,ThemeColor.Secondary);
};
LoadActor(THEME:GetPathG(Var "LoadingScreen", "OptionRows"),PLAYER_1) .. {
InitCommand=cmd(x,SCREEN_CENTER_X-320+24+40;y,SCREEN_CENTER_Y-192+16);
};
};
t[#t+1] = Def.ActorFrame {
Def.Quad {
InitCommand=cmd(x,SCREEN_CENTER_X-320+24;y,SCREEN_CENTER_Y-192+16+22;zoomto,40-4,20;diffuse,PlayerColor(PLAYER_2));
};
LoadFont("Common Normal") .. {
Text=ToEnumShortString(PLAYER_1);
InitCommand=cmd(x,SCREEN_CENTER_X-320+24;y,SCREEN_CENTER_Y-192+16+22;diffuse,ThemeColor.Secondary);
};
LoadActor(THEME:GetPathG(Var "LoadingScreen", "OptionRows"),PLAYER_1) .. {
InitCommand=cmd(x,SCREEN_CENTER_X-320+24+40;y,SCREEN_CENTER_Y-192+16+22);
};
};
-- StepsDisplay creator -- StepsDisplay creator
local function CreateStepsDisplay( _pn ) local function CreateStepsDisplay( _pn )
local function set(self, _pn) local function set(self, _pn)
@@ -34,10 +57,4 @@ for pn in ivalues(PlayerNumber) do
InitCommand=function(self) self:player(pn); self:name(MetricsName); ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); end; InitCommand=function(self) self:player(pn); self:name(MetricsName); ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); end;
}; };
end end
-- Create PaneDisplay for each player
t[#t+1] = StandardDecorationFromFileOptional("PaneDisplay","PaneDisplay");
--[[ for pn in ivalues(PlayerNumber) do
local MetricsName = "PaneDisplay" .. PlayerNumberToString(pn);
t[#t+1] = StandardDecorationFromFileOptional(MetricsName,"PaneDisplay",PlayerNumber);
end ]]
return t; return t;
@@ -33,32 +33,41 @@ return Def.ActorFrame {
self:aux(0); self:aux(0);
self:playcommand( GAMESTATE:GetCurrentSong():GetTimingData():HasBPMChanges() and "MultipleBPM" or "SingleBPM" ); self:playcommand( GAMESTATE:GetCurrentSong():GetTimingData():HasBPMChanges() and "MultipleBPM" or "SingleBPM" );
end; end;
-- BPM Background
Def.Quad {
Name="BPMBackground";
InitCommand=cmd(zoomto,96,32;diffuse,ThemeColor.Secondary;shadowlength,2;shadowcolor,Color.Alpha(ColorDarkTone(ThemeColor.Primary),0.95));
};
-- BPM Multiple Warning
Def.Quad {
Name="BPMFlag";
InitCommand=cmd(x,32;y,-8;basezoomx,24;basezoomy,4;fadeleft,0.2;faderight,0.2;diffuse,ThemeColor.Primary;thump,1;effectclock,'beatnooffset');
SingleBPMCommand=cmd(finishtweening;decelerate,0.1;zoom,0;zoomx,8;diffusealpha,0);
MultipleBPMCommand=cmd(finishtweening;smooth,0.05;zoom,1;diffusealpha,1;);
};
-- BPM Label -- BPM Label
LoadFont("Common Normal") .. { LoadActor(THEME:GetPathB("_frame","3x3"),"rounded black",160,20);
Name="BPMLabel"; -- BPM Display Low
Text="BPM";
InitCommand=cmd(x,-32;y,-8;zoom,0.5);
};
-- BPM Display
Def.RollingNumbers { Def.RollingNumbers {
Name="BPMText"; Name="BPMTextLow";
File=THEME:GetPathF("Common","Normal"); File=THEME:GetPathF("Common","Normal");
InitCommand=cmd(Load,"RollingNumbersBPMDisplay"); InitCommand=cmd(Load,"RollingNumbersBPMDisplay");
OnCommand=cmd(horizalign,left;x,-46;y,6;zoom,0.75;maxwidth,92/0.75;); OnCommand=cmd(horizalign,left;x,-64;maxwidth,92/0.75;);
BeginCommand=cmd(playcommand,"Set"); BeginCommand=cmd(playcommand,"Set");
CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); CurrentSongChangedMessageCommand=cmd(playcommand,"Set");
SetCommand=function(self);
Song = GAMESTATE:GetCurrentSong();
BPMs = Song:GetDisplayBpms() or {0,0};
-- reset numbers
self:targetnumber( clamp(BPMs[1],0,9999) );
-- (force once)
if (self:getaux() == 0) then
self:settext(clamp(BPMs[1],0,9999));
self:aux( 1 );
end;
end;
};
LoadFont("Common Normal") .. {
Text="-";
};
-- BPM Display High
Def.RollingNumbers {
Name="BPMTextHigh";
File=THEME:GetPathF("Common","Normal");
InitCommand=cmd(Load,"RollingNumbersBPMDisplay");
OnCommand=cmd(horizalign,left;x,8;maxwidth,92/0.75;);
BeginCommand=cmd(playcommand,"Set");
CurrentSongChangedMessageCommand=cmd(playcommand,"Set");
HideCommand=cmd(finishtweening;linear,0.2;diffusealpha,0);
ShowCommand=cmd(finishtweening;decelerate,0.125;diffusealpha,1);
SetCommand=function(self) SetCommand=function(self)
Song = GAMESTATE:GetCurrentSong(); Song = GAMESTATE:GetCurrentSong();
BPMs = Song:GetDisplayBpms() or {0,0}; BPMs = Song:GetDisplayBpms() or {0,0};
@@ -8,10 +8,11 @@ local curStageIndex = GAMESTATE:GetCurrentStageIndex();
local t = Def.ActorFrame {}; local t = Def.ActorFrame {};
t[#t+1] = Def.ActorFrame { t[#t+1] = Def.ActorFrame {
LoadActor(THEME:GetPathB("_frame","3x3"),"rounded black",160,20); LoadActor(THEME:GetPathB("_frame","3x3"),"rounded black",160,20);
LoadFont("Common Normal") .. { LoadFont("Common Normal") .. {
Text=StageToLocalizedString( curStage ) .. " Stage (" .. curStageIndex .. ")"; Text=StageToLocalizedString( curStage ) .. " Stage";
InitCommand=cmd(zoom,0.75;y,-2;shadowlength,1; --~ Text=StageToLocalizedString( curStage ) .. " Stage (" .. curStageIndex .. ")";
InitCommand=cmd(shadowlength,1;
diffuse,StageToColor(curStage); diffuse,StageToColor(curStage);
diffusetopedge,ColorLightTone(StageToColor(curStage)); diffusetopedge,ColorLightTone(StageToColor(curStage));
-- shadowcolor,ColorDarkTone(StageToColor(curStage)); -- shadowcolor,ColorDarkTone(StageToColor(curStage));
+11 -5
View File
@@ -34,20 +34,26 @@ StageDisplayOffCommand=
MusicWheelX=SCREEN_CENTER_X+180 MusicWheelX=SCREEN_CENTER_X+180
MusicWheelY=SCREEN_CENTER_Y MusicWheelY=SCREEN_CENTER_Y
# #
BannerX=SCREEN_CENTER_X-160+32 BannerX=SCREEN_CENTER_X-160
BannerY=SCREEN_CENTER_Y-100 BannerY=SCREEN_CENTER_Y-64-4
BannerOnCommand=draworder,111;scaletoclipped,256,80 BannerOnCommand=draworder,111;scaletoclipped,256,80
BannerOffCommand= BannerOffCommand=
# #
ShowBannerFrame=true ShowBannerFrame=true
BannerFrameX=SCREEN_CENTER_X-128-32 BannerFrameX=SCREEN_CENTER_X-128-32
BannerFrameY=SCREEN_CENTER_Y-96-4 BannerFrameY=SCREEN_CENTER_Y-64-4
BannerFrameOnCommand=draworder,110 BannerFrameOnCommand=draworder,110
BannerFrameOffCommand= BannerFrameOffCommand=
# #
ShowStageDisplay=true
StageDisplayX=SCREEN_CENTER_X-128-128+12
StageDisplayY=SCREEN_CENTER_Y-64-64
StageDisplayOnCommand=draworder,115;zoom,0.75
StageDisplayOffCommand=
#
ShowBPMDisplay=true ShowBPMDisplay=true
BPMDisplayX=SCREEN_CENTER_X-256 BPMDisplayX=SCREEN_CENTER_X-256+12+160
BPMDisplayY=SCREEN_CENTER_Y-128-40 BPMDisplayY=SCREEN_CENTER_Y-64-64
BPMDisplayOnCommand=draworder,115 BPMDisplayOnCommand=draworder,115
BPMDisplayOffCommand= BPMDisplayOffCommand=
# #