Force multi kill list sort order for (kills+deaths<=0)

This commit is contained in:
Kp 2015-12-18 04:08:23 +00:00
parent 1be2e52bf7
commit 0fa31dbe98

View file

@ -338,7 +338,13 @@ int GetMyNetRanking()
rank=(int) (((float)PlayerCfg.NetlifeKills/3000.0)*8.0); rank=(int) (((float)PlayerCfg.NetlifeKills/3000.0)*8.0);
eff=(int)((float)((float)PlayerCfg.NetlifeKills/((float)PlayerCfg.NetlifeKilled+(float)PlayerCfg.NetlifeKills))*100.0); eff = static_cast<int>(
static_cast<float>(
static_cast<float>(PlayerCfg.NetlifeKills) / (
static_cast<float>(PlayerCfg.NetlifeKilled) + static_cast<float>(PlayerCfg.NetlifeKills)
)
) * 100.0
);
if (rank>8) if (rank>8)
rank=8; rank=8;
@ -635,7 +641,7 @@ namespace dsx {
void multi_sort_kill_list() void multi_sort_kill_list()
{ {
// Sort the kills list each time a new kill is added // Sort the kills list each time a new kill is added
int kills[MAX_PLAYERS]; array<int, MAX_PLAYERS> kills;
for (uint_fast32_t i = 0; i < MAX_PLAYERS; i++) for (uint_fast32_t i = 0; i < MAX_PLAYERS; i++)
{ {
if (Game_mode & GM_MULTI_COOP) if (Game_mode & GM_MULTI_COOP)
@ -644,10 +650,16 @@ void multi_sort_kill_list()
else else
if (Show_kill_list==2) if (Show_kill_list==2)
{ {
if (Players[i].net_killed_total+Players[i].net_kills_total==0) auto &p = Players[i];
kills[i]=-1; // always draw the ones without any ratio last const auto kk = p.net_killed_total + p.net_kills_total;
else // always draw the ones without any ratio last
kills[i]=(int)((float)((float)Players[i].net_kills_total/((float)Players[i].net_killed_total+(float)Players[i].net_kills_total))*100.0); kills[i] = kk <= 0
? kk - 1
: static_cast<int>(
static_cast<float>(p.net_kills_total) / (
static_cast<float>(p.net_killed_total) + static_cast<float>(p.net_kills_total)
) * 100.0
);
} }
#endif #endif
else else