From: Debugger Date: Sun, 7 Apr 2013 12:58:06 +0000 (+0200) Subject: added a 'net' column to the tdm scoreboard (enabled by default) X-Git-Tag: xonotic-v0.8.0~347^2~11 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=147dd83699388f7e5f142006b04d0f7ed42bc642;p=xonotic%2Fxonotic-data.pk3dir.git added a 'net' column to the tdm scoreboard (enabled by default) --- diff --git a/qcsrc/client/scoreboard.qc b/qcsrc/client/scoreboard.qc index 2ec7db062..ad487cb32 100644 --- a/qcsrc/client/scoreboard.qc +++ b/qcsrc/client/scoreboard.qc @@ -36,6 +36,7 @@ string TranslateScoresLabel(string l) case "lives": return CTX(_("SCO^lives")); case "losses": return CTX(_("SCO^losses")); case "name": return CTX(_("SCO^name")); + case "net": return CTX(_("SCO^net")); case "nick": return CTX(_("SCO^nick")); case "objectives": return CTX(_("SCO^objectives")); case "pickups": return CTX(_("SCO^pickups")); @@ -263,6 +264,7 @@ void Cmd_HUD_Help() print(_("^3suicides^7 Number of suicides\n")); print(_("^3frags^7 kills - suicides\n")); print(_("^3kd^7 The kill-death ratio\n")); + print(_("^3net^7 frags - deaths\n")); print(_("^3caps^7 How often a flag (CTF) or a key (KeyHunt) was captured\n")); print(_("^3pickups^7 How often a flag (CTF) or a key (KeyHunt) or a ball (Keepaway) was picked up\n")); print(_("^3captime^7 Time of fastest cap (CTF)\n")); @@ -304,6 +306,7 @@ string HUD_DefaultColumnLayout() return strcat( // fteqcc sucks "ping pl name | ", "-teams,race,lms/kills +freezetag/kills -teams,lms/deaths +freezetag/deaths -teams,lms,race,ka/suicides +freezetag/suicides -race,dm,tdm,ka,freezetag/frags ", // tdm already has this in "score" + "+tdm/frags +tdm/deaths +tdm/net ", "+ctf/caps +ctf/pickups +ctf/fckills +ctf/returns ", "+lms/lives +lms/rank ", "+kh/caps +kh/pushes +kh/destroyed ", @@ -387,6 +390,8 @@ void Cmd_HUD_SetFields(float argc) hud_field[hud_num_fields] = SP_PL; } else if(str == "kd" || str == "kdr" || str == "kdratio" || str == "k/d") { hud_field[hud_num_fields] = SP_KDRATIO; + } else if(str == "net" || str == "net" || str == "net" || str == "f-d") { + hud_field[hud_num_fields] = SP_NET; } else if(str == "name" || str == "nick") { hud_field[hud_num_fields] = SP_NAME; have_name = 1; @@ -506,7 +511,7 @@ float hud_field_icon1_alpha; float hud_field_icon2_alpha; string HUD_GetField(entity pl, float field) { - float tmp, num, denom, f; + float tmp, num, denom, f, num1; string str; hud_field_rgb = '1 1 1'; hud_field_icon0 = ""; @@ -581,6 +586,22 @@ string HUD_GetField(entity pl, float field) } else str = sprintf("%.1f", num/denom); return str; + + case SP_NET: + num1 = pl.(scores[SP_KILLS - SP_SUICIDES +2]); + denom = pl.(scores[SP_DEATHS]); + + if((num1 - denom) > 0) { + hud_field_rgb = '0 1 0'; + str = sprintf("%d", (num1 - denom)); + } else if((num1 - denom) == 0) { + hud_field_rgb = '1 1 1'; + str = sprintf("%d", (num1 - denom)); + } else { + hud_field_rgb = '1 0 0'; + str = sprintf("%d", (num1 - denom)); + } + return str; default: tmp = pl.(scores[field]); diff --git a/qcsrc/common/constants.qh b/qcsrc/common/constants.qh index c25fb059f..789ee2a73 100644 --- a/qcsrc/common/constants.qh +++ b/qcsrc/common/constants.qh @@ -272,6 +272,7 @@ const vector eZ = '0 0 1'; #define SP_DEATHS 1 #define SP_SUICIDES 2 #define SP_SCORE 3 +#define SP_NET 4 // game mode specific indices are not in common/, but in server/scores_rules.qc! #ifdef COMPAT_XON010_CHANNELS