public void ParseAndCastCustomDictionary() { string sharedConfig = File.ReadAllText("cast-test.vdf"); VdfDeserializer parser = new VdfDeserializer(); CustomVdfExcerpt result = parser.Deserialize <CustomVdfExcerpt>(sharedConfig); Assert.NotNull(result.Steam.Apps["434460"]); }
public void ParseAndCastWithList() { FileStream sharedConfig = File.OpenRead("cast-test.vdf"); VdfDeserializer parser = new VdfDeserializer(); VdfWithList result = parser.Deserialize <VdfWithList>(sharedConfig); Assert.Equal("Strategy", result.Steam.Apps["434460"].Tags[1]); }
public void ParseAndCastSimple() { FileStream sharedConfig = File.OpenRead("cast-test-basic.vdf"); VdfDeserializer parser = new VdfDeserializer(); SteamBasic result = parser.Deserialize <SteamBasic>(sharedConfig); Assert.Equal("2586173360812765888", result.SurveyDateVersion); Assert.True(result.DesktopShortcutCheck); }
public void ParseAndCastString() { string sharedConfig = File.ReadAllText("cast-test.vdf"); VdfDeserializer parser = new VdfDeserializer(); VdfFileTestExceprt result = parser.Deserialize <VdfFileTestExceprt>(sharedConfig); Assert.Equal("2586173360812765888", result.Steam.SurveyDateVersion); Assert.True(result.Steam.DesktopShortcutCheck); Assert.Equal("Strategy", result.Steam.Apps["434460"].Tags["1"]); }
public void ParseSharedConfig() { FileStream sharedConfig = File.OpenRead("sharedconfig.vdf"); VdfDeserializer parser = new VdfDeserializer(); dynamic result = parser.Deserialize(sharedConfig); Assert.Equal(result.UserRoamingConfigStore.Software.Valve.Steam.SurveyDate, "2017-07-03"); var apps = result.UserRoamingConfigStore.Software.Valve.Steam.Apps as IDictionary <string, dynamic>; var tags = apps["251570"].tags as IDictionary <string, dynamic>; Assert.Equal(tags["0"], "Survival & Horror"); }
private void textBox_SteamPath_TextChanged(object sender, EventArgs e) { if (File.Exists(textBox_SteamPath.Text + @"\steam.exe")) { FileStream sharedConfig = File.OpenRead(textBox_SteamPath.Text + @"\config\loginusers.vdf"); VdfDeserializer parser = new VdfDeserializer(); dynamic result = parser.Deserialize(sharedConfig); var users = result.users as IDictionary <string, dynamic>; foreach (var user in users) { steamid64_user_list.Add(user.Key); var u = user.Value as IDictionary <string, dynamic>; steam_user_list.Add(u["AccountName"]); PersonaName.Add(u["PersonaName"]); } flush_steam_user(); } }
public void Serialize_List() { FileStream sharedConfig = File.OpenRead("cast-test.vdf"); VdfDeserializer parser = new VdfDeserializer(); VdfWithList obj = parser.Deserialize <VdfWithList>(sharedConfig); VdfSerializer serializer = new VdfSerializer(); string result = serializer.Serialize(obj); File.WriteAllText(@"F:\result.txt", result); parser = new VdfDeserializer(); VdfWithList fullLoopDeserialized = parser.Deserialize <VdfWithList>(result); Assert.Equal("Strategy", fullLoopDeserialized.Steam.Apps["434460"].Tags[1]); }
public void Serialize() { FileStream sharedConfig = File.OpenRead("cast-test.vdf"); VdfDeserializer parser = new VdfDeserializer(); VdfFileTestExceprt obj = parser.Deserialize <VdfFileTestExceprt>(sharedConfig); VdfSerializer serializer = new VdfSerializer(); string result = serializer.Serialize(obj); File.WriteAllText(@"F:\result.txt", result); parser = new VdfDeserializer(); VdfFileTestExceprt fullLoopDeserialized = parser.Deserialize <VdfFileTestExceprt>(result); Assert.Equal("2586173360812765888", fullLoopDeserialized.Steam.SurveyDateVersion); Assert.True(fullLoopDeserialized.Steam.DesktopShortcutCheck); Assert.Equal("Strategy", fullLoopDeserialized.Steam.Apps["434460"].Tags["1"]); }
public List<String> GetLibraries() { VdfDeserializer parser = new VdfDeserializer(@"C:\Program Files (x86)\Steam\steamapps\libraryfolders.vdf"); var foldersValue = parser.Deserialize(); return new List<string>(); }
public static void install() { Console.WriteLine("install"); //detect SteamInstallPath String SteamInstallPath = RegistryHandler.Globalread(RegistryHandler.Steam64bitRegistry, RegistryHandler.SteamInstallPathValueName).ToString(); if (!string.IsNullOrEmpty(SteamInstallPath)) { Console.WriteLine("install2"); if (!File.Exists(SteamInstallPath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder86 + "eurotrucks2.exe") && !File.Exists(SteamInstallPath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder64 + "eurotrucks2.exe")) { Console.WriteLine("install3"); //if ETS2 is not found in normal Steam lib folder String SteamLibraryConfigPath = SteamInstallPath + SteamLibraryConfigFile; if (File.Exists(SteamLibraryConfigPath)) { Console.WriteLine("install4"); string testFile = File.ReadAllText(SteamLibraryConfigPath); VdfDeserializer deserializer = new VdfDeserializer(); dynamic result = deserializer.Deserialize(testFile); IDictionary <string, object> result_dictionary = result.LibraryFolders; List <string> SteamLibraries = new List <string>(); for (int i = 1; i < 5; i++) { if (result_dictionary.ContainsKey(i.ToString())) { SteamLibraries.Add(result_dictionary[i.ToString()].ToString()); } } foreach (String Steampath in SteamLibraries) { if (File.Exists(Steampath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder86 + "eurotrucks2.exe") && File.Exists(Steampath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder64 + "eurotrucks2.exe")) { Console.WriteLine("install5"); //create plugins folder if necessary and copy dll if (!Directory.Exists(Steampath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder64 + "plugins")) { Directory.CreateDirectory(Steampath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder64 + "plugins"); } if (File.Exists(Steampath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder64 + @"plugins\scs-telemetry.dll")) { File.Delete(Steampath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder64 + @"plugins\scs-telemetry.dll"); } File.Copy(@"Resources/scs-telemetry.dll", Steampath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder64 + @"plugins\scs-telemetry.dll"); if (!Directory.Exists(Steampath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder86 + "plugins")) { Directory.CreateDirectory(Steampath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder86 + "plugins"); } if (File.Exists(Steampath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder86 + @"plugins\scs-telemetry.dll")) { File.Delete(Steampath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder86 + @"plugins\scs-telemetry.dll"); } File.Copy(@"Resources/scs-telemetry.dll", Steampath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder86 + @"plugins\scs-telemetry.dll"); RegistryHandler.write("ETS2Path", Steampath + @"\steamapps\common\Euro Truck Simulator 2\", "Telemetry"); RegistryHandler.write("Version", Config.TelemetryVersion, "Telemetry"); Console.WriteLine("reg geschrieben"); } } } else { ETS2PathDialog pathwindow = new ETS2PathDialog(); pathwindow.Show(); } } else { Console.WriteLine("install6"); //ETS2 found in normal Steam folder //create plugins folder if necessary and copy dll if (!Directory.Exists(SteamInstallPath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder64 + "plugins")) { Directory.CreateDirectory(SteamInstallPath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder64 + "plugins"); } if (File.Exists(SteamInstallPath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder64 + @"plugins\scs-telemetry.dll")) { File.Delete(SteamInstallPath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder64 + @"plugins\scs-telemetry.dll"); } File.Copy(@"Resources/scs-telemetry.dll", SteamInstallPath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder64 + @"plugins\scs-telemetry.dll"); if (!Directory.Exists(SteamInstallPath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder86 + "plugins")) { Directory.CreateDirectory(SteamInstallPath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder86 + "plugins"); } if (File.Exists(SteamInstallPath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder86 + @"plugins\scs-telemetry.dll")) { File.Delete(SteamInstallPath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder86 + @"plugins\scs-telemetry.dll"); } File.Copy(@"Resources/scs-telemetry.dll", SteamInstallPath + @"\steamapps\common\Euro Truck Simulator 2\bin\" + ETS2Folder86 + @"plugins\scs-telemetry.dll"); RegistryHandler.write("ETS2Path", SteamInstallPath + @"\steamapps\common\Euro Truck Simulator 2\", "Telemetry"); RegistryHandler.write("Version", Config.TelemetryVersion, "Telemetry"); } } else { ETS2PathDialog pathwindow = new ETS2PathDialog(); pathwindow.Show(); } }