Allow for 'confirmation only' double press mechanisms as a choice for two part selection on ScreenSelectMusic
This commit is contained in:
@@ -429,6 +429,7 @@ PreviousSongButton="MenuLeft"
|
||||
NextSongButton="MenuRight"
|
||||
UseOptionsList=false
|
||||
TwoPartSelection=false
|
||||
TwoPartConfirmsOnly=false
|
||||
UsePlayerSelectMenu=false
|
||||
StepsDisplayP1X=
|
||||
StepsDisplayP1Y=
|
||||
@@ -454,7 +455,7 @@ OptionsAreaP2X=SCREEN_CENTER_X+166
|
||||
OptionsAreaP2Y=SCREEN_CENTER_Y+148
|
||||
OptionsAreaP2OnCommand=
|
||||
OptionsAreaP2OffCommand=
|
||||
SelectMenuChangesDifficulty=true
|
||||
SelectMenuChangesDifficulty=false
|
||||
WrapChangeSteps=false
|
||||
|
||||
[ScreenSelectCourse]
|
||||
|
||||
@@ -83,6 +83,7 @@ void ScreenSelectMusic::Init()
|
||||
USE_PLAYER_SELECT_MENU.Load( m_sName, "UsePlayerSelectMenu" );
|
||||
SELECT_MENU_CHANGES_DIFFICULTY.Load( m_sName, "SelectMenuChangesDifficulty" );
|
||||
TWO_PART_SELECTION.Load( m_sName, "TwoPartSelection" );
|
||||
TWO_PART_CONFIRMS_ONLY.Load( m_sName, "TwoPartConfirmsOnly" );
|
||||
WRAP_CHANGE_STEPS.Load( m_sName, "WrapChangeSteps" );
|
||||
|
||||
m_GameButtonPreviousSong = INPUTMAPPER->GetInputScheme()->ButtonNameToIndex( THEME->GetMetric(m_sName,"PreviousSongButton") );
|
||||
@@ -577,25 +578,40 @@ void ScreenSelectMusic::Input( const InputEventPlus &input )
|
||||
}
|
||||
}
|
||||
|
||||
if( m_SelectionState == SelectionState_SelectingSteps &&
|
||||
input.type == IET_FIRST_PRESS &&
|
||||
(input.MenuI == m_GameButtonNextSong || input.MenuI == m_GameButtonPreviousSong) &&
|
||||
!m_bStepsChosen[input.pn] )
|
||||
if(!TWO_PART_CONFIRMS_ONLY)
|
||||
{
|
||||
if( input.MenuI == m_GameButtonPreviousSong )
|
||||
|
||||
if( m_SelectionState == SelectionState_SelectingSteps &&
|
||||
input.type == IET_FIRST_PRESS &&
|
||||
(input.MenuI == m_GameButtonNextSong || input.MenuI == m_GameButtonPreviousSong) &&
|
||||
!m_bStepsChosen[input.pn] )
|
||||
{
|
||||
if( GAMESTATE->IsAnExtraStageAndSelectionLocked() )
|
||||
m_soundLocked.Play();
|
||||
else
|
||||
ChangeSteps( input.pn, -1 );
|
||||
if( input.MenuI == m_GameButtonPreviousSong )
|
||||
{
|
||||
if( GAMESTATE->IsAnExtraStageAndSelectionLocked() )
|
||||
m_soundLocked.Play();
|
||||
else
|
||||
ChangeSteps( input.pn, -1 );
|
||||
}
|
||||
else if( input.MenuI == m_GameButtonNextSong )
|
||||
{
|
||||
if( GAMESTATE->IsAnExtraStageAndSelectionLocked() )
|
||||
m_soundLocked.Play();
|
||||
else
|
||||
ChangeSteps( input.pn, +1 );
|
||||
}
|
||||
}
|
||||
else if( input.MenuI == m_GameButtonNextSong )
|
||||
}
|
||||
else // two part selection without step selection
|
||||
{
|
||||
// moving the menu de-confirms your song choice.
|
||||
if((input.MenuI == m_GameButtonPreviousSong || m_GameButtonNextSong) && input.MenuI != GAME_BUTTON_START)
|
||||
{
|
||||
if( GAMESTATE->IsAnExtraStageAndSelectionLocked() )
|
||||
if(GAMESTATE->IsAnExtraStageAndSelectionLocked())
|
||||
m_soundLocked.Play();
|
||||
else
|
||||
ChangeSteps( input.pn, +1 );
|
||||
}
|
||||
m_SelectionState = SelectionState_SelectingSong;
|
||||
}
|
||||
}
|
||||
|
||||
if( input.type == IET_FIRST_PRESS && DetectCodes(input) )
|
||||
|
||||
@@ -86,6 +86,9 @@ protected:
|
||||
ThemeMetric<bool> USE_PLAYER_SELECT_MENU;
|
||||
ThemeMetric<bool> SELECT_MENU_CHANGES_DIFFICULTY;
|
||||
ThemeMetric<bool> TWO_PART_SELECTION;
|
||||
|
||||
ThemeMetric<bool> TWO_PART_CONFIRMS_ONLY;
|
||||
|
||||
ThemeMetric<bool> WRAP_CHANGE_STEPS;
|
||||
|
||||
bool CanChangeSong() const { return m_SelectionState == SelectionState_SelectingSong; }
|
||||
|
||||
Reference in New Issue
Block a user