public void Run() { reader = new ZipReader(); reader.ShouldProcessZipEntry = ShouldProcessZipEntry_Classic; reader.ProcessZipEntry = ProcessZipEntry_Classic; string texDir = Path.Combine(Program.AppDirectory, "texpacks"); string path = Path.Combine(texDir, "default.zip"); using (Stream srcClassic = new MemoryStream(jarClassic), srcModern = new MemoryStream(jar162), dst = new FileStream(path, FileMode.Create, FileAccess.Write)) { writer = new ZipWriter(dst); reader.Extract(srcClassic); // Grab animations and snow animBitmap = new Bitmap(1024, 64, PixelFormat.Format32bppArgb); reader.ShouldProcessZipEntry = ShouldProcessZipEntry_Modern; reader.ProcessZipEntry = ProcessZipEntry_Modern; reader.Extract(srcModern); writer.WriteNewImage(animBitmap, "animations.png"); writer.WriteNewString(animationsTxt, "animations.txt"); using (Bitmap guiBitmap = new Bitmap(new MemoryStream(pngGuiPatch))) { writer.WriteNewImage(guiBitmap, "gui.png"); } animBitmap.Dispose(); writer.WriteCentralDirectoryRecords(); } }
void ExtractClassic() { if (jarClassic == null) { return; } using (Stream src = new MemoryStream(jarClassic)) { reader.SelectZipEntry = SelectZipEntry_Classic; reader.ProcessZipEntry = ProcessZipEntry_Classic; reader.Extract(src); } }
void ExtractExisting(string path) { if (!File.Exists(path)) { return; } using (Stream src = new FileStream(path, FileMode.Open, FileAccess.Read)) { reader.ProcessZipEntry = ExtractExisting; reader.Extract(src); } }
internal void TryLoadTexturePack() { Options.Load(); LauncherSkin.LoadFromOptions(); ClassicMode = Options.GetBool("mode-classic", false); string texDir = Path.Combine(Program.AppDirectory, "texpacks"); string texPack = Options.Get(OptionsKey.DefaultTexturePack) ?? "default.zip"; texPack = Path.Combine(texDir, texPack); if (!File.Exists(texPack)) { texPack = Path.Combine(texDir, "default.zip"); } if (!File.Exists(texPack)) { return; } using (Stream fs = new FileStream(texPack, FileMode.Open, FileAccess.Read, FileShare.Read)) { ZipReader reader = new ZipReader(); reader.ShouldProcessZipEntry = (f) => f == "default.png" || f == "terrain.png"; reader.ProcessZipEntry = ProcessZipEntry; reader.Extract(fs); } }
public static void ExtractUpdate(byte[] zipData) { Platform.DirectoryCreate("CS_Update"); using (MemoryStream stream = new MemoryStream(zipData)) { ZipReader reader = new ZipReader(); reader.ProcessZipEntry = ProcessZipEntry; reader.Extract(stream); } }
void ExtractTexturePack(string texPack) { using (Stream fs = new FileStream(texPack, FileMode.Open, FileAccess.Read, FileShare.Read)) { ZipReader reader = new ZipReader(); reader.SelectZipEntry = SelectZipEntry; reader.ProcessZipEntry = ProcessZipEntry; reader.Extract(fs); } }
void ExtractTexturePack(string texPack) { using (Stream fs = new FileStream(texPack, FileMode.Open, FileAccess.Read, FileShare.Read)) { ZipReader reader = new ZipReader(); reader.ShouldProcessZipEntry = (f) => f == "default.png" || f == "terrain.png"; reader.ProcessZipEntry = ProcessZipEntry; reader.Extract(fs); } }
void ExtractTexturePack(string relPath) { using (Stream fs = Platform.FileOpen(relPath)) { ZipReader reader = new ZipReader(); reader.SelectZipEntry = SelectZipEntry; reader.ProcessZipEntry = ProcessZipEntry; reader.Extract(fs); } }
void CheckDefaultZip(string path) { ZipReader reader = new ZipReader(); reader.ShouldProcessZipEntry = ShouldProcessZipEntry; reader.ProcessZipEntry = ProcessZipEntry; using (Stream src = new FileStream(path, FileMode.Open, FileAccess.Read)) reader.Extract(src); }
void CheckDefaultZip(string relPath) { ZipReader reader = new ZipReader(); reader.SelectZipEntry = SelectZipEntry; reader.ProcessZipEntry = ProcessZipEntry; using (Stream src = Platform.FileOpen(relPath)) { reader.Extract(src); } }
static void MakeUpdatesFolder(byte[] zipData) { using (MemoryStream stream = new MemoryStream(zipData)) { ZipReader reader = new ZipReader(); Directory.CreateDirectory("CS_Update"); reader.ShouldProcessZipEntry = (f) => true; reader.ProcessZipEntry = ProcessZipEntry; reader.Extract(stream); } }
static void MakeUpdatesFolder(byte[] zipData) { using (MemoryStream stream = new MemoryStream(zipData)) { ZipReader reader = new ZipReader(); string path = Path.Combine(Program.AppDirectory, "CS_Update"); Directory.CreateDirectory(path); reader.ProcessZipEntry = ProcessZipEntry; reader.Extract(stream); } }
void CheckClassicGuiPng(string path) { ZipReader reader = new ZipReader(); reader.ShouldProcessZipEntry = ShouldProcessZipEntry; reader.ProcessZipEntry = ProcessZipEntry; using (Stream src = new FileStream(path, FileMode.Open, FileAccess.Read)) reader.Extract(src); if (!classicGuiPngExists) { defaultZipExists = false; } }
public void Run() { reader = new ZipReader(); reader.SelectZipEntry = SelectZipEntry_Classic; reader.ProcessZipEntry = ProcessZipEntry_Classic; string defPath = Path.Combine("texpacks", "default.zip"); if (Platform.FileExists(defPath)) { using (Stream src = Platform.FileOpen(defPath)) { reader.ProcessZipEntry = ExtractExisting; reader.Extract(src); } } using (Stream dst = Platform.FileCreate(defPath)) { writer = new ZipWriter(dst); writer.entries = new ZipEntry[100]; for (int i = 0; i < entries.Count; i++) { writer.WriteZipEntry(entries[i], datas[i]); } ExtractClassic(); ExtractModern(); if (pngGuiPatch != null) { using (Bitmap gui = Platform.ReadBmp(drawer, pngGuiPatch)) writer.WriteNewImage(gui, "gui.png"); } if (patchedTerrain) { writer.WriteNewImage(terrainBmp, "terrain.png"); } writer.WriteCentralDirectoryRecords(); } }