Add ready status to player icon
This commit is contained in:
parent
eb8b68dcb6
commit
f94e226e22
@ -697,6 +697,9 @@ void ClientLobby::updatePlayerList(Event* event)
|
||||
if (d == PLAYER_DIFFICULTY_HANDICAP)
|
||||
std::get<3>(pl) = _("%s (handicapped)", std::get<3>(pl));
|
||||
std::get<5>(pl) = (KartTeam)data.getUInt8();
|
||||
bool ready = data.getUInt8() == 1;
|
||||
if (ready)
|
||||
std::get<4>(pl) = 4;
|
||||
players.push_back(pl);
|
||||
}
|
||||
|
||||
|
@ -460,6 +460,8 @@ void ServerLobby::asynchronousUpdate()
|
||||
!m_game_setup->isGrandPrixStarted())
|
||||
{
|
||||
resetPeersReady();
|
||||
if (m_timeout.load() != std::numeric_limits<int64_t>::max())
|
||||
updatePlayerList();
|
||||
m_timeout.store(std::numeric_limits<int64_t>::max());
|
||||
}
|
||||
if (m_timeout.load() < (int64_t)StkTime::getRealTimeMs() ||
|
||||
@ -833,7 +835,9 @@ void ServerLobby::startSelection(const Event *event)
|
||||
}
|
||||
if (ServerConfig::m_owner_less)
|
||||
{
|
||||
m_peers_ready.at(event->getPeerSP()) = true;
|
||||
m_peers_ready.at(event->getPeerSP()) =
|
||||
!m_peers_ready.at(event->getPeerSP());
|
||||
updatePlayerList();
|
||||
return;
|
||||
}
|
||||
if (event->getPeerSP() != m_server_owner.lock())
|
||||
@ -1744,6 +1748,11 @@ void ServerLobby::updatePlayerList(bool update_when_reset_server)
|
||||
pl->addUInt8(profile->getTeam());
|
||||
else
|
||||
pl->addUInt8(KART_TEAM_NONE);
|
||||
std::shared_ptr<STKPeer> p = profile->getPeer();
|
||||
uint8_t ready = (!game_started &&
|
||||
m_peers_ready.find(p) != m_peers_ready.end() &&
|
||||
m_peers_ready.at(p)) ? 1 : 0;
|
||||
pl->addUInt8(ready);
|
||||
}
|
||||
|
||||
// Don't send this message to in-game players
|
||||
@ -2445,6 +2454,7 @@ void ServerLobby::addWaitingPlayersToGame()
|
||||
void ServerLobby::resetServer()
|
||||
{
|
||||
addWaitingPlayersToGame();
|
||||
resetPeersReady();
|
||||
m_state = NetworkConfig::get()->isLAN() ?
|
||||
WAITING_FOR_START_GAME : REGISTER_SELF_ADDRESS;
|
||||
updatePlayerList(true/*update_when_reset_server*/);
|
||||
|
@ -114,10 +114,13 @@ void NetworkingLobby::loadedFromFile()
|
||||
(file_manager->getAsset(FileManager::GUI_ICON, "main_help.png"));
|
||||
video::ITexture* icon_4 = irr_driver->getTexture
|
||||
(file_manager->getAsset(FileManager::GUI_ICON, "hourglass.png"));
|
||||
video::ITexture* icon_5 = irr_driver->getTexture
|
||||
(file_manager->getAsset(FileManager::GUI_ICON, "green_check.png"));
|
||||
m_icon_bank->addTextureAsSprite(icon_1);
|
||||
m_icon_bank->addTextureAsSprite(icon_2);
|
||||
m_icon_bank->addTextureAsSprite(icon_3);
|
||||
m_icon_bank->addTextureAsSprite(icon_4);
|
||||
m_icon_bank->addTextureAsSprite(icon_5);
|
||||
const int screen_width = irr_driver->getFrameSize().Width;
|
||||
m_icon_bank->setScale(screen_width > 1280 ? 0.4f : 0.25f);
|
||||
} // loadedFromFile
|
||||
|
Loading…
x
Reference in New Issue
Block a user