diff --git a/Themes/_fallback/Scripts/03 Gameplay.lua b/Themes/_fallback/Scripts/03 Gameplay.lua index 9124d4092e..464320ad59 100644 --- a/Themes/_fallback/Scripts/03 Gameplay.lua +++ b/Themes/_fallback/Scripts/03 Gameplay.lua @@ -38,8 +38,14 @@ function GameCompatibleModes() end function SelectProfileKeys() - local game = GAMESTATE:GetCurrentGame():GetName() - return game == "dance" and "Up,Down,Start,Back,Up2,Down2" or "Up,Down,Start,Back" + local sGame = GAMESTATE:GetCurrentGame():GetName() + if sGame == "pump" then + return "Up,Down,Start,Back,Center,DownLeft,DownRight" + elseif sGame == "dance" then + return "Up,Down,Start,Back,Up2,Down2" + else + return "Up,Down,Start,Back" + end end -- ScoreKeeperClass: diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index f38fc21759..499059bd24 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -1680,6 +1680,9 @@ CodeDown="+MenuDown" CodeDown2="+Down" CodeStart="Start" CodeBack="Back" +CodeCenter="Center" +CodeDownLeft="DownLeft" +CodeDownRight="DownRight" [ScreenSelectStyle] # (formerly known as ScreenSelectPlayMode before sm-ssc v1.0 beta 3) diff --git a/Themes/default/BGAnimations/ScreenSelectProfile overlay.lua b/Themes/default/BGAnimations/ScreenSelectProfile overlay.lua index 10da8d5db3..8355b85580 100644 --- a/Themes/default/BGAnimations/ScreenSelectProfile overlay.lua +++ b/Themes/default/BGAnimations/ScreenSelectProfile overlay.lua @@ -201,7 +201,7 @@ local t = Def.ActorFrame { end; CodeMessageCommand = function(self, params) - if params.Name == 'Start' then + if params.Name == 'Start' or params.Name == 'Center' then MESSAGEMAN:Broadcast("StartButton"); if not GAMESTATE:IsHumanPlayer(params.PlayerNumber) then SCREENMAN:GetTopScreen():SetProfileIndex(params.PlayerNumber, -1); @@ -209,7 +209,7 @@ local t = Def.ActorFrame { SCREENMAN:GetTopScreen():Finish(); end; end; - if params.Name == 'Up' or params.Name == 'Up2' then + if params.Name == 'Up' or params.Name == 'Up2' or params.Name == 'DownLeft' then if GAMESTATE:IsHumanPlayer(params.PlayerNumber) then local ind = SCREENMAN:GetTopScreen():GetProfileIndex(params.PlayerNumber); if ind > 1 then @@ -220,7 +220,7 @@ local t = Def.ActorFrame { end; end; end; - if params.Name == 'Down' or params.Name == 'Down2' then + if params.Name == 'Down' or params.Name == 'Down2' or params.Name == 'DownRight' then if GAMESTATE:IsHumanPlayer(params.PlayerNumber) then local ind = SCREENMAN:GetTopScreen():GetProfileIndex(params.PlayerNumber); if ind > 0 then