public bool ExtractFile(string internalFile, string pathToExtractTo) { bool retVal = false; int index = FilesInSave.IndexOf(internalFile); if (index > -1) { index++; int result = ARMaxNativeMethods.ExtractAFile(index, pathToExtractTo); retVal = (result == 0); } return(retVal); }
private void ExtractFileContents() { string filename = mSaveFileNameTextBox.Text; int result = ARMaxNativeMethods.InitMaxSave(); if (result != 0) { throw new Exception("Could not load initialize ARMax DLL!"); } result = ARMaxNativeMethods.LoadSave(filename); if (result != 0) { throw new Exception("Could not load file:" + filename); } StringBuilder rootDirName = new StringBuilder(256); ARMaxNativeMethods.GetRootDir(rootDirName, 256); rootDirName.Append("\\"); string dirName = ".\\UnpackFolder_" + rootDirName.ToString(); if (Directory.Exists(dirName)) { Directory.Delete(dirName, true); } Directory.CreateDirectory(dirName); int numFiles = ARMaxNativeMethods.NumberOfFiles(); // show the files in the list box for (int i = 1; i < numFiles + 1; i++) // there is no '0'th file { try { result = ARMaxNativeMethods.ExtractAFile(i, dirName); if (result != 0) { Console.Error.Write("'ARMaxNativeMethods.ExtractAFile' Failed; code = {0}", result); } } catch (Exception exc) { Console.Error.WriteLine("Error calling 'ARMaxNativeMethods.GetRootDir()' LastError:{0}\n{1}", System.Runtime.InteropServices.Marshal.GetLastWin32Error() , exc.Message ); } } ARMaxNativeMethods.FreeMaxSave(); }
public void ExtractPS2SaveContents(string pathToExtractTo) { string dirName = pathToExtractTo; if (!dirName.EndsWith("\\")) { dirName += "\\"; } if (Directory.Exists(dirName)) { Directory.Delete(dirName, true); } Directory.CreateDirectory(dirName); int result = -1; int numFiles = ARMaxNativeMethods.NumberOfFiles(); // show the files in the list box for (int i = 1; i <= numFiles; i++) // there is no '0'th file { try { result = ARMaxNativeMethods.ExtractAFile(i, dirName); if (result != 0) { Console.Error.Write("'ARMaxNativeMethods.ExtractAFile' Failed; code = {0}", result); } } catch (Exception exc) { Console.Error.WriteLine("Error calling 'ARMaxNativeMethods.GetRootDir()' LastError:{0}\n{1}", System.Runtime.InteropServices.Marshal.GetLastWin32Error() , exc.Message ); } } }