Fixed, UDMF: the implementation of "moreids" property was different from UDMF standard. This issue affected only linedefs and sectors with more than 2 tags.

This commit is contained in:
MaxED 2015-08-07 21:32:51 +00:00
parent 1d6cbb7098
commit a98eea641a
2 changed files with 6 additions and 4 deletions

View file

@ -246,7 +246,7 @@ namespace CodeImp.DoomBuilder.IO
// Go for all lines // Go for all lines
map.SetCapacity(0, map.Linedefs.Count + linescolls.Count, map.Sidedefs.Count + sidescolls.Count, 0, 0); map.SetCapacity(0, map.Linedefs.Count + linescolls.Count, map.Sidedefs.Count + sidescolls.Count, 0, 0);
char[] splitter = new[] { ',' }; //mxd char[] splitter = new[] { ' ' }; //mxd
for(int i = 0; i < linescolls.Count; i++) for(int i = 0; i < linescolls.Count; i++)
{ {
// Read fields // Read fields
@ -286,6 +286,7 @@ namespace CodeImp.DoomBuilder.IO
} }
} }
} }
if(tag == 0 && tags.Count > 1) tags.RemoveAt(0);
// Flags // Flags
Dictionary<string, bool> stringflags = new Dictionary<string, bool>(StringComparer.Ordinal); Dictionary<string, bool> stringflags = new Dictionary<string, bool>(StringComparer.Ordinal);
@ -386,7 +387,7 @@ namespace CodeImp.DoomBuilder.IO
// Go for all collections // Go for all collections
map.SetCapacity(0, 0, 0, map.Sectors.Count + collections.Count, 0); map.SetCapacity(0, 0, 0, map.Sectors.Count + collections.Count, 0);
char[] splitter = new[] { ',' }; //mxd char[] splitter = new[] { ' ' }; //mxd
for(int i = 0; i < collections.Count; i++) for(int i = 0; i < collections.Count; i++)
{ {
// Read fields // Read fields
@ -415,6 +416,7 @@ namespace CodeImp.DoomBuilder.IO
} }
} }
} }
if(tag == 0 && tags.Count > 1) tags.RemoveAt(0);
//mxd. Read slopes //mxd. Read slopes
float fslopex = GetCollectionEntry(c, "floorplane_a", false, 0.0f, where); float fslopex = GetCollectionEntry(c, "floorplane_a", false, 0.0f, where);

View file

@ -202,7 +202,7 @@ namespace CodeImp.DoomBuilder.IO
{ {
moreidscol[i - 1] = l.Tags[i].ToString(); moreidscol[i - 1] = l.Tags[i].ToString();
} }
coll.Add("moreids", string.Join(",", moreidscol)); coll.Add("moreids", string.Join(" ", moreidscol));
} }
// Sidedef references // Sidedef references
@ -289,7 +289,7 @@ namespace CodeImp.DoomBuilder.IO
{ {
moreidscol[i - 1] = s.Tags[i].ToString(); moreidscol[i - 1] = s.Tags[i].ToString();
} }
coll.Add("moreids", string.Join(",", moreidscol)); coll.Add("moreids", string.Join(" ", moreidscol));
} }
//mxd. Slopes //mxd. Slopes