Merge branch 'blankart-dev' into revertmines

This commit is contained in:
NepDisk 2025-04-30 17:21:57 -04:00
commit 8f04562e4c
2 changed files with 141 additions and 13 deletions

View file

@ -465,8 +465,9 @@ void DRPC_UpdatePresence(void)
char detailstr[48+1];
char mapname[5+21+21+2+1];
char mapimg[MAXMAPLUMPNAME+5];
char charimg[4+SKINNAMESIZE+1];
char charimg[4+SKINNAMESIZE+2];
char charname[11+SKINNAMESIZE+1];
boolean joinSecretSet = false;
@ -551,12 +552,24 @@ void DRPC_UpdatePresence(void)
if ((gamestate == GS_LEVEL || gamestate == GS_INTERMISSION || gamestate == GS_VOTING) && Playing())
{
if (modeattacking)
discordPresence.details = "Time Attack";
{
SINT8 recordpreset = G_RecordPresetIndex();
char *currenttamode = "SRB2Kart";
if (recordpreset == RP_TECH)
currenttamode = "Tech";
else if (recordpreset == RP_BLAN)
currenttamode = "BlanKart";
else if (recordpreset == RP_CUST)
currenttamode = "Custom";
discordPresence.details = va("Time Attack: %s Mode", currenttamode);
}
else
{
snprintf(detailstr, 48, "%s%s%s",
gametype_cons_t[gametype].strvalue,
va(" | %s", kartspeed_cons_t[gamespeed].strvalue),
va(" | %s", kartspeed_cons_t[gamespeed+1].strvalue),
(encoremode == true) ? " | Encore" : ""
);
discordPresence.details = detailstr;
@ -573,8 +586,125 @@ void DRPC_UpdatePresence(void)
}
else
{
// This is probably a custom map!
discordPresence.largeImageKey = "mapcustom";
// Supported map names
// I hate that this is easiest but oh well.
static const char *supportedMaps[] = {
// base game
"MAP01",
"MAP02",
"MAP03",
"MAP04",
"MAP05",
"MAP06",
"MAP07",
"MAP08",
"MAP09",
"MAP10",
"MAP11",
"MAP12",
"MAP13",
"MAP14",
"MAP15",
"MAP16",
"MAP17",
"MAP18",
"MAP19",
"MAP20",
"MAP21",
"MAP22",
"MAP23",
"MAP24",
"MAP25",
"MAP26",
"MAP27",
"MAP28",
"MAP29",
"MAP30",
"MAP31",
"MAP32",
"MAP33",
"MAP34",
"MAP35",
"MAP36",
"MAP37",
"MAP38",
"MAP39",
"MAP40",
"MAP41",
"MAP42",
"MAP43",
"MAP44",
"MAP45",
"MAP46",
"MAP47",
"MAP48",
"MAP49",
"MAP50",
"MAP51",
"MAP52",
"MAP53",
"MAP54",
"MAP55",
"MAP56",
"MAP57",
"MAP58",
"MAP59",
"MAP60",
"MAPB0",
"MAPB1",
"MAPB2",
"MAPB3",
"MAPB4",
"MAPB5",
"MAPB6",
"MAPB7",
"MAPB8",
"MAPB9",
"MAPBA",
"MAPBB",
"MAPBC",
"MAPBD",
"MAPBE",
"MAPBF",
"MAPBG",
"MAPBH",
"MAPBI",
"MAPBJ",
"MAPBK",
"MAPBL",
"MAPBM",
"MAPBN",
"MAPBO",
"MAPBP",
"MAPBQ",
"MAPBR",
"MAPBS",
NULL
};
boolean customMap = true;
UINT16 checkMap = 0;
// Map image
while (supportedMaps[checkMap] != NULL)
{
if (!strcmp(mapheaderinfo[gamemap-1]->lumpname, supportedMaps[checkMap]))
{
snprintf(mapimg, MAXMAPLUMPNAME+4, "map_%s", mapheaderinfo[gamemap-1]->lumpname);
strlwr(mapimg);
discordPresence.largeImageKey = mapimg; // Map image
customMap = false;
break;
}
checkMap++;
}
if (customMap == true)
{
// This is probably a custom map!
discordPresence.largeImageKey = "mapcustom";
}
}
if (mapheaderinfo[gamemap-1]->menuflags & LF2_HIDEINMENU)
@ -669,7 +799,7 @@ void DRPC_UpdatePresence(void)
{
if (!strcmp(skins[players[consoleplayer].skin].name, supportedSkins[checkSkin]))
{
snprintf(charimg, 21, "char%s", supportedSkins[checkSkin]);
snprintf(charimg, 22, "char_%s", supportedSkins[checkSkin]);
discordPresence.smallImageKey = charimg;
customChar = false;
break;

View file

@ -613,7 +613,7 @@ void G_WriteDemoTiccmd(ticcmd_t *cmd, INT32 playernum)
oldcmd[playernum].forwardmove = cmd->forwardmove;
ziptic |= ZT_FWD;
}
if (cmd->sidemove != oldcmd[playernum].sidemove)
{
WRITESINT8(demobuf.p,cmd->sidemove);
@ -627,7 +627,7 @@ void G_WriteDemoTiccmd(ticcmd_t *cmd, INT32 playernum)
oldcmd[playernum].turning = cmd->turning;
ziptic |= ZT_TURNING;
}
if (cmd->angle != oldcmd[playernum].angle)
{
WRITEINT16(demobuf.p,cmd->angle);
@ -757,7 +757,7 @@ void G_GhostAddHit(INT32 playernum, mobj_t *victim)
return;
ghostext[playernum].flags |= EZT_HIT;
ghostext[playernum].hits++;
ghostext[playernum].hitlist = Z_Realloc(ghostext[playernum].hitlist, ghostext[playernum].hits * sizeof(mobj_t *), PU_LEVEL, NULL);
ghostext[playernum].hitlist = Z_Realloc(ghostext[playernum].hitlist, ghostext[playernum].hits * sizeof(mobj_t *), PU_LEVEL, &ghostext[playernum].hitlist);
P_SetTarget(ghostext[playernum].hitlist + (ghostext[playernum].hits-1), victim);
}
@ -939,9 +939,7 @@ void G_WriteGhostTic(mobj_t *ghost, INT32 playernum)
WRITEANGLE(demobuf.p,mo->angle);
P_SetTarget(ghostext[playernum].hitlist+i, NULL);
}
Z_Free(ghostext[playernum].hitlist);
ghostext[playernum].hits = 0;
ghostext[playernum].hitlist = NULL;
}
if (ghostext[playernum].flags & EZT_SPRITE)
WRITEUINT16(demobuf.p,oldghost[playernum].sprite);
@ -2193,7 +2191,7 @@ void G_BeginRecording(void)
WRITEUINT8(demobuf.p, grandprixinfo.masterbots == true);
WRITEUINT8(demobuf.p, grandprixinfo.eventmode);
}
// Save "mapmusrng" used for altmusic selection
WRITEUINT8(demobuf.p, mapmusrng);
@ -3165,7 +3163,7 @@ void G_DoPlayDemo(char *defdemoname)
grandprixinfo.masterbots = READUINT8(demobuf.p) != 0;
grandprixinfo.eventmode = READUINT8(demobuf.p);
}
// Load "mapmusrng" used for altmusic selection
mapmusrng = READUINT8(demobuf.p);