Make TwoPartSelect remappable

This commit is contained in:
RhythmLunatic
2019-04-19 10:03:12 -05:00
parent 631985af4b
commit feb77d5711
2 changed files with 14 additions and 5 deletions
+12 -5
View File
@@ -111,11 +111,17 @@ void ScreenSelectMusic::Init()
m_GameButtonNextSong = INPUTMAPPER->GetInputScheme()->ButtonNameToIndex( THEME->GetMetric(m_sName,"NextSongButton") ); m_GameButtonNextSong = INPUTMAPPER->GetInputScheme()->ButtonNameToIndex( THEME->GetMetric(m_sName,"NextSongButton") );
// Ask for those only if changing steps with gamebuttons is allowed -DaisuMaster // Ask for those only if changing steps with gamebuttons is allowed -DaisuMaster
if( CHANGE_STEPS_WITH_GAME_BUTTONS ) // Use for TwoPartSelection too.
if( CHANGE_STEPS_WITH_GAME_BUTTONS || TWO_PART_SELECTION )
{ {
m_GameButtonPreviousDifficulty = INPUTMAPPER->GetInputScheme()->ButtonNameToIndex( THEME->GetMetric(m_sName,"PreviousDifficultyButton") ); m_GameButtonPreviousDifficulty = INPUTMAPPER->GetInputScheme()->ButtonNameToIndex( THEME->GetMetric(m_sName,"PreviousDifficultyButton") );
m_GameButtonNextDifficulty = INPUTMAPPER->GetInputScheme()->ButtonNameToIndex( THEME->GetMetric(m_sName,"NextDifficultyButton") ); m_GameButtonNextDifficulty = INPUTMAPPER->GetInputScheme()->ButtonNameToIndex( THEME->GetMetric(m_sName,"NextDifficultyButton") );
} }
if( TWO_PART_SELECTION )
{
m_GameButtonCancelTwoPart1 = INPUTMAPPER->GetInputScheme()->ButtonNameToIndex( THEME->GetMetric(m_sName,"CancelTwoPartSelectButton1") );
m_GameButtonCancelTwoPart2 = INPUTMAPPER->GetInputScheme()->ButtonNameToIndex( THEME->GetMetric(m_sName,"CancelTwoPartSelectButton2") );
}
// same here but for groups -DaisuMaster // same here but for groups -DaisuMaster
if( CHANGE_GROUPS_WITH_GAME_BUTTONS ) if( CHANGE_GROUPS_WITH_GAME_BUTTONS )
{ {
@@ -852,16 +858,16 @@ bool ScreenSelectMusic::Input( const InputEventPlus &input )
{ {
if( m_SelectionState == SelectionState_SelectingSteps && input.type == IET_FIRST_PRESS && !m_bStepsChosen[input.pn] ) if( m_SelectionState == SelectionState_SelectingSteps && input.type == IET_FIRST_PRESS && !m_bStepsChosen[input.pn] )
{ {
if( input.MenuI == m_GameButtonNextSong || input.MenuI == m_GameButtonPreviousSong ) if( input.MenuI == m_GameButtonPreviousDifficulty || input.MenuI == m_GameButtonNextDifficulty )
{ {
if( input.MenuI == m_GameButtonPreviousSong ) if( input.MenuI == m_GameButtonPreviousDifficulty )
{ {
if( GAMESTATE->IsAnExtraStageAndSelectionLocked() ) if( GAMESTATE->IsAnExtraStageAndSelectionLocked() )
m_soundLocked.Play(true); m_soundLocked.Play(true);
else else
ChangeSteps( input.pn, -1 ); ChangeSteps( input.pn, -1 );
} }
else if( input.MenuI == m_GameButtonNextSong ) else if( input.MenuI == m_GameButtonNextDifficulty )
{ {
if( GAMESTATE->IsAnExtraStageAndSelectionLocked() ) if( GAMESTATE->IsAnExtraStageAndSelectionLocked() )
m_soundLocked.Play(true); m_soundLocked.Play(true);
@@ -869,7 +875,8 @@ bool ScreenSelectMusic::Input( const InputEventPlus &input )
ChangeSteps( input.pn, +1 ); ChangeSteps( input.pn, +1 );
} }
} }
else if( input.MenuI == GAME_BUTTON_MENUUP || input.MenuI == GAME_BUTTON_MENUDOWN ) // && TWO_PART_DESELECTS_WITH_MENUUPDOWN //This should not be MENUP or MENUDOWN, different games use different buttons to cancel.
else if( input.MenuI == m_GameButtonCancelTwoPart1 || input.MenuI == m_GameButtonCancelTwoPart2 ) // && TWO_PART_DESELECTS_WITH_MENUUPDOWN
{ {
if( GAMESTATE->IsAnExtraStageAndSelectionLocked() ) if( GAMESTATE->IsAnExtraStageAndSelectionLocked() )
m_soundLocked.Play(true); m_soundLocked.Play(true);
+2
View File
@@ -123,6 +123,8 @@ protected:
GameButton m_GameButtonNextDifficulty; GameButton m_GameButtonNextDifficulty;
GameButton m_GameButtonPreviousGroup; GameButton m_GameButtonPreviousGroup;
GameButton m_GameButtonNextGroup; GameButton m_GameButtonNextGroup;
GameButton m_GameButtonCancelTwoPart1;
GameButton m_GameButtonCancelTwoPart2;
RString m_sSectionMusicPath; RString m_sSectionMusicPath;
RString m_sSortMusicPath; RString m_sSortMusicPath;