private static void Pack2014(string sourcePath, string saveFileName, Platform platform, bool updateSng, bool updateManifest, bool fixShowlights = true) { using (var psarc = new PSARC.PSARC()) using (var psarcStream = new MemoryStreamExtension()) { if (updateSng) { UpdateSng2014(sourcePath, platform, fixShowlights: fixShowlights); } if (updateManifest) { UpdateManifest2014(sourcePath, platform); } WalkThroughDirectory("", sourcePath, (a, b) => { var fileStream = File.OpenRead(b); psarc.AddEntry(a, fileStream); }); psarc.Write(psarcStream, !platform.IsConsole); psarcStream.Flush(); psarcStream.Seek(0, SeekOrigin.Begin); if (Path.GetExtension(saveFileName) != ".psarc") { saveFileName += ".psarc"; } using (var outputFileStream = File.Create(saveFileName)) psarcStream.CopyTo(outputFileStream); } }