From 6af5e510e9e93924be36b3aecc93412e2671948b Mon Sep 17 00:00:00 2001 From: Molgrum <molgrum@users.sourceforge.net> Date: Thu, 11 Oct 2007 19:21:22 +0000 Subject: [PATCH] Fixed a teamoverlay TODO, it now provides spacing after nicknames for a good readable format. git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2739 fc73d0e0-1445-4013-8a0c-d673dee63da5 --- plugins/hud/ui_sbar.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/plugins/hud/ui_sbar.c b/plugins/hud/ui_sbar.c index f4fa2e2c2..84999cb67 100644 --- a/plugins/hud/ui_sbar.c +++ b/plugins/hud/ui_sbar.c @@ -458,6 +458,7 @@ char *player_nick[32] = "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; +unsigned int player_nicklength; void Hud_TeamOverlayUpdate(void); @@ -1187,7 +1188,6 @@ void Hud_TeamName(void) void Hud_TeamOverlay(void) { static int current_player = -1; - char str[256]; int offset = 0; if (hudedit) @@ -1220,7 +1220,8 @@ void Hud_TeamOverlay(void) { char armortype = ' '; char* bestweap = " "; - char loc[256]; + char loc[256], str[256], spacing[256]; + unsigned int j; // More info about armortype if (player_items[i] & IT_ARMOR3) @@ -1246,10 +1247,16 @@ void Hud_TeamOverlay(void) GetLocationName(player_location[i], loc, sizeof(loc)); - // TODO: Tabs for formatting. Translate $5 and similar macros in loc names. - snprintf(str, sizeof(str), "%s%c %c%d%c%d %s%c%s%c", + // Format spacing + for (j = 0; j < (player_nicklength - strlen(player_nick[i])) && j < sizeof(spacing); j++) + spacing[j] = ' '; + spacing[j] = '\0'; + + // TODO: Translate $5 and similar macros in loc names. + snprintf(str, sizeof(str), "%s%c%s%c%d%c%d %s%c%s%c", player_nick[i], // player netname ':'+128, // colored colon + spacing, // spacing armortype, // armor type: r, y, g or none player_armor[i], // current armor '/'+128, // colored slash @@ -1303,6 +1310,10 @@ void Hud_TeamOverlayUpdate(void) // Setting this nick will make this info print player_nick[user] = players[user].name; + // Check who has the longest nick for a better overlay format + if (strlen(player_nick[user]) > player_nicklength) + player_nicklength = strlen(player_nick[user]); + return; }