public ResourceEntry ReadTableEntry(ResourceEntry entry, XmlWriter resourceXML, string name, string tableDIR) { TableResource resource = new TableResource(); resource.Deserialize(entry.Version, new MemoryStream(entry.Data), Endian); if (!Directory.Exists(tableDIR + "/tables")) { Directory.CreateDirectory(tableDIR + "/tables"); } resourceXML.WriteElementString("NumTables", resource.Tables.Count.ToString()); foreach (TableData data in resource.Tables) { //maybe we can get away with saving to version 1, and then converting to version 2 when packing? using (MemoryStream stream = new MemoryStream()) { data.Serialize(1, stream, Endian.Little); File.WriteAllBytes(tableDIR + data.Name, stream.ToArray()); } resourceXML.WriteElementString("Table", data.Name); } return(entry); }
public ResourceEntry ReadTableEntry(ResourceEntry entry, XmlWriter resourceXML, string name, string tableDIR) { TableResource resource = new TableResource(); resource.Deserialize(entry.Version, new MemoryStream(entry.Data), Endian.Little); if (!Directory.Exists(tableDIR + "/tables")) { Directory.CreateDirectory(tableDIR + "/tables"); } resourceXML.WriteElementString("NumTables", resource.Tables.Count.ToString()); foreach (TableData data in resource.Tables) { data.Serialize(entry.Version, File.Open(tableDIR + data.Name, FileMode.Create), Endian.Little); resourceXML.WriteElementString("Table", data.Name); } return(entry); }