diff --git a/Source/Core/GZBuilder/md3/ModelReader.cs b/Source/Core/GZBuilder/md3/ModelReader.cs index a3a18bef5d3bc6cb4127a1cf3b822e056cbac366..205ab66e65fef7b90c2461a595962b8197483438 100755 --- a/Source/Core/GZBuilder/md3/ModelReader.cs +++ b/Source/Core/GZBuilder/md3/ModelReader.cs @@ -396,15 +396,23 @@ namespace CodeImp.DoomBuilder.GZBuilder.MD3 vertices[i].nz = -nsum.z / total; } + List<int> exGroups = new List<int>(); Dictionary<int, int> textureGroupRemap = new Dictionary<int, int>(); - int topGrp = 0; for (int i = 0; i < polys.Length; i++) { - if (textureGroupRemap.ContainsKey(polys[i].TexNum)) + if (exGroups.Contains(polys[i].TexNum)) continue; - textureGroupRemap[polys[i].TexNum] = topGrp++; + if (exGroups.Count == 0 || + polys[i].TexNum <= exGroups[0]) + exGroups.Insert(0, polys[i].TexNum); + else if (exGroups.Count == 0 || + polys[i].TexNum >= exGroups[exGroups.Count - 1]) + exGroups.Add(polys[i].TexNum); } + for (int i = 0; i < exGroups.Count; i++) + textureGroupRemap[exGroups[i]] = i; + if (skins == null) { List<WorldVertex> out_verts = new List<WorldVertex>(); @@ -427,7 +435,7 @@ namespace CodeImp.DoomBuilder.GZBuilder.MD3 } else { - for (int k = 0; k < topGrp; k++) + for (int k = 0; k < exGroups.Count; k++) { List<WorldVertex> out_verts = new List<WorldVertex>(); List<int> out_polys = new List<int>(); diff --git a/Source/Core/Properties/AssemblyInfo.cs b/Source/Core/Properties/AssemblyInfo.cs index fe650852f42e25eb4133a9e421e2006fbbc00742..02e38eabc3bb3112e1dedfe7d18e0aeaebdfb44d 100755 --- a/Source/Core/Properties/AssemblyInfo.cs +++ b/Source/Core/Properties/AssemblyInfo.cs @@ -30,6 +30,6 @@ using CodeImp.DoomBuilder; // Build Number // Revision // -[assembly: AssemblyVersion("2.3.0.3022")] +[assembly: AssemblyVersion("2.3.0.3023")] [assembly: NeutralResourcesLanguageAttribute("en")] -[assembly: AssemblyHash("634ba54")] +[assembly: AssemblyHash("85f00ab")] diff --git a/Source/Plugins/BuilderModes/Properties/AssemblyInfo.cs b/Source/Plugins/BuilderModes/Properties/AssemblyInfo.cs index aa6799efaf1392315e5ac9c9a6e7dae8482b1a0c..4e0992178658e7f1d7250c059987b44672ae8465 100755 --- a/Source/Plugins/BuilderModes/Properties/AssemblyInfo.cs +++ b/Source/Plugins/BuilderModes/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Resources; // Build Number // Revision // -[assembly: AssemblyVersion("2.3.0.3022")] +[assembly: AssemblyVersion("2.3.0.3023")] [assembly: NeutralResourcesLanguageAttribute("en")]