Clarify the select path: when select is pressed, stop the wheel immediately.
Previously, if select was pressed while holding left/right, it would stop on the next repeat. That's OK, since the button repeat is much faster than the wheel, but it's confusing.
This commit is contained in:
@@ -743,9 +743,15 @@ void ScreenSelectMusic::Input( const InputEventPlus &input )
|
|||||||
|
|
||||||
LoadHelpText();
|
LoadHelpText();
|
||||||
|
|
||||||
bool bSelectIsPressed =
|
if( input.MenuI.button == MENU_BUTTON_SELECT )
|
||||||
SELECT_MENU_AVAILABLE && INPUTMAPPER->IsButtonDown( MenuInput(pn, MENU_BUTTON_SELECT) );
|
{
|
||||||
if( bSelectIsPressed )
|
if( input.type == IET_FIRST_PRESS )
|
||||||
|
m_MusicWheel.Move( 0 );
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( SELECT_MENU_AVAILABLE && INPUTMAPPER->IsButtonDown( MenuInput(pn, MENU_BUTTON_SELECT) ) )
|
||||||
{
|
{
|
||||||
if( input.type == IET_FIRST_PRESS )
|
if( input.type == IET_FIRST_PRESS )
|
||||||
{
|
{
|
||||||
@@ -765,6 +771,7 @@ void ScreenSelectMusic::Input( const InputEventPlus &input )
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch( input.MenuI.button )
|
switch( input.MenuI.button )
|
||||||
@@ -780,11 +787,8 @@ void ScreenSelectMusic::Input( const InputEventPlus &input )
|
|||||||
bool bRightIsDown = false;
|
bool bRightIsDown = false;
|
||||||
FOREACH_EnabledPlayer( p )
|
FOREACH_EnabledPlayer( p )
|
||||||
{
|
{
|
||||||
if( !bSelectIsPressed )
|
bLeftIsDown |= INPUTMAPPER->IsButtonDown( MenuInput(p, MENU_BUTTON_LEFT) );
|
||||||
{
|
bRightIsDown |= INPUTMAPPER->IsButtonDown( MenuInput(p, MENU_BUTTON_RIGHT) );
|
||||||
bLeftIsDown |= INPUTMAPPER->IsButtonDown( MenuInput(p, MENU_BUTTON_LEFT) );
|
|
||||||
bRightIsDown |= INPUTMAPPER->IsButtonDown( MenuInput(p, MENU_BUTTON_RIGHT) );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool bBothDown = bLeftIsDown && bRightIsDown;
|
bool bBothDown = bLeftIsDown && bRightIsDown;
|
||||||
@@ -793,6 +797,7 @@ void ScreenSelectMusic::Input( const InputEventPlus &input )
|
|||||||
|
|
||||||
if( bNeitherDown )
|
if( bNeitherDown )
|
||||||
{
|
{
|
||||||
|
/* Both buttons released. */
|
||||||
m_MusicWheel.Move( 0 );
|
m_MusicWheel.Move( 0 );
|
||||||
}
|
}
|
||||||
else if( bBothDown )
|
else if( bBothDown )
|
||||||
@@ -842,10 +847,6 @@ void ScreenSelectMusic::Input( const InputEventPlus &input )
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if( bSelectIsPressed )
|
|
||||||
return;
|
|
||||||
|
|
||||||
// TRICKY: Do default processing of MenuLeft and MenuRight before detecting
|
// TRICKY: Do default processing of MenuLeft and MenuRight before detecting
|
||||||
// codes. Do default processing of Start AFTER detecting codes. This gives us a
|
// codes. Do default processing of Start AFTER detecting codes. This gives us a
|
||||||
// change to return if Start is part of a code because we don't want to process
|
// change to return if Start is part of a code because we don't want to process
|
||||||
|
|||||||
Reference in New Issue
Block a user