mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'parties-only' into parties
This commit is contained in:
commit
cca9b5e2f4
4 changed files with 69 additions and 10 deletions
|
|
@ -78,6 +78,7 @@ patch_t *cred_font[CRED_FONTSIZE];
|
|||
// Note: I'd like to adress that at this point we might *REALLY* want to work towards a common drawString function that can take any font we want because this is really turning into a MESS. :V -Lat'
|
||||
patch_t *pingnum[10];
|
||||
patch_t *pinggfx[5]; // small ping graphic
|
||||
patch_t *mping[5]; // smaller ping graphic
|
||||
|
||||
patch_t *framecounter;
|
||||
patch_t *frameslash; // framerate stuff. Used in screen.c
|
||||
|
|
@ -311,6 +312,8 @@ void HU_LoadGraphics(void)
|
|||
{
|
||||
sprintf(buffer, "PINGGFX%d", i+1);
|
||||
pinggfx[i] = (patch_t *)W_CachePatchName(buffer, PU_HUDGFX);
|
||||
sprintf(buffer, "MPING%d", i+1);
|
||||
mping[i] = (patch_t *)W_CachePatchName(buffer, PU_HUDGFX);
|
||||
}
|
||||
|
||||
// fps stuff
|
||||
|
|
@ -2480,22 +2483,30 @@ void HU_Erase(void)
|
|||
// IN-LEVEL MULTIPLAYER RANKINGS
|
||||
//======================================================================
|
||||
|
||||
static int
|
||||
Ping_gfx_num (int ping)
|
||||
{
|
||||
if (ping < 76)
|
||||
return 0;
|
||||
else if (ping < 137)
|
||||
return 1;
|
||||
else if (ping < 256)
|
||||
return 2;
|
||||
else if (ping < 500)
|
||||
return 3;
|
||||
else
|
||||
return 4;
|
||||
}
|
||||
|
||||
//
|
||||
// HU_drawPing
|
||||
//
|
||||
void HU_drawPing(INT32 x, INT32 y, UINT32 ping, INT32 flags)
|
||||
{
|
||||
INT32 gfxnum = 4; // gfx to draw
|
||||
INT32 gfxnum; // gfx to draw
|
||||
UINT8 const *colormap = R_GetTranslationColormap(TC_RAINBOW, SKINCOLOR_SALMON, GTC_CACHE);
|
||||
|
||||
if (ping < 76)
|
||||
gfxnum = 0;
|
||||
else if (ping < 137)
|
||||
gfxnum = 1;
|
||||
else if (ping < 256)
|
||||
gfxnum = 2;
|
||||
else if (ping < 500)
|
||||
gfxnum = 3;
|
||||
gfxnum = Ping_gfx_num(ping);
|
||||
|
||||
V_DrawScaledPatch(x, y, flags, pinggfx[gfxnum]);
|
||||
if (servermaxping && ping > servermaxping && hu_tick < 4) // flash ping red if too high
|
||||
|
|
@ -2504,6 +2515,19 @@ void HU_drawPing(INT32 x, INT32 y, UINT32 ping, INT32 flags)
|
|||
V_DrawPingNum(x, y+9, flags, ping, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
HU_drawMiniPing (INT32 x, INT32 y, UINT32 ping, INT32 flags)
|
||||
{
|
||||
patch_t *patch;
|
||||
|
||||
patch = mping[Ping_gfx_num(ping)];
|
||||
|
||||
if (( flags & V_SNAPTORIGHT ))
|
||||
x += ( BASEVIDWIDTH - SHORT (patch->width) );
|
||||
|
||||
V_DrawScaledPatch(x, y, flags, patch);
|
||||
}
|
||||
|
||||
//
|
||||
// HU_DrawTabRankings -- moved to k_kart.c
|
||||
//
|
||||
|
|
|
|||
|
|
@ -115,6 +115,7 @@ char HU_dequeueChatChar(void);
|
|||
void HU_Erase(void);
|
||||
void HU_clearChatChars(void);
|
||||
void HU_drawPing(INT32 x, INT32 y, UINT32 ping, INT32 flags); // Lat': Ping drawer for scoreboard.
|
||||
void HU_drawMiniPing(INT32 x, INT32 y, UINT32 ping, INT32 flags);
|
||||
//void HU_DrawTeamTabRankings(playersort_t *tab, INT32 whiteplayer);
|
||||
//void HU_DrawDualTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scorelines, INT32 whiteplayer);
|
||||
void HU_DrawTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scorelines, INT32 whiteplayer, INT32 hilicol);
|
||||
|
|
|
|||
34
src/k_kart.c
34
src/k_kart.c
|
|
@ -9884,6 +9884,35 @@ void K_drawKartFreePlay(UINT32 flashtime)
|
|||
LAPS_Y+3, V_HUDTRANS|V_SNAPTOBOTTOM|V_SNAPTORIGHT, "FREE PLAY");
|
||||
}
|
||||
|
||||
static void
|
||||
Draw_party_ping (int ss, INT32 snap)
|
||||
{
|
||||
HU_drawMiniPing(0, 0, playerpingtable[displayplayers[ss]], V_HUDTRANS|snap);
|
||||
}
|
||||
|
||||
static void
|
||||
K_drawMiniPing (void)
|
||||
{
|
||||
if (cv_showping.value)
|
||||
{
|
||||
switch (r_splitscreen)
|
||||
{
|
||||
case 3:
|
||||
Draw_party_ping(3, V_SNAPTORIGHT|V_SPLITSCREEN);
|
||||
/*FALLTHRU*/
|
||||
case 2:
|
||||
Draw_party_ping(2, V_SPLITSCREEN);
|
||||
Draw_party_ping(1, V_SNAPTORIGHT);
|
||||
Draw_party_ping(0, 0);
|
||||
break;
|
||||
case 1:
|
||||
Draw_party_ping(1, V_SNAPTORIGHT|V_SPLITSCREEN);
|
||||
Draw_party_ping(0, V_SNAPTORIGHT);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void K_drawDistributionDebugger(void)
|
||||
{
|
||||
patch_t *items[NUMKARTRESULTS] = {
|
||||
|
|
@ -10212,6 +10241,11 @@ void K_drawKartHUD(void)
|
|||
K_drawKartFreePlay(leveltime);
|
||||
}
|
||||
|
||||
if (netgame && r_splitscreen)
|
||||
{
|
||||
K_drawMiniPing();
|
||||
}
|
||||
|
||||
if (cv_kartdebugdistribution.value)
|
||||
K_drawDistributionDebugger();
|
||||
|
||||
|
|
|
|||
|
|
@ -445,7 +445,7 @@ void SCR_DisplayTicRate(void)
|
|||
void SCR_DisplayLocalPing(void)
|
||||
{
|
||||
UINT32 ping = playerpingtable[consoleplayer]; // consoleplayer's ping is everyone's ping in a splitnetgame :P
|
||||
if (cv_showping.value == 1 || (cv_showping.value == 2 && ping > servermaxping)) // only show 2 (warning) if our ping is at a bad level
|
||||
if (! r_splitscreen && ( cv_showping.value == 1 || (cv_showping.value == 2 && ping > servermaxping) )) // only show 2 (warning) if our ping is at a bad level
|
||||
{
|
||||
INT32 dispy = cv_ticrate.value ? 160 : 181;
|
||||
HU_drawPing(307, dispy, ping, V_SNAPTORIGHT | V_SNAPTOBOTTOM | V_HUDTRANS);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue