Fix non-networked race with AIs country flag handling
This commit is contained in:
parent
24c4f4c8de
commit
12f08c410d
@ -211,6 +211,8 @@ void FreeForAll::getKartsDisplayInfo(
|
|||||||
rank_info.m_outlined_font = true;
|
rank_info.m_outlined_font = true;
|
||||||
rank_info.m_color = getColor(i);
|
rank_info.m_color = getColor(i);
|
||||||
rank_info.m_text = getKart(i)->getController()->getName();
|
rank_info.m_text = getKart(i)->getController()->getName();
|
||||||
|
if (race_manager->getKartGlobalPlayerId(i) > -1)
|
||||||
|
{
|
||||||
const core::stringw& flag = StringUtils::getCountryFlag(
|
const core::stringw& flag = StringUtils::getCountryFlag(
|
||||||
race_manager->getKartInfo(i).getCountryCode());
|
race_manager->getKartInfo(i).getCountryCode());
|
||||||
if (!flag.empty())
|
if (!flag.empty())
|
||||||
@ -218,6 +220,7 @@ void FreeForAll::getKartsDisplayInfo(
|
|||||||
rank_info.m_text += L" ";
|
rank_info.m_text += L" ";
|
||||||
rank_info.m_text += flag;
|
rank_info.m_text += flag;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
rank_info.m_text += core::stringw(L" (") +
|
rank_info.m_text += core::stringw(L" (") +
|
||||||
StringUtils::toWString(m_scores[i]) + L")";
|
StringUtils::toWString(m_scores[i]) + L")";
|
||||||
}
|
}
|
||||||
|
@ -640,6 +640,8 @@ void LinearWorld::getKartsDisplayInfo(
|
|||||||
else if (kart->hasFinishedRace())
|
else if (kart->hasFinishedRace())
|
||||||
{
|
{
|
||||||
rank_info.m_text = kart->getController()->getName();
|
rank_info.m_text = kart->getController()->getName();
|
||||||
|
if (race_manager->getKartGlobalPlayerId(i) > -1)
|
||||||
|
{
|
||||||
const core::stringw& flag = StringUtils::getCountryFlag(
|
const core::stringw& flag = StringUtils::getCountryFlag(
|
||||||
race_manager->getKartInfo(i).getCountryCode());
|
race_manager->getKartInfo(i).getCountryCode());
|
||||||
if (!flag.empty())
|
if (!flag.empty())
|
||||||
@ -648,6 +650,7 @@ void LinearWorld::getKartsDisplayInfo(
|
|||||||
rank_info.m_text += flag;
|
rank_info.m_text += flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
rank_info.m_text = "";
|
rank_info.m_text = "";
|
||||||
|
@ -277,8 +277,11 @@ void SoccerWorld::onCheckGoalTriggered(bool first_goal)
|
|||||||
sd.m_correct_goal = isCorrectGoal(m_ball_hitter, first_goal);
|
sd.m_correct_goal = isCorrectGoal(m_ball_hitter, first_goal);
|
||||||
sd.m_kart = getKart(m_ball_hitter)->getIdent();
|
sd.m_kart = getKart(m_ball_hitter)->getIdent();
|
||||||
sd.m_player = getKart(m_ball_hitter)->getController()->getName();
|
sd.m_player = getKart(m_ball_hitter)->getController()->getName();
|
||||||
|
if (race_manager->getKartGlobalPlayerId(m_ball_hitter) > -1)
|
||||||
|
{
|
||||||
sd.m_country_flag = StringUtils::getCountryFlag(
|
sd.m_country_flag = StringUtils::getCountryFlag(
|
||||||
race_manager->getKartInfo(m_ball_hitter).getCountryCode());
|
race_manager->getKartInfo(m_ball_hitter).getCountryCode());
|
||||||
|
}
|
||||||
if (sd.m_correct_goal)
|
if (sd.m_correct_goal)
|
||||||
{
|
{
|
||||||
m_karts[m_ball_hitter]->getKartModel()
|
m_karts[m_ball_hitter]->getKartModel()
|
||||||
@ -711,7 +714,7 @@ void SoccerWorld::enterRaceOverState()
|
|||||||
for (const int &i : m_goal_frame)
|
for (const int &i : m_goal_frame)
|
||||||
squared_sum = squared_sum + (double(i - mean) * double(i - mean));
|
squared_sum = squared_sum + (double(i - mean) * double(i - mean));
|
||||||
|
|
||||||
// Use sample st. deviation (n−1) as the profiling can't be run forever
|
// Use sample st. deviation (n-1) as the profiling can't be run forever
|
||||||
const int stdev = int(sqrt(squared_sum / (m_goal_frame.size() - 1)));
|
const int stdev = int(sqrt(squared_sum / (m_goal_frame.size() - 1)));
|
||||||
|
|
||||||
int median = 0;
|
int median = 0;
|
||||||
|
@ -222,6 +222,8 @@ int RaceManager::getLocalPlayerGPRank(const int player_id) const
|
|||||||
*/
|
*/
|
||||||
void RaceManager::setNumPlayers(int players, int local_players)
|
void RaceManager::setNumPlayers(int players, int local_players)
|
||||||
{
|
{
|
||||||
|
// Clear all previous game info (like country flags)
|
||||||
|
m_player_karts.clear();
|
||||||
m_player_karts.resize(players);
|
m_player_karts.resize(players);
|
||||||
if(local_players>-1)
|
if(local_players>-1)
|
||||||
m_num_local_players = local_players;
|
m_num_local_players = local_players;
|
||||||
|
@ -566,6 +566,8 @@ void RaceResultGUI::displayCTFResults()
|
|||||||
if (ctf->getKartTeam(kart_id) != KART_TEAM_RED)
|
if (ctf->getKartTeam(kart_id) != KART_TEAM_RED)
|
||||||
continue;
|
continue;
|
||||||
result_text = kart->getController()->getName();
|
result_text = kart->getController()->getName();
|
||||||
|
if (race_manager->getKartGlobalPlayerId(i) > -1)
|
||||||
|
{
|
||||||
const core::stringw& flag = StringUtils::getCountryFlag(
|
const core::stringw& flag = StringUtils::getCountryFlag(
|
||||||
race_manager->getKartInfo(i).getCountryCode());
|
race_manager->getKartInfo(i).getCountryCode());
|
||||||
if (!flag.empty())
|
if (!flag.empty())
|
||||||
@ -573,6 +575,7 @@ void RaceResultGUI::displayCTFResults()
|
|||||||
result_text += L" ";
|
result_text += L" ";
|
||||||
result_text += flag;
|
result_text += flag;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
result_text.append(" ");
|
result_text.append(" ");
|
||||||
if (kart->isEliminated())
|
if (kart->isEliminated())
|
||||||
{
|
{
|
||||||
@ -611,6 +614,8 @@ void RaceResultGUI::displayCTFResults()
|
|||||||
if (ctf->getKartTeam(kart_id) != KART_TEAM_BLUE)
|
if (ctf->getKartTeam(kart_id) != KART_TEAM_BLUE)
|
||||||
continue;
|
continue;
|
||||||
result_text = kart->getController()->getName();
|
result_text = kart->getController()->getName();
|
||||||
|
if (race_manager->getKartGlobalPlayerId(i) > -1)
|
||||||
|
{
|
||||||
const core::stringw& flag = StringUtils::getCountryFlag(
|
const core::stringw& flag = StringUtils::getCountryFlag(
|
||||||
race_manager->getKartInfo(i).getCountryCode());
|
race_manager->getKartInfo(i).getCountryCode());
|
||||||
if (!flag.empty())
|
if (!flag.empty())
|
||||||
@ -618,6 +623,7 @@ void RaceResultGUI::displayCTFResults()
|
|||||||
result_text += L" ";
|
result_text += L" ";
|
||||||
result_text += flag;
|
result_text += flag;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
result_text.append(" ");
|
result_text.append(" ");
|
||||||
if (kart->isEliminated())
|
if (kart->isEliminated())
|
||||||
{
|
{
|
||||||
@ -715,6 +721,8 @@ void RaceResultGUI::displayCTFResults()
|
|||||||
RowInfo *ri = &(m_all_row_infos[position - first_position]);
|
RowInfo *ri = &(m_all_row_infos[position - first_position]);
|
||||||
ri->m_is_player_kart = kart->getController()->isLocalPlayerController();
|
ri->m_is_player_kart = kart->getController()->isLocalPlayerController();
|
||||||
ri->m_kart_name = kart->getController()->getName();
|
ri->m_kart_name = kart->getController()->getName();
|
||||||
|
if (race_manager->getKartGlobalPlayerId(kart->getWorldKartId()) > -1)
|
||||||
|
{
|
||||||
const core::stringw& flag = StringUtils::getCountryFlag(
|
const core::stringw& flag = StringUtils::getCountryFlag(
|
||||||
race_manager->getKartInfo(kart->getWorldKartId()).getCountryCode());
|
race_manager->getKartInfo(kart->getWorldKartId()).getCountryCode());
|
||||||
if (!flag.empty())
|
if (!flag.empty())
|
||||||
@ -722,6 +730,7 @@ void RaceResultGUI::displayCTFResults()
|
|||||||
ri->m_kart_name += L" ";
|
ri->m_kart_name += L" ";
|
||||||
ri->m_kart_name += flag;
|
ri->m_kart_name += flag;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
video::ITexture *icon =
|
video::ITexture *icon =
|
||||||
kart->getKartProperties()->getIconMaterial()->getTexture();
|
kart->getKartProperties()->getIconMaterial()->getTexture();
|
||||||
ri->m_kart_icon = icon;
|
ri->m_kart_icon = icon;
|
||||||
@ -1122,6 +1131,8 @@ void RaceResultGUI::displayCTFResults()
|
|||||||
kart->getKartProperties()->getIconMaterial()->getTexture();
|
kart->getKartProperties()->getIconMaterial()->getTexture();
|
||||||
ri->m_is_player_kart = kart->getController()->isLocalPlayerController();
|
ri->m_is_player_kart = kart->getController()->isLocalPlayerController();
|
||||||
ri->m_kart_name = kart->getController()->getName();
|
ri->m_kart_name = kart->getController()->getName();
|
||||||
|
if (race_manager->getKartGlobalPlayerId(kart->getWorldKartId()) > -1)
|
||||||
|
{
|
||||||
const core::stringw& flag = StringUtils::getCountryFlag(
|
const core::stringw& flag = StringUtils::getCountryFlag(
|
||||||
race_manager->getKartInfo(kart->getWorldKartId()).getCountryCode());
|
race_manager->getKartInfo(kart->getWorldKartId()).getCountryCode());
|
||||||
if (!flag.empty())
|
if (!flag.empty())
|
||||||
@ -1129,6 +1140,7 @@ void RaceResultGUI::displayCTFResults()
|
|||||||
ri->m_kart_name += L" ";
|
ri->m_kart_name += L" ";
|
||||||
ri->m_kart_name += flag;
|
ri->m_kart_name += flag;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// In FTL karts do have a time, which is shown even when the kart
|
// In FTL karts do have a time, which is shown even when the kart
|
||||||
// is eliminated
|
// is eliminated
|
||||||
if (kart->isEliminated() &&
|
if (kart->isEliminated() &&
|
||||||
|
Loading…
x
Reference in New Issue
Block a user