/// <summary> /// Zip Extracts the file to a string /// SC Alpha 2.2: Have to find the new one in E:\G\StarCitizen\StarCitizen\Public\Data\DataXML.pak (contains the binary XML now) /// </summary> static private String ExtractDefaultBinProfile(String defaultProfileName) { log.Debug("ExtractDefaultBinProfile - Entry"); String retVal = ""; if (File.Exists(SCPath.SCDataXML_pak)) { using (ZipFile zip = ZipFile.Read(SCPath.SCDataXML_pak)) { zip.CaseSensitiveRetrieval = false; try { ICollection <ZipEntry> gdpak = zip.SelectEntries("name = " + "'" + defaultProfileName + "'", SCPath.DefaultProfilePath_rel); if (gdpak != null) { try { MemoryStream mst = new MemoryStream( ); gdpak.FirstOrDefault( ).Extract(mst); // use the binary XML reader CryXmlNodeRef ROOT = null; CryXmlBinReader.EResult readResult = CryXmlBinReader.EResult.Error; CryXmlBinReader cbr = new CryXmlBinReader( ); ROOT = cbr.LoadFromBuffer(mst.ToArray( ), out readResult); if (readResult == CryXmlBinReader.EResult.Success) { XmlTree tree = new XmlTree( ); tree.BuildXML(ROOT); retVal = tree.XML_string; } else { log.ErrorFormat(" Error in CryXmlBinReader: {0}", cbr.GetErrorDescription()); retVal = ""; // clear any remanents } } catch { retVal = ""; // clear any remanents } } } catch (Exception ex) { log.Error(" Unexpected ", ex); } } } return(retVal); }