Пример #1
0
        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;
        }