From cfef8c8a711a810606b4948edb97e74905f70cba Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Fri, 6 Jan 2023 18:01:34 +0100 Subject: [PATCH] - ignore executable files in a zip's main folder when checking for mod content in a subdirectory. --- source/common/filesystem/file_zip.cpp | 2 ++ source/core/initfs.cpp | 8 ++++---- wadsrc/static/engine/grpinfo.txt | 8 ++++---- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/source/common/filesystem/file_zip.cpp b/source/common/filesystem/file_zip.cpp index bd0d76624..e14305b52 100644 --- a/source/common/filesystem/file_zip.cpp +++ b/source/common/filesystem/file_zip.cpp @@ -266,6 +266,8 @@ bool FZipFile::Open(bool quiet, LumpFilterInfo* filter) continue; // 'filter' is a reserved name of the file system. if (name.IndexOf("__macosx") == 0) continue; // skip Apple garbage. At this stage only the root folder matters. + if (name.IndexOf(".bat") >= 0 || name.IndexOf(".exe") >= 0) + continue; // also ignore executables for this. if (!foundprefix) { // check for special names, if one of these gets found this must be treated as a normal zip. diff --git a/source/core/initfs.cpp b/source/core/initfs.cpp index e8173853a..89eb5f183 100644 --- a/source/core/initfs.cpp +++ b/source/core/initfs.cpp @@ -280,10 +280,10 @@ static void DeleteStuff(FileSystem &fileSystem, const TArray& deletelum // //========================================================================== const char* iwad_folders[13] = { "textures/", "hires/", "sounds/", "music/", "maps/" }; -const char* iwad_reserved_duke[12] = { ".map", ".con", "menudef", "gldefs", "zscript", "maps/", nullptr }; -const char* iwad_reserved_blood[12] = { ".map", ".ini", "menudef", "gldefs", "zscript", "maps/", nullptr }; -const char* iwad_reserved_sw[12] = { ".map", "swcustom.txt", "menudef", "gldefs", "zscript", "maps/", nullptr }; -const char* iwad_reserved_ex[12] = { ".map", "menudef", "gldefs", "zscript", "maps/", nullptr }; +const char* iwad_reserved_duke[12] = { ".map", "rmapinfo", ".con", "menudef", "gldefs", "zscript", "maps/", nullptr }; +const char* iwad_reserved_blood[12] = { ".map", "rmapinfo", ".ini", "menudef", "gldefs", "zscript", "maps/", nullptr }; +const char* iwad_reserved_sw[12] = { ".map", "rmapinfo", "swcustom.txt", "menudef", "gldefs", "zscript", "maps/", nullptr }; +const char* iwad_reserved_ex[12] = { ".map", "rmapinfo", "menudef", "gldefs", "zscript", "maps/", nullptr }; const char** iwad_reserved() { diff --git a/wadsrc/static/engine/grpinfo.txt b/wadsrc/static/engine/grpinfo.txt index f95d4bc5e..5eeefd7bf 100644 --- a/wadsrc/static/engine/grpinfo.txt +++ b/wadsrc/static/engine/grpinfo.txt @@ -463,7 +463,7 @@ grpinfo scriptname "BLOOD.INI" flags GAMEFLAG_BLOOD dependency 0 - loadgrp "SOUNDS.RFF", "GUI.RFF" + loadgrp "SOUNDS.RFF", "GUI.RFF", "BLOOD.GRP" gamefilter "Blood.Blood" FgColor 0 BkColor 0x7f003f @@ -479,7 +479,7 @@ grpinfo scriptname "BLOOD.INI" flags GAMEFLAG_BLOOD dependency 0 - loadgrp "SOUNDS.RFF", "GUI.RFF" + loadgrp "SOUNDS.RFF", "GUI.RFF", "BLOOD.GRP" gamefilter "Blood.Blood" FgColor 0 BkColor 0xaf0024 @@ -495,7 +495,7 @@ grpinfo scriptname "BLOOD.INI" flags GAMEFLAG_BLOOD dependency 0 - loadgrp "SOUNDS.RFF", "GUI.RFF" + loadgrp "SOUNDS.RFF", "GUI.RFF", "BLOOD.GRP" gamefilter "Blood.Blood" FgColor 0 BkColor 0xaf0024 @@ -511,7 +511,7 @@ grpinfo scriptname "BLOOD.INI" flags GAMEFLAG_BLOOD dependency 0 - loadgrp "SOUNDS.RFF", "GUI.RFF" + loadgrp "SOUNDS.RFF", "GUI.RFF", "BLOOD.GRP" gamefilter "Blood.Blood" }