diff --git a/src/d_iwad.cpp b/src/d_iwad.cpp index e30cf9e28..2ababdce4 100644 --- a/src/d_iwad.cpp +++ b/src/d_iwad.cpp @@ -155,6 +155,16 @@ void FIWadManager::ParseIWadInfo(const char *fn, const char *data, int datasize, } while (sc.CheckString(",")); } + else if (sc.Compare("DeleteLumps")) + { + sc.MustGetStringName("="); + do + { + sc.MustGetString(); + iwad->DeleteLumps.Push(FString(sc.String)); + } + while (sc.CheckString(",")); + } else if (sc.Compare("BannerColors")) { sc.MustGetStringName("="); diff --git a/src/d_main.h b/src/d_main.h index bc8f54ada..764850aa9 100644 --- a/src/d_main.h +++ b/src/d_main.h @@ -109,6 +109,7 @@ struct FIWADInfo FString MapInfo; // Base mapinfo to load TArray Load; // Wads to be loaded with this one. TArray Lumps; // Lump names for identification + TArray DeleteLumps; // Lumps which must be deleted from the directory. int flags = 0; }; diff --git a/src/gamedata/w_wad.cpp b/src/gamedata/w_wad.cpp index 8a471dc04..ca564cf93 100644 --- a/src/gamedata/w_wad.cpp +++ b/src/gamedata/w_wad.cpp @@ -905,7 +905,6 @@ void FWadCollection::RenameSprites () LumpInfo[i].lump->Name[0] = 0; } } - } } } diff --git a/wadsrc/static/iwadinfo.txt b/wadsrc/static/iwadinfo.txt index c54556767..37198ccb8 100644 --- a/wadsrc/static/iwadinfo.txt +++ b/wadsrc/static/iwadinfo.txt @@ -183,6 +183,7 @@ IWad Compatibility = "Poly1" MustContain = "TITLE", "MAP01", "MAP40", "WINNOWR" BannerColors = "f0 f0 f0", "6b 3c 18" + DeleteLumps = "FONTB01", "FONTB02", "FONTB03", "FONTB04", "FONTB06", "FONTB08", "FONTB09", "FONTB10", "FONTB11", "FONTB27", "FONTB28", "FONTB29", "FONTB30" } IWad @@ -207,6 +208,7 @@ IWad Compatibility = "Shareware" MustContain = "TITLE", "MAP01", "WINNOWR" BannerColors = "f0 f0 f0", "6b 3c 18" + DeleteLumps = "FONTB01", "FONTB02", "FONTB03", "FONTB04", "FONTB06", "FONTB08", "FONTB09", "FONTB10", "FONTB11", "FONTB27", "FONTB28", "FONTB29", "FONTB30" } IWad @@ -232,6 +234,7 @@ IWad Compatibility = "Extended" MustContain = "E1M1", "E2M1", "TITLE", "MUS_E1M1", "EXTENDED" BannerColors = "fc fc 00", "a8 00 00" + DeleteLumps = "FONTB01", "FONTB02", "FONTB03", "FONTB04", "FONTB06", "FONTB08", "FONTB09", "FONTB10", "FONTB11", "FONTB27", "FONTB28", "FONTB29", "FONTB30" } IWad @@ -244,6 +247,7 @@ IWad Mapinfo = "mapinfo/heretic.txt" MustContain = "E1M1", "E2M1", "TITLE", "MUS_E1M1" BannerColors = "fc fc 00", "a8 00 00" + DeleteLumps = "FONTB01", "FONTB02", "FONTB03", "FONTB04", "FONTB06", "FONTB08", "FONTB09", "FONTB10", "FONTB11", "FONTB27", "FONTB28", "FONTB29", "FONTB30" } IWad @@ -255,6 +259,7 @@ IWad Compatibility = "Shareware" MustContain = "E1M1", "TITLE", "MUS_E1M1" BannerColors = "fc fc 00", "a8 00 00" + DeleteLumps = "FONTB01", "FONTB02", "FONTB03", "FONTB04", "FONTB06", "FONTB08", "FONTB09", "FONTB10", "FONTB11", "FONTB27", "FONTB28", "FONTB29", "FONTB30" } IWad