From 84475ab4d11ebae3e8e753863864821ad1f060a6 Mon Sep 17 00:00:00 2001 From: Pascal de Bruijn Date: Sun, 28 Dec 2025 13:00:22 +0100 Subject: [PATCH 1/3] wad.cpp: fix mismatched deallocator MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix ported from ZokumBSP by Kim Roar Foldøy Hauge --- doom/wad.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doom/wad.cpp b/doom/wad.cpp index 385ac87..10ddf4a 100644 --- a/doom/wad.cpp +++ b/doom/wad.cpp @@ -1124,7 +1124,7 @@ bool wadList::Save ( const char *newName ) errors = true; fprintf ( stderr, "\nERROR: wadList::Save - Error writing directory." ); } - delete dir; + delete [] dir; fseek ( tmpFile, 0, SEEK_SET ); if ( fwrite ( &m_Header, sizeof ( m_Header ), 1, tmpFile ) != 1 ) { From d65c0397466afcb34fd41c4bb722c8b44e6465e7 Mon Sep 17 00:00:00 2001 From: Pascal de Bruijn Date: Sun, 28 Dec 2025 14:31:33 +0100 Subject: [PATCH 2/3] ZenRMB.cpp: Add missing va_end MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix ported from ZokumBSP by Kim Roar Foldøy Hauge --- src/ZenRMB.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ZenRMB.cpp b/src/ZenRMB.cpp index e032397..fde0e2b 100644 --- a/src/ZenRMB.cpp +++ b/src/ZenRMB.cpp @@ -85,6 +85,8 @@ void ParseError ( const char *fmt, ... ) fprintf ( stderr, "\n" ); lastLine = parseLine; + + va_end ( args ); } int ParseNumber ( char *&text ) From d9e839940c688fdca8afa608c730233354c6125b Mon Sep 17 00:00:00 2001 From: Pascal de Bruijn Date: Sun, 28 Dec 2025 14:32:06 +0100 Subject: [PATCH 3/3] wad.cpp: support SIGIL type episodes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change ported from ZokumBSP by Kim Roar Foldøy Hauge --- doom/wad.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doom/wad.cpp b/doom/wad.cpp index 10ddf4a..c82dbd7 100644 --- a/doom/wad.cpp +++ b/doom/wad.cpp @@ -340,7 +340,7 @@ bool WAD::IsMap ( const char *name ) } if (( name[0] == 'E' ) && ( name[2] == 'M' )) { int episode = name[1], mission = name[3]; - if (( episode < '1' ) || ( episode > '4' )) return false; + if (( episode < '1' ) || ( episode > '9' )) return false; if (( mission < '1' ) || ( mission > '9' )) return false; if ( name[4] != '\0' ) return false; return true;