Clean up recent IP handling a bunch.

This commit is contained in:
toaster 2022-09-12 22:24:40 +01:00 committed by SteelT
parent 794385dd63
commit e1c8f8095b
3 changed files with 29 additions and 17 deletions

View file

@ -2094,10 +2094,10 @@ static void CL_ConnectToServer(void)
// @TODO: Save the proper server name, right now it doesn't seem like we can consistently retrieve it from the serverlist....? // @TODO: Save the proper server name, right now it doesn't seem like we can consistently retrieve it from the serverlist....?
// It works... sometimes but not always which is weird. // It works... sometimes but not always which is weird.
if (*joinedIP && strlen(joinedIP)) // false if we have "" which is \0 if (joinedIP[0]) // false if we have "" which is \0
M_AddToJoinedIPs(joinedIP, netbuffer->u.serverinfo.servername); M_AddToJoinedIPs(joinedIP, netbuffer->u.serverinfo.servername);
strcpy(joinedIP, ""); // And empty this for good measure regardless of whether or not we actually used it. joinedIP[0] = '\0'; // And empty this for good measure regardless of whether or not we actually used it.
} }
@ -2387,7 +2387,7 @@ static void Command_connect(void)
{ {
// By default, clear the saved address that we'd save after succesfully joining just to be sure: // By default, clear the saved address that we'd save after succesfully joining just to be sure:
strcpy(joinedIP, ""); joinedIP[0] = '\0';
if (COM_Argc() < 2 || *COM_Argv(1) == 0) if (COM_Argc() < 2 || *COM_Argv(1) == 0)
{ {
@ -3905,7 +3905,7 @@ void SV_StartSinglePlayerServer(void)
server = true; server = true;
netgame = false; netgame = false;
multiplayer = false; multiplayer = false;
strcpy(joinedIP, ""); // Make sure to empty this so that we don't save garbage when we start our own game. (because yes we use this for netgames too....) joinedIP[0] = '\0'; // Make sure to empty this so that we don't save garbage when we start our own game. (because yes we use this for netgames too....)
if ((modeattacking == ATTACKING_CAPSULES) || (bossinfo.boss == true)) if ((modeattacking == ATTACKING_CAPSULES) || (bossinfo.boss == true))
{ {

View file

@ -2339,7 +2339,7 @@ void M_DrawMPHost(void)
case IT_CV_STRING: case IT_CV_STRING:
V_DrawThinString(xp + 96, yp, V_ALLOWLOWERCASE|V_6WIDTHSPACE, cv->string); V_DrawThinString(xp + 96, yp, V_ALLOWLOWERCASE|V_6WIDTHSPACE, cv->string);
if (skullAnimCounter < 4 && i == itemOn) if (skullAnimCounter < 4 && i == itemOn)
V_DrawString(xp + 94 + V_ThinStringWidth(cv->string, V_6WIDTHSPACE), yp+1, 0, "_"); V_DrawString(xp + 96 + V_ThinStringWidth(cv->string, V_ALLOWLOWERCASE|V_6WIDTHSPACE), yp+1, 0, "_");
break; break;
@ -2404,15 +2404,20 @@ void M_DrawMPJoinIP(void)
if (currentMenu->numitems - i <= NUMLOGIP) if (currentMenu->numitems - i <= NUMLOGIP)
{ {
UINT8 index = NUMLOGIP - (currentMenu->numitems - i); UINT8 index = NUMLOGIP - (currentMenu->numitems - i);
if (strlen(joinedIPlist[index][1])) // Try drawing server name if (index == 0)
{
xp += 8;
}
if (joinedIPlist[index][1][0]) // Try drawing server name
strcpy(str, joinedIPlist[index][1]); strcpy(str, joinedIPlist[index][1]);
else if (strlen(joinedIPlist[index][0])) // If that fails, get the address else if (joinedIPlist[index][0][0]) // If that fails, get the address
strcpy(str, joinedIPlist[index][0]); strcpy(str, joinedIPlist[index][0]);
else else
strcpy(str, "---"); // If that fails too then there's nothing! strcpy(str, "---"); // If that fails too then there's nothing!
} }
V_DrawString(xp, yp, V_ALLOWLOWERCASE | ((i == itemOn || currentMenu->menuitems[i].status & IT_SPACE) ? highlightflags : 0), str); V_DrawThinString(xp, yp, V_ALLOWLOWERCASE | ((i == itemOn || currentMenu->menuitems[i].status & IT_SPACE) ? highlightflags : 0)|V_ALLOWLOWERCASE|V_6WIDTHSPACE, str);
// Cvar specific handling // Cvar specific handling
switch (currentMenu->menuitems[i].status & IT_TYPE) switch (currentMenu->menuitems[i].status & IT_TYPE)
@ -2427,10 +2432,10 @@ void M_DrawMPJoinIP(void)
//colormap = R_GetTranslationColormap(TC_DEFAULT, SKINCOLOR_MOSS, GTC_CACHE); //colormap = R_GetTranslationColormap(TC_DEFAULT, SKINCOLOR_MOSS, GTC_CACHE);
colormapc = R_GetTranslationColormap(TC_RAINBOW, SKINCOLOR_PLAGUE, GTC_CACHE); colormapc = R_GetTranslationColormap(TC_RAINBOW, SKINCOLOR_PLAGUE, GTC_CACHE);
V_DrawFixedPatch((xp + 20)<<FRACBITS, (yp-3)<<FRACBITS, FRACUNIT, 0, typebar, colormapc); // Always consider that this is selected otherwise it clashes. V_DrawFixedPatch((xp + 12)<<FRACBITS, (yp-2)<<FRACBITS, FRACUNIT, 0, typebar, colormapc); // Always consider that this is selected otherwise it clashes.
V_DrawThinString(xp + 26, yp-1, V_ALLOWLOWERCASE, cv->string); V_DrawThinString(xp + 18, yp, V_ALLOWLOWERCASE|V_6WIDTHSPACE, cv->string);
if (skullAnimCounter < 4 && i == itemOn) if (skullAnimCounter < 4 && i == itemOn)
V_DrawCharacter(xp + 24 + V_ThinStringWidth(cv->string, 0), yp, '_' | 0x80, false); V_DrawString(xp + 18 + V_ThinStringWidth(cv->string, V_ALLOWLOWERCASE|V_6WIDTHSPACE), yp+1, 0, "_");
/*// On this specific menu the only time we'll ever see this is for the connect by IP typefield. /*// On this specific menu the only time we'll ever see this is for the connect by IP typefield.
// Draw the small GO button here (and the text which is a separate graphic) // Draw the small GO button here (and the text which is a separate graphic)

View file

@ -190,8 +190,7 @@ void M_InitJoinedIPArray(void)
UINT8 i; UINT8 i;
for (i=0; i < NUMLOGIP; i++) for (i=0; i < NUMLOGIP; i++)
{ {
strcpy(joinedIPlist[i][0], ""); joinedIPlist[i][0][0] = joinedIPlist[i][1][0] = '\0';
strcpy(joinedIPlist[i][1], "");
} }
} }
@ -564,10 +563,18 @@ void M_LoadJoinedIPs(void)
s = strtok(NULL, IPLOGFILESEP); // Let's get rid of this awful \n while we're here! s = strtok(NULL, IPLOGFILESEP); // Let's get rid of this awful \n while we're here!
if (strlen(s)) if (s)
s[strlen(s)-1] = '\0'; // Remove the \n {
//strcpy(joinedIPlist[i][1], s); -- get rid of \n too...
strcpy(joinedIPlist[i][1], s); char *c = joinedIPlist[i][1];
while (*s && *s != '\n')
{
*c = *s;
s++;
c++;
}
*c = '\0';
}
i++; i++;
} }