|
|
@ -1176,6 +1176,9 @@ void HU_Erase(void)
|
|
|
|
// IN-LEVEL MULTIPLAYER RANKINGS
|
|
|
|
// IN-LEVEL MULTIPLAYER RANKINGS
|
|
|
|
//======================================================================
|
|
|
|
//======================================================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define supercheckdef ((players[tab[i].num].powers[pw_super] && players[tab[i].num].mo && (players[tab[i].num].mo->state < &states[S_PLAY_SUPER_TRANS] || players[tab[i].num].mo->state > &states[S_PLAY_SUPER_TRANS9])) || (players[tab[i].num].powers[pw_carry] == CR_NIGHTSMODE && skins[players[tab[i].num].skin].flags & SF_SUPER))
|
|
|
|
|
|
|
|
#define greycheckdef ((players[tab[i].num].mo && players[tab[i].num].mo->health <= 0) || players[tab[i].num].spectator)
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// HU_DrawTabRankings
|
|
|
|
// HU_DrawTabRankings
|
|
|
|
//
|
|
|
|
//
|
|
|
@ -1183,6 +1186,7 @@ void HU_DrawTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scorelines, I
|
|
|
|
{
|
|
|
|
{
|
|
|
|
INT32 i;
|
|
|
|
INT32 i;
|
|
|
|
const UINT8 *colormap;
|
|
|
|
const UINT8 *colormap;
|
|
|
|
|
|
|
|
boolean greycheck, supercheck;
|
|
|
|
|
|
|
|
|
|
|
|
//this function is designed for 9 or less score lines only
|
|
|
|
//this function is designed for 9 or less score lines only
|
|
|
|
I_Assert(scorelines <= 9);
|
|
|
|
I_Assert(scorelines <= 9);
|
|
|
@ -1191,12 +1195,15 @@ void HU_DrawTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scorelines, I
|
|
|
|
|
|
|
|
|
|
|
|
for (i = 0; i < scorelines; i++)
|
|
|
|
for (i = 0; i < scorelines; i++)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (players[tab[i].num].spectator)
|
|
|
|
if (players[tab[i].num].spectator && gametype != GT_COOP)
|
|
|
|
continue; //ignore them.
|
|
|
|
continue; //ignore them.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
greycheck = greycheckdef;
|
|
|
|
|
|
|
|
supercheck = supercheckdef;
|
|
|
|
|
|
|
|
|
|
|
|
V_DrawString(x + 20, y,
|
|
|
|
V_DrawString(x + 20, y,
|
|
|
|
((tab[i].num == whiteplayer) ? V_YELLOWMAP : 0)
|
|
|
|
((tab[i].num == whiteplayer) ? V_YELLOWMAP : 0)
|
|
|
|
| ((players[tab[i].num].mo && players[tab[i].num].mo->health > 0) ? 0 : V_60TRANS)
|
|
|
|
| (greycheck ? V_60TRANS : 0)
|
|
|
|
| V_ALLOWLOWERCASE, tab[i].name);
|
|
|
|
| V_ALLOWLOWERCASE, tab[i].name);
|
|
|
|
|
|
|
|
|
|
|
|
// Draw emeralds
|
|
|
|
// Draw emeralds
|
|
|
@ -1206,7 +1213,7 @@ void HU_DrawTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scorelines, I
|
|
|
|
HU_DrawEmeralds(x-12,y+2,tab[i].emeralds);
|
|
|
|
HU_DrawEmeralds(x-12,y+2,tab[i].emeralds);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (players[tab[i].num].mo && players[tab[i].num].mo->health <= 0)
|
|
|
|
if (greycheck)
|
|
|
|
V_DrawSmallTranslucentPatch (x, y-4, V_80TRANS, livesback);
|
|
|
|
V_DrawSmallTranslucentPatch (x, y-4, V_80TRANS, livesback);
|
|
|
|
else
|
|
|
|
else
|
|
|
|
V_DrawSmallScaledPatch (x, y-4, 0, livesback);
|
|
|
|
V_DrawSmallScaledPatch (x, y-4, 0, livesback);
|
|
|
@ -1214,11 +1221,11 @@ void HU_DrawTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scorelines, I
|
|
|
|
if (tab[i].color == 0)
|
|
|
|
if (tab[i].color == 0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
colormap = colormaps;
|
|
|
|
colormap = colormaps;
|
|
|
|
if (players[tab[i].num].powers[pw_super])
|
|
|
|
if (supercheck)
|
|
|
|
V_DrawSmallScaledPatch(x, y-4, 0, superprefix[players[tab[i].num].skin]);
|
|
|
|
V_DrawSmallScaledPatch(x, y-4, 0, superprefix[players[tab[i].num].skin]);
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (players[tab[i].num].mo && players[tab[i].num].mo->health <= 0)
|
|
|
|
if (greycheck)
|
|
|
|
V_DrawSmallTranslucentPatch(x, y-4, V_80TRANS, faceprefix[players[tab[i].num].skin]);
|
|
|
|
V_DrawSmallTranslucentPatch(x, y-4, V_80TRANS, faceprefix[players[tab[i].num].skin]);
|
|
|
|
else
|
|
|
|
else
|
|
|
|
V_DrawSmallScaledPatch(x, y-4, 0, faceprefix[players[tab[i].num].skin]);
|
|
|
|
V_DrawSmallScaledPatch(x, y-4, 0, faceprefix[players[tab[i].num].skin]);
|
|
|
@ -1226,7 +1233,7 @@ void HU_DrawTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scorelines, I
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (players[tab[i].num].powers[pw_super] && players[tab[i].num].mo && (players[tab[i].num].mo->state < &states[S_PLAY_SUPER_TRANS] || players[tab[i].num].mo->state > &states[S_PLAY_SUPER_TRANS9]))
|
|
|
|
if (supercheck)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
colormap = R_GetTranslationColormap(players[tab[i].num].skin, players[tab[i].num].mo->color, GTC_CACHE);
|
|
|
|
colormap = R_GetTranslationColormap(players[tab[i].num].skin, players[tab[i].num].mo->color, GTC_CACHE);
|
|
|
|
V_DrawSmallMappedPatch (x, y-4, 0, superprefix[players[tab[i].num].skin], colormap);
|
|
|
|
V_DrawSmallMappedPatch (x, y-4, 0, superprefix[players[tab[i].num].skin], colormap);
|
|
|
@ -1234,18 +1241,18 @@ void HU_DrawTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scorelines, I
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
colormap = R_GetTranslationColormap(players[tab[i].num].skin, players[tab[i].num].mo ? players[tab[i].num].mo->color : tab[i].color, GTC_CACHE);
|
|
|
|
colormap = R_GetTranslationColormap(players[tab[i].num].skin, players[tab[i].num].mo ? players[tab[i].num].mo->color : tab[i].color, GTC_CACHE);
|
|
|
|
if (players[tab[i].num].mo && players[tab[i].num].mo->health <= 0)
|
|
|
|
if (greycheck)
|
|
|
|
V_DrawSmallTranslucentMappedPatch (x, y-4, V_80TRANS, faceprefix[players[tab[i].num].skin], colormap);
|
|
|
|
V_DrawSmallTranslucentMappedPatch (x, y-4, V_80TRANS, faceprefix[players[tab[i].num].skin], colormap);
|
|
|
|
else
|
|
|
|
else
|
|
|
|
V_DrawSmallMappedPatch (x, y-4, 0, faceprefix[players[tab[i].num].skin], colormap);
|
|
|
|
V_DrawSmallMappedPatch (x, y-4, 0, faceprefix[players[tab[i].num].skin], colormap);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (G_GametypeUsesLives()) //show lives
|
|
|
|
if (G_GametypeUsesLives() && !(gametype == GT_COOP && (cv_cooplives.value == 0 || cv_cooplives.value == 3))) //show lives
|
|
|
|
V_DrawRightAlignedString(x, y+4, V_ALLOWLOWERCASE|((players[tab[i].num].mo && players[tab[i].num].mo->health > 0) ? 0 : V_60TRANS), va("%dx", players[tab[i].num].lives));
|
|
|
|
V_DrawRightAlignedString(x, y+4, V_ALLOWLOWERCASE|(greycheck ? V_60TRANS : 0), va("%dx", players[tab[i].num].lives));
|
|
|
|
else if (G_TagGametype() && players[tab[i].num].pflags & PF_TAGIT)
|
|
|
|
else if (G_TagGametype() && players[tab[i].num].pflags & PF_TAGIT)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (players[tab[i].num].mo && players[tab[i].num].mo->health <= 0)
|
|
|
|
if (greycheck)
|
|
|
|
V_DrawSmallTranslucentPatch(x-32, y-4, V_60TRANS, tagico);
|
|
|
|
V_DrawSmallTranslucentPatch(x-32, y-4, V_60TRANS, tagico);
|
|
|
|
else
|
|
|
|
else
|
|
|
|
V_DrawSmallScaledPatch(x-32, y-4, 0, tagico);
|
|
|
|
V_DrawSmallScaledPatch(x-32, y-4, 0, tagico);
|
|
|
@ -1258,13 +1265,13 @@ void HU_DrawTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scorelines, I
|
|
|
|
if (players[tab[i].num].exiting)
|
|
|
|
if (players[tab[i].num].exiting)
|
|
|
|
V_DrawRightAlignedString(x+240, y, 0, va("%i:%02i.%02i", G_TicsToMinutes(players[tab[i].num].realtime,true), G_TicsToSeconds(players[tab[i].num].realtime), G_TicsToCentiseconds(players[tab[i].num].realtime)));
|
|
|
|
V_DrawRightAlignedString(x+240, y, 0, va("%i:%02i.%02i", G_TicsToMinutes(players[tab[i].num].realtime,true), G_TicsToSeconds(players[tab[i].num].realtime), G_TicsToCentiseconds(players[tab[i].num].realtime)));
|
|
|
|
else
|
|
|
|
else
|
|
|
|
V_DrawRightAlignedString(x+240, y, ((players[tab[i].num].mo && players[tab[i].num].mo->health > 0) ? 0 : V_60TRANS), va("%u", tab[i].count));
|
|
|
|
V_DrawRightAlignedString(x+240, y, (greycheck ? V_60TRANS : 0), va("%u", tab[i].count));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
V_DrawRightAlignedString(x+240, y, ((players[tab[i].num].mo && players[tab[i].num].mo->health > 0) ? 0 : V_60TRANS), va("%i:%02i.%02i", G_TicsToMinutes(tab[i].count,true), G_TicsToSeconds(tab[i].count), G_TicsToCentiseconds(tab[i].count)));
|
|
|
|
V_DrawRightAlignedString(x+240, y, (greycheck ? V_60TRANS : 0), va("%i:%02i.%02i", G_TicsToMinutes(tab[i].count,true), G_TicsToSeconds(tab[i].count), G_TicsToCentiseconds(tab[i].count)));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
V_DrawRightAlignedString(x+240, y, ((players[tab[i].num].mo && players[tab[i].num].mo->health > 0) ? 0 : V_60TRANS), va("%u", tab[i].count));
|
|
|
|
V_DrawRightAlignedString(x+240, y, (greycheck ? V_60TRANS : 0), va("%u", tab[i].count));
|
|
|
|
|
|
|
|
|
|
|
|
y += 16;
|
|
|
|
y += 16;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -1279,6 +1286,7 @@ void HU_DrawTeamTabRankings(playersort_t *tab, INT32 whiteplayer)
|
|
|
|
INT32 redplayers = 0, blueplayers = 0;
|
|
|
|
INT32 redplayers = 0, blueplayers = 0;
|
|
|
|
const UINT8 *colormap;
|
|
|
|
const UINT8 *colormap;
|
|
|
|
char name[MAXPLAYERNAME+1];
|
|
|
|
char name[MAXPLAYERNAME+1];
|
|
|
|
|
|
|
|
boolean greycheck, supercheck;
|
|
|
|
|
|
|
|
|
|
|
|
V_DrawFill(160, 26, 1, 154, 0); //Draw a vertical line to separate the two teams.
|
|
|
|
V_DrawFill(160, 26, 1, 154, 0); //Draw a vertical line to separate the two teams.
|
|
|
|
V_DrawFill(1, 26, 318, 1, 0); //And a horizontal line to make a T.
|
|
|
|
V_DrawFill(1, 26, 318, 1, 0); //And a horizontal line to make a T.
|
|
|
@ -1306,10 +1314,13 @@ void HU_DrawTeamTabRankings(playersort_t *tab, INT32 whiteplayer)
|
|
|
|
else //er? not on red or blue, so ignore them
|
|
|
|
else //er? not on red or blue, so ignore them
|
|
|
|
continue;
|
|
|
|
continue;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
greycheck = greycheckdef;
|
|
|
|
|
|
|
|
supercheck = supercheckdef;
|
|
|
|
|
|
|
|
|
|
|
|
strlcpy(name, tab[i].name, 9);
|
|
|
|
strlcpy(name, tab[i].name, 9);
|
|
|
|
V_DrawString(x + 20, y,
|
|
|
|
V_DrawString(x + 20, y,
|
|
|
|
((tab[i].num == whiteplayer) ? V_YELLOWMAP : 0)
|
|
|
|
((tab[i].num == whiteplayer) ? V_YELLOWMAP : 0)
|
|
|
|
| ((players[tab[i].num].mo && players[tab[i].num].mo->health > 0) ? 0 : V_TRANSLUCENT)
|
|
|
|
| (greycheck ? V_TRANSLUCENT : 0)
|
|
|
|
| V_ALLOWLOWERCASE, name);
|
|
|
|
| V_ALLOWLOWERCASE, name);
|
|
|
|
|
|
|
|
|
|
|
|
if (gametype == GT_CTF)
|
|
|
|
if (gametype == GT_CTF)
|
|
|
@ -1327,7 +1338,7 @@ void HU_DrawTeamTabRankings(playersort_t *tab, INT32 whiteplayer)
|
|
|
|
HU_DrawEmeralds(x-12,y+2,tab[i].emeralds);
|
|
|
|
HU_DrawEmeralds(x-12,y+2,tab[i].emeralds);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (players[tab[i].num].powers[pw_super])
|
|
|
|
if (supercheck)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
colormap = R_GetTranslationColormap(players[tab[i].num].skin, players[tab[i].num].mo ? players[tab[i].num].mo->color : tab[i].color, GTC_CACHE);
|
|
|
|
colormap = R_GetTranslationColormap(players[tab[i].num].skin, players[tab[i].num].mo ? players[tab[i].num].mo->color : tab[i].color, GTC_CACHE);
|
|
|
|
V_DrawSmallMappedPatch (x, y-4, 0, superprefix[players[tab[i].num].skin], colormap);
|
|
|
|
V_DrawSmallMappedPatch (x, y-4, 0, superprefix[players[tab[i].num].skin], colormap);
|
|
|
@ -1335,12 +1346,12 @@ void HU_DrawTeamTabRankings(playersort_t *tab, INT32 whiteplayer)
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
colormap = R_GetTranslationColormap(players[tab[i].num].skin, players[tab[i].num].mo ? players[tab[i].num].mo->color : tab[i].color, GTC_CACHE);
|
|
|
|
colormap = R_GetTranslationColormap(players[tab[i].num].skin, players[tab[i].num].mo ? players[tab[i].num].mo->color : tab[i].color, GTC_CACHE);
|
|
|
|
if (players[tab[i].num].mo && players[tab[i].num].mo->health <= 0)
|
|
|
|
if (greycheck)
|
|
|
|
V_DrawSmallTranslucentMappedPatch (x, y-4, 0, faceprefix[players[tab[i].num].skin], colormap);
|
|
|
|
V_DrawSmallTranslucentMappedPatch (x, y-4, V_80TRANS, faceprefix[players[tab[i].num].skin], colormap);
|
|
|
|
else
|
|
|
|
else
|
|
|
|
V_DrawSmallMappedPatch (x, y-4, 0, faceprefix[players[tab[i].num].skin], colormap);
|
|
|
|
V_DrawSmallMappedPatch (x, y-4, 0, faceprefix[players[tab[i].num].skin], colormap);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
V_DrawRightAlignedThinString(x+120, y, ((players[tab[i].num].mo && players[tab[i].num].mo->health > 0) ? 0 : V_TRANSLUCENT), va("%u", tab[i].count));
|
|
|
|
V_DrawRightAlignedThinString(x+120, y, (greycheck ? V_TRANSLUCENT : 0), va("%u", tab[i].count));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -1352,6 +1363,7 @@ void HU_DrawDualTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scoreline
|
|
|
|
INT32 i;
|
|
|
|
INT32 i;
|
|
|
|
const UINT8 *colormap;
|
|
|
|
const UINT8 *colormap;
|
|
|
|
char name[MAXPLAYERNAME+1];
|
|
|
|
char name[MAXPLAYERNAME+1];
|
|
|
|
|
|
|
|
boolean greycheck, supercheck;
|
|
|
|
|
|
|
|
|
|
|
|
V_DrawFill(160, 26, 1, 154, 0); //Draw a vertical line to separate the two sides.
|
|
|
|
V_DrawFill(160, 26, 1, 154, 0); //Draw a vertical line to separate the two sides.
|
|
|
|
V_DrawFill(1, 26, 318, 1, 0); //And a horizontal line to make a T.
|
|
|
|
V_DrawFill(1, 26, 318, 1, 0); //And a horizontal line to make a T.
|
|
|
@ -1359,16 +1371,19 @@ void HU_DrawDualTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scoreline
|
|
|
|
|
|
|
|
|
|
|
|
for (i = 0; i < scorelines; i++)
|
|
|
|
for (i = 0; i < scorelines; i++)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (players[tab[i].num].spectator)
|
|
|
|
if (players[tab[i].num].spectator && gametype != GT_COOP)
|
|
|
|
continue; //ignore them.
|
|
|
|
continue; //ignore them.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
greycheck = greycheckdef;
|
|
|
|
|
|
|
|
supercheck = supercheckdef;
|
|
|
|
|
|
|
|
|
|
|
|
strlcpy(name, tab[i].name, 9);
|
|
|
|
strlcpy(name, tab[i].name, 9);
|
|
|
|
V_DrawString(x + 20, y,
|
|
|
|
V_DrawString(x + 20, y,
|
|
|
|
((tab[i].num == whiteplayer) ? V_YELLOWMAP : 0)
|
|
|
|
((tab[i].num == whiteplayer) ? V_YELLOWMAP : 0)
|
|
|
|
| ((players[tab[i].num].mo && players[tab[i].num].mo->health > 0) ? 0 : V_TRANSLUCENT)
|
|
|
|
| (greycheck ? V_TRANSLUCENT : 0)
|
|
|
|
| V_ALLOWLOWERCASE, name);
|
|
|
|
| V_ALLOWLOWERCASE, name);
|
|
|
|
|
|
|
|
|
|
|
|
if (G_GametypeUsesLives()) //show lives
|
|
|
|
if (G_GametypeUsesLives() && !(gametype == GT_COOP && (cv_cooplives.value == 0 || cv_cooplives.value == 3))) //show lives
|
|
|
|
V_DrawRightAlignedString(x, y+4, V_ALLOWLOWERCASE, va("%dx", players[tab[i].num].lives));
|
|
|
|
V_DrawRightAlignedString(x, y+4, V_ALLOWLOWERCASE, va("%dx", players[tab[i].num].lives));
|
|
|
|
else if (G_TagGametype() && players[tab[i].num].pflags & PF_TAGIT)
|
|
|
|
else if (G_TagGametype() && players[tab[i].num].pflags & PF_TAGIT)
|
|
|
|
V_DrawSmallScaledPatch(x-28, y-4, 0, tagico);
|
|
|
|
V_DrawSmallScaledPatch(x-28, y-4, 0, tagico);
|
|
|
@ -1384,19 +1399,19 @@ void HU_DrawDualTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scoreline
|
|
|
|
if (tab[i].color == 0)
|
|
|
|
if (tab[i].color == 0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
colormap = colormaps;
|
|
|
|
colormap = colormaps;
|
|
|
|
if (players[tab[i].num].powers[pw_super])
|
|
|
|
if (supercheck)
|
|
|
|
V_DrawSmallScaledPatch (x, y-4, 0, superprefix[players[tab[i].num].skin]);
|
|
|
|
V_DrawSmallScaledPatch (x, y-4, 0, superprefix[players[tab[i].num].skin]);
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (players[tab[i].num].mo && players[tab[i].num].mo->health <= 0)
|
|
|
|
if (greycheck)
|
|
|
|
V_DrawSmallTranslucentPatch (x, y-4, 0, faceprefix[players[tab[i].num].skin]);
|
|
|
|
V_DrawSmallTranslucentPatch (x, y-4, V_80TRANS, faceprefix[players[tab[i].num].skin]);
|
|
|
|
else
|
|
|
|
else
|
|
|
|
V_DrawSmallScaledPatch (x, y-4, 0, faceprefix[players[tab[i].num].skin]);
|
|
|
|
V_DrawSmallScaledPatch (x, y-4, 0, faceprefix[players[tab[i].num].skin]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (players[tab[i].num].powers[pw_super])
|
|
|
|
if (supercheck)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
colormap = R_GetTranslationColormap(players[tab[i].num].skin, players[tab[i].num].mo ? players[tab[i].num].mo->color : tab[i].color, GTC_CACHE);
|
|
|
|
colormap = R_GetTranslationColormap(players[tab[i].num].skin, players[tab[i].num].mo ? players[tab[i].num].mo->color : tab[i].color, GTC_CACHE);
|
|
|
|
V_DrawSmallMappedPatch (x, y-4, 0, superprefix[players[tab[i].num].skin], colormap);
|
|
|
|
V_DrawSmallMappedPatch (x, y-4, 0, superprefix[players[tab[i].num].skin], colormap);
|
|
|
@ -1404,8 +1419,8 @@ void HU_DrawDualTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scoreline
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
colormap = R_GetTranslationColormap(players[tab[i].num].skin, players[tab[i].num].mo ? players[tab[i].num].mo->color : tab[i].color, GTC_CACHE);
|
|
|
|
colormap = R_GetTranslationColormap(players[tab[i].num].skin, players[tab[i].num].mo ? players[tab[i].num].mo->color : tab[i].color, GTC_CACHE);
|
|
|
|
if (players[tab[i].num].mo && players[tab[i].num].mo->health <= 0)
|
|
|
|
if (greycheck)
|
|
|
|
V_DrawSmallTranslucentMappedPatch (x, y-4, 0, faceprefix[players[tab[i].num].skin], colormap);
|
|
|
|
V_DrawSmallTranslucentMappedPatch (x, y-4, V_80TRANS, faceprefix[players[tab[i].num].skin], colormap);
|
|
|
|
else
|
|
|
|
else
|
|
|
|
V_DrawSmallMappedPatch (x, y-4, 0, faceprefix[players[tab[i].num].skin], colormap);
|
|
|
|
V_DrawSmallMappedPatch (x, y-4, 0, faceprefix[players[tab[i].num].skin], colormap);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -1419,13 +1434,13 @@ void HU_DrawDualTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scoreline
|
|
|
|
if (players[tab[i].num].exiting)
|
|
|
|
if (players[tab[i].num].exiting)
|
|
|
|
V_DrawRightAlignedThinString(x+156, y, 0, va("%i:%02i.%02i", G_TicsToMinutes(players[tab[i].num].realtime,true), G_TicsToSeconds(players[tab[i].num].realtime), G_TicsToCentiseconds(players[tab[i].num].realtime)));
|
|
|
|
V_DrawRightAlignedThinString(x+156, y, 0, va("%i:%02i.%02i", G_TicsToMinutes(players[tab[i].num].realtime,true), G_TicsToSeconds(players[tab[i].num].realtime), G_TicsToCentiseconds(players[tab[i].num].realtime)));
|
|
|
|
else
|
|
|
|
else
|
|
|
|
V_DrawRightAlignedThinString(x+156, y, ((players[tab[i].num].mo && players[tab[i].num].mo->health > 0) ? 0 : V_TRANSLUCENT), va("%u", tab[i].count));
|
|
|
|
V_DrawRightAlignedThinString(x+156, y, (greycheck ? V_TRANSLUCENT : 0), va("%u", tab[i].count));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
V_DrawRightAlignedThinString(x+156, y, ((players[tab[i].num].mo && players[tab[i].num].mo->health > 0) ? 0 : V_TRANSLUCENT), va("%i:%02i.%02i", G_TicsToMinutes(tab[i].count,true), G_TicsToSeconds(tab[i].count), G_TicsToCentiseconds(tab[i].count)));
|
|
|
|
V_DrawRightAlignedThinString(x+156, y, (greycheck ? V_TRANSLUCENT : 0), va("%i:%02i.%02i", G_TicsToMinutes(tab[i].count,true), G_TicsToSeconds(tab[i].count), G_TicsToCentiseconds(tab[i].count)));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
V_DrawRightAlignedThinString(x+120, y, ((players[tab[i].num].mo && players[tab[i].num].mo->health > 0) ? 0 : V_TRANSLUCENT), va("%u", tab[i].count));
|
|
|
|
V_DrawRightAlignedThinString(x+120, y, (greycheck ? V_TRANSLUCENT : 0), va("%u", tab[i].count));
|
|
|
|
|
|
|
|
|
|
|
|
y += 16;
|
|
|
|
y += 16;
|
|
|
|
if (y > 160)
|
|
|
|
if (y > 160)
|
|
|
@ -1622,13 +1637,20 @@ static void HU_DrawRankings(void)
|
|
|
|
|
|
|
|
|
|
|
|
for (j = 0; j < MAXPLAYERS; j++)
|
|
|
|
for (j = 0; j < MAXPLAYERS; j++)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (!playeringame[j] || players[j].spectator)
|
|
|
|
if (!playeringame[j])
|
|
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (gametype != GT_COOP && players[j].spectator)
|
|
|
|
continue;
|
|
|
|
continue;
|
|
|
|
|
|
|
|
|
|
|
|
for (i = 0; i < MAXPLAYERS; i++)
|
|
|
|
for (i = 0; i < MAXPLAYERS; i++)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (playeringame[i] && !players[i].spectator)
|
|
|
|
if (!playeringame[i])
|
|
|
|
{
|
|
|
|
continue;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (gametype != GT_COOP && players[i].spectator)
|
|
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
|
|
|
|
if (gametype == GT_RACE)
|
|
|
|
if (gametype == GT_RACE)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (circuitmap)
|
|
|
|
if (circuitmap)
|
|
|
@ -1677,7 +1699,6 @@ static void HU_DrawRankings(void)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
completed[tab[scorelines].num] = true;
|
|
|
|
completed[tab[scorelines].num] = true;
|
|
|
|
scorelines++;
|
|
|
|
scorelines++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|