X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fclient%2Fscoreboard.qc;h=b206e2a7f1eda55b7629b94826431d854cc315be;hb=3adaa0873ad9eac20f32e6e3fc0455d4f9e044cd;hp=4ec433870168cf325f739054e4a2b3a9bfe9a484;hpb=b49873bcf5874782489e6fec264370078c7d6710;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/client/scoreboard.qc b/qcsrc/client/scoreboard.qc index 4ec433870..b206e2a7f 100644 --- a/qcsrc/client/scoreboard.qc +++ b/qcsrc/client/scoreboard.qc @@ -54,20 +54,6 @@ string TranslateScoresLabel(string l) } } -void MapVote_Draw(); -void HUD_FinaleOverlay() -{ - /*vector pos; - pos_x = (vid_conwidth - 1)/2; - pos_y = 16; - pos_z = 0;*/ - - //drawpic(pos, "gfx/finale", '0 0 0', '1 1 1', scoreboard_alpha_fg, DRAWFLAG_NORMAL); - - //drawstring(pos, "END", hud_fontsize, '1 1 1', 1, DRAWFLAG_NORMAL); - MapVote_Draw(); -} - void Cmd_HUD_SetFields(float argc); void HUD_InitScores() { @@ -375,7 +361,7 @@ void Cmd_HUD_SetFields(float argc) pattern = substring(str, 0, slash); str = substring(str, slash + 1, strlen(str) - (slash + 1)); - if not(isGametypeInFilter(gametype, teamplay, FALSE, pattern)) + if (!isGametypeInFilter(gametype, teamplay, FALSE, pattern)) continue; } @@ -409,8 +395,8 @@ void Cmd_HUD_SetFields(float argc) } else { - if not(nocomplain) - print(sprintf("^1Error:^7 Unknown score field: '%s'\n", str)); + if (!nocomplain) + printf("^1Error:^7 Unknown score field: '%s'\n", str); continue; } :found @@ -481,7 +467,7 @@ void Cmd_HUD_SetFields(float argc) hud_size[hud_num_fields] = stringwidth(hud_title[hud_num_fields], FALSE, hud_fontsize); hud_field[hud_num_fields] = ps_secondary; ++hud_num_fields; - print(sprintf("fixed missing field '%s'\n", scores_label[ps_secondary])); + printf("fixed missing field '%s'\n", scores_label[ps_secondary]); } if(!have_primary) { @@ -490,7 +476,7 @@ void Cmd_HUD_SetFields(float argc) hud_size[hud_num_fields] = stringwidth(hud_title[hud_num_fields], FALSE, hud_fontsize); hud_field[hud_num_fields] = ps_primary; ++hud_num_fields; - print(sprintf("fixed missing field '%s'\n", scores_label[ps_primary])); + printf("fixed missing field '%s'\n", scores_label[ps_primary]); } } @@ -526,7 +512,7 @@ string HUD_GetField(entity pl, float field) switch(field) { case SP_PING: - if not(pl.gotscores) + if (!pl.gotscores) return "\xEE\x82\x8D\xEE\x82\x8D\xEE\x82\x8D"; // >>> sign //str = getplayerkeyvalue(pl.sv_entnum, "ping"); f = pl.ping; @@ -537,7 +523,7 @@ string HUD_GetField(entity pl, float field) return ftos(f); case SP_PL: - if not(pl.gotscores) + if (!pl.gotscores) return _("N/A"); f = pl.ping_packetloss; tmp = pl.ping_movementloss; @@ -586,7 +572,7 @@ string HUD_GetField(entity pl, float field) } else str = sprintf("%.1f", num/denom); return str; - + case SP_SUM: f = pl.(scores[SP_KILLS]); f -= pl.(scores[SP_DEATHS]); @@ -969,7 +955,7 @@ float average_accuracy; vector HUD_DrawScoreboardAccuracyStats(vector pos, vector rgb, vector bg_size) { float i; - float weapon_cnt = WEP_COUNT - 3; // either minstanex/nex are hidden, no port-o-launch, no tuba + float weapon_cnt = WEP_COUNT - 3; // either vaporizer/nex are hidden, no port-o-launch, no tuba float rows; if(autocvar_scoreboard_accuracy_doublerows) rows = 2; @@ -1012,7 +998,7 @@ vector HUD_DrawScoreboardAccuracyStats(vector pos, vector rgb, vector bg_size) if(rows == 2) pos_x += weapon_width / 2; - if(switchweapon == WEP_MINSTANEX) + if(switchweapon == WEP_VAPORIZER) g_minstagib = 1; // TODO: real detection for minstagib? float weapon_stats; @@ -1024,9 +1010,9 @@ vector HUD_DrawScoreboardAccuracyStats(vector pos, vector rgb, vector bg_size) for(i = WEP_FIRST; i <= WEP_LAST; ++i) { self = get_weaponinfo(i); - if not(self.weapon) + if (!self.weapon) continue; - if ((i == WEP_NEX && g_minstagib) || i == WEP_PORTO || (i == WEP_MINSTANEX && !g_minstagib) || i == WEP_TUBA) // skip port-o-launch, nex || minstanex and tuba + if ((i == WEP_VORTEX && g_minstagib) || i == WEP_PORTO || (i == WEP_VAPORIZER && !g_minstagib) || i == WEP_TUBA) // skip port-o-launch, vortex || vaporizer and tuba continue; weapon_stats = weapon_accuracy[i-WEP_FIRST]; @@ -1037,7 +1023,7 @@ vector HUD_DrawScoreboardAccuracyStats(vector pos, vector rgb, vector bg_size) weapon_alpha = 0.2 * scoreboard_alpha_fg; // weapon icon - drawpic_aspect_skin(pos, strcat("weapon", self.netname), '1 0 0' * weapon_width + '0 1 0' * weapon_height, '1 1 1', weapon_alpha, DRAWFLAG_NORMAL); + drawpic_aspect_skin(pos, self.model2, '1 0 0' * weapon_width + '0 1 0' * weapon_height, '1 1 1', weapon_alpha, DRAWFLAG_NORMAL); // the accuracy if(weapon_stats >= 0) { weapons_with_stats += 1; @@ -1081,7 +1067,7 @@ vector HUD_DrawKeyValue(vector pos, string key, string value) { drawstring(pos, value, hud_fontsize, '1 1 1', scoreboard_alpha_fg, DRAWFLAG_NORMAL); pos_x = px; pos_y+= hud_fontsize_y; - + return pos; } @@ -1106,14 +1092,14 @@ vector HUD_DrawMapStats(vector pos, vector rgb, vector bg_size) { rows += 1; // if no rows, return - if not(rows) + if (!rows) return pos; // draw table header drawstring(pos, _("Map stats:"), hud_fontsize, '1 1 1', scoreboard_alpha_fg, DRAWFLAG_NORMAL); pos_y += 1.25 * hud_fontsize_y + autocvar_scoreboard_border_thickness; - - // draw table + + // draw table vector tmp = '0 0 0'; tmp_x = sbwidth; tmp_y = hud_fontsize_y * rows; @@ -1123,7 +1109,7 @@ vector HUD_DrawMapStats(vector pos, vector rgb, vector bg_size) { else drawpic_tiled(pos, "gfx/scoreboard/scoreboard_bg", bg_size, tmp, rgb, scoreboard_alpha_bg, DRAWFLAG_NORMAL); drawborderlines(autocvar_scoreboard_border_thickness, pos, tmp, '0 0 0', scoreboard_alpha_bg * 0.75, DRAWFLAG_NORMAL); - + // draw monsters if(stat_monsters_total) { @@ -1137,7 +1123,7 @@ vector HUD_DrawMapStats(vector pos, vector rgb, vector bg_size) { val = sprintf("%d/%d", stat_secrets_found, stat_secrets_total); pos = HUD_DrawKeyValue(pos, _("Secrets found:"), val); } - + // update position pos_y += 1.25 * hud_fontsize_y; return pos; @@ -1225,7 +1211,7 @@ void HUD_DrawScoreboard() scoreboard_fade_alpha = 0; } - if not(scoreboard_fade_alpha) + if (!scoreboard_fade_alpha) return; HUD_UpdatePlayerTeams(); @@ -1327,14 +1313,14 @@ void HUD_DrawScoreboard() } pos = HUD_DrawScoreboardRankings(pos, playerslots[player_localnum], rgb, bg_size); } - else if(autocvar_scoreboard_accuracy && spectatee_status != -1 && !warmup_stage) { + else if(autocvar_scoreboard_accuracy && spectatee_status == 0 && !warmup_stage && gametype != MAPINFO_TYPE_NEXBALL) { if(teamplay) pos = HUD_DrawScoreboardAccuracyStats(pos, Team_ColorRGB(myteam), bg_size); else pos = HUD_DrawScoreboardAccuracyStats(pos, rgb, bg_size); } - + if(teamplay) pos = HUD_DrawMapStats(pos, Team_ColorRGB(myteam), bg_size); else @@ -1363,7 +1349,7 @@ void HUD_DrawScoreboard() // Print info string float tl, fl, ll; - str = sprintf(_("playing on ^2%s^7"), shortmapname); + str = sprintf(_("playing ^3%s^7 on ^2%s^7"), MapInfo_Type_ToText(gametype), shortmapname); tl = getstatf(STAT_TIMELIMIT); fl = getstatf(STAT_FRAGLIMIT); ll = getstatf(STAT_LEADLIMIT); @@ -1382,14 +1368,14 @@ void HUD_DrawScoreboard() str = strcat(str, _(" or")); if(teamplay) { - str = strcat(str, sprintf(_(" until ^3%s %s^7"), ScoreString(teamscores_flags[ts_primary], fl), + str = strcat(str, sprintf(_(" until ^3%s %s^7"), ScoreString(teamscores_flags[ts_primary], fl), (teamscores_label[ts_primary] == "score") ? CTX(_("SCO^points")) : (teamscores_label[ts_primary] == "fastest") ? CTX(_("SCO^is beaten")) : TranslateScoresLabel(teamscores_label[ts_primary]))); } else { - str = strcat(str, sprintf(_(" until ^3%s %s^7"), ScoreString(scores_flags[ps_primary], fl), + str = strcat(str, sprintf(_(" until ^3%s %s^7"), ScoreString(scores_flags[ps_primary], fl), (scores_label[ps_primary] == "score") ? CTX(_("SCO^points")) : (scores_label[ps_primary] == "fastest") ? CTX(_("SCO^is beaten")) : TranslateScoresLabel(scores_label[ps_primary]))); @@ -1401,14 +1387,14 @@ void HUD_DrawScoreboard() str = strcat(str, _(" or")); if(teamplay) { - str = strcat(str, sprintf(_(" until a lead of ^3%s %s^7"), ScoreString(teamscores_flags[ts_primary], ll), + str = strcat(str, sprintf(_(" until a lead of ^3%s %s^7"), ScoreString(teamscores_flags[ts_primary], ll), (teamscores_label[ts_primary] == "score") ? CTX(_("SCO^points")) : (teamscores_label[ts_primary] == "fastest") ? CTX(_("SCO^is beaten")) : TranslateScoresLabel(teamscores_label[ts_primary]))); } else { - str = strcat(str, sprintf(_(" until a lead of ^3%s %s^7"), ScoreString(scores_flags[ps_primary], ll), + str = strcat(str, sprintf(_(" until a lead of ^3%s %s^7"), ScoreString(scores_flags[ps_primary], ll), (scores_label[ps_primary] == "score") ? CTX(_("SCO^points")) : (scores_label[ps_primary] == "fastest") ? CTX(_("SCO^is beaten")) : TranslateScoresLabel(scores_label[ps_primary]))); @@ -1421,6 +1407,7 @@ void HUD_DrawScoreboard() // print information about respawn status float respawn_time = getstatf(STAT_RESPAWN_TIME); + if(!intermission) if(respawn_time) { if(respawn_time < 0) @@ -1428,7 +1415,7 @@ void HUD_DrawScoreboard() // a negative number means we are awaiting respawn, time value is still the same respawn_time *= -1; // remove mark now that we checked it respawn_time = max(time, respawn_time); // don't show a negative value while the server is respawning the player (lag) - + str = sprintf(_("^1Respawning in ^3%s^1..."), (autocvar_scoreboard_respawntime_decimals ? count_seconds_decs(respawn_time - time, autocvar_scoreboard_respawntime_decimals)