private void gameGallery_ItemCheckedChanged(object sender,
                                                    DevExpress.XtraBars.Ribbon.GalleryItemEventArgs e)
        {
            string branchAndGame = e.Item.Tag.ToString();
            string engineName    = branchAndGame.Split('/')[0];

            gameName   = branchAndGame.Split('/')[1];
            gameBranch = branchAndGame.Split('/')[2];

            switch (engineName)
            {
            case "source":
                engine = Engine.SOURCE;
                SetBaseModPath(Launcher.GetInstallPath() + "\\steamapps\\sourcemods\\");
                break;

            case "source2":
                engine = Engine.SOURCE2;
                SetBaseModPath(launcher.GetGamesList()[gameName].installPath + "\\game\\");
                break;

            case "goldsrc":
                engine = Engine.GOLDSRC;
                SetBaseModPath(launcher.GetGamesList()[gameName].installPath + "\\");
                break;
            }

            ValidateModFolder();

            checkModDetails();
        }
        public void LoadSteamLibraries()
        {
            String steamPath = Launcher.GetInstallPath();

            steamLibs = new List <string>();
            if (Directory.Exists(steamPath))
            {
                steamLibs.Add(steamPath);

                if (File.Exists(steamPath + "\\steamapps\\libraryfolders.vdf"))
                {
                    SourceSDK.KeyValue root = SourceSDK.KeyValue
                                              .readChunkfile(steamPath + "\\steamapps\\libraryfolders.vdf");

                    foreach (SourceSDK.KeyValue child in root.getChildren())
                    {
                        string dir = child.getValue().Replace("\\\\", "\\");
                        if (Directory.Exists(dir))
                        {
                            steamLibs.Add(dir);
                        }
                    }
                }
                else
                {
                    XtraMessageBox.Show("Could not find file \"" + steamPath + "\\steamapps\\libraryfolders.vdf\".");
                }
            }
            else
            {
                //XtraMessageBox.Show("Could not find Steam install directory.");
            }
        }
        private void NewModForm_Load(object sender, EventArgs e)
        {
            launcher = new Launcher();
            SetBaseModPath(Launcher.GetInstallPath() + "\\steamapps\\sourcemods\\");

            List <string> gamesList = launcher.GetGamesList().Keys.ToList();

            foreach (DevExpress.XtraBars.Ribbon.GalleryItem item in gameGallery.Gallery.GetAllItems())
            {
                string branchName = item.Tag.ToString().Split('/')[2];

                if (gamesList.Contains(item.Tag.ToString().Split('/')[1]))
                {
                    item.Enabled = true;
                    if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + "\\Assets\\Posters\\" + branchName + ".png"))
                    {
                        item.ImageOptions.Image = Bitmap.FromFile(AppDomain.CurrentDomain.BaseDirectory + "\\Assets\\Posters\\" + branchName + ".png");
                    }
                }
                else
                {
                    if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + "\\Assets\\Posters\\" + branchName + "_notinstalled.png"))
                    {
                        item.ImageOptions.Image = Bitmap.FromFile(AppDomain.CurrentDomain.BaseDirectory + "\\Assets\\Posters\\" + branchName + "_notinstalled.png");
                    }
                }
            }

            checkModDetails();

            string templateModName = "mymod";

            int counter = 1;

            if (Directory.Exists(baseModPath + templateModName))
            {
                do
                {
                    counter++;
                    templateModName = "mymod" + counter;
                } while (Directory.Exists(baseModPath + templateModName));
            }

            textFolder.EditValue = templateModName;
        }