public void ClearAllMods() { Settings settings = new Settings(); settings.LoadFrom(directory, filename); settings.ModEntries = new List <ModEntry>(); settings.SaveTo(directory, filename); }
public void SetGameData(GameData NewGameData) { Settings settings = new Settings(); settings.LoadFrom(directory, filename); settings.GameData = NewGameData; settings.SaveTo(directory, filename); }
public void ClearAllMods() { Settings settings = new Settings(); settings.LoadFrom(xmlFilePath); settings.ModEntries = new List <ModEntry>(); settings.SaveTo(xmlFilePath); }
public void SetGameData(GameData NewGameData) { Settings settings = new Settings(); settings.LoadFrom(xmlFilePath); settings.GameData = NewGameData; settings.SaveTo(xmlFilePath); }
public void SetInstalledMods(List <ModEntry> NewModData) { Settings settings = new Settings(); settings.LoadFrom(xmlFilePath); settings.ModEntries = NewModData; settings.SaveTo(xmlFilePath); }
public void RemoveMod(ModEntry Mod) { Settings settings = new Settings(); settings.LoadFrom(directory, filename); ModEntry remMod = settings.ModEntries.Find(entry => entry.Name == Mod.Name); settings.ModEntries.Remove(remMod); settings.SaveTo(directory, filename); }
public void RemoveMod(ModEntry Mod) { Settings settings = new Settings(); settings.LoadFrom(xmlFilePath); ModEntry remMod = settings.ModEntries.Find(entry => entry.Name == Mod.Name); settings.ModEntries.Remove(remMod); settings.SaveTo(xmlFilePath); }
public void UpdateDatHash() { Settings settings = new Settings(); settings.LoadFrom(directory, filename); // Hash 01.dat and update settings file string datHash = Tools.GetMd5Hash(ModManager.ZeroPath) + Tools.GetMd5Hash(ModManager.OnePath); settings.GameData.DatHash = datHash; Debug.LogLine(String.Format("[UpdateDatHash] Updated 00/01 dat hash to: {0}", datHash), Debug.LogLevel.All); settings.SaveTo(directory, filename); }
public void AddMod(ModEntry Mod) { Settings settings = new Settings(); settings.LoadFrom(directory, filename); foreach (ModFpkEntry f in Mod.ModFpkEntries) { f.SourceType = FileSource.Mod; f.FpkFile = Tools.ToQarPath(f.FpkFile); f.FilePath = Tools.ToQarPath(f.FilePath); } foreach (ModQarEntry q in Mod.ModQarEntries) { q.SourceType = FileSource.Mod; q.FilePath = Tools.ToQarPath(q.FilePath); } settings.ModEntries.Add(Mod); settings.SaveTo(directory, filename); }
internal void updateQarFileNames() // snakebite supports automatically updating filenames before they're installed, but will need to update old game settings from the prior version. 1-time-check per SB update { Settings settings = new Settings(); settings.LoadFrom(xmlFilePath); HashingExtended.ReadDictionary(); List <string> noUpdateQars = new List <string>(); Dictionary <string, string> newNameDictionary = new Dictionary <string, string>(); int foundUpdate = 0; foreach (ModQarEntry QarEntry in settings.GameData.GameQarEntries) { if (QarEntry.FilePath.StartsWith("/Assets/")) { noUpdateQars.Add(QarEntry.FilePath); continue; } string unhashedName = HashingExtended.UpdateName(QarEntry.FilePath); if (unhashedName != null) { newNameDictionary.Add(QarEntry.FilePath, unhashedName); foundUpdate++; QarEntry.FilePath = unhashedName; } else { noUpdateQars.Add(QarEntry.FilePath); } } if (foundUpdate > 0) { foreach (ModFpkEntry modFpkEntry in settings.GameData.GameFpkEntries.Where(entry => !noUpdateQars.Contains(entry.FpkFile))) { string unHashedName; if (newNameDictionary.TryGetValue(modFpkEntry.FpkFile, out unHashedName)) { modFpkEntry.FpkFile = unHashedName; } } } foreach (ModEntry mod in settings.ModEntries) { noUpdateQars.Clear(); foreach (ModQarEntry modQar in mod.ModQarEntries) { if (modQar.FilePath.StartsWith("/Assets/")) { noUpdateQars.Add(modQar.FilePath); continue; } string unHashedName; if (newNameDictionary.TryGetValue(modQar.FilePath, out unHashedName)) { modQar.FilePath = unHashedName; } else { unHashedName = HashingExtended.UpdateName(modQar.FilePath); if (unHashedName != null) { newNameDictionary.Add(modQar.FilePath, unHashedName); modQar.FilePath = unHashedName; foundUpdate++; } else { noUpdateQars.Add(modQar.FilePath); } } } if (foundUpdate > 0) { foreach (ModFpkEntry modFpkEntry in mod.ModFpkEntries.Where(entry => !noUpdateQars.Contains(entry.FpkFile))) { string unHashedName; if (newNameDictionary.TryGetValue(modFpkEntry.FpkFile, out unHashedName)) { modFpkEntry.FpkFile = unHashedName; } } } } settings.SaveTo(xmlFilePath); }