private void Save_Click(object sender, EventArgs e) { if (Map.Instance == null) return; //Map.Instance.map.GetChild("info").SetInt("fieldLimit", 0); if (Map.Instance.map.GetChild("miniMap") != null) { Bitmap bitmap = new Bitmap(Map.Instance.Width, Map.Instance.Height); using (Graphics g = Graphics.FromImage(bitmap)) Map.Instance.Draw(g); bitmap = ResizeBitmap(bitmap, new Size(bitmap.Width / 16, bitmap.Height / 16)); Map.Instance.map.GetChild("miniMap").GetCanvas("canvas").SetBitmap(bitmap); Map.Instance.map.GetChild("miniMap").GetCanvas("canvas").format = WZCanvas.ImageFormat.FORMAT_4444; } if (MapID == "MapLogin.img") { ui.Save(); ui.Close(); ui = new WZFile(UIFileName, file.Version); ui.Open(); new Map(ui.Directory.GetIMG("MapLogin.img")).map.ToSave = true; } else { string IMG = ((IMGFile)Map.Instance.map).GetFullName(); file.Save(); stringf.Save(); file.Close(); file = new WZFile(MapFileName, file.Version); file.Open(); stringf.Close(); stringf = new WZFile(StringFileName, file.Version); stringf.Open(); lock(MapLock) new Map(file.Directory.GetIMG(IMG.Substring(4))).map.ToSave = true; } }
private bool load() { if (file == null) { OpenFileDialog ofdOpen = new OpenFileDialog(); ofdOpen.Filter = "Map.wz|Map.wz"; if (ofdOpen.ShowDialog() != DialogResult.Cancel) { MapFileName = ofdOpen.FileName; string MobFileName = ofdOpen.FileName.ToLower().Replace("map.wz", "mob.wz"); string NpcFileName = ofdOpen.FileName.ToLower().Replace("map.wz", "npc.wz"); string SoundFileName = ofdOpen.FileName.ToLower().Replace("map.wz", "sound.wz"); StringFileName = ofdOpen.FileName.ToLower().Replace("map.wz", "string.wz"); string ReactorFileName = ofdOpen.FileName.ToLower().Replace("map.wz", "reactor.wz"); UIFileName = ofdOpen.FileName.ToLower().Replace("map.wz", "ui.wz"); if (!System.IO.File.Exists(MobFileName)) { ofdOpen.Filter = "Mob.wz|Mob.wz"; if (ofdOpen.ShowDialog() != DialogResult.Cancel) { MobFileName = ofdOpen.FileName; } else { return false; } } if (!System.IO.File.Exists(NpcFileName)) { NpcFileName = System.IO.Path.GetDirectoryName(ofdOpen.FileName) + "\\npc.wz"; if (!System.IO.File.Exists(NpcFileName)) { ofdOpen.Filter = "Npc.wz|Npc.wz"; if (ofdOpen.ShowDialog() != DialogResult.Cancel) { NpcFileName = ofdOpen.FileName; } else { return false; } } } if (!System.IO.File.Exists(SoundFileName)) { SoundFileName = System.IO.Path.GetDirectoryName(ofdOpen.FileName) + "\\sound.wz"; if (!System.IO.File.Exists(SoundFileName)) { ofdOpen.Filter = "Sound.wz|Sound.wz"; if (ofdOpen.ShowDialog() != DialogResult.Cancel) { SoundFileName = ofdOpen.FileName; } else { return false; } } } if (!System.IO.File.Exists(StringFileName)) { StringFileName = System.IO.Path.GetDirectoryName(ofdOpen.FileName) + "\\string.wz"; if (!System.IO.File.Exists(StringFileName)) { ofdOpen.Filter = "String.wz|String.wz"; if (ofdOpen.ShowDialog() != DialogResult.Cancel) { StringFileName = ofdOpen.FileName; } else { return false; } } } if (!System.IO.File.Exists(ReactorFileName)) { ReactorFileName = System.IO.Path.GetDirectoryName(ofdOpen.FileName) + "\\reactor.wz"; if (!System.IO.File.Exists(ReactorFileName)) { ofdOpen.Filter = "Reactor.wz|Reactor.wz"; if (ofdOpen.ShowDialog() != DialogResult.Cancel) { ReactorFileName = ofdOpen.FileName; } else { return false; } } } if (!System.IO.File.Exists(UIFileName)) { UIFileName = System.IO.Path.GetDirectoryName(ofdOpen.FileName) + "\\ui.wz"; if (!System.IO.File.Exists(UIFileName)) { ofdOpen.Filter = "UI.wz|UI.wz"; if (ofdOpen.ShowDialog() != DialogResult.Cancel) { UIFileName = ofdOpen.FileName; } else { return false; } } } file = new WZFile(MapFileName); if (MessageBox.Show("Version 0." + file.DetectVersion() + " detected, is it right?", "Version", MessageBoxButtons.YesNo) == DialogResult.No) { GetVersion version = new GetVersion(); version.ShowDialog(); file.Version = byte.Parse(version.Version.Text); } file.Open(); mob = new WZFile(MobFileName, file.Version); mob.Open(); npc = new WZFile(NpcFileName, file.Version); npc.Open(); sound = new WZFile(SoundFileName, file.Version); sound.Open(); stringf = new WZFile(StringFileName, file.Version); stringf.Open(); reactor = new WZFile(ReactorFileName, file.Version); reactor.Open(); ui = new WZFile(UIFileName, file.Version); ui.Open(); LoadNames(mob.Directory, stringf.Directory.GetIMG("Mob.img"), mobNames); LoadNames(npc.Directory, stringf.Directory.GetIMG("Npc.img"), npcNames); //MapCurve.ProcessObjects(file.Directory.GetDirectory("Obj")); } else { return false; } } return true; }