From 807e95a011ce9d84aa10e80848d4eb44fae195d1 Mon Sep 17 00:00:00 2001 From: NepDisk Date: Sat, 12 Apr 2025 09:38:17 -0400 Subject: [PATCH] Tri map records pt.2: prevent menu crashes --- src/doomdef.h | 2 +- src/m_cond.c | 2 ++ src/m_menu.c | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/doomdef.h b/src/doomdef.h index 00c6b0a12..fd61076ce 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -101,7 +101,7 @@ extern "C" { #endif -//#define NOMD5 +#define NOMD5 // Uncheck this to compile debugging code //#define RANGECHECK diff --git a/src/m_cond.c b/src/m_cond.c index 939f9fe6d..1847f8df3 100644 --- a/src/m_cond.c +++ b/src/m_cond.c @@ -542,6 +542,8 @@ UINT8 M_GotLowEnoughTime(INT32 tictime) if (!mapheaderinfo[i] || (mapheaderinfo[i]->menuflags & LF2_NOTIMEATTACK)) continue; + if (preset == -1) + return false; if (!mapheaderinfo[i]->mainrecord[preset] || !mapheaderinfo[i]->mainrecord[preset]->time) return false; else if ((curtics += mapheaderinfo[i]->mainrecord[preset]->time) > tictime) diff --git a/src/m_menu.c b/src/m_menu.c index 214b8f7e4..d765100d0 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -5218,7 +5218,7 @@ static void M_DrawStatsMaps(void) if (!mapheaderinfo[j] || (mapheaderinfo[j]->menuflags & LF2_NOTIMEATTACK)) continue; - if (!mapheaderinfo[j]->mainrecord[preset] || mapheaderinfo[j]->mainrecord[preset]->time <= 0) + if (preset == -1 || !mapheaderinfo[j]->mainrecord[preset] || mapheaderinfo[j]->mainrecord[preset]->time <= 0) { mapsunfinished++; continue; @@ -5665,7 +5665,7 @@ void M_DrawTimeAttackMenu(void) { INT32 dupadjust = (vid.width/vid.dupx); tic_t lap = 0, time = 0; - if (mapheaderinfo[cv_nextmap.value-1]->mainrecord[preset]) + if (preset != -1 && mapheaderinfo[cv_nextmap.value-1]->mainrecord[preset]) { lap = mapheaderinfo[cv_nextmap.value-1]->mainrecord[preset]->lap; time = mapheaderinfo[cv_nextmap.value-1]->mainrecord[preset]->time;