private static string ExtractInternalFile(string internalResourceName, bool fullname, string destination = null, bool overwrite = false, Stream destStream = null) { MERLog.Information("Extracting file: " + internalResourceName); if (destStream != null || (destination != null && (!File.Exists(destination) || overwrite))) { // Todo: might need adjusted for ME3 using Stream stream = MERUtilities.GetResourceStream(fullname ? internalResourceName : "ME2Randomizer.staticfiles." + internalResourceName); bool close = destStream != null; if (destStream == null) { destStream = new FileStream(destination, FileMode.Create, FileAccess.Write); } stream.CopyTo(destStream); if (close) { stream.Close(); } } else if (destination != null && !overwrite) { MERLog.Warning("File already exists"); } else { MERLog.Warning("Invalid extraction parameters!"); } return(destination); }
internal static string GetAppCrashFile() { return(Path.Combine(MERUtilities.GetAppDataFolder(), "APP_CRASH")); }