diff --git a/src/g_demo.c b/src/g_demo.c index 8795b7123..b4467afa8 100644 --- a/src/g_demo.c +++ b/src/g_demo.c @@ -2626,6 +2626,7 @@ void G_LoadDemoInfo(menudemo_t *pdemo) UINT8 *infobuffer, *info_p, *extrainfo_p; UINT8 version, subversion, pdemoflags; UINT16 pdemoversion, count; + char mapname[MAXMAPLUMPNAME]; if (!FIL_ReadFile(pdemo->filepath, &infobuffer)) { @@ -2685,7 +2686,8 @@ void G_LoadDemoInfo(menudemo_t *pdemo) return; } info_p += 4; // "PLAY" - pdemo->map = READINT16(info_p); + READSTRINGN(info_p, mapname, sizeof(mapname)); + pdemo->map = G_MapNumber(mapname); info_p += 16; // mapmd5 pdemoflags = READUINT8(info_p); diff --git a/src/m_menu.c b/src/m_menu.c index c9651b99e..cf2a23b14 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -5643,8 +5643,8 @@ static void DrawReplayHutReplayInfo(void) x += 85; - if (mapheaderinfo[demolist[dir_on[menudepthleft]].map-1]) - V_DrawString(x, y, V_SNAPTOTOP, G_BuildMapTitle(demolist[dir_on[menudepthleft]].map)); + if (demolist[dir_on[menudepthleft]].map != NEXTMAP_INVALID) + V_DrawString(x, y, V_SNAPTOTOP, G_BuildMapTitle(demolist[dir_on[menudepthleft]].map+1)); else V_DrawString(x, y, V_SNAPTOTOP|V_ALLOWLOWERCASE|V_TRANSLUCENT, "Level is not loaded.");