simplify interface
This commit is contained in:
@@ -236,13 +236,13 @@ RString Screen::GetPrevScreen() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool Screen::JoinInput( const InputEventPlus &input )
|
bool Screen::JoinInput( PlayerNumber pn )
|
||||||
{
|
{
|
||||||
if( !GAMESTATE->PlayersCanJoin() )
|
if( !GAMESTATE->PlayersCanJoin() )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
/* If this side is already in, don't re-join (and re-pay!). */
|
/* If this side is already in, don't re-join (and re-pay!). */
|
||||||
if(GAMESTATE->m_bSideIsJoined[input.pn])
|
if(GAMESTATE->m_bSideIsJoined[pn])
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
/* subtract coins */
|
/* subtract coins */
|
||||||
@@ -259,7 +259,7 @@ bool Screen::JoinInput( const InputEventPlus &input )
|
|||||||
if( GAMESTATE->GetNumSidesJoined() > 0 )
|
if( GAMESTATE->GetNumSidesJoined() > 0 )
|
||||||
SCREENMAN->PlayStartSound();
|
SCREENMAN->PlayStartSound();
|
||||||
|
|
||||||
GAMESTATE->JoinPlayer( input.pn );
|
GAMESTATE->JoinPlayer( pn );
|
||||||
|
|
||||||
// don't load memory card profiles here. It's slow and can cause a big skip.
|
// don't load memory card profiles here. It's slow and can cause a big skip.
|
||||||
/* Don't load the local profile, either. It causes a 150+ms skip on my A64 3000+,
|
/* Don't load the local profile, either. It causes a 150+ms skip on my A64 3000+,
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ public:
|
|||||||
virtual ScreenType GetScreenType() const { return ALLOW_OPERATOR_MENU_BUTTON ? game_menu : system_menu; }
|
virtual ScreenType GetScreenType() const { return ALLOW_OPERATOR_MENU_BUTTON ? game_menu : system_menu; }
|
||||||
bool AllowOperatorMenuButton() const { return ALLOW_OPERATOR_MENU_BUTTON; }
|
bool AllowOperatorMenuButton() const { return ALLOW_OPERATOR_MENU_BUTTON; }
|
||||||
|
|
||||||
static bool JoinInput( const InputEventPlus &input ); // return true if a player joined
|
static bool JoinInput( PlayerNumber pn ); // return true if player joined
|
||||||
|
|
||||||
//
|
//
|
||||||
// Lua
|
// Lua
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ void ScreenSelect::Input( const InputEventPlus &input )
|
|||||||
bool bAllowJoinInput = !ALLOW_DISABLED_PLAYER_INPUT;
|
bool bAllowJoinInput = !ALLOW_DISABLED_PLAYER_INPUT;
|
||||||
|
|
||||||
if( input.MenuI == MENU_BUTTON_COIN ||
|
if( input.MenuI == MENU_BUTTON_COIN ||
|
||||||
(bAllowJoinInput && input.MenuI == MENU_BUTTON_START && Screen::JoinInput(input)) )
|
(bAllowJoinInput && input.MenuI == MENU_BUTTON_START && Screen::JoinInput(input.pn)) )
|
||||||
{
|
{
|
||||||
if( input.type == IET_FIRST_PRESS )
|
if( input.type == IET_FIRST_PRESS )
|
||||||
this->UpdateSelectableChoices();
|
this->UpdateSelectableChoices();
|
||||||
|
|||||||
@@ -712,10 +712,7 @@ void ScreenSelectMaster::MenuStart( PlayerNumber pn )
|
|||||||
{
|
{
|
||||||
// If the player isn't already joined, try to join them.
|
// If the player isn't already joined, try to join them.
|
||||||
// Allow a player to join even if input is locked or someone has already already chosen.
|
// Allow a player to join even if input is locked or someone has already already chosen.
|
||||||
InputEventPlus input;
|
Screen::JoinInput( pn );
|
||||||
input.pn = pn;
|
|
||||||
input.MenuI = MENU_BUTTON_START;
|
|
||||||
Screen::JoinInput( input );
|
|
||||||
|
|
||||||
if( m_fLockInputSecs > 0 )
|
if( m_fLockInputSecs > 0 )
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user