public static string GetMapStringFromWad(string file) { StringBuilder sb = new StringBuilder(); try { FileStream fs = File.Open(file, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); WadFileReader wadReader = new WadFileReader(fs); if (wadReader.WadType != WadType.Unknown) { var mapLumps = WadFileReader.GetMapMarkerLumps(wadReader.ReadLumps()).OrderBy(x => x.Name).ToArray(); fs.Close(); sb.Append(string.Join(", ", mapLumps.Select(x => x.Name))); } else { fs.Close(); } } catch (Exception ex) { DisplayUnexpectedException(null, ex); } return(sb.ToString()); }
public void TestMethod1() { string wadfile = "uroburos.wad"; var zip = ZipFile.OpenRead(Path.Combine("Resources", "uroburos.zip")); zip.Entries.First(x => x.FullName == wadfile).ExtractToFile(wadfile, true); FileStream fs = File.OpenRead(wadfile); WadFileReader reader = new WadFileReader(fs); var lumps = reader.ReadLumps(); Assert.AreEqual(WadType.PWAD, reader.WadType); Assert.AreEqual(15, lumps.Count); Assert.AreEqual("D_RUNNIN", lumps[0].Name); Assert.AreEqual("WOLF1", lumps[1].Name); Assert.AreEqual("RSKY1", lumps[2].Name); Assert.AreEqual("TITLEPIC", lumps[3].Name); Assert.AreEqual("MAP01", lumps[4].Name); Assert.AreEqual("THINGS", lumps[5].Name); Assert.AreEqual("LINEDEFS", lumps[6].Name); Assert.AreEqual("SIDEDEFS", lumps[7].Name); Assert.AreEqual("VERTEXES", lumps[8].Name); Assert.AreEqual("SEGS", lumps[9].Name); Assert.AreEqual("SSECTORS", lumps[10].Name); Assert.AreEqual("NODES", lumps[11].Name); Assert.AreEqual("SECTORS", lumps[12].Name); Assert.AreEqual("REJECT", lumps[13].Name); Assert.AreEqual("BLOCKMAP", lumps[14].Name); Assert.AreEqual(25257, lumps[0].ReadData(fs).Length); //D_RUNNIN Assert.AreEqual(66888, lumps[3].ReadData(fs).Length); //TITLEPIC Assert.AreEqual(0, lumps[4].ReadData(fs).Length); //MAP01 Assert.AreEqual(6082, lumps[14].ReadData(fs).Length); //BLOCKMAp }
public static string GetMapStringFromWad(string file) { StringBuilder sb = new StringBuilder(); try { FileStream fs = File.OpenRead(file); WadFileReader wadReader = new WadFileReader(fs); if (wadReader.WadType != WadType.Unknown) { var mapLumps = WadFileReader.GetMapMarkerLumps(wadReader.ReadLumps()).OrderBy(x => x.Name).ToArray(); fs.Close(); Array.ForEach(mapLumps, x => sb.Append(x.Name + ", ")); } else { fs.Close(); } } catch (Exception ex) { DisplayUnexpectedException(null, ex); } return(sb.ToString()); }
public static string GetMapStringFromWad(string file) { StringBuilder builder = new StringBuilder(); try { FileStream fs = File.OpenRead(file); WadFileReader reader = new WadFileReader(fs); if (reader.WadType != WadType.Unknown) { fs.Close(); foreach (FileLump lump in from lump in WadFileReader.GetMapMarkerLumps(reader.ReadLumps()) select lump into x orderby x.Name select x) { builder.Append(lump.Name); builder.Append(", "); } } else { fs.Close(); } } catch (Exception exception1) { string message = exception1.Message; } return(builder.ToString()); }