Skip to content

Commit

Permalink
setTankColor -> getTankColor
Browse files Browse the repository at this point in the history
  • Loading branch information
atupone committed Oct 18, 2024
1 parent 76f8fbf commit 9538036
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 25 deletions.
42 changes: 18 additions & 24 deletions src/bzflag/RadarRenderer.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -98,38 +98,18 @@ void RadarRenderer::setDimming(float newDimming)
}


void RadarRenderer::setTankColor(const Player* player)
glm::vec3 RadarRenderer::getTankColor(const Player* player)
{
//The height box also uses the tank color

const LocalPlayer *myTank = LocalPlayer::getMyTank();

//my tank
if (player->getId() == myTank->getId() )
{
glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
return;
}
return glm::vec3(1.0f);

//remote player
if (player->isPaused() || player->isNotResponding())
{
const float dimfactor = 0.4f;

glm::vec3 color;
if (myTank->getFlag() == Flags::Colorblindness)
color = Team::getRadarColor(RogueTeam);
else
color = Team::getRadarColor(player->getTeam());

const auto dimmedcolor = color * dimfactor;
glColor(dimmedcolor);
}
else
{
glColor(Team::getRadarColor(myTank->getFlag() ==
Flags::Colorblindness ? RogueTeam : player->getTeam()));
}
// If this tank is hunted flash it on the radar
if (player->isHunted() && myTank->getFlag() != Flags::Colorblindness)
{
Expand All @@ -138,7 +118,7 @@ void RadarRenderer::setTankColor(const Player* player)
if (!toggleTank)
{
const auto flashcolor = glm::vec3(0.0f, 0.8f, 0.9f);
glColor(flashcolor);
return flashcolor;
}
}
else
Expand All @@ -147,6 +127,19 @@ void RadarRenderer::setTankColor(const Player* player)
flashTank.setClock(0.2f);
}
}

auto team = player->getTeam();

if (myTank->getFlag() == Flags::Colorblindness)
team = RogueTeam;

auto color = Team::getRadarColor(team);

const float dimfactor = 0.4f;
if (player->isPaused() || player->isNotResponding())
color *= dimfactor;

return color;
}

void RadarRenderer::drawTank(const glm::vec3 &pos, const Player* player, bool useSquares)
Expand Down Expand Up @@ -183,7 +176,8 @@ void RadarRenderer::drawTank(const glm::vec3 &pos, const Player* player, bool us
drawFancyTank(player);
glPopMatrix();
}
setTankColor(player);
auto tankColor = getTankColor(player);
glColor(tankColor);

// align to the screen axes
glRotatef(float(myAngle * 180.0 / M_PI), 0.0f, 0.0f, 1.0f);
Expand Down
2 changes: 1 addition & 1 deletion src/bzflag/RadarRenderer.h
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ class RadarRenderer
RadarRenderer(const RadarRenderer&);
RadarRenderer& operator=(const RadarRenderer&);

void setTankColor(const class Player* player);
glm::vec3 getTankColor(const class Player *player);
void drawTank(const glm::vec3 &pos,
const class Player* player,
bool useSquares);
Expand Down

0 comments on commit 9538036

Please sign in to comment.