Esempio n. 1
0
        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"]);
        }
Esempio n. 2
0
        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]);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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"]);
        }
Esempio n. 5
0
        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");
        }
Esempio n. 6
0
 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();
     }
 }
Esempio n. 7
0
        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"]);
        }
Esempio n. 9
0
 public List<String> GetLibraries()
 {
     VdfDeserializer parser = new VdfDeserializer(@"C:\Program Files (x86)\Steam\steamapps\libraryfolders.vdf");
     var foldersValue = parser.Deserialize();
     return new List<string>();
 }
Esempio n. 10
0
        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();
            }
        }