"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 // When the UDMF field name is prefixed with ! it is inverted
thingflagstranslation thingflagstranslation
{ {
1 = "skill1"; 1 = "skill1,skill2";
2 = "skill2"; 2 = "skill3";
4 = "skill3"; 4 = "skill4,skill5";
8 = "ambush"; 8 = "ambush";
16 = "!single"; 16 = "!single";
} }

View file

@ -369,12 +369,22 @@ mapformat_udmf
} }
// How to compare thing flags (for the stuck things error checker) // How to compare thing flags (for the stuck things error checker)
thingflagscompare thingflagscompare
{ {
include("UDMF_misc.cfg", "thingflagscompare"); include("UDMF_misc.cfg", "thingflagscompare");
include("ZDoom_misc.cfg", "thingflagscompare_udmf"); 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 // Things flags masks
include("Hexen_misc.cfg", "thingflagsmasks"); include("Hexen_misc.cfg", "thingflagsmasks");

View file

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

View file

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