mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-01-14 05:41:02 +00:00
Show kartspeed and password status on server browser
This commit is contained in:
parent
2954b68e12
commit
d5691b9289
3 changed files with 24 additions and 3 deletions
|
@ -1343,7 +1343,13 @@ static void SV_SendServerInfo(INT32 node, tic_t servertime)
|
||||||
netbuffer->u.serverinfo.gametype = (UINT8)(G_BattleGametype() ? VANILLA_GT_MATCH : VANILLA_GT_RACE); // SRB2Kart: Vanilla's gametype constants for MS support
|
netbuffer->u.serverinfo.gametype = (UINT8)(G_BattleGametype() ? VANILLA_GT_MATCH : VANILLA_GT_RACE); // SRB2Kart: Vanilla's gametype constants for MS support
|
||||||
netbuffer->u.serverinfo.modifiedgame = (UINT8)modifiedgame;
|
netbuffer->u.serverinfo.modifiedgame = (UINT8)modifiedgame;
|
||||||
netbuffer->u.serverinfo.cheatsenabled = CV_CheatsEnabled();
|
netbuffer->u.serverinfo.cheatsenabled = CV_CheatsEnabled();
|
||||||
netbuffer->u.serverinfo.isdedicated = (UINT8)dedicated;
|
|
||||||
|
netbuffer->u.serverinfo.kartvars = (UINT8) (
|
||||||
|
cv_kartspeed.value |
|
||||||
|
(dedicated ? SV_DEDICATED : 0) |
|
||||||
|
(D_IsJoinPasswordOn() ? SV_PASSWORD : 0)
|
||||||
|
);
|
||||||
|
|
||||||
strncpy(netbuffer->u.serverinfo.servername, cv_servername.string,
|
strncpy(netbuffer->u.serverinfo.servername, cv_servername.string,
|
||||||
MAXSERVERNAME);
|
MAXSERVERNAME);
|
||||||
strncpy(netbuffer->u.serverinfo.mapname, G_BuildMapName(gamemap), 7);
|
strncpy(netbuffer->u.serverinfo.mapname, G_BuildMapName(gamemap), 7);
|
||||||
|
|
|
@ -368,6 +368,10 @@ typedef struct
|
||||||
UINT8 question[16]; // Challenge data to be manipulated and answered with
|
UINT8 question[16]; // Challenge data to be manipulated and answered with
|
||||||
} ATTRPACK joinchallenge_pak;
|
} ATTRPACK joinchallenge_pak;
|
||||||
|
|
||||||
|
#define SV_SPEEDMASK 0x03
|
||||||
|
#define SV_DEDICATED 0x40
|
||||||
|
#define SV_PASSWORD 0x80
|
||||||
|
|
||||||
#define MAXSERVERNAME 32
|
#define MAXSERVERNAME 32
|
||||||
#define MAXFILENEEDED 915
|
#define MAXFILENEEDED 915
|
||||||
// This packet is too large
|
// This packet is too large
|
||||||
|
@ -380,7 +384,7 @@ typedef struct
|
||||||
UINT8 gametype;
|
UINT8 gametype;
|
||||||
UINT8 modifiedgame;
|
UINT8 modifiedgame;
|
||||||
UINT8 cheatsenabled;
|
UINT8 cheatsenabled;
|
||||||
UINT8 isdedicated;
|
UINT8 kartvars; // Previously isdedicated, now appropriated for our own nefarious purposes
|
||||||
UINT8 fileneedednum;
|
UINT8 fileneedednum;
|
||||||
SINT8 adminplayer;
|
SINT8 adminplayer;
|
||||||
tic_t time;
|
tic_t time;
|
||||||
|
|
13
src/m_menu.c
13
src/m_menu.c
|
@ -7241,6 +7241,7 @@ static void M_DrawConnectMenu(void)
|
||||||
{
|
{
|
||||||
UINT16 i, j;
|
UINT16 i, j;
|
||||||
const char *gt = "Unknown";
|
const char *gt = "Unknown";
|
||||||
|
const char *spd = "";
|
||||||
INT32 numPages = (serverlistcount+(SERVERS_PER_PAGE-1))/SERVERS_PER_PAGE;
|
INT32 numPages = (serverlistcount+(SERVERS_PER_PAGE-1))/SERVERS_PER_PAGE;
|
||||||
|
|
||||||
for (i = FIRSTSERVERLINE; i < min(localservercount, SERVERS_PER_PAGE)+FIRSTSERVERLINE; i++)
|
for (i = FIRSTSERVERLINE; i < min(localservercount, SERVERS_PER_PAGE)+FIRSTSERVERLINE; i++)
|
||||||
|
@ -7294,7 +7295,17 @@ static void M_DrawConnectMenu(void)
|
||||||
V_DrawSmallString(currentMenu->x+46,S_LINEY(i)+8, globalflags,
|
V_DrawSmallString(currentMenu->x+46,S_LINEY(i)+8, globalflags,
|
||||||
va("Players: %02d/%02d", serverlist[slindex].info.numberofplayer, serverlist[slindex].info.maxplayer));
|
va("Players: %02d/%02d", serverlist[slindex].info.numberofplayer, serverlist[slindex].info.maxplayer));
|
||||||
|
|
||||||
V_DrawSmallString(currentMenu->x+112, S_LINEY(i)+8, globalflags, va("Gametype: %s", gt));
|
V_DrawSmallString(currentMenu->x+112, S_LINEY(i)+8, globalflags, gt);
|
||||||
|
|
||||||
|
if (serverlist[slindex].info.gametype == GT_RACE)
|
||||||
|
{
|
||||||
|
spd = kartspeed_cons_t[serverlist[slindex].info.kartvars & SV_SPEEDMASK].strvalue;
|
||||||
|
|
||||||
|
V_DrawSmallString(currentMenu->x+132, S_LINEY(i)+8, globalflags, va("(%s Speed)", spd));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (serverlist[slindex].info.kartvars & SV_PASSWORD)
|
||||||
|
V_DrawFixedPatch((currentMenu->x - 10) << FRACBITS, (S_LINEY(i)) << FRACBITS, FRACUNIT, globalflags & (~V_ALLOWLOWERCASE), W_CachePatchName("SERVLOCK", PU_CACHE), NULL);
|
||||||
|
|
||||||
MP_ConnectMenu[i+FIRSTSERVERLINE].status = IT_STRING | IT_CALL;
|
MP_ConnectMenu[i+FIRSTSERVERLINE].status = IT_STRING | IT_CALL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue