Change Next/Prev OptionsList to CodeDetector

This commit is contained in:
RhythmLunatic
2019-03-28 16:11:36 -05:00
parent 4eecbcf933
commit 2648c65c22
6 changed files with 28 additions and 14 deletions
+7 -8
View File
@@ -331,6 +331,13 @@ local CodeDetectorCodes = {
CloseCurrentFolder = {
default = "MenuUp-MenuDown",
},
-- OptionsList
PrevOptionsList = {
default = "@MenuUp-MenuDown",
},
NextOptionsList = {
default = "@MenuDown-MenuUp",
},
-- sorts
NextSort1 = {
default = "@MenuLeft-@MenuRight-Start",
@@ -462,14 +469,6 @@ function GetCodeForGame(codeName)
end
local OptionsListKeys = {
PrevMenu = {
pump="MenuUp",
default="MenuLeft"
},
NextMenu = {
pump="MenuDown",
default="MenuRight"
},
PrevItem = {
pump="MenuLeft",
default="MenuUp"
+4
View File
@@ -368,6 +368,10 @@ PrevGroup=GetCodeForGame("PrevGroup")
CloseCurrentFolder=GetCodeForGame("CloseCurrentFolder")
Hidden=GetCodeForGame("Hidden")
RandomVanish=GetCodeForGame("RandomVanish")
# OptionsList (if enabled)
PrevOptionsList=GetCodeForGame("PrevOptionsList")
NextOptionsList=GetCodeForGame("NextOptionsList")
# Evaluation screen
SaveScreenshot1=GetCodeForGame("SaveScreenshot1")
SaveScreenshot2=GetCodeForGame("SaveScreenshot2")
# on the player options menu.
+11
View File
@@ -53,6 +53,8 @@ const char *CodeNames[] = {
"CancelAllPlayerOptions",
"BackInEventMode",
"CloseCurrentFolder",
"PrevOptionsList",
"NextOptionsList"
};
XToString( Code );
@@ -116,6 +118,15 @@ bool CodeDetector::EnteredModeMenu( GameController controller )
return EnteredCode(controller,CODE_MODE_MENU1) || EnteredCode(controller,CODE_MODE_MENU2);
}
bool CodeDetector::EnteredPrevOpList( GameController controller )
{
return EnteredCode(controller,CODE_PREV_OPLIST);
}
bool CodeDetector::EnteredNextOpList( GameController controller )
{
return EnteredCode(controller,CODE_NEXT_OPLIST);
}
#define TOGGLE(v,a,b) if(v!=a) v=a; else v=b;
#define FLOAT_TOGGLE(v) if(v!=1.f) v=1.f; else v=0.f;
// XXX: Read the metrics file instead!
+4
View File
@@ -47,6 +47,8 @@ enum Code {
CODE_CANCEL_ALL_PLAYER_OPTIONS,
CODE_BACK_IN_EVENT_MODE,
CODE_CLOSE_CURRENT_FOLDER,
CODE_NEXT_OPLIST,
CODE_PREV_OPLIST,
NUM_Code // leave this at the end
};
@@ -63,6 +65,8 @@ public:
static bool EnteredPrevGroup( GameController controller );
static bool EnteredNextGroup( GameController controller );
static bool EnteredCloseFolder( GameController controller );
static bool EnteredPrevOpList( GameController controller );
static bool EnteredNextOpList( GameController controller );
// todo: move to PlayerOptions.h -aj
void ChangeScrollSpeed( GameController controller, bool bIncrement );
+2 -4
View File
@@ -188,8 +188,6 @@ void OptionsList::Load( RString sType, PlayerNumber pn )
m_pn = pn;
m_bStartIsDown = false;
m_GameButtonPreviousMenu = INPUTMAPPER->GetInputScheme()->ButtonNameToIndex( THEME->GetMetric( m_sName,"PrevMenuButton" ) );
m_GameButtonNextMenu = INPUTMAPPER->GetInputScheme()->ButtonNameToIndex( THEME->GetMetric( m_sName,"NextMenuButton" ) );
m_GameButtonPreviousItem = INPUTMAPPER->GetInputScheme()->ButtonNameToIndex( THEME->GetMetric( m_sName,"PrevItemButton" ) );
m_GameButtonNextItem = INPUTMAPPER->GetInputScheme()->ButtonNameToIndex( THEME->GetMetric( m_sName,"NextItemButton" ) );
@@ -450,13 +448,13 @@ bool OptionsList::Input( const InputEventPlus &input )
MESSAGEMAN->Broadcast( lMsg );
return true;
}
else if ( input.MenuI == m_GameButtonPreviousMenu )
else if ( CodeDetector::EnteredPrevOpList(input.GameI.controller) )
{
if( input.type == IET_FIRST_PRESS )
SwitchMenu( -1 );
return true;
}
else if ( input.MenuI == m_GameButtonNextMenu )
else if ( CodeDetector::EnteredNextOpList(input.GameI.controller) )
{
if( input.type == IET_FIRST_PRESS )
SwitchMenu( +1 );
-2
View File
@@ -102,8 +102,6 @@ private:
vector<RString> m_asMenuStack;
int m_iMenuStackSelection;
protected:
GameButton m_GameButtonPreviousMenu;
GameButton m_GameButtonNextMenu;
GameButton m_GameButtonPreviousItem;
GameButton m_GameButtonNextItem;
};