public void SaveToDisk(string path) { string temp = System.IO.Path.GetTempPath(); if (Directory.Exists(temp + @"HaRepacker$temp.build")) { WzTools.DelDir(temp + @"HaRepacker$temp.build"); } WzTools.CreateWzKey(this.type); this.CreateVersionHash(); this.wzDir.SetHash(this.versionHash); Directory.CreateDirectory(temp + @"HaRepacker$temp.build"); this.wzDir.GenerateDataFile(temp + @"HaRepacker$temp.build"); uint imgOffsets = this.wzDir.GetImgOffsets(this.wzDir.GetOffsets(0x3e)); BinaryWriter wzWriter = new BinaryWriter(File.Create(path)); for (int i = 0; i < 4; i++) { wzWriter.Write((byte)this.ident[i]); } wzWriter.Write((long)(imgOffsets - 60)); wzWriter.Write(60); WzTools.WriteNullTerminatedString(wzWriter, "Package file v1.0 Copyright 2002 Wizet, ZMS"); wzWriter.Write(this.version); this.wzDir.SaveDirectory(wzWriter); this.wzDir.SaveImages(wzWriter, temp + @"HaRepacker$temp.build"); wzWriter.Close(); WzTools.DelDir(temp + @"\HaRepacker$temp.build"); }