diff --git a/Source/Core/Windows/ThingEditForm.cs b/Source/Core/Windows/ThingEditForm.cs index 1ebc5fe50d190b5d34c4bb68ae59d09d731a7ccd..4ead8c5cf8bda68684140cd168c0954520b73b44 100644 --- a/Source/Core/Windows/ThingEditForm.cs +++ b/Source/Core/Windows/ThingEditForm.cs @@ -345,7 +345,7 @@ namespace CodeImp.DoomBuilder.Windows } // Verify the type - if(((thingtype.GetResult(0) < General.Map.FormatInterface.MinThingType) || (thingtype.GetResult(0) > General.Map.FormatInterface.MaxThingType))) + if(!string.IsNullOrEmpty(thingtype.TypeStringValue) && ((thingtype.GetResult(0) < General.Map.FormatInterface.MinThingType) || (thingtype.GetResult(0) > General.Map.FormatInterface.MaxThingType))) { General.ShowWarningMessage("Thing type must be between " + General.Map.FormatInterface.MinThingType + " and " + General.Map.FormatInterface.MaxThingType + ".", MessageBoxButtons.OK); return; @@ -543,12 +543,14 @@ namespace CodeImp.DoomBuilder.Windows action_ValueChanges(this, EventArgs.Empty); //mxd. Update things - if(preventchanges) return; - MakeUndo(); //mxd - - if(((thingtype.GetResult(0) < General.Map.FormatInterface.MinThingType) || (thingtype.GetResult(0) > General.Map.FormatInterface.MaxThingType))) + if(preventchanges || + (!string.IsNullOrEmpty(thingtype.TypeStringValue) && + thingtype.GetResult(0) < General.Map.FormatInterface.MinThingType + || thingtype.GetResult(0) > General.Map.FormatInterface.MaxThingType)) return; + MakeUndo(); //mxd + foreach(Thing t in things) { //Set type diff --git a/Source/Core/Windows/ThingEditFormUDMF.cs b/Source/Core/Windows/ThingEditFormUDMF.cs index 7a042f01a2bb57531a7d8799fbda4e82bf4da800..832770f16071bb683716ca6faa9303fa4fa364d8 100644 --- a/Source/Core/Windows/ThingEditFormUDMF.cs +++ b/Source/Core/Windows/ThingEditFormUDMF.cs @@ -442,7 +442,7 @@ namespace CodeImp.DoomBuilder.Windows } // Verify the type - if(((thingtype.GetResult(0) < General.Map.FormatInterface.MinThingType) || (thingtype.GetResult(0) > General.Map.FormatInterface.MaxThingType))) + if(!string.IsNullOrEmpty(thingtype.TypeStringValue) && ((thingtype.GetResult(0) < General.Map.FormatInterface.MinThingType) || (thingtype.GetResult(0) > General.Map.FormatInterface.MaxThingType))) { General.ShowWarningMessage("Thing type must be between " + General.Map.FormatInterface.MinThingType + " and " + General.Map.FormatInterface.MaxThingType + ".", MessageBoxButtons.OK); return; @@ -684,9 +684,10 @@ namespace CodeImp.DoomBuilder.Windows action_ValueChanges(this, EventArgs.Empty); //mxd. Update things - if(preventchanges - || (thingtype.GetResult(0) < General.Map.FormatInterface.MinThingType) - || (thingtype.GetResult(0) > General.Map.FormatInterface.MaxThingType)) + if(preventchanges || + (!string.IsNullOrEmpty(thingtype.TypeStringValue) && + thingtype.GetResult(0) < General.Map.FormatInterface.MinThingType + || thingtype.GetResult(0) > General.Map.FormatInterface.MaxThingType)) return; MakeUndo(); //mxd