"thingflagstranslation" block was missing from UDMF game configuration, so thing flags were dropped when map format was changed to UDMF.

This commit is contained in:
MaxED 2013-06-03 11:32:29 +00:00
parent 9d985393ee
commit e90473e7d9
4 changed files with 29 additions and 18 deletions

View file

@ -93,9 +93,9 @@ linedefflagstranslation
// When the UDMF field name is prefixed with ! it is inverted
thingflagstranslation
{
1 = "skill1";
2 = "skill2";
4 = "skill3";
1 = "skill1,skill2";
2 = "skill3";
4 = "skill4,skill5";
8 = "ambush";
16 = "!single";
}

View file

@ -369,12 +369,22 @@ mapformat_udmf
}
// How to compare thing flags (for the stuck things error checker)
thingflagscompare
{
include("UDMF_misc.cfg", "thingflagscompare");
include("ZDoom_misc.cfg", "thingflagscompare_udmf");
}
// How to compare thing flags (for the stuck things error checker)
thingflagscompare
{
include("UDMF_misc.cfg", "thingflagscompare");
include("ZDoom_misc.cfg", "thingflagscompare_udmf");
}
//mxd. Thing flags UDMF translation table
// This is needed for copy/paste and prefabs to work properly
// When the UDMF field name is prefixed with ! it is inverted
thingflagstranslation
{
include("Doom_misc.cfg", "thingflagstranslation");
include("Hexen_misc.cfg", "thingflagstranslation");
include("ZDoom_misc.cfg", "thingflagstranslation");
}
// Things flags masks
include("Hexen_misc.cfg", "thingflagsmasks");

View file

@ -76,6 +76,9 @@ thingflags_udmf
// When the UDMF field name is prefixed with ! it is inverted
thingflagstranslation
{
256 = "single";
512 = "coop";
1024 = "dm";
2048 = "translucent";
4096 = "invisible";
8192 = "friend";

View file

@ -712,16 +712,14 @@ namespace CodeImp.DoomBuilder.Config
thingflagstranslation.Add(new FlagTranslation(de));
// Get thing compare flag info (for the stuck thing error checker
dic = cfg.ReadSetting("thingflagscompare", new Hashtable());
foreach (DictionaryEntry de in dic)
{
IDictionary gdic = cfg.ReadSetting("thingflagscompare." + de.Key, new Hashtable());
dic = cfg.ReadSetting("thingflagscompare", new Hashtable());
foreach(DictionaryEntry de in dic) {
IDictionary gdic = cfg.ReadSetting("thingflagscompare." + de.Key, new Hashtable());
foreach (DictionaryEntry gde in gdic)
{
thingflagscompare.Add(new ThingFlagsCompare(cfg, de.Key.ToString(), gde.Key.ToString()));
}
}
foreach(DictionaryEntry gde in gdic) {
thingflagscompare.Add(new ThingFlagsCompare(cfg, de.Key.ToString(), gde.Key.ToString()));
}
}
// Sort the translation flags, because they must be compared highest first!
thingflagstranslation.Sort();