Generate cvar names for addon netids

This commit is contained in:
NepDisk 2025-08-20 17:37:08 -04:00
parent 250d7708ab
commit cd68c55a18

View file

@ -208,7 +208,7 @@ typedef struct
char *name; // NULL = bad netid
char *value;
boolean stealth;
UINT16 errornetid;
UINT16 legacynetid;
} democvar_t;
typedef struct
@ -834,7 +834,7 @@ skipfiles:
UINT16 netid = READUINT16(dp);
consvar_t *legacycvar = CV_FindLegacyNetVar(netid);
header->cvars[i].name = legacycvar ? strdup(legacycvar->name) : NULL;
header->cvars[i].errornetid = netid;
header->cvars[i].legacynetid = netid;
}
else
{
@ -1018,7 +1018,7 @@ void G_LoadDemoCvars(void **p, void (*setvalue)(consvar_t *, const char *, boole
{
if (header->cvars[i].name == NULL)
{
CONS_Alert(CONS_WARNING, "Netvar not found with netid %d\n", header->cvars[i].errornetid);
CONS_Alert(CONS_WARNING, "Netvar not found with netid %d\n", header->cvars[i].legacynetid);
continue;
}
@ -3431,7 +3431,7 @@ void G_DeferedPlayDemo(const char *name)
void G_DoPlayDemo(char *defdemoname)
{
UINT16 i;
UINT16 i, j;
lumpnum_t l;
char *n,*pdemoname;
char msg[1024];
@ -3564,7 +3564,19 @@ void G_DoPlayDemo(char *defdemoname)
if (demo.title) // Titledemos should always play and ought to always be compatible with whatever wadlist is running.
;//G_SkipDemoExtraFiles(&demobuf.p);
else if (demo.loadfiles)
{
G_LoadDemoExtraFiles(&header);
// Generate cvar names for missing Kart addon netids.
for (j = 0; j < header.numcvars; j++)
{
if (header.cvars[j].name == NULL && header.cvars[j].legacynetid)
{
consvar_t *legacycvar = CV_FindLegacyNetVar(header.cvars[j].legacynetid);
header.cvars[j].name = legacycvar ? strdup(legacycvar->name) : NULL;
}
}
}
else if (demo.ignorefiles)
;//G_SkipDemoExtraFiles(&demobuf.p);
else switch (G_CheckDemoExtraFiles(&header, false))