private static void LocateDef()
        {
            var reg = new AtsRegWork(true);
            var gam = reg.Read(RegKeys.CURRENT_GAME);

            switch (gam)
            {
            case "ATS":
                var ofd = new OpenFileDialog {
                    Title = @"Locate the Def SCS File"
                };
                ofd.ShowDialog();

                if (!ofd.FileName.FileExists())
                {
                    return;
                }
                reg.Write(AtsRegKeys.ATS_DEF_SCS_LOCATION, ofd.FileName);
                break;

            case "ETS":
                ofd = new OpenFileDialog {
                    Title = @"Locate the Def SCS File"
                };
                ofd.ShowDialog();

                if (!ofd.FileName.FileExists())
                {
                    return;
                }
                reg.Write(EtsRegKeys.ETS_DEF_SCS_LOCATION, ofd.FileName);
                break;
            }
        }
Пример #2
0
        private void eleteModToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var          reg        = new AtsRegWork(true);
            const string sortedList = "sortedFileListComplete.xml";
            var          gam        = reg.Read(RegKeys.CURRENT_GAME);
            var          pth        = string.Empty;

            switch (gam)
            {
            case "ATS":
                pth = reg.Read(AtsRegKeys.ATS_XML) + sortedList;
                break;

            case "ETS":
                pth = reg.Read(EtsRegKeys.ETS_XML) + sortedList;
                break;

            case "FS15":
                pth = reg.Read(Fs15RegKeys.FS15_XML) + sortedList;
                break;

            case "FS17":
                pth = reg.Read(Fs17RegKeys.FS17_XML) + sortedList;
                break;
            }

            DeleteRepoMod(pth);
        }
Пример #3
0
        /// <summary>
        ///     Loads the ats profiles.
        /// </summary>
        /// <returns></returns>
        public IEnumerable <string> LoadAtsProfiles()
        {
            var ats = new AtsRegWork(true);
            var lst = GetFilesFolders.GetFolders(ats.Read(AtsRegKeys.ATS_PROFILES), "*.*");

            return(lst);
        }
Пример #4
0
        /// <summary>
        ///     Edits the mod.
        /// </summary>
        /// <param name="mod">The mod.</param>
        /// <returns></returns>
        public string EditMod(string mod)
        {
            var reg = new AtsRegWork(true);
            var gam = reg.Read(RegKeys.CURRENT_GAME);
            Dictionary <string, string> dic;
            string xmlPath;
            var    pth = string.Empty;
            string modPath;

            switch (gam)
            {
            case "ATS":
                xmlPath = reg.Read(AtsRegKeys.ATS_XML) + "sortedFileListComplete.xml";
                dic     = Serializer.DeserializeDictionary(xmlPath);
                pth     = GetPath(mod, dic, pth);
                modPath = pth + mod;
                FsZip.ExtractModScs(modPath);
                break;

            case "ETS":
                xmlPath = reg.Read(EtsRegKeys.ETS_XML) + "sortedFileListComplete.xml";
                dic     = Serializer.DeserializeDictionary(xmlPath);
                pth     = GetPath(mod, dic, pth);
                modPath = pth + mod;
                FsZip.ExtractModScs(modPath);
                break;

            case "FS15":
            case "FS17":
                FsZip.ExtractArchive(mod);
                break;
            }

            return(pth + mod);
        }
Пример #5
0
        private void bSaveWork_Click(object sender, EventArgs e)
        {
            var reg     = new AtsRegWork(true);
            var gam     = reg.Read(RegKeys.CURRENT_GAME);
            var outPath = reg.Read(RegKeys.CURRENT_ORIGINAL_FILE_EDIT_PATH);

            FsZip.CreateArchive(outPath, reg.Read(RegKeys.CURRENT_EXTRACTED_FOLDER_PATH));
            DeleteFiles.DeleteFilesOrFolders(reg.Read(RegKeys.CURRENT_EXTRACTED_FOLDER_PATH));

            tree.Nodes.Clear();

            switch (gam)
            {
            case "ATS":
                FolderCreator.CreatePublicFolders(reg.Read(AtsRegKeys.ATS_WORK));
                break;

            case "ETS":
                FolderCreator.CreatePublicFolders(reg.Read(EtsRegKeys.ETS_WORK));
                break;

            case "FS15":
                FolderCreator.CreatePublicFolders(reg.Read(Fs15RegKeys.FS15_WORK));
                break;

            case "FS17":
                FolderCreator.CreatePublicFolders(reg.Read(Fs17RegKeys.FS17_WORK));
                break;
            }
        }
Пример #6
0
        private static void BuildGameModsList(string pth)
        {
            var reg = new AtsRegWork(true);
            var gam = reg.Read(RegKeys.CURRENT_GAME);
            Dictionary <string, string> dic;

            switch (gam)
            {
            case "ATS":
                if (!pth.FileExists())
                {
                    return;
                }
                dic = Serializer.DeserializeDictionary(pth);
                Serializer.SerializeDictionary(reg.Read(AtsRegKeys.ATS_GAME_MOD_FOLDER)
                                               + reg.Read(RegKeys.CURRENT_PROFILE) + XML_EXT, dic);
                break;

            case "ETS":
                if (!pth.FileExists())
                {
                    return;
                }
                dic = Serializer.DeserializeDictionary(pth);
                Serializer.SerializeDictionary(reg.Read(EtsRegKeys.ETS_GAME_MOD_FOLDER)
                                               + reg.Read(RegKeys.CURRENT_PROFILE) + XML_EXT, dic);
                break;
            }
        }
Пример #7
0
        /// <summary>
        ///     Loads the ats group mods.
        /// </summary>
        /// <param name="grp">The GRP.</param>
        /// <returns></returns>
        public IEnumerable <string> LoadAtsGroupMods(string grp)
        {
            var ats = new AtsRegWork(true);
            var lst = GetFilesFolders.GetFiles(ats.Read(AtsRegKeys.ATS_GROUPS) + grp + "\\", "*.scs");

            return(lst);
        }
Пример #8
0
        private void copyModsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var reg  = new AtsRegWork(true);
            var gam  = reg.Read(RegKeys.CURRENT_GAME);
            var prof = reg.Read(RegKeys.CURRENT_PROFILE);

            if (prof.IsNullOrEmpty() || gam.IsNullOrEmpty())
            {
                MsgBx.Msg("You need to select a Game / Profile to use this Function", "Missing Data");
                return;
            }

            var cm  = new CopyMods();
            var dic = cm.CopyProfileMods();

            if (dic.IsNull())
            {
                return;
            }
            lstProfileMods.Items.Clear();
            foreach (var v in dic)
            {
                lstProfileMods.Items.Add(v.Key);
            }
        }
Пример #9
0
        private static string SetGameSettingString()
        {
            var    reg     = new AtsRegWork(true);
            var    gam     = reg.Read(RegKeys.CURRENT_GAME);
            var    profile = reg.Read(RegKeys.CURRENT_PROFILE) + "\\";
            string profilePath;
            var    pth = string.Empty;

            switch (gam)
            {
            case "FS15":
                profilePath = reg.Read(Fs15RegKeys.FS15_PROFILES);
                pth         = ProfilePathPreTrue + Vars.QuoteMark + profilePath + profile
                              + Vars.QuoteMark + " " + PROFILE_PATH_END;
                break;

            case "FS17":
                profilePath = reg.Read(Fs17RegKeys.FS17_PROFILES);
                pth         = ProfilePathPreTrue + Vars.QuoteMark + profilePath + profile
                              + Vars.QuoteMark + " " + PROFILE_PATH_END;
                break;
            }

            return(pth);
        }
Пример #10
0
        private static void ModifyGameSettings()
        {
            var reg = new AtsRegWork(true);
            var gam = reg.Read(RegKeys.CURRENT_GAME);
            var fw  = new FileWriter();
            var tmp = new List <string>();

            switch (gam)
            {
            case "FS15":
                tmp = fw.FileToList(reg.Read(Fs15RegKeys.FS15_GAME_SETTINGS_XML));
                break;

            case "FS17":
                tmp = fw.FileToList(reg.Read(Fs17RegKeys.FS17_GAME_SETTINGS_XML));
                break;
            }

            foreach (var s in tmp)
            {
                if (!s.Contains(@"<modsDirectoryOverride"))
                {
                    continue;
                }
                tmp.Remove(s);
                tmp.Insert(6, SetGameSettingString());
                break;
            }

            fw.ChangeGameSettings(tmp);
        }
Пример #11
0
        /// <summary>
        ///     Loads the ats groups.
        /// </summary>
        /// <returns></returns>
        public IEnumerable <string> LoadEtsGroups()
        {
            var ets = new AtsRegWork(true);
            var lst = GetFilesFolders.GetFolders(ets.Read(EtsRegKeys.ETS_GROUPS), "*.*");

            return(lst);
        }
Пример #12
0
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            var gi  = new GameInfo();
            var reg = new AtsRegWork(true);

            reg.Write(RegKeys.CURRENT_PROFILE, "");
            gi.SetGame("");
        }
Пример #13
0
        /// <summary>
        ///     Checks the base hash.
        /// </summary>
        public void CheckBaseHash()
        {
            var    reg   = new AtsRegWork(true);
            var    acGam = reg.Read(RegKeys.CURRENT_GAME);
            string tmp;
            string hsh;
            string newHash;

            switch (acGam)
            {
            case "ATS":
                tmp = reg.Read(AtsRegKeys.ATS_BASE_SCS_LOCATION);
                if (tmp.IsNullOrEmpty())
                {
                    LocateBase();
                    tmp = reg.Read(AtsRegKeys.ATS_BASE_SCS_LOCATION);
                }

                hsh     = reg.Read(AtsRegKeys.ATS_BASE_HASH);
                newHash = Hasher.HashFile(tmp);
                if (!string.Equals(newHash, hsh, StringComparison.OrdinalIgnoreCase))
                {
                    reg.Write(AtsRegKeys.ATS_BASE_HASH, newHash);
                    ExtractBaseFiles();
                    ExtractDefFiles();
                }
                else
                {
                    MsgBx.Msg("No Update Necessary", "Up to Date Base Files");
                }

                break;

            case "ETS":
                tmp = reg.Read(EtsRegKeys.ETS_BASE_SCS_LOCATION);
                if (tmp.IsNullOrEmpty())
                {
                    LocateBase();
                    tmp = reg.Read(EtsRegKeys.ETS_BASE_SCS_LOCATION);
                }

                hsh     = reg.Read(EtsRegKeys.ETS_BASE_HASH);
                newHash = Hasher.HashFile(tmp);
                if (!string.Equals(newHash, hsh, StringComparison.OrdinalIgnoreCase))
                {
                    reg.Write(EtsRegKeys.ETS_BASE_HASH, newHash);
                    ExtractBaseFiles();
                    ExtractDefFiles();
                }
                else
                {
                    MsgBx.Msg("No Update Necessary", "Up to Date Base Files");
                }

                break;
            }
        }
Пример #14
0
        private void bLoadSaveGames_Click(object sender, EventArgs e)
        {
            var    reg = new AtsRegWork(true);
            var    gam = reg.Read(RegKeys.CURRENT_GAME);
            string savePath;

            switch (gam)
            {
            case "FS15":
                savePath = reg.Read(Fs15RegKeys.FS15_SAVE_GAMES);
                if (savePath.IsNullOrEmpty())
                {
                    var ofd = new FolderBrowserDialog {
                        Description         = @"Navigate to the FS 15 SaveGame folder",
                        ShowNewFolderButton = false
                    };
                    ofd.ShowDialog();
                    if (!ofd.SelectedPath.IsNullOrEmpty())
                    {
                        savePath = ofd.SelectedPath;
                        reg.Write(Fs15RegKeys.FS15_SAVE_GAMES, savePath);
                    }
                    else
                    {
                        return;
                    }
                }

                LoadTree(savePath);
                break;

            case "FS17":
                savePath = reg.Read(Fs17RegKeys.FS17_SAVE_GAMES);
                if (savePath.IsNullOrEmpty())
                {
                    var ofd = new FolderBrowserDialog {
                        Description         = @"Navigate to the FS 17 SaveGame folder",
                        ShowNewFolderButton = false
                    };
                    ofd.ShowDialog();
                    if (!ofd.SelectedPath.IsNullOrEmpty())
                    {
                        savePath = ofd.SelectedPath;
                        reg.Write(Fs17RegKeys.FS17_SAVE_GAMES, savePath);
                    }
                    else
                    {
                        return;
                    }
                }

                LoadTree(savePath);
                break;
            }
        }
Пример #15
0
        /// <summary>
        ///     Loads the ats mod choice.
        /// </summary>
        /// <param name="chc">The CHC.</param>
        /// <returns></returns>
        public string LoadAtsModChoice(string chc)
        {
            var ats = new AtsRegWork(true);
            var fnd = string.Empty;
            var dic = Serializer.DeserializeDictionary(ats.Read(AtsRegKeys.ATS_XML) + "sortedFileListComplete.xml");

            if (dic.Any(v => string.Equals(v.Key, chc, StringComparison.OrdinalIgnoreCase)))
            {
                dic.TryGetValue(chc, out fnd);
            }
            return(fnd + chc);
        }
Пример #16
0
        /// <summary>
        ///     Loads the ats profile mods.
        /// </summary>
        /// <param name="prof">The PTH.</param>
        /// <returns></returns>
        public Dictionary <string, string> LoadAtsProfileMods(string prof)
        {
            var ats = new AtsRegWork(true);
            var pro = ats.Read(AtsRegKeys.ATS_PROFILES) + prof + "\\" + prof + ".xml";

            if (!pro.FileExists())
            {
                return(null);
            }
            var dic = Serializer.DeserializeDictionary(pro);

            return(dic);
        }
Пример #17
0
        private static string GetLocation()
        {
            var gi  = new GameInfo();
            var tmp = gi.GetGame();

            if (tmp.IsNullOrEmpty())
            {
                return(null);
            }


            var pth = string.Empty;

            switch (tmp)
            {
            case "ATS":
                var atsp = new AtsRegWork(true);
                pth = atsp.Read(AtsRegKeys.ATS_GROUPS);
                break;

            case "ETS":
                var etsp = new EtsRegWork(true);
                pth = etsp.Read(EtsRegKeys.ETS_GROUPS);
                break;

            case "FS15":
                var fs15 = new Fs15RegWork(true);
                pth = fs15.Read(Fs15RegKeys.FS15_GROUPS);
                break;

            case "FS17":
                var fs17 = new Fs17RegWork(true);
                pth = fs17.Read(Fs17RegKeys.FS17_GROUPS);
                break;
            }

            var lst = GetFilesFolders.GetFolders(pth, "*.*");
            var frm = new ModMover();

            foreach (var f in lst)
            {
                frm.lstModMove.Items.Add(f);
            }

            frm.ShowDialog();

            var fld = frm.lstModMove.SelectedItem.ToString();

            frm.Close();
            return(fld);
        }
Пример #18
0
        private static void DeleteMods()
        {
            var    reg = new AtsRegWork(true);
            var    gam = reg.Read(RegKeys.CURRENT_GAME);
            string pth;
            IEnumerable <string> lst;

            switch (gam)
            {
            case "ATS":
                pth = reg.Read(AtsRegKeys.ATS_GAME_MOD_FOLDER);
                if (!pth.FolderExists())
                {
                    return;
                }
                lst = GetFilesFolders.GetFiles(pth, "*.*");
                foreach (var t in lst)
                {
                    try {
                        DeleteFile(t);
                    }
                    catch (Exception g) {
                        MsgBx.Msg(g.ToString(), "Error");
                    }
                }

                FolderCreator.CreatePublicFolders(reg.Read(AtsRegKeys.ATS_GAME_MOD_FOLDER));
                break;

            case "ETS":
                pth = reg.Read(EtsRegKeys.ETS_GAME_MOD_FOLDER);
                if (!pth.FolderExists())
                {
                    return;
                }
                lst = GetFilesFolders.GetFiles(pth, "*.*");
                foreach (var s in lst)
                {
                    try {
                        DeleteFile(s);
                    }
                    catch (Exception g) {
                        MsgBx.Msg(g.ToString(), "Error");
                    }
                }

                FolderCreator.CreatePublicFolders(reg.Read(EtsRegKeys.ETS_GAME_MOD_FOLDER));
                break;
            }
        }
Пример #19
0
        private void checkForBaseFilesUpdateToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var reg = new AtsRegWork(true);
            var gam = reg.Read(RegKeys.CURRENT_GAME);

            switch (gam)
            {
            case "ATS":
            case "ETS":
                var bs = new BaseFileExtractor();
                bs.CheckBaseHash();
                break;
            }
        }
Пример #20
0
        private void LoadProfileMods()
        {
            var reg = new AtsRegWork(true);
            var gam = reg.Read(RegKeys.CURRENT_GAME);

            if (lstSortMods.SelectedItem.IsNull())
            {
                return;
            }
            var chc = lstSortMods.SelectedItem.ToString();

            lstAvailableMods.Items.Clear();
            IEnumerable <string> lst = null;

            switch (gam)
            {
            case "ATS":
                var ats = new AtsLoader();
                lst = ats.LoadAtsGroupMods(chc);
                break;

            case "ETS":
                var ets = new EtsLoader();
                lst = ets.LoadEtsGroupMods(chc);
                break;

            case "FS15":
                var fs15 = new Fs15Loader();
                lst = fs15.LoadFs15GroupMods(chc);
                break;

            case "FS17":
                var fs17 = new Fs17Loader();
                lst = fs17.LoadFs17GroupMods(chc);
                break;
            }

            if (lst == null)
            {
                return;
            }
            foreach (var v in lst)
            {
                lstAvailableMods.Items.Add(v.GetFileName());
            }

            CheckModCount();
        }
Пример #21
0
        private void bAddNewProfile_Click(object sender, EventArgs e)
        {
            var reg = new AtsRegWork(true);
            var gam = reg.Read(RegKeys.CURRENT_GAME);

            if (txtAddProfile.Text.IsNullOrEmpty())
            {
                return;
            }
            var prof = new ProfileWorker();

            prof.AddNewProfile(txtAddProfile.Text);
            txtAddProfile.Text = string.Empty;
            lblProfiles.Text   = @"Active Profiles: " + lstProfiles.Items.Count;
            GameLoader(gam);
        }
Пример #22
0
        /// <summary>
        ///     Changes the game settings.
        /// </summary>
        /// <param name="tmp">The temporary.</param>
        public void ChangeGameSettings(IEnumerable <string> tmp)
        {
            var reg = new AtsRegWork(true);
            var gam = reg.Read(RegKeys.CURRENT_GAME);

            switch (gam)
            {
            case "FS15":
                File.WriteAllLines(reg.Read(Fs15RegKeys.FS15_GAME_SETTINGS_XML), tmp);
                break;

            case "FS17":
                File.WriteAllLines(reg.Read(Fs17RegKeys.FS17_GAME_SETTINGS_XML), tmp);
                break;
            }
        }
Пример #23
0
        /// <summary>
        ///     Builds the mod list.
        /// </summary>
        /// <param name="key">The key.</param>
        public void BuildProfileList(string key)
        {
            var    reg  = new AtsRegWork(true);
            var    prof = reg.Read(RegKeys.CURRENT_PROFILE);
            var    gam  = reg.Read(RegKeys.CURRENT_GAME);
            string pth;
            string loc;
            var    origPath = string.Empty;
            Dictionary <string, string> dic;

            const string xml = @"sortedFileListComplete.xml";

            switch (gam)
            {
            case "ATS":
                pth      = reg.Read(AtsRegKeys.ATS_PROFILES) + prof + "\\" + prof + XML_EXT;
                loc      = reg.Read(AtsRegKeys.ATS_XML) + xml;
                dic      = Serializer.DeserializeDictionary(loc);
                origPath = GetOrigPath(key, dic, origPath);

                BuildModList(pth, key, origPath);
                BuildGameModsList(pth);
                break;

            case "ETS":
                pth      = reg.Read(EtsRegKeys.ETS_PROFILES) + prof + "\\" + prof + XML_EXT;
                loc      = reg.Read(AtsRegKeys.ATS_XML) + xml;
                dic      = Serializer.DeserializeDictionary(loc);
                origPath = GetOrigPath(key, dic, origPath);

                BuildModList(pth, key, origPath);
                BuildGameModsList(pth);
                break;

            case "FS15":
                pth = reg.Read(Fs15RegKeys.FS15_PROFILES) + prof + "\\" + prof + XML_EXT;
                loc = reg.Read(Fs15RegKeys.FS15_PROFILES) + prof + "\\";
                BuildModList(pth, key, loc);
                break;

            case "FS17":
                pth = reg.Read(Fs17RegKeys.FS17_PROFILES) + prof + "\\" + prof + XML_EXT;
                loc = reg.Read(Fs17RegKeys.FS17_PROFILES) + prof + "\\";
                BuildModList(pth, key, loc);
                break;
            }
        }
Пример #24
0
        private void bLoadExtraction_Click(object sender, EventArgs e)
        {
            var reg = new AtsRegWork(true);
            var gam = reg.Read(RegKeys.CURRENT_GAME);

            switch (gam)
            {
            case "ATS":
                tree.Nodes.Clear();
                LoadTree(reg.Read(AtsRegKeys.ATS_EXTRACTION));
                break;

            case "ETS":
                tree.Nodes.Clear();
                LoadTree(reg.Read(EtsRegKeys.ETS_EXTRACTION));
                break;
            }
        }
Пример #25
0
        private void addToNewHollandToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (lstAvailableMods.SelectedItem.IsNull())
            {
                return;
            }
            var reg   = new AtsRegWork(true);
            var gam   = reg.Read(RegKeys.CURRENT_GAME);
            var cProf = reg.Read(RegKeys.CURRENT_PROFILE);

            if (gam.IsNullOrEmpty() || cProf.IsNullOrEmpty())
            {
                MsgBx.Msg("You need to have a Profile / Game active", "Process Error");
                return;
            }

            LoadOuts.CreateLoadouts("NewHolland", lstAvailableMods.SelectedItem.ToString());
        }
Пример #26
0
        /// <summary>
        ///     Removes the mod.
        /// </summary>
        /// <param name="key">The key.</param>
        /// <returns></returns>
        public Dictionary <string, string> ProfileRemoveMod(string key)
        {
            var reg     = new AtsRegWork(true);
            var gam     = reg.Read(RegKeys.CURRENT_GAME);
            var profile = reg.Read(RegKeys.CURRENT_PROFILE);
            var modPath = string.Empty;

            switch (gam)
            {
            case "ATS":
                modPath = reg.Read(AtsRegKeys.ATS_PROFILES) + profile + "\\" + profile + XML_EXT;
                break;

            case "ETS":
                modPath = reg.Read(EtsRegKeys.ETS_PROFILES) + profile + "\\" + profile + XML_EXT;
                break;

            case "FS15":
                modPath = reg.Read(Fs15RegKeys.FS15_PROFILES) + profile + "\\" + profile + XML_EXT;
                break;

            case "FS17":
                modPath = reg.Read(Fs17RegKeys.FS17_PROFILES) + profile + "\\" + profile + XML_EXT;
                break;
            }

            var dic = Serializer.DeserializeDictionary(modPath);

            if (dic.Any(v => string.Equals(v.Key, key, StringComparison.OrdinalIgnoreCase)))
            {
                var mod = reg.Read(Fs17RegKeys.FS17_PROFILES) + profile + "\\" + key;
                dic.Remove(key);
                DeleteFiles.DeleteFilesOrFolders(mod);

                var ls = new ListCreator();
                ls.CreateSortedLists();
                ls.SortedFileListComplete();
                MsgBx.Msg("Operation completed successfully", "Mod Remover");
            }

            Serializer.SerializeDictionary(modPath, dic);

            return(dic);
        }
Пример #27
0
        /// <summary>
        ///     Extracts the archive.
        /// </summary>
        /// <param name="arcName">Name of the arc.</param>
        public static void ExtractArchive(string arcName)
        {
            var reg     = new AtsRegWork(true);
            var gam     = reg.Read(RegKeys.CURRENT_GAME);
            var extPath = string.Empty;
            var archive = string.Empty;
            Dictionary <string, string> dic = null;

            switch (gam)
            {
            case "FS15":
                extPath = reg.Read(Fs15RegKeys.FS15_WORK);
                dic     = Serializer.DeserializeDictionary(
                    reg.Read(Fs15RegKeys.FS15_XML) + "sortedFileListComplete.xml");
                break;

            case "FS17":
                extPath = reg.Read(Fs17RegKeys.FS17_WORK);
                dic     = Serializer.DeserializeDictionary(
                    reg.Read(Fs17RegKeys.FS17_XML) + "sortedFileListComplete.xml");
                break;
            }

            if (dic != null && dic.Any(v => string.Equals(v.Key, arcName, StringComparison.OrdinalIgnoreCase)))
            {
                dic.TryGetValue(arcName, out archive);
            }
            var folderName = arcName.GetNameNoExtension();

            reg.Write(RegKeys.CURRENT_EXTRACTED_FOLDER_PATH, extPath + folderName + "\\");
            archive = archive + arcName;
            if (!archive.FileExists())
            {
                MsgBx.Msg("There was a problem with the path to the Archive", "Process Error");
                return;
            }

            var line = @" x " + Vars.QuoteMark + archive + Vars.QuoteMark + " -o" +
                       Vars.QuoteMark + extPath + "\\" + folderName + Vars.QuoteMark + @" -r";

            ProcessArchive(line);

            MsgBx.Msg("Files have been extracted", "Archive Extractor");
        }
Пример #28
0
        /// <summary>
        ///     Starts the ats.
        /// </summary>
        public void StartAts()
        {
            var ats = new AtsRegWork(true);
            var gam = ats.Read(AtsRegKeys.ATS_START_GAME_PATH);

            if (gam.IsNullOrEmpty())
            {
                var ofd = new OpenFileDialog {
                    CheckFileExists = true,
                    Title           = @"Navigate to the American Truck Simulator Exe"
                };

                ofd.ShowDialog();
                gam = ofd.FileName;
                ats.Write(AtsRegKeys.ATS_START_GAME_PATH, ofd.FileName);
            }

            Process.Start(gam);
        }
Пример #29
0
        private static void CreateFolders()
        {
            var atsw = new AtsRegWork(true);

            var ofd = new FolderBrowserDialog {
                Description         = @"Navigate to where you want the top folder for ATS",
                ShowNewFolderButton = false
            };

            ofd.ShowDialog();
            if (!ofd.SelectedPath.FolderExists())
            {
                return;
            }
            var pth = ofd.SelectedPath;

            FolderCreator.CreatePublicFolders(pth + "\\ATSRepo");
            atsw.Write(AtsRegKeys.ATS_REPO, pth + "\\ATSRepo\\");
            var tmp = pth + "\\ATSRepo\\";

            FolderCreator.CreatePublicFolders(tmp + "ATSExtraction");
            atsw.Write(AtsRegKeys.ATS_EXTRACTION, tmp + "ATSExtraction");
            FolderCreator.CreatePublicFolders(tmp + "ATSProfiles");
            atsw.Write(AtsRegKeys.ATS_PROFILES, tmp + "ATSProfiles\\");
            FolderCreator.CreatePublicFolders(tmp + "ATSGroups");
            atsw.Write(AtsRegKeys.ATS_GROUPS, tmp + "ATSGroups\\");
            FolderCreator.CreatePublicFolders(tmp + "ATSXml");
            atsw.Write(AtsRegKeys.ATS_XML, tmp + "ATSXml\\");
            FolderCreator.CreatePublicFolders(tmp + "ATSWork");
            atsw.Write(AtsRegKeys.ATS_WORK, tmp + "ATSWork\\");

            ofd = new FolderBrowserDialog {
                Description         = @"Navigate to your ATS Game Mod Folder",
                ShowNewFolderButton = false
            };
            ofd.ShowDialog();
            if (ofd.SelectedPath.FolderExists())
            {
                atsw.Write(AtsRegKeys.ATS_GAME_MOD_FOLDER, ofd.SelectedPath + "\\");
            }

            MsgBx.Msg("All folders have been created for ATS", "Game Intializer");
        }
Пример #30
0
        private void editModToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var reg = new AtsRegWork(true);
            var gam = reg.Read(RegKeys.CURRENT_GAME);
            Dictionary <string, string> dic = null;
            const string sortedList         = "sortedFileListComplete.xml";
            var          key = lstAvailableMods.SelectedItem.ToString();
            var          pth = string.Empty;

            switch (gam)
            {
            case "ATS":
                dic = Serializer.DeserializeDictionary(reg.Read(AtsRegKeys.ATS_XML) + sortedList);
                break;

            case "ETS":
                dic = Serializer.DeserializeDictionary(reg.Read(EtsRegKeys.ETS_XML) + sortedList);
                break;

            case "FS15":
                dic = Serializer.DeserializeDictionary(reg.Read(Fs15RegKeys.FS15_XML) + sortedList);
                break;

            case "FS17":
                dic = Serializer.DeserializeDictionary(reg.Read(Fs17RegKeys.FS17_XML) + sortedList);
                break;
            }

            if (dic != null && dic.Any(v => string.Equals(v.Key, key, StringComparison.OrdinalIgnoreCase)))
            {
                dic.TryGetValue(key, out pth);
            }

            reg.Write(RegKeys.CURRENT_ORIGINAL_FILE_EDIT_PATH, pth + "\\" + key);
            var mt = new ModEdit();

            reg.Write(RegKeys.CURRENT_FILE_EDIT, mt.EditMod(lstAvailableMods.SelectedItem.ToString()));
            var frm = new EditMod();

            frm.LoadTree();
            frm.ShowDialog();
        }