From ce89d3c43a5807acbb5612421f49367573e2b31f Mon Sep 17 00:00:00 2001 From: Jonathan Payne Date: Tue, 28 Jun 2011 13:47:42 -0700 Subject: [PATCH] [DEFAULT] Various global fixes, default songs ( see rest of log ) i317 - Installed Songs, Courses On Gameplay text i355 - midi-note, midi-solo Hold Heads fixed MEW - 2 New Songs, Courtesy of Kommisar!! NEW - Old SongMeterDisplay implemented for Split Timing FIX - Remove non-working failing logic FIX - Misc Fixes --- NoteSkins/dance/midi-note/metrics.ini | 2 +- NoteSkins/dance/midi-solo/metrics.ini | 4 +-- Themes/_fallback/Scripts/02 StageMods.lua | 33 ++++++++++++------- Themes/_fallback/metrics.ini | 5 +-- .../ScreenEvaluation overlay/default.lua | 4 +-- .../ScreenGameplay decorations/default.lua | 26 +++++++++------ .../BGAnimations/ScreenTitleMenu underlay.lua | 20 +++++++++++ Themes/default/metrics.ini | 14 ++++++-- 8 files changed, 76 insertions(+), 32 deletions(-) diff --git a/NoteSkins/dance/midi-note/metrics.ini b/NoteSkins/dance/midi-note/metrics.ini index b340ce85c5..943ed2c140 100644 --- a/NoteSkins/dance/midi-note/metrics.ini +++ b/NoteSkins/dance/midi-note/metrics.ini @@ -4,7 +4,7 @@ FallbackNoteSkin=default [NoteDisplay] TapNoteAnimationIsVivid=0 HoldHeadAnimationIsVivid=0 -DrawHoldHeadForTapsOnSameRow=1 +DrawHoldHeadForTapsOnSameRow=0 TapNoteAnimationLength=4 TapAdditionAnimationLength=4 TapMineAnimationLength=1 diff --git a/NoteSkins/dance/midi-solo/metrics.ini b/NoteSkins/dance/midi-solo/metrics.ini index edfd84d362..698d307fb4 100644 --- a/NoteSkins/dance/midi-solo/metrics.ini +++ b/NoteSkins/dance/midi-solo/metrics.ini @@ -3,7 +3,7 @@ FallbackNoteSkin=midi-note [NoteDisplay] TapNoteAnimationIsVivid=0 -DrawHoldHeadForTapsOnSameRow=1 +DrawHoldHeadForTapsOnSameRow=0 TapNoteAnimationLength=4 TapAdditionAnimationLength=4 TapMineAnimationLength=1 @@ -35,7 +35,7 @@ TapFakeNoteColorTextureCoordSpacingX=0 TapFakeNoteColorTextureCoordSpacingY=0.125 HoldHeadNoteColorTextureCoordSpacingX=0 -HoldHeadNoteColorTextureCoordSpacingY=0.125 +HoldHeadNoteColorTextureCoordSpacingY=0 [GhostArrowDim] NoneCommand= diff --git a/Themes/_fallback/Scripts/02 StageMods.lua b/Themes/_fallback/Scripts/02 StageMods.lua index 294ccf6a76..c4ddf6b60a 100644 --- a/Themes/_fallback/Scripts/02 StageMods.lua +++ b/Themes/_fallback/Scripts/02 StageMods.lua @@ -13,23 +13,31 @@ function AreStageSongModsForced() return bExtraStage or bOni or bBattle or bRave end +function SetFail() + local sFail = ""; + + if GetGamePref("DefaultFail") then + sFail = string.format("fail%s", string.lower( GetGamePref("DefaultFail") )); + else + sFail = "failoff"; + end + + sFail = sFail .. ",failimmediate,suddendeath"; + SCREENMAN:SystemMessage( 'NEW FAIL IS: ' .. tostring(sFail) ); + + GAMESTATE:SetSongOptions( "ModsLevel_Song", sFail ); + MESSAGEMAN:Broadcast( "SongOptionsChanged" ); +end + function ScreenSelectMusic:setupmusicstagemods() Trace( "setupmusicstagemods" ) local pm = GAMESTATE:GetPlayMode() if pm == "PlayMode_Battle" or pm == "PlayMode_Rave" then - -- FIX DAT BUG; - local sFail = ""; - if GetGamePref("DefaultFail") then - sFail = string.format("Fail%s", GetGamePref("DefaultFail") ); - else - sFail = "Failoff"; - end; - -- - local so = GAMESTATE:GetDefaultSongOptions() .. "," .. sFail; + local so = GAMESTATE:GetDefaultSongOptions(); GAMESTATE:SetSongOptions( "ModsLevel_Stage", so ); MESSAGEMAN:Broadcast( "SongOptionsChanged" ); - elseif GAMESTATE:IsAnExtraStage() then + elseif GAMESTATE:IsAnExtraStage() then if GAMESTATE:GetPreferredSongGroup() == "---Group All---" then local song = GAMESTATE:GetCurrentSong() GAMESTATE:SetPreferredSongGroup( song:GetGroupName() ) @@ -46,6 +54,9 @@ function ScreenSelectMusic:setupmusicstagemods() po = THEME:GetMetric("SongManager","ExtraStagePlayerModifiers"); so = THEME:GetMetric("SongManager","ExtraStageStageModifiers"); end + + so = so .. "," .. sFail; + local difficulty = steps:GetDifficulty() local Reverse = PlayerNumber:Reverse() @@ -58,8 +69,6 @@ function ScreenSelectMusic:setupmusicstagemods() GAMESTATE:SetPreferredDifficulty( pn, difficulty ) MESSAGEMAN:Broadcast( "PlayerOptionsChanged", {PlayerNumber = pn} ) end - - GAMESTATE:SetSongOptions( "ModsLevel_Stage", so ) MESSAGEMAN:Broadcast( "SongOptionsChanged" ) diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index e1e5812d24..127d5862d7 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -2083,7 +2083,8 @@ ForceTimer=true TimerMetricsGroup="MenuTimerNoSound" TimerSeconds=5 # - +# ScreenOnCommand=%SetFail() +# [ScreenOptions] Fallback="ScreenWithMenuElements" NavigationMode="normal" @@ -2369,7 +2370,7 @@ Hide="3;selectmultiple" HideDefault="mod,no dark,no blind,no cover" Hide,1="mod,dark;name,Dark" Hide,2="mod,blind;name,Blind" -Hide,3="mod,60% cover;name,Cover" +Hide,3="mod,80% cover;name,Cover" # Hide="3" # HideDefault="mod,no dark,no blind" diff --git a/Themes/default/BGAnimations/ScreenEvaluation overlay/default.lua b/Themes/default/BGAnimations/ScreenEvaluation overlay/default.lua index f60350e627..5a9bdf73ba 100644 --- a/Themes/default/BGAnimations/ScreenEvaluation overlay/default.lua +++ b/Themes/default/BGAnimations/ScreenEvaluation overlay/default.lua @@ -58,11 +58,11 @@ end; -- xxx: this only currently works for player 1. -aj local t = Def.ActorFrame {}; t[#t+1] = Def.ActorFrame { - InitCommand=cmd(x,WideScale(math.floor(SCREEN_CENTER_X*0.3)-8,math.floor(SCREEN_CENTER_X*0.5)-8);y,SCREEN_CENTER_Y); + InitCommand=cmd(x,WideScale(math.floor(SCREEN_CENTER_X*0.3)-8,math.floor(SCREEN_CENTER_X*0.5)-8);y,SCREEN_CENTER_Y-34); CreateStats( PLAYER_1 ); }; t[#t+1] = Def.ActorFrame { - InitCommand=cmd(x,WideScale(math.floor(SCREEN_CENTER_X*1.7)+8,math.floor(SCREEN_CENTER_X*1.5)+8);y,SCREEN_CENTER_Y); + InitCommand=cmd(x,WideScale(math.floor(SCREEN_CENTER_X*1.7)+8,math.floor(SCREEN_CENTER_X*1.5)+8);y,SCREEN_CENTER_Y-34); CreateStats( PLAYER_2 ); }; return t \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua b/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua index f46c102f86..6fa5c4a506 100644 --- a/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua +++ b/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua @@ -1,4 +1,4 @@ -local function CreateStops() +local function CreateStops(Player) local t = Def.ActorFrame { }; local bars = Def.ActorFrame{ }; local bpmFrame = Def.ActorFrame{ Name="BPMFrame"; }; @@ -7,10 +7,13 @@ local function CreateStops() local fFrameWidth = 380; local fFrameHeight = 8; -- XXX: doesn't work in course mode -aj - if not GAMESTATE:IsCourseMode() then + if not GAMESTATE:IsSideJoined( Player ) then + return t + elseif not GAMESTATE:IsCourseMode() then -- Straight rip off NCRX local song = GAMESTATE:GetCurrentSong(); - local timingData = song:GetTimingData(); + local steps = GAMESTATE:GetCurrentSteps( Player ); + local timingData = steps:GetTimingData(); -- if we're using SSC, might as well use the StepsSeconds, which will -- almost always be more proper than a r21'd file. if song then @@ -84,9 +87,10 @@ local function CreateStops() return t end local t = LoadFallbackB() +t[#t+1] = StandardDecorationFromFileOptional("ScoreFrame","ScoreFrame"); for pn in ivalues(PlayerNumber) do --- local MetricsName = "SongMeterDisplay" .. PlayerNumberToString(pn); ---[[ t[#t+1] = Def.ActorFrame { + local MetricsName = "SongMeterDisplay" .. PlayerNumberToString(pn); + t[#t+1] = Def.ActorFrame { InitCommand=function(self) self:player(pn); self:name(MetricsName); @@ -117,8 +121,10 @@ for pn in ivalues(PlayerNumber) do }; Tip=LoadActor( THEME:GetPathG( 'SongMeterDisplay', 'tip ' .. PlayerNumberToString(pn) ) ) .. { InitCommand=cmd(visible,false); }; }; - CreateStops(); - }; --]] + CreateStops(pn) .. { +-- InitCommand=cmd(draworder,10); + }; + }; end; for pn in ivalues(PlayerNumber) do local MetricsName = "ToastyDisplay" .. PlayerNumberToString(pn); @@ -131,12 +137,12 @@ for pn in ivalues(PlayerNumber) do }; end; -t[#t+1] = StandardDecorationFromFileOptional("ScoreFrame","ScoreFrame"); + t[#t+1] = StandardDecorationFromFileOptional("BPMDisplay","BPMDisplay"); t[#t+1] = StandardDecorationFromFileOptional("StageDisplay","StageDisplay"); t[#t+1] = StandardDecorationFromFileOptional("SongTitle","SongTitle"); -t[#t+1] = Def.ActorFrame { +--[[ t[#t+1] = Def.ActorFrame { InitCommand=function(self) self:name("SongMeterDisplay"); ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); @@ -167,7 +173,7 @@ t[#t+1] = Def.ActorFrame { Tip=LoadActor( THEME:GetPathG( 'SongMeterDisplay', 'tip ' .. PlayerNumberToString(PLAYER_1) ) ) .. { InitCommand=cmd(visible,false); }; }; CreateStops(); -}; +}; --]] if( not GAMESTATE:IsCourseMode() ) then t[#t+1] = Def.Actor{ JudgmentMessageCommand = function(self, params) diff --git a/Themes/default/BGAnimations/ScreenTitleMenu underlay.lua b/Themes/default/BGAnimations/ScreenTitleMenu underlay.lua index 3f4af5add1..665a830d61 100644 --- a/Themes/default/BGAnimations/ScreenTitleMenu underlay.lua +++ b/Themes/default/BGAnimations/ScreenTitleMenu underlay.lua @@ -8,5 +8,25 @@ t[#t+1] = StandardDecorationFromFileOptional("LifeDifficulty","LifeDifficulty"); t[#t+1] = StandardDecorationFromFileOptional("TimingDifficulty","TimingDifficulty"); t[#t+1] = StandardDecorationFromFileOptional("NetworkStatus","NetworkStatus"); t[#t+1] = StandardDecorationFromFileOptional("SystemDirection","SystemDirection"); +-- +t[#t+1] = StandardDecorationFromFileOptional("NumSongs","NumSongs") .. { + SetCommand=function(self) + local InstalledSongs, AdditionalSongs, InstalledCourses, AdditionalCourses, Groups, Unlocked = 0; + if SONGMAN:GetRandomSong() then + InstalledSongs, AdditionalSongs, InstalledCourses, AdditionalCourses, Groups, Unlocked = + SONGMAN:GetNumSongs(), + SONGMAN:GetNumAdditionalSongs(), + SONGMAN:GetNumCourses(), + SONGMAN:GetNumAdditionalCourses(), + SONGMAN:GetNumSongGroups(), + SONGMAN:GetNumUnlockedSongs(); + else + return + end + + self:settextf("%i Songs (%i Groups), %i Courses", InstalledSongs, Groups, InstalledCourses); +-- self:settextf("%i (+%i) Songs (%i Groups), %i (+%i) Courses", InstalledSongs, AdditionalSongs, Groups, InstalledCourses, AdditionalCourses); + end; +}; return t \ No newline at end of file diff --git a/Themes/default/metrics.ini b/Themes/default/metrics.ini index 8116ca3a1b..87ab2f6cce 100644 --- a/Themes/default/metrics.ini +++ b/Themes/default/metrics.ini @@ -613,6 +613,13 @@ CurrentGametypeY=SCREEN_HEIGHT*0.1575 CurrentGametypeOnCommand=vertalign,bottom; CurrentGametypeOffCommand=linear,0.5;cropleft,1 # +ShowNumSongs=true +NumSongsX=SCREEN_WIDTH*0.99 +NumSongsY=SCREEN_HEIGHT*0.1575+3 +NumSongsOnCommand=vertalign,bottom;horizalign,right;zoom,0.5;playcommand,"Set" +NumSongsOffCommand= +# +# ShowTimingDifficulty=true TimingDifficultyX=SCREEN_LEFT+84 TimingDifficultyY=SCREEN_TOP+22 @@ -828,6 +835,7 @@ IconChoiceEndlessOffCommand=linear,0.1175;zoomx,0 [ScreenGameInformation] [ScreenSelectMusic] +SampleMusicPreviewMode='SampleMusicPreviewMode_LastSong' UsePlayerSelectMenu=false # OptionsMenuAvailable=(getenv(sMode) ~= Oni) SelectMenuAvailable=true @@ -1313,12 +1321,12 @@ SongTitleOffCommand= # SongMeterDisplayP1X=SCREEN_LEFT+16 SongMeterDisplayP1Y=SCREEN_CENTER_Y -SongMeterDisplayP1OnCommand=rotationz,-90;zoom,0;addx,-24;sleep,1.5;decelerate,0.5;zoom,1;addx,24 +SongMeterDisplayP1OnCommand=draworder,5;rotationz,-90;zoom,0;addx,-24;sleep,1.5;decelerate,0.5;zoom,1;addx,24 SongMeterDisplayP1OffCommand= # SongMeterDisplayP2X=SCREEN_RIGHT-16 SongMeterDisplayP2Y=SCREEN_CENTER_Y -SongMeterDisplayP2OnCommand=rotationz,-90;zoom,0;addx,24;sleep,1.5;decelerate,0.5;zoom,1;addx,-24 +SongMeterDisplayP2OnCommand=draworder,5;rotationz,-90;zoom,0;addx,24;sleep,1.5;decelerate,0.5;zoom,1;addx,-24 SongMeterDisplayP2OffCommand= # ShowBPMDisplay=true @@ -1337,7 +1345,7 @@ StageDisplayOffCommand=bounceend,0.25;zoom,0 ShowScoreFrame=GetUserPrefB("GameplayFooter"); ScoreFrameX=SCREEN_CENTER_X ScoreFrameY=SCREEN_BOTTOM+4 -ScoreFrameOnCommand=draworder,100;vertalign,bottom;zoomtowidth,SCREEN_WIDTH+4;diffuse,color("#ffd400");addy,80;sleep,2;decelerate,0.5;addy,-80; +ScoreFrameOnCommand=draworder,4;vertalign,bottom;zoomtowidth,SCREEN_WIDTH+4;diffuse,color("#ffd400");addy,80;sleep,2;decelerate,0.5;addy,-80; ScoreFrameOffCommand= # LifeP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX")