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"
|
NextSongButton="MenuRight"
|
||||||
UseOptionsList=false
|
UseOptionsList=false
|
||||||
TwoPartSelection=false
|
TwoPartSelection=false
|
||||||
|
TwoPartConfirmsOnly=false
|
||||||
UsePlayerSelectMenu=false
|
UsePlayerSelectMenu=false
|
||||||
StepsDisplayP1X=
|
StepsDisplayP1X=
|
||||||
StepsDisplayP1Y=
|
StepsDisplayP1Y=
|
||||||
@@ -454,7 +455,7 @@ OptionsAreaP2X=SCREEN_CENTER_X+166
|
|||||||
OptionsAreaP2Y=SCREEN_CENTER_Y+148
|
OptionsAreaP2Y=SCREEN_CENTER_Y+148
|
||||||
OptionsAreaP2OnCommand=
|
OptionsAreaP2OnCommand=
|
||||||
OptionsAreaP2OffCommand=
|
OptionsAreaP2OffCommand=
|
||||||
SelectMenuChangesDifficulty=true
|
SelectMenuChangesDifficulty=false
|
||||||
WrapChangeSteps=false
|
WrapChangeSteps=false
|
||||||
|
|
||||||
[ScreenSelectCourse]
|
[ScreenSelectCourse]
|
||||||
|
|||||||
@@ -83,6 +83,7 @@ void ScreenSelectMusic::Init()
|
|||||||
USE_PLAYER_SELECT_MENU.Load( m_sName, "UsePlayerSelectMenu" );
|
USE_PLAYER_SELECT_MENU.Load( m_sName, "UsePlayerSelectMenu" );
|
||||||
SELECT_MENU_CHANGES_DIFFICULTY.Load( m_sName, "SelectMenuChangesDifficulty" );
|
SELECT_MENU_CHANGES_DIFFICULTY.Load( m_sName, "SelectMenuChangesDifficulty" );
|
||||||
TWO_PART_SELECTION.Load( m_sName, "TwoPartSelection" );
|
TWO_PART_SELECTION.Load( m_sName, "TwoPartSelection" );
|
||||||
|
TWO_PART_CONFIRMS_ONLY.Load( m_sName, "TwoPartConfirmsOnly" );
|
||||||
WRAP_CHANGE_STEPS.Load( m_sName, "WrapChangeSteps" );
|
WRAP_CHANGE_STEPS.Load( m_sName, "WrapChangeSteps" );
|
||||||
|
|
||||||
m_GameButtonPreviousSong = INPUTMAPPER->GetInputScheme()->ButtonNameToIndex( THEME->GetMetric(m_sName,"PreviousSongButton") );
|
m_GameButtonPreviousSong = INPUTMAPPER->GetInputScheme()->ButtonNameToIndex( THEME->GetMetric(m_sName,"PreviousSongButton") );
|
||||||
@@ -577,24 +578,39 @@ void ScreenSelectMusic::Input( const InputEventPlus &input )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if( m_SelectionState == SelectionState_SelectingSteps &&
|
if(!TWO_PART_CONFIRMS_ONLY)
|
||||||
input.type == IET_FIRST_PRESS &&
|
|
||||||
(input.MenuI == m_GameButtonNextSong || input.MenuI == m_GameButtonPreviousSong) &&
|
|
||||||
!m_bStepsChosen[input.pn] )
|
|
||||||
{
|
{
|
||||||
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() )
|
if( input.MenuI == m_GameButtonPreviousSong )
|
||||||
m_soundLocked.Play();
|
{
|
||||||
else
|
if( GAMESTATE->IsAnExtraStageAndSelectionLocked() )
|
||||||
ChangeSteps( input.pn, -1 );
|
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();
|
m_soundLocked.Play();
|
||||||
else
|
else
|
||||||
ChangeSteps( input.pn, +1 );
|
m_SelectionState = SelectionState_SelectingSong;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -86,6 +86,9 @@ protected:
|
|||||||
ThemeMetric<bool> USE_PLAYER_SELECT_MENU;
|
ThemeMetric<bool> USE_PLAYER_SELECT_MENU;
|
||||||
ThemeMetric<bool> SELECT_MENU_CHANGES_DIFFICULTY;
|
ThemeMetric<bool> SELECT_MENU_CHANGES_DIFFICULTY;
|
||||||
ThemeMetric<bool> TWO_PART_SELECTION;
|
ThemeMetric<bool> TWO_PART_SELECTION;
|
||||||
|
|
||||||
|
ThemeMetric<bool> TWO_PART_CONFIRMS_ONLY;
|
||||||
|
|
||||||
ThemeMetric<bool> WRAP_CHANGE_STEPS;
|
ThemeMetric<bool> WRAP_CHANGE_STEPS;
|
||||||
|
|
||||||
bool CanChangeSong() const { return m_SelectionState == SelectionState_SelectingSong; }
|
bool CanChangeSong() const { return m_SelectionState == SelectionState_SelectingSong; }
|
||||||
|
|||||||
Reference in New Issue
Block a user