mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-05-10 19:01:50 +00:00
G_DoPlayDemo: search for map and gametype after addons are loaded
This commit is contained in:
parent
2d169202f2
commit
8b81478e39
1 changed files with 15 additions and 13 deletions
28
src/g_demo.c
28
src/g_demo.c
|
|
@ -3130,24 +3130,11 @@ void G_DoPlayDemo(char *defdemoname)
|
||||||
}
|
}
|
||||||
demobuf.p += 4; // "PLAY"
|
demobuf.p += 4; // "PLAY"
|
||||||
READSTRINGN(demobuf.p, mapname, sizeof(mapname)); // gamemap
|
READSTRINGN(demobuf.p, mapname, sizeof(mapname)); // gamemap
|
||||||
gamemap = G_MapNumber(mapname)+1;
|
|
||||||
demobuf.p += 16; // mapmd5
|
demobuf.p += 16; // mapmd5
|
||||||
|
|
||||||
demoflags = READUINT8(demobuf.p);
|
demoflags = READUINT8(demobuf.p);
|
||||||
|
|
||||||
READSTRINGN(demobuf.p, gtname, sizeof(gtname)); // gametype
|
READSTRINGN(demobuf.p, gtname, sizeof(gtname)); // gametype
|
||||||
i = G_GetGametypeByName(gtname);
|
|
||||||
if (i < 0)
|
|
||||||
{
|
|
||||||
snprintf(msg, 1024, M_GetText("%s is in a gametype that is not currently loaded and cannot be played.\n"), pdemoname);
|
|
||||||
CONS_Alert(CONS_ERROR, "%s", msg);
|
|
||||||
M_StartMessage(msg, NULL, MM_NOTHING);
|
|
||||||
Z_Free(pdemoname);
|
|
||||||
Z_Free(demobuf.buffer);
|
|
||||||
demo.playback = false;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
G_SetGametype(i);
|
|
||||||
|
|
||||||
numlaps = READUINT8(demobuf.p);
|
numlaps = READUINT8(demobuf.p);
|
||||||
|
|
||||||
|
|
@ -3206,6 +3193,21 @@ void G_DoPlayDemo(char *defdemoname)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gamemap = G_MapNumber(mapname)+1;
|
||||||
|
|
||||||
|
i = G_GetGametypeByName(gtname);
|
||||||
|
if (i < 0)
|
||||||
|
{
|
||||||
|
snprintf(msg, 1024, M_GetText("%s is in a gametype that is not currently loaded and cannot be played.\n"), pdemoname);
|
||||||
|
CONS_Alert(CONS_ERROR, "%s", msg);
|
||||||
|
M_StartMessage(msg, NULL, MM_NOTHING);
|
||||||
|
Z_Free(pdemoname);
|
||||||
|
Z_Free(demobuf.buffer);
|
||||||
|
demo.playback = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
G_SetGametype(i);
|
||||||
|
|
||||||
// character list
|
// character list
|
||||||
demo.skinlist = G_LoadDemoSkins(&demobuf.p, &demo.numskins, true);
|
demo.skinlist = G_LoadDemoSkins(&demobuf.p, &demo.numskins, true);
|
||||||
if (!demo.skinlist)
|
if (!demo.skinlist)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue