diff --git a/Source/Plugins/BuilderModes/IO/WavefrontExporter.cs b/Source/Plugins/BuilderModes/IO/WavefrontExporter.cs index 1d90a75823a22f21d243ffddac0675a04fc290b4..d5609dd2c1fb2a1cf25c45fb38647cf50ac4bbe3 100755 --- a/Source/Plugins/BuilderModes/IO/WavefrontExporter.cs +++ b/Source/Plugins/BuilderModes/IO/WavefrontExporter.cs @@ -106,6 +106,9 @@ namespace CodeImp.DoomBuilder.BuilderModes.IO Obj = string.Empty; Textures = null; Flats = null; + + if (ExportForGZDoom) + SkipTextures.Add("-"); } } @@ -393,7 +396,7 @@ namespace CodeImp.DoomBuilder.BuilderModes.IO } //sort geometry - List<Dictionary<string, List<WorldVertex[]>>> geometryByTexture = SortGeometry(visualSectors, data.SkipTextures); + List<Dictionary<string, List<WorldVertex[]>>> geometryByTexture = SortGeometry(visualSectors, data.SkipTextures, !data.ExportForGZDoom); //restore vm settings if(renderingEffectsDisabled) mode.ToggleEnhancedRendering(); @@ -427,14 +430,18 @@ namespace CodeImp.DoomBuilder.BuilderModes.IO data.Valid = true; } - private static List<Dictionary<string, List<WorldVertex[]>>> SortGeometry(List<BaseVisualSector> visualSectors, List<string>skipTextures) + private static List<Dictionary<string, List<WorldVertex[]>>> SortGeometry(List<BaseVisualSector> visualSectors, List<string>skipTextures, bool defaultOnMissingTextures) { var texturegeo = new Dictionary<string, List<WorldVertex[]>>(StringComparer.Ordinal); - //texturegeo.Add(DEFAULT, new List<WorldVertex[]>()); var flatgeo = new Dictionary<string, List<WorldVertex[]>>(StringComparer.Ordinal); - //flatgeo.Add(DEFAULT, new List<WorldVertex[]>()); - foreach(BaseVisualSector vs in visualSectors) + if (defaultOnMissingTextures) + { + texturegeo.Add(DEFAULT, new List<WorldVertex[]>()); + flatgeo.Add(DEFAULT, new List<WorldVertex[]>()); + } + + foreach (BaseVisualSector vs in visualSectors) { //floor string texture;