I'm not sure what was happening here:

If ALLOW_DISABLED_PLAYER_INPUT is true (only ScreenTitleMenu), then
ScreenSelect::Input doesn't do JoinInput ("the player will be joined
and the user will still be on the title menu").  However,
ScreenSelectMaster::MenuStart does the JoinInput anyway, so this still
happens.

If we want to have main menu options that don't load a screen, this
code path should be refactored a bit, to ask the derived class whether
the selection should also join.  As is, it's just making the JoinInput
path complicated.
This commit is contained in:
Glenn Maynard
2006-11-21 19:28:42 +00:00
parent 00fdeac301
commit 52009ae6ee
2 changed files with 1 additions and 10 deletions
+1 -6
View File
@@ -142,12 +142,7 @@ void ScreenSelect::Input( const InputEventPlus &input )
if( input.MenuI == MENU_BUTTON_COIN && input.type == IET_FIRST_PRESS )
this->UpdateSelectableChoices();
// HACK: Don't process JoinInput on the TitleMenu. Otherwise, if the user presses start
// on a choice that doesn't move to a new screen, the player will be joined and the
// user will still be on the title menu.
bool bAllowJoinInput = !ALLOW_DISABLED_PLAYER_INPUT;
if( bAllowJoinInput && input.MenuI == MENU_BUTTON_START && Screen::JoinInput(input.pn) )
if( input.MenuI == MENU_BUTTON_START && Screen::JoinInput(input.pn) )
{
if( input.type == IET_FIRST_PRESS )
this->UpdateSelectableChoices();