Fixed bug that allowed players that had backed from the kart selection screen to use their device to make selections later on
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@4615 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
parent
8dbb31caf9
commit
5bfebb1425
@ -267,6 +267,8 @@ bool DeviceManager::translateInput( Input::InputType type,
|
|||||||
break;
|
break;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//if (*player != NULL) std::cout << "btn " << btnID << " belongs to player " << (*player)->m_id << std::endl;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
if (device != NULL)
|
if (device != NULL)
|
||||||
{
|
{
|
||||||
|
@ -286,7 +286,7 @@ void InputManager::dispatchInput(Input::InputType type, int deviceID, int btnID,
|
|||||||
if (action != PA_FIRST)
|
if (action != PA_FIRST)
|
||||||
{
|
{
|
||||||
action_found = true;
|
action_found = true;
|
||||||
player = 0;
|
player = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -383,6 +383,10 @@ void InputManager::dispatchInput(Input::InputType type, int deviceID, int btnID,
|
|||||||
m_timer = 0;
|
m_timer = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// When in master-only mode, we can safely assume that players are set up, contrarly to
|
||||||
|
// early menus where we accept every input because players are not set-up yet
|
||||||
|
if (m_master_player_only && player == NULL) return;
|
||||||
|
|
||||||
// menu input
|
// menu input
|
||||||
if (!m_timer_in_use)
|
if (!m_timer_in_use)
|
||||||
{
|
{
|
||||||
@ -391,6 +395,7 @@ void InputManager::dispatchInput(Input::InputType type, int deviceID, int btnID,
|
|||||||
m_timer_in_use = true;
|
m_timer_in_use = true;
|
||||||
m_timer = 0.25;
|
m_timer = 0.25;
|
||||||
}
|
}
|
||||||
|
|
||||||
int playerID = (player == NULL ? 0 : player->m_id);
|
int playerID = (player == NULL ? 0 : player->m_id);
|
||||||
|
|
||||||
// If only the master player can act, and this player is not the master, ignore his input
|
// If only the master player can act, and this player is not the master, ignore his input
|
||||||
@ -405,7 +410,9 @@ void InputManager::dispatchInput(Input::InputType type, int deviceID, int btnID,
|
|||||||
handleStaticAction( btnID, value );
|
handleStaticAction( btnID, value );
|
||||||
}
|
}
|
||||||
} // input
|
} // input
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
void InputManager::setMasterPlayerOnly(bool enabled)
|
void InputManager::setMasterPlayerOnly(bool enabled)
|
||||||
{
|
{
|
||||||
#if INPUT_MODE_DEBUG
|
#if INPUT_MODE_DEBUG
|
||||||
@ -413,12 +420,17 @@ void InputManager::setMasterPlayerOnly(bool enabled)
|
|||||||
#endif
|
#endif
|
||||||
m_master_player_only = enabled;
|
m_master_player_only = enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
/** Returns whether only the master player should be allowed to perform changes in menus */
|
/** Returns whether only the master player should be allowed to perform changes in menus */
|
||||||
bool InputManager::masterPlayerOnly() const
|
bool InputManager::masterPlayerOnly() const
|
||||||
{
|
{
|
||||||
return m_device_manager->getAssignMode() == ASSIGN && m_master_player_only;
|
return m_device_manager->getAssignMode() == ASSIGN && m_master_player_only;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called on keyboard events [indirectly] by irrLicht
|
* Called on keyboard events [indirectly] by irrLicht
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user