- added a "DeleteLumps" list to IWADINFO

This is for IWADs that contain content which clashes with the engine and must be removed. The primary reason are the unimplemented characters in Raven's BigFont.
This commit is contained in:
Christoph Oelckers 2019-04-11 03:02:23 +02:00
parent 0200edd392
commit b1ca746af3
4 changed files with 16 additions and 1 deletions

View file

@ -155,6 +155,16 @@ void FIWadManager::ParseIWadInfo(const char *fn, const char *data, int datasize,
} }
while (sc.CheckString(",")); 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")) else if (sc.Compare("BannerColors"))
{ {
sc.MustGetStringName("="); sc.MustGetStringName("=");

View file

@ -109,6 +109,7 @@ struct FIWADInfo
FString MapInfo; // Base mapinfo to load FString MapInfo; // Base mapinfo to load
TArray<FString> Load; // Wads to be loaded with this one. TArray<FString> Load; // Wads to be loaded with this one.
TArray<FString> Lumps; // Lump names for identification TArray<FString> Lumps; // Lump names for identification
TArray<FString> DeleteLumps; // Lumps which must be deleted from the directory.
int flags = 0; int flags = 0;
}; };

View file

@ -905,7 +905,6 @@ void FWadCollection::RenameSprites ()
LumpInfo[i].lump->Name[0] = 0; LumpInfo[i].lump->Name[0] = 0;
} }
} }
} }
} }
} }

View file

@ -183,6 +183,7 @@ IWad
Compatibility = "Poly1" Compatibility = "Poly1"
MustContain = "TITLE", "MAP01", "MAP40", "WINNOWR" MustContain = "TITLE", "MAP01", "MAP40", "WINNOWR"
BannerColors = "f0 f0 f0", "6b 3c 18" BannerColors = "f0 f0 f0", "6b 3c 18"
DeleteLumps = "FONTB01", "FONTB02", "FONTB03", "FONTB04", "FONTB06", "FONTB08", "FONTB09", "FONTB10", "FONTB11", "FONTB27", "FONTB28", "FONTB29", "FONTB30"
} }
IWad IWad
@ -207,6 +208,7 @@ IWad
Compatibility = "Shareware" Compatibility = "Shareware"
MustContain = "TITLE", "MAP01", "WINNOWR" MustContain = "TITLE", "MAP01", "WINNOWR"
BannerColors = "f0 f0 f0", "6b 3c 18" BannerColors = "f0 f0 f0", "6b 3c 18"
DeleteLumps = "FONTB01", "FONTB02", "FONTB03", "FONTB04", "FONTB06", "FONTB08", "FONTB09", "FONTB10", "FONTB11", "FONTB27", "FONTB28", "FONTB29", "FONTB30"
} }
IWad IWad
@ -232,6 +234,7 @@ IWad
Compatibility = "Extended" Compatibility = "Extended"
MustContain = "E1M1", "E2M1", "TITLE", "MUS_E1M1", "EXTENDED" MustContain = "E1M1", "E2M1", "TITLE", "MUS_E1M1", "EXTENDED"
BannerColors = "fc fc 00", "a8 00 00" BannerColors = "fc fc 00", "a8 00 00"
DeleteLumps = "FONTB01", "FONTB02", "FONTB03", "FONTB04", "FONTB06", "FONTB08", "FONTB09", "FONTB10", "FONTB11", "FONTB27", "FONTB28", "FONTB29", "FONTB30"
} }
IWad IWad
@ -244,6 +247,7 @@ IWad
Mapinfo = "mapinfo/heretic.txt" Mapinfo = "mapinfo/heretic.txt"
MustContain = "E1M1", "E2M1", "TITLE", "MUS_E1M1" MustContain = "E1M1", "E2M1", "TITLE", "MUS_E1M1"
BannerColors = "fc fc 00", "a8 00 00" BannerColors = "fc fc 00", "a8 00 00"
DeleteLumps = "FONTB01", "FONTB02", "FONTB03", "FONTB04", "FONTB06", "FONTB08", "FONTB09", "FONTB10", "FONTB11", "FONTB27", "FONTB28", "FONTB29", "FONTB30"
} }
IWad IWad
@ -255,6 +259,7 @@ IWad
Compatibility = "Shareware" Compatibility = "Shareware"
MustContain = "E1M1", "TITLE", "MUS_E1M1" MustContain = "E1M1", "TITLE", "MUS_E1M1"
BannerColors = "fc fc 00", "a8 00 00" BannerColors = "fc fc 00", "a8 00 00"
DeleteLumps = "FONTB01", "FONTB02", "FONTB03", "FONTB04", "FONTB06", "FONTB08", "FONTB09", "FONTB10", "FONTB11", "FONTB27", "FONTB28", "FONTB29", "FONTB30"
} }
IWad IWad