Exemplo n.º 1
0
        private void ExternTool_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            int arginfo  = (int)e.ClickedItem.Tag;
            int toolinfo = (int)e.ClickedItem.OwnerItem.Tag;

            if (toolinfo >= 0)
            {
                if (arginfo >= -1)
                {
                    Process    P    = new Process();
                    ExternTool tool = Options.ExternTools[toolinfo];
                    P.StartInfo.FileName = tool.FileName;
                    if (arginfo >= 0)
                    {
                        P.StartInfo.Arguments = tool.Args[arginfo];
                    }
                    try
                    {
                        P.Start();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, "Ошибка запуска приложения",
                                        MessageBoxButtons.OK, MessageBoxIcon.Error,
                                        MessageBoxDefaultButton.Button1);
                    }
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Reloads the Extern Tools DropDown <see cref="Options.ExternTools"/>
        /// </summary>
        public static void LoadExternToolStripMenu()
        {
            refmarker.ExternToolsDropDown.DropDownItems.Clear();
            ToolStripMenuItem item = new ToolStripMenuItem();

            item.Text   = "Управление..";
            item.Click += new System.EventHandler(refmarker.onClickToolManage);
            refmarker.ExternToolsDropDown.DropDownItems.Add(item);
            refmarker.ExternToolsDropDown.DropDownItems.Add(new ToolStripSeparator());
            for (int i = 0; i < Options.ExternTools.Count; i++)
            {
                ExternTool tool = Options.ExternTools[i];
                item      = new ToolStripMenuItem();
                item.Text = tool.Name;
                item.Tag  = i;
                item.DropDownItemClicked += new ToolStripItemClickedEventHandler(refmarker.ExternTool_ItemClicked);
                ToolStripMenuItem sub = new ToolStripMenuItem();
                sub.Text = "Запустить";
                sub.Tag  = -1;
                item.DropDownItems.Add(sub);
                item.DropDownItems.Add(new ToolStripSeparator());
                for (int j = 0; j < tool.Args.Count; j++)
                {
                    ToolStripMenuItem arg = new ToolStripMenuItem();
                    arg.Text = tool.ArgsName[j];
                    arg.Tag  = j;
                    item.DropDownItems.Add(arg);
                }
                refmarker.ExternToolsDropDown.DropDownItems.Add(item);
            }
        }
Exemplo n.º 3
0
 private void onClickSaveTool(object sender, EventArgs e)
 {
     if (listBoxTools.SelectedIndex >= 0)
     {
         ExternTool tool = Options.ExternTools[listBoxTools.SelectedIndex];
         tool.Name     = textBoxToolName.Text;
         tool.FileName = textBoxToolFile.Text;
         listBoxTools.Invalidate();
     }
 }
Exemplo n.º 4
0
 private void onAddArg(object sender, EventArgs e)
 {
     if (listBoxTools.SelectedIndex >= 0)
     {
         ExternTool tool = Options.ExternTools[listBoxTools.SelectedIndex];
         tool.Args.Add(textBoxArgParam.Text);
         tool.ArgsName.Add(textBoxArgName.Text);
         listBoxArgs.Items.Add(tool.Args.Count - 1);
         listBoxArgs.SelectedIndex = tool.Args.Count - 1;
     }
 }
Exemplo n.º 5
0
 private void onClickSaveArg(object sender, EventArgs e)
 {
     if (listBoxTools.SelectedIndex >= 0)
     {
         ExternTool tool = Options.ExternTools[listBoxTools.SelectedIndex];
         if (listBoxArgs.SelectedIndex >= 0)
         {
             tool.Args[listBoxArgs.SelectedIndex]     = textBoxArgParam.Text;
             tool.ArgsName[listBoxArgs.SelectedIndex] = textBoxArgName.Text;
             listBoxArgs.Invalidate();
         }
     }
 }
Exemplo n.º 6
0
 private void OnArgIndexChanged(object sender, EventArgs e)
 {
     if (listBoxArgs.SelectedIndex >= 0)
     {
         ExternTool tool = Options.ExternTools[listBoxTools.SelectedIndex];
         textBoxArgName.Text  = tool.ArgsName[listBoxArgs.SelectedIndex];
         textBoxArgParam.Text = tool.Args[listBoxArgs.SelectedIndex];
     }
     else
     {
         textBoxArgName.Text  = "";
         textBoxArgParam.Text = "";
     }
     listBoxArgs.Invalidate();
 }
Exemplo n.º 7
0
 private void onClickRemoveArg(object sender, EventArgs e)
 {
     if (listBoxTools.SelectedIndex >= 0)
     {
         if (listBoxArgs.SelectedIndex >= 0)
         {
             ExternTool tool = Options.ExternTools[listBoxTools.SelectedIndex];
             tool.Args.RemoveAt(listBoxArgs.SelectedIndex);
             tool.ArgsName.RemoveAt(listBoxArgs.SelectedIndex);
             listBoxArgs.BeginUpdate();
             listBoxArgs.Items.Clear();
             for (int i = 0; i < tool.Args.Count; i++)
             {
                 listBoxArgs.Items.Add(i);
             }
             listBoxArgs.EndUpdate();
             listBoxArgs.Invalidate();
             textBoxArgName.Text  = "";
             textBoxArgParam.Text = "";
         }
     }
 }
Exemplo n.º 8
0
 private void OnToolIndexChanged(object sender, EventArgs e)
 {
     if (listBoxTools.SelectedIndex >= 0)
     {
         listBoxArgs.BeginUpdate();
         listBoxArgs.Items.Clear();
         ExternTool tool = Options.ExternTools[listBoxTools.SelectedIndex];
         for (int i = 0; i < tool.Args.Count; i++)
         {
             listBoxArgs.Items.Add(i);
         }
         listBoxArgs.EndUpdate();
         textBoxToolName.Text = tool.Name;
         textBoxToolFile.Text = tool.FileName;
         textBoxArgName.Text  = "";
         textBoxArgParam.Text = "";
     }
     else
     {
         textBoxToolName.Text = "";
         textBoxToolFile.Text = "";
     }
     listBoxTools.Invalidate();
 }
Exemplo n.º 9
0
        private static void Load()
        {
            string FileName = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "Options.xml");

            if (!File.Exists(FileName))
            {
                return;
            }

            XmlDocument dom = new XmlDocument();

            dom.Load(FileName);
            XmlElement xOptions = dom["Options"];

            XmlElement elem = (XmlElement)xOptions.SelectSingleNode("ItemSize");

            if (elem != null)
            {
                FiddlerControls.Options.ArtItemSizeWidth  = int.Parse(elem.GetAttribute("width"));
                FiddlerControls.Options.ArtItemSizeHeight = int.Parse(elem.GetAttribute("height"));
            }
            elem = (XmlElement)xOptions.SelectSingleNode("ItemClip");
            if (elem != null)
            {
                FiddlerControls.Options.ArtItemClip = bool.Parse(elem.GetAttribute("active"));
            }

            elem = (XmlElement)xOptions.SelectSingleNode("CacheData");
            if (elem != null)
            {
                Files.CacheData = bool.Parse(elem.GetAttribute("active"));
            }

            elem = (XmlElement)xOptions.SelectSingleNode("QuintMaps");
            if (elem != null)
            {
                if (bool.Parse(elem.GetAttribute("active")))
                {
                    Map.Felucca.Width  = 7168;
                    Map.Felucca.Height = 4096;
                    Map.Trammel.Width  = 12288;
                    Map.Trammel.Height = 8192;
                    Map.StartUpSetDiff(false);
                }
                else
                {
                    elem = (XmlElement)xOptions.SelectSingleNode("PreAplhaMapSize");
                    if (elem != null)
                    {
                        if (bool.Parse(elem.GetAttribute("active")))
                        {
                            Map.Britania.Width = 1024;
                            Map.Britania.Width = 1024;
                        }
                    }

                    elem = (XmlElement)xOptions.SelectSingleNode("NewMapSize");
                    if (elem != null)
                    {
                        if (bool.Parse(elem.GetAttribute("active")))
                        {
                            Map.Felucca.Width = 7168;
                            Map.Trammel.Width = 7168;
                        }
                    }

                    elem = (XmlElement)xOptions.SelectSingleNode("UseMapDiff");
                    if (elem != null)
                    {
                        Map.StartUpSetDiff(bool.Parse(elem.GetAttribute("active")));
                    }
                }
            }

            elem = (XmlElement)xOptions.SelectSingleNode("AlternativeDesign");
            if (elem != null)
            {
                FiddlerControls.Options.DesignAlternative = bool.Parse(elem.GetAttribute("active"));
            }

            elem = (XmlElement)xOptions.SelectSingleNode("UseHashFile");
            if (elem != null)
            {
                Files.UseHashFile = bool.Parse(elem.GetAttribute("active"));
            }

            elem = (XmlElement)xOptions.SelectSingleNode("UpdateCheck");
            if (elem != null)
            {
                UpdateCheckOnStart = bool.Parse(elem.GetAttribute("active"));
            }

            elem = (XmlElement)xOptions.SelectSingleNode("SendCharToLoc");
            if (elem != null)
            {
                FiddlerControls.Options.MapCmd  = elem.GetAttribute("cmd");
                FiddlerControls.Options.MapArgs = elem.GetAttribute("args");
            }

            elem = (XmlElement)xOptions.SelectSingleNode("MapNames");
            if (elem != null)
            {
                FiddlerControls.Options.MapNames[0] = elem.GetAttribute("map0");
                FiddlerControls.Options.MapNames[1] = elem.GetAttribute("map1");
                FiddlerControls.Options.MapNames[2] = elem.GetAttribute("map2");
                FiddlerControls.Options.MapNames[3] = elem.GetAttribute("map3");
                FiddlerControls.Options.MapNames[4] = elem.GetAttribute("map4");
                FiddlerControls.Options.MapNames[5] = elem.GetAttribute("map5");
            }

            elem = (XmlElement)xOptions.SelectSingleNode("Server");
            if (elem != null)
            {
                FiddlerControls.Options.Account  = elem.GetAttribute("account");
                FiddlerControls.Options.Password = elem.GetAttribute("password");
            }

            elem = (XmlElement)xOptions.SelectSingleNode("Telnet");
            if (elem != null)
            {
                FiddlerControls.Options.Telnet_active = bool.Parse(elem.GetAttribute("active"));
                FiddlerControls.Options.Telnet_conl   = bool.Parse(elem.GetAttribute("conl"));
                FiddlerControls.Options.Telnet_logr   = int.Parse(elem.GetAttribute("logr"));
            }

            ExternTools = new List <ExternTool>();
            foreach (XmlElement xTool in xOptions.SelectNodes("ExternTool"))
            {
                string     name = xTool.GetAttribute("name");
                string     file = xTool.GetAttribute("path");
                ExternTool tool = new ExternTool(name, file);
                foreach (XmlElement xArg in xTool.SelectNodes("Args"))
                {
                    string argname = xArg.GetAttribute("name");
                    string arg     = xArg.GetAttribute("arg");
                    tool.Args.Add(arg);
                    tool.ArgsName.Add(argname);
                }
                ExternTools.Add(tool);
            }

            FiddlerControls.Options.PluginsToLoad = new List <string>();
            foreach (XmlElement xPlug in xOptions.SelectNodes("Plugin"))
            {
                string name = xPlug.GetAttribute("name");
                FiddlerControls.Options.PluginsToLoad.Add(name);
            }

            elem = (XmlElement)xOptions.SelectSingleNode("RootPath");
            if (elem != null)
            {
                Files.RootDir = elem.GetAttribute("path");
            }

            foreach (XmlElement xPath in xOptions.SelectNodes("Paths"))
            {
                string key;
                string value;
                key   = xPath.GetAttribute("key");
                value = xPath.GetAttribute("value");
                Files.MulPath[key] = value;
            }

            foreach (XmlElement xTab in xOptions.SelectNodes("TabView"))
            {
                int viewtab;
                viewtab = Convert.ToInt32(xTab.GetAttribute("tab"));
                FiddlerControls.Options.ChangedViewState[viewtab] = false;
            }

            Files.CheckForNewMapSize();
        }
Exemplo n.º 10
0
        public static void LoadProfile(string filename)
        {
            string FileName = Path.Combine(FiddlerControls.Options.AppDataPath, filename);

            if (!File.Exists(FileName))
            {
                return;
            }
            XmlDocument dom = new XmlDocument();

            dom.Load(FileName);
            XmlElement xOptions = dom["Options"];
            XmlElement elem     = (XmlElement)xOptions.SelectSingleNode("OutputPath");

            if (elem != null)
            {
                FiddlerControls.Options.OutputPath = elem.GetAttribute("path");
                if (!Directory.Exists(FiddlerControls.Options.OutputPath))
                {
                    FiddlerControls.Options.OutputPath = FiddlerControls.Options.AppDataPath;
                }
            }
            else
            {
                FiddlerControls.Options.OutputPath = FiddlerControls.Options.AppDataPath;
            }
            elem = (XmlElement)xOptions.SelectSingleNode("ItemSize");
            if (elem != null)
            {
                FiddlerControls.Options.ArtItemSizeWidth  = int.Parse(elem.GetAttribute("width"));
                FiddlerControls.Options.ArtItemSizeHeight = int.Parse(elem.GetAttribute("height"));
            }
            elem = (XmlElement)xOptions.SelectSingleNode("ItemClip");
            if (elem != null)
            {
                FiddlerControls.Options.ArtItemClip = bool.Parse(elem.GetAttribute("active"));
            }

            elem = (XmlElement)xOptions.SelectSingleNode("CacheData");
            if (elem != null)
            {
                Files.CacheData = bool.Parse(elem.GetAttribute("active"));
            }

            elem = (XmlElement)xOptions.SelectSingleNode("NewMapSize");
            if (elem != null)
            {
                if (bool.Parse(elem.GetAttribute("active")))
                {
                    Map.Felucca.Width = 7168;
                    Map.Trammel.Width = 7168;
                }
            }
            elem = (XmlElement)xOptions.SelectSingleNode("UseMapDiff");
            if (elem != null)
            {
                Map.StartUpSetDiff(bool.Parse(elem.GetAttribute("active")));
            }

            elem = (XmlElement)xOptions.SelectSingleNode("AlternativeDesign");
            if (elem != null)
            {
                FiddlerControls.Options.DesignAlternative = bool.Parse(elem.GetAttribute("active"));
            }

            elem = (XmlElement)xOptions.SelectSingleNode("UseHashFile");
            if (elem != null)
            {
                Files.UseHashFile = bool.Parse(elem.GetAttribute("active"));
            }

            elem = (XmlElement)xOptions.SelectSingleNode("UpdateCheck");
            if (elem != null)
            {
                UpdateCheckOnStart = bool.Parse(elem.GetAttribute("active"));
            }

            elem = (XmlElement)xOptions.SelectSingleNode("SendCharToLoc");
            if (elem != null)
            {
                FiddlerControls.Options.MapCmd  = elem.GetAttribute("cmd");
                FiddlerControls.Options.MapArgs = elem.GetAttribute("args");
            }

            elem = (XmlElement)xOptions.SelectSingleNode("MapNames");
            if (elem != null)
            {
                FiddlerControls.Options.MapNames[0] = elem.GetAttribute("map0");
                FiddlerControls.Options.MapNames[1] = elem.GetAttribute("map1");
                FiddlerControls.Options.MapNames[2] = elem.GetAttribute("map2");
                FiddlerControls.Options.MapNames[3] = elem.GetAttribute("map3");
                FiddlerControls.Options.MapNames[4] = elem.GetAttribute("map4");
                FiddlerControls.Options.MapNames[5] = elem.GetAttribute("map5");
            }

            ExternTools = new List <ExternTool>();
            foreach (XmlElement xTool in xOptions.SelectNodes("ExternTool"))
            {
                string     name = xTool.GetAttribute("name");
                string     file = xTool.GetAttribute("path");
                ExternTool tool = new ExternTool(name, file);
                foreach (XmlElement xArg in xTool.SelectNodes("Args"))
                {
                    string argname = xArg.GetAttribute("name");
                    string arg     = xArg.GetAttribute("arg");
                    tool.Args.Add(arg);
                    tool.ArgsName.Add(argname);
                }
                ExternTools.Add(tool);
            }

            FiddlerControls.Options.PluginsToLoad = new List <string>();
            foreach (XmlElement xPlug in xOptions.SelectNodes("Plugin"))
            {
                string name = xPlug.GetAttribute("name");
                FiddlerControls.Options.PluginsToLoad.Add(name);
            }

            elem = (XmlElement)xOptions.SelectSingleNode("RootPath");
            if (elem != null)
            {
                Files.RootDir = elem.GetAttribute("path");
            }
            foreach (XmlElement xPath in xOptions.SelectNodes("Paths"))
            {
                string key;
                string value;
                key   = xPath.GetAttribute("key");
                value = xPath.GetAttribute("value");
                Files.MulPath[key] = value;
            }

            foreach (XmlElement xTab in xOptions.SelectNodes("TabView"))
            {
                int viewtab;
                viewtab = Convert.ToInt32(xTab.GetAttribute("tab"));
                FiddlerControls.Options.ChangedViewState[viewtab] = false;
            }

            elem = (XmlElement)xOptions.SelectSingleNode("ViewState");
            if (elem != null)
            {
                StoreFormState = bool.Parse(elem.GetAttribute("Active"));
                MaximisedForm  = bool.Parse(elem.GetAttribute("Maximised"));
                FormPosition   = new Point(int.Parse(elem.GetAttribute("PositionX")), int.Parse(elem.GetAttribute("PositionY")));
                FormSize       = new Size(int.Parse(elem.GetAttribute("Width")), int.Parse(elem.GetAttribute("Height")));
            }


            Files.CheckForNewMapSize();
        }
Exemplo n.º 11
0
        private static void Load()
        {
            string FileName = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "Options.xml");
            if (!File.Exists(FileName))
                return;

            XmlDocument dom = new XmlDocument();
            dom.Load(FileName);
            XmlElement xOptions = dom["Options"];

            XmlElement elem = (XmlElement)xOptions.SelectSingleNode("ItemSize");
            if (elem != null)
            {
                FiddlerControls.Options.ArtItemSizeWidth = int.Parse(elem.GetAttribute("width"));
                FiddlerControls.Options.ArtItemSizeHeight = int.Parse(elem.GetAttribute("height"));
            }
            elem = (XmlElement)xOptions.SelectSingleNode("ItemClip");
            if (elem != null)
                FiddlerControls.Options.ArtItemClip = bool.Parse(elem.GetAttribute("active"));

            elem = (XmlElement)xOptions.SelectSingleNode("CacheData");
            if (elem != null)
                Files.CacheData = bool.Parse(elem.GetAttribute("active"));

            elem = (XmlElement)xOptions.SelectSingleNode("QuintMaps");
            if (elem != null)
            {
                if ( bool.Parse(elem.GetAttribute("active")))
                {
                    Map.Felucca.Width  = 7168;
                    Map.Felucca.Height = 4096;
                    Map.Trammel.Width = 12288;
                    Map.Trammel.Height = 8192;
                    Map.StartUpSetDiff(false);
                }
                else
                {
                    elem = (XmlElement)xOptions.SelectSingleNode("PreAplhaMapSize");
                    if (elem != null) {
                        if (bool.Parse(elem.GetAttribute("active"))) {
                            Map.Britania.Width = 1024;
                            Map.Britania.Width = 1024;
                        }
                    }

                    elem = (XmlElement)xOptions.SelectSingleNode("NewMapSize");
                    if (elem != null) {
                        if (bool.Parse(elem.GetAttribute("active"))) {
                            Map.Felucca.Width = 7168;
                            Map.Trammel.Width = 7168;
                        }
                    }

                    elem = (XmlElement)xOptions.SelectSingleNode("UseMapDiff");
                    if (elem != null)
                        Map.StartUpSetDiff(bool.Parse(elem.GetAttribute("active")));
                }
            }

            elem = (XmlElement)xOptions.SelectSingleNode("AlternativeDesign");
            if (elem != null)
                FiddlerControls.Options.DesignAlternative = bool.Parse(elem.GetAttribute("active"));

            elem = (XmlElement)xOptions.SelectSingleNode("UseHashFile");
            if (elem != null)
                Files.UseHashFile = bool.Parse(elem.GetAttribute("active"));

            elem = (XmlElement)xOptions.SelectSingleNode("UpdateCheck");
            if (elem != null)
                UpdateCheckOnStart = bool.Parse(elem.GetAttribute("active"));

            elem = (XmlElement)xOptions.SelectSingleNode("SendCharToLoc");
            if (elem != null)
            {
                FiddlerControls.Options.MapCmd = elem.GetAttribute("cmd");
                FiddlerControls.Options.MapArgs = elem.GetAttribute("args");
            }

            elem = (XmlElement)xOptions.SelectSingleNode("MapNames");
            if (elem != null)
            {
                FiddlerControls.Options.MapNames[0] = elem.GetAttribute("map0");
                FiddlerControls.Options.MapNames[1] = elem.GetAttribute("map1");
                FiddlerControls.Options.MapNames[2] = elem.GetAttribute("map2");
                FiddlerControls.Options.MapNames[3] = elem.GetAttribute("map3");
                FiddlerControls.Options.MapNames[4] = elem.GetAttribute("map4");
                FiddlerControls.Options.MapNames[5] = elem.GetAttribute("map5");
            }

            elem = (XmlElement)xOptions.SelectSingleNode("Server");
            if (elem != null)
            {
                FiddlerControls.Options.Account  = elem.GetAttribute("account");
                FiddlerControls.Options.Password = elem.GetAttribute("password");
            }

            elem = (XmlElement)xOptions.SelectSingleNode("Telnet");
            if (elem != null)
            {
                FiddlerControls.Options.Telnet_active = bool.Parse(elem.GetAttribute("active"));
                FiddlerControls.Options.Telnet_conl   = bool.Parse(elem.GetAttribute("conl"));
                FiddlerControls.Options.Telnet_logr   = int.Parse(elem.GetAttribute("logr"));
            }

            ExternTools = new List<ExternTool>();
            foreach (XmlElement xTool in xOptions.SelectNodes("ExternTool"))
            {
                string name = xTool.GetAttribute("name");
                string file = xTool.GetAttribute("path");
                ExternTool tool = new ExternTool(name, file);
                foreach (XmlElement xArg in xTool.SelectNodes("Args"))
                {
                    string argname = xArg.GetAttribute("name");
                    string arg = xArg.GetAttribute("arg");
                    tool.Args.Add(arg);
                    tool.ArgsName.Add(argname);
                }
                ExternTools.Add(tool);
            }

            FiddlerControls.Options.PluginsToLoad = new List<string>();
            foreach (XmlElement xPlug in xOptions.SelectNodes("Plugin"))
            {
                string name = xPlug.GetAttribute("name");
                FiddlerControls.Options.PluginsToLoad.Add(name);
            }

            elem = (XmlElement)xOptions.SelectSingleNode("RootPath");
            if (elem != null)
                Files.RootDir = elem.GetAttribute("path");

            foreach (XmlElement xPath in xOptions.SelectNodes("Paths"))
            {
                string key;
                string value;
                key = xPath.GetAttribute("key");
                value = xPath.GetAttribute("value");
                Files.MulPath[key] = value;
            }

            foreach (XmlElement xTab in xOptions.SelectNodes("TabView"))
            {
                int viewtab;
                viewtab = Convert.ToInt32(xTab.GetAttribute("tab"));
                FiddlerControls.Options.ChangedViewState[viewtab] = false;
            }

             Files.CheckForNewMapSize();
        }
Exemplo n.º 12
0
        public static void LoadProfile(string filename)
        {
            string FileName = Path.Combine(FiddlerControls.Options.AppDataPath, filename);
            if (!File.Exists(FileName))
                return;
            XmlDocument dom = new XmlDocument();
            dom.Load(FileName);
            XmlElement xOptions = dom["Options"];
            XmlElement elem = (XmlElement)xOptions.SelectSingleNode("OutputPath");
            if (elem != null)
            {
                FiddlerControls.Options.OutputPath = elem.GetAttribute("path");
                if (!Directory.Exists(FiddlerControls.Options.OutputPath))
                    FiddlerControls.Options.OutputPath = FiddlerControls.Options.AppDataPath;
            }
            else
                FiddlerControls.Options.OutputPath = FiddlerControls.Options.AppDataPath;
            elem = (XmlElement)xOptions.SelectSingleNode("ItemSize");
            if (elem != null)
            {
                FiddlerControls.Options.ArtItemSizeWidth = int.Parse(elem.GetAttribute("width"));
                FiddlerControls.Options.ArtItemSizeHeight = int.Parse(elem.GetAttribute("height"));
            }
            elem = (XmlElement)xOptions.SelectSingleNode("ItemClip");
            if (elem != null)
                FiddlerControls.Options.ArtItemClip = bool.Parse(elem.GetAttribute("active"));

            elem = (XmlElement)xOptions.SelectSingleNode("CacheData");
            if (elem != null)
                Files.CacheData = bool.Parse(elem.GetAttribute("active"));

            elem = (XmlElement)xOptions.SelectSingleNode("NewMapSize");
            if (elem != null)
            {
                if (bool.Parse(elem.GetAttribute("active")))
                {
                    Map.Felucca.Width = 7168;
                    Map.Trammel.Width = 7168;
                }
            }
            elem = (XmlElement)xOptions.SelectSingleNode("UseMapDiff");
            if (elem != null)
                Map.StartUpSetDiff(bool.Parse(elem.GetAttribute("active")));

            elem = (XmlElement)xOptions.SelectSingleNode("AlternativeDesign");
            if (elem != null)
                FiddlerControls.Options.DesignAlternative = bool.Parse(elem.GetAttribute("active"));

            elem = (XmlElement)xOptions.SelectSingleNode("UseHashFile");
            if (elem != null)
                Files.UseHashFile = bool.Parse(elem.GetAttribute("active"));

            elem = (XmlElement)xOptions.SelectSingleNode("UpdateCheck");
            if (elem != null)
                UpdateCheckOnStart = bool.Parse(elem.GetAttribute("active"));

            elem = (XmlElement)xOptions.SelectSingleNode("SendCharToLoc");
            if (elem != null)
            {
                FiddlerControls.Options.MapCmd = elem.GetAttribute("cmd");
                FiddlerControls.Options.MapArgs = elem.GetAttribute("args");
            }

            elem = (XmlElement)xOptions.SelectSingleNode("MapNames");
            if (elem != null)
            {
                FiddlerControls.Options.MapNames[0] = elem.GetAttribute("map0");
                FiddlerControls.Options.MapNames[1] = elem.GetAttribute("map1");
                FiddlerControls.Options.MapNames[2] = elem.GetAttribute("map2");
                FiddlerControls.Options.MapNames[3] = elem.GetAttribute("map3");
                FiddlerControls.Options.MapNames[4] = elem.GetAttribute("map4");
                FiddlerControls.Options.MapNames[5] = elem.GetAttribute("map5");
            }

            ExternTools = new List<ExternTool>();
            foreach (XmlElement xTool in xOptions.SelectNodes("ExternTool"))
            {
                string name = xTool.GetAttribute("name");
                string file = xTool.GetAttribute("path");
                ExternTool tool = new ExternTool(name, file);
                foreach (XmlElement xArg in xTool.SelectNodes("Args"))
                {
                    string argname = xArg.GetAttribute("name");
                    string arg = xArg.GetAttribute("arg");
                    tool.Args.Add(arg);
                    tool.ArgsName.Add(argname);
                }
                ExternTools.Add(tool);
            }

            FiddlerControls.Options.PluginsToLoad = new List<string>();
            foreach (XmlElement xPlug in xOptions.SelectNodes("Plugin"))
            {
                string name = xPlug.GetAttribute("name");
                FiddlerControls.Options.PluginsToLoad.Add(name);
            }

            elem = (XmlElement)xOptions.SelectSingleNode("RootPath");
            if (elem != null)
                Files.RootDir = elem.GetAttribute("path");
            foreach (XmlElement xPath in xOptions.SelectNodes("Paths"))
            {
                string key;
                string value;
                key = xPath.GetAttribute("key");
                value = xPath.GetAttribute("value");
                Files.MulPath[key] = value;
            }

            foreach (XmlElement xTab in xOptions.SelectNodes("TabView"))
            {
                int viewtab;
                viewtab = Convert.ToInt32(xTab.GetAttribute("tab"));
                FiddlerControls.Options.ChangedViewState[viewtab] = false;
            }

            elem = (XmlElement)xOptions.SelectSingleNode("ViewState");
            if (elem != null)
            {
                StoreFormState = bool.Parse(elem.GetAttribute("Active"));
                MaximisedForm = bool.Parse(elem.GetAttribute("Maximised"));
                FormPosition = new Point(int.Parse(elem.GetAttribute("PositionX")), int.Parse(elem.GetAttribute("PositionY")));
                FormSize = new Size(int.Parse(elem.GetAttribute("Width")), int.Parse(elem.GetAttribute("Height")));
            }

            Files.CheckForNewMapSize();
        }