From 1496457916242970fc09e4df458072f78ba3fdab Mon Sep 17 00:00:00 2001 From: MWRPLLC <133908028+Platinum-Scripts@users.noreply.github.com> Date: Fri, 14 Feb 2025 14:28:46 -0600 Subject: [PATCH] :) --- GtaVMetaMerger.sln | 6 + Program.cs | 294 ++++++++++++++++++++++++--------------------- 2 files changed, 160 insertions(+), 140 deletions(-) diff --git a/GtaVMetaMerger.sln b/GtaVMetaMerger.sln index c534834..f8ae9af 100644 --- a/GtaVMetaMerger.sln +++ b/GtaVMetaMerger.sln @@ -5,6 +5,8 @@ VisualStudioVersion = 17.6.33723.286 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GtaVMetaMerger", "GtaVMetaMerger.csproj", "{8313C1D3-C48A-4295-8994-409E18775AAC}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MetaBeautifier", "..\MetaBeautifier\MetaBeautifier.csproj", "{33CBAA3D-B577-4B06-ABC6-0347866BBBC4}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -15,6 +17,10 @@ Global {8313C1D3-C48A-4295-8994-409E18775AAC}.Debug|Any CPU.Build.0 = Debug|Any CPU {8313C1D3-C48A-4295-8994-409E18775AAC}.Release|Any CPU.ActiveCfg = Release|Any CPU {8313C1D3-C48A-4295-8994-409E18775AAC}.Release|Any CPU.Build.0 = Release|Any CPU + {33CBAA3D-B577-4B06-ABC6-0347866BBBC4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {33CBAA3D-B577-4B06-ABC6-0347866BBBC4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {33CBAA3D-B577-4B06-ABC6-0347866BBBC4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {33CBAA3D-B577-4B06-ABC6-0347866BBBC4}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Program.cs b/Program.cs index 352f837..6a5f394 100644 --- a/Program.cs +++ b/Program.cs @@ -754,230 +754,230 @@ private static void MergePedPersonality(string ruta) CPedModelInfo__PersonalityDataList.AppendChild(MovementModeUnholsterData); //UNHOLSTER_UNARMED MovementModeUnholsterData.AppendChild(ItemUnholsterUnarmed); - NameUnholsterUnarmed.Value = "UNHOLSTER_UNARMED"; + NameUnholsterUnarmed.InnerText = "UNHOLSTER_UNARMED"; ItemUnholsterUnarmed.AppendChild(NameUnholsterUnarmed); ItemUnholsterUnarmed.AppendChild(UnholsterUnarmedUnholsterClips); UnholsterUnarmedUnholsterClips.AppendChild(ItemUnarmedUnholsterUnarmedUnholsterClips); ItemUnarmedUnholsterUnarmedUnholsterClips.AppendChild(WeaponsUnarmedUnholsterUnarmedUnholsterClips); - ClipUnarmedUnholsterUnarmedUnholsterClips.Value = "unarmed_holster_unarmed"; + ClipUnarmedUnholsterUnarmedUnholsterClips.InnerText = "unarmed_holster_unarmed"; ItemUnarmedUnholsterUnarmedUnholsterClips.AppendChild(ClipUnarmedUnholsterUnarmedUnholsterClips); UnholsterUnarmedUnholsterClips.AppendChild(Item2hMeleeUnholsterUnarmedUnholsterClips); Item2hMeleeUnholsterUnarmedUnholsterClips.AppendChild(Weapons2hMeleeUnholsterUnarmedUnholsterClips); - Clip2hMeleeUnholsterUnarmedUnholsterClips.Value = "unarmed_holster_2h_melee"; + Clip2hMeleeUnholsterUnarmedUnholsterClips.InnerText = "unarmed_holster_2h_melee"; Item2hMeleeUnholsterUnarmedUnholsterClips.AppendChild(Clip2hMeleeUnholsterUnarmedUnholsterClips); UnholsterUnarmedUnholsterClips.AppendChild(Item1hUnholsterUnarmedUnholsterClips); Item1hUnholsterUnarmedUnholsterClips.AppendChild(Weapons1hUnholsterUnarmedUnholsterClips); - Clip1hUnholsterUnarmedUnholsterClips.Value = "unarmed_holster_1h"; + Clip1hUnholsterUnarmedUnholsterClips.InnerText = "unarmed_holster_1h"; Item1hUnholsterUnarmedUnholsterClips.AppendChild(Clip1hUnholsterUnarmedUnholsterClips); UnholsterUnarmedUnholsterClips.AppendChild(Item2hUnholsterUnarmedUnholsterClips); Item2hUnholsterUnarmedUnholsterClips.AppendChild(Weapons2hUnholsterUnarmedUnholsterClips); - Clip2hUnholsterUnarmedUnholsterClips.Value = "unarmed_holster_2h"; + Clip2hUnholsterUnarmedUnholsterClips.InnerText = "unarmed_holster_2h"; Item2hUnholsterUnarmedUnholsterClips.AppendChild(Clip2hUnholsterUnarmedUnholsterClips); UnholsterUnarmedUnholsterClips.AppendChild(ItemMiniUnholsterUnarmedUnholsterClips); ItemMiniUnholsterUnarmedUnholsterClips.AppendChild(WeaponsMiniUnholsterUnarmedUnholsterClips); - ClipMiniUnholsterUnarmedUnholsterClips.Value = "unarmed_holster_mini"; + ClipMiniUnholsterUnarmedUnholsterClips.InnerText = "unarmed_holster_mini"; ItemMiniUnholsterUnarmedUnholsterClips.AppendChild(ClipMiniUnholsterUnarmedUnholsterClips); //UNHOLSTER_2H_MELEE MovementModeUnholsterData.AppendChild(ItemUnholster2hMelee); - NameUnholster2hMelee.Value = "UNHOLSTER_2H_MELEE"; + NameUnholster2hMelee.InnerText = "UNHOLSTER_2H_MELEE"; ItemUnholster2hMelee.AppendChild(NameUnholster2hMelee); ItemUnholster2hMelee.AppendChild(Unholster2hMeleeUnholsterClips); Unholster2hMeleeUnholsterClips.AppendChild(Item2hMeleeHolsterUnarmedUnholsterClips); Item2hMeleeHolsterUnarmedUnholsterClips.AppendChild(Weapons2hMeleeHolsterUnarmedUnholsterClips); - Clip2hMeleeHolsterUnarmedUnholsterClips.Value = "unarmed_holster_mini"; + Clip2hMeleeHolsterUnarmedUnholsterClips.InnerText = "unarmed_holster_mini"; Item2hMeleeHolsterUnarmedUnholsterClips.AppendChild(Clip2hMeleeHolsterUnarmedUnholsterClips); Unholster2hMeleeUnholsterClips.AppendChild(Item2hMeleeHolster2hMeleeUnholsterClips); Item2hMeleeHolster2hMeleeUnholsterClips.AppendChild(Weapons2hMeleeHolster2hMeleeUnholsterClips); - Clip2hMeleeHolster2hMeleeUnholsterClips.Value = "2h_melee_holster_2h_melee"; + Clip2hMeleeHolster2hMeleeUnholsterClips.InnerText = "2h_melee_holster_2h_melee"; Item2hMeleeHolster2hMeleeUnholsterClips.AppendChild(Clip2hMeleeHolster2hMeleeUnholsterClips); Unholster2hMeleeUnholsterClips.AppendChild(Item2hMeleeHolster1hUnholsterClips); Item2hMeleeHolster1hUnholsterClips.AppendChild(Weapons2hMeleeHolster1hUnholsterClips); - Clip2hMeleeHolster1hUnholsterClips.Value = "2h_melee_holster_1h"; + Clip2hMeleeHolster1hUnholsterClips.InnerText = "2h_melee_holster_1h"; Item2hMeleeHolster1hUnholsterClips.AppendChild(Clip2hMeleeHolster1hUnholsterClips); Unholster2hMeleeUnholsterClips.AppendChild(Item2hMeleeHolster2hUnholsterClips); Item2hMeleeHolster2hUnholsterClips.AppendChild(Weapons2hMeleeHolster2hUnholsterClips); - Clip2hMeleeHolster2hUnholsterClips.Value = "2h_melee_holster_2h"; + Clip2hMeleeHolster2hUnholsterClips.InnerText = "2h_melee_holster_2h"; Item2hMeleeHolster2hUnholsterClips.AppendChild(Clip2hMeleeHolster2hUnholsterClips); Unholster2hMeleeUnholsterClips.AppendChild(Item2hMeleeHolsterMiniUnholsterClips); Item2hMeleeHolsterMiniUnholsterClips.AppendChild(Weapons2hMeleeHolsterMiniUnholsterClips); - Clip2hMeleeHolsterMiniUnholsterClips.Value = "2h_melee_holster_mini"; + Clip2hMeleeHolsterMiniUnholsterClips.InnerText = "2h_melee_holster_mini"; Item2hMeleeHolsterMiniUnholsterClips.AppendChild(Clip2hMeleeHolsterMiniUnholsterClips); //UNHOLSTER_1H MovementModeUnholsterData.AppendChild(ItemUnholster1h); - NameUnholster1h.Value = "UNHOLSTER_1H"; + NameUnholster1h.InnerText = "UNHOLSTER_1H"; ItemUnholster1h.AppendChild(NameUnholster1h); ItemUnholster1h.AppendChild(Unholster1hUnholsterClips); Unholster1hUnholsterClips.AppendChild(Item1hHolsterUnarmedUnholsterClips); Item1hHolsterUnarmedUnholsterClips.AppendChild(Weapons1hHolsterUnarmedUnholsterClips); - Clip1hHolsterUnarmedUnholsterClips.Value = "1h_holster_unarmed"; + Clip1hHolsterUnarmedUnholsterClips.InnerText = "1h_holster_unarmed"; Item1hHolsterUnarmedUnholsterClips.AppendChild(Clip1hHolsterUnarmedUnholsterClips); Unholster1hUnholsterClips.AppendChild(Item1hHolster2hMeleeUnholsterClips); Item1hHolster2hMeleeUnholsterClips.AppendChild(Weapons1hHolster2hMeleeUnholsterClips); - Clip1hHolster2hMeleeUnholsterClips.Value = "1h_holster_2h_melee"; + Clip1hHolster2hMeleeUnholsterClips.InnerText = "1h_holster_2h_melee"; Item1hHolster2hMeleeUnholsterClips.AppendChild(Clip1hHolster2hMeleeUnholsterClips); Unholster1hUnholsterClips.AppendChild(Item1hHolster1hUnholsterClips); Item1hHolster1hUnholsterClips.AppendChild(Weapons1hHolster1hUnholsterClips); - Clip1hHolster1hUnholsterClips.Value = "1h_holster_1h"; + Clip1hHolster1hUnholsterClips.InnerText = "1h_holster_1h"; Item1hHolster1hUnholsterClips.AppendChild(Clip1hHolster1hUnholsterClips); Unholster1hUnholsterClips.AppendChild(Item1hHolster2hUnholsterClips); Item1hHolster2hUnholsterClips.AppendChild(Weapons1hHolster2hUnholsterClips); - Clip1hHolster2hUnholsterClips.Value = "1h_holster_2h"; + Clip1hHolster2hUnholsterClips.InnerText = "1h_holster_2h"; Item1hHolster2hUnholsterClips.AppendChild(Clip1hHolster2hUnholsterClips); Unholster1hUnholsterClips.AppendChild(Item1hHolsterMiniUnholsterClips); Item1hHolsterMiniUnholsterClips.AppendChild(Weapons1hHolsterMiniUnholsterClips); - Clip1hHolsterMiniUnholsterClips.Value = "1h_holster_mini"; + Clip1hHolsterMiniUnholsterClips.InnerText = "1h_holster_mini"; Item1hHolsterMiniUnholsterClips.AppendChild(Clip1hHolsterMiniUnholsterClips); //UNHOLSTER_2H MovementModeUnholsterData.AppendChild(ItemUnholster2h); - NameUnholster2h.Value = "UNHOLSTER_2H"; + NameUnholster2h.InnerText = "UNHOLSTER_2H"; ItemUnholster2h.AppendChild(NameUnholster2h); ItemUnholster2h.AppendChild(Unholster2hUnholsterClips); Unholster2hUnholsterClips.AppendChild(Item2hHolsterUnarmedUnholsterClips); Item2hHolsterUnarmedUnholsterClips.AppendChild(Weapons2hHolsterUnarmedUnholsterClips); - Clip2hHolsterUnarmedUnholsterClips.Value = "2h_holster_unarmed"; + Clip2hHolsterUnarmedUnholsterClips.InnerText = "2h_holster_unarmed"; Item2hHolsterUnarmedUnholsterClips.AppendChild(Clip2hHolsterUnarmedUnholsterClips); Unholster2hUnholsterClips.AppendChild(Item2hHolster2hMeleeUnholsterClips); Item2hHolster2hMeleeUnholsterClips.AppendChild(Weapons2hHolster2hMeleeUnholsterClips); - Clip2hHolster2hMeleeUnholsterClips.Value = "2h_holster_2h_melee"; + Clip2hHolster2hMeleeUnholsterClips.InnerText = "2h_holster_2h_melee"; Item2hHolster2hMeleeUnholsterClips.AppendChild(Clip2hHolster2hMeleeUnholsterClips); Unholster2hUnholsterClips.AppendChild(Item2hHolster1hUnholsterClips); Item2hHolster1hUnholsterClips.AppendChild(Weapons2hHolster1hUnholsterClips); - Clip2hHolster1hUnholsterClips.Value = "2h_holster_1h"; + Clip2hHolster1hUnholsterClips.InnerText = "2h_holster_1h"; Item2hHolster1hUnholsterClips.AppendChild(Clip2hHolster1hUnholsterClips); Unholster2hUnholsterClips.AppendChild(Item2hHolster2hUnholsterClips); Item2hHolster2hUnholsterClips.AppendChild(Weapons2hHolster2hUnholsterClips); - Clip2hHolster2hUnholsterClips.Value = "2h_holster_2h"; + Clip2hHolster2hUnholsterClips.InnerText = "2h_holster_2h"; Item2hHolster2hUnholsterClips.AppendChild(Clip2hHolster2hUnholsterClips); Unholster2hUnholsterClips.AppendChild(Item2hHolsterMiniUnholsterClips); Item2hHolsterMiniUnholsterClips.AppendChild(Weapons2hHolsterMiniUnholsterClips); - Clip2hHolsterMiniUnholsterClips.Value = "2h_holster_mini"; + Clip2hHolsterMiniUnholsterClips.InnerText = "2h_holster_mini"; Item2hHolsterMiniUnholsterClips.AppendChild(Clip2hHolsterMiniUnholsterClips); //UNHOLSTER_MINIGUN MovementModeUnholsterData.AppendChild(ItemUnholsterMinigun); - NameUnholsterMinigun.Value = "UNHOLSTER_MINIGUN"; + NameUnholsterMinigun.InnerText = "UNHOLSTER_MINIGUN"; ItemUnholsterMinigun.AppendChild(NameUnholsterMinigun); ItemUnholsterMinigun.AppendChild(UnholsterMinigunUnholsterClips); UnholsterMinigunUnholsterClips.AppendChild(ItemMiniHolsterUnarmedUnholsterClips); ItemMiniHolsterUnarmedUnholsterClips.AppendChild(WeaponsMiniHolsterUnarmedUnholsterClips); - ClipMiniHolsterUnarmedUnholsterClips.Value = "mini_holster_2h_unarmed"; + ClipMiniHolsterUnarmedUnholsterClips.InnerText = "mini_holster_2h_unarmed"; ItemMiniHolsterUnarmedUnholsterClips.AppendChild(ClipMiniHolsterUnarmedUnholsterClips); UnholsterMinigunUnholsterClips.AppendChild(ItemMiniHolster2hMeleeUnholsterClips); ItemMiniHolster2hMeleeUnholsterClips.AppendChild(WeaponsMiniHolster2hMeleeUnholsterClips); - ClipMiniHolster2hMeleeUnholsterClips.Value = "mini_holster_2h_melee"; + ClipMiniHolster2hMeleeUnholsterClips.InnerText = "mini_holster_2h_melee"; ItemMiniHolster2hMeleeUnholsterClips.AppendChild(ClipMiniHolster2hMeleeUnholsterClips); UnholsterMinigunUnholsterClips.AppendChild(ItemMiniHolster1hUnholsterClips); ItemMiniHolster1hUnholsterClips.AppendChild(WeaponsMiniHolster1hUnholsterClips); - ClipMiniHolster1hUnholsterClips.Value = "mini_holster_1h"; + ClipMiniHolster1hUnholsterClips.InnerText = "mini_holster_1h"; ItemMiniHolster1hUnholsterClips.AppendChild(ClipMiniHolster1hUnholsterClips); UnholsterMinigunUnholsterClips.AppendChild(ItemMiniHolster2hUnholsterClips); ItemMiniHolster1hUnholsterClips.AppendChild(WeaponsMiniHolster2hUnholsterClips); - ClipMiniHolster2hUnholsterClips.Value = "mini_holster_2h"; + ClipMiniHolster2hUnholsterClips.InnerText = "mini_holster_2h"; ItemMiniHolster2hUnholsterClips.AppendChild(ClipMiniHolster2hUnholsterClips); //UNHOLSTER_UNARMED_STEALTH MovementModeUnholsterData.AppendChild(ItemUnholsterUnarmedStealth); - NameUnholsterUnarmedStealth.Value = "UNHOLSTER_UNARMED_STEALTH"; + NameUnholsterUnarmedStealth.InnerText = "UNHOLSTER_UNARMED_STEALTH"; ItemUnholsterUnarmedStealth.AppendChild(NameUnholsterUnarmedStealth); ItemUnholsterUnarmedStealth.AppendChild(UnholsterUnarmedStealthUnholsterClips); UnholsterUnarmedStealthUnholsterClips.AppendChild(ItemUnarmedStealthHolsterUnarmedUnholsterClips); ItemUnarmedStealthHolsterUnarmedUnholsterClips.AppendChild(WeaponsUnarmedStealthHolsterUnarmedUnholsterClips); - ClipUnarmedStealthHolsterUnarmedUnholsterClips.Value = "unarmed_holster_unarmed"; + ClipUnarmedStealthHolsterUnarmedUnholsterClips.InnerText = "unarmed_holster_unarmed"; ItemUnarmedStealthHolsterUnarmedUnholsterClips.AppendChild(ClipUnarmedStealthHolsterUnarmedUnholsterClips); UnholsterUnarmedStealthUnholsterClips.AppendChild(ItemUnarmedStealthHolster1hUnholsterClips); ItemUnarmedStealthHolster1hUnholsterClips.AppendChild(WeaponsUnarmedStealthHolster1hUnholsterClips); - ClipUnarmedStealthHolster1hUnholsterClips.Value = "unarmed_holster_1h"; + ClipUnarmedStealthHolster1hUnholsterClips.InnerText = "unarmed_holster_1h"; ItemUnarmedStealthHolster1hUnholsterClips.AppendChild(ClipUnarmedStealthHolster1hUnholsterClips); UnholsterUnarmedStealthUnholsterClips.AppendChild(ItemUnarmedStealthHolster2hUnholsterClips); ItemUnarmedStealthHolster2hUnholsterClips.AppendChild(WeaponsUnarmedStealthHolster2hUnholsterClips); - ClipUnarmedStealthHolster2hUnholsterClips.Value = "unarmed_holster_2h"; + ClipUnarmedStealthHolster2hUnholsterClips.InnerText = "unarmed_holster_2h"; ItemUnarmedStealthHolster2hUnholsterClips.AppendChild(ClipUnarmedStealthHolster2hUnholsterClips); UnholsterUnarmedStealthUnholsterClips.AppendChild(ItemUnarmedStealthHolsterMiniUnholsterClips); ItemUnarmedStealthHolsterMiniUnholsterClips.AppendChild(WeaponsUnarmedStealthHolsterMiniUnholsterClips); - ClipUnarmedStealthHolsterMiniUnholsterClips.Value = "unarmed_holster_mini"; + ClipUnarmedStealthHolsterMiniUnholsterClips.InnerText = "unarmed_holster_mini"; ItemUnarmedStealthHolsterMiniUnholsterClips.AppendChild(ClipUnarmedStealthHolsterMiniUnholsterClips); //UNHOLSTER_2H_MELEE_STEALTH MovementModeUnholsterData.AppendChild(ItemUnholster2hMeleeStealth); - NameUnholster2hMeleeStealth.Value = "UNHOLSTER_2H_MELEE_STEALTH"; + NameUnholster2hMeleeStealth.InnerText = "UNHOLSTER_2H_MELEE_STEALTH"; ItemUnholster2hMeleeStealth.AppendChild(NameUnholster2hMeleeStealth); ItemUnholster2hMeleeStealth.AppendChild(Unholster2hMeleeStealthUnholsterClips); Unholster2hMeleeStealthUnholsterClips.AppendChild(Item2hMeleeStealthHolsterUnarmedUnholsterClips); Item2hMeleeStealthHolsterUnarmedUnholsterClips.AppendChild(Weapons2hMeleeStealthHolsterUnarmedUnholsterClips); - Clip2hMeleeStealthHolsterUnarmedUnholsterClips.Value = "unarmed_holster_unarmed"; + Clip2hMeleeStealthHolsterUnarmedUnholsterClips.InnerText = "unarmed_holster_unarmed"; Item2hMeleeStealthHolsterUnarmedUnholsterClips.AppendChild(Clip2hMeleeStealthHolsterUnarmedUnholsterClips); Unholster2hMeleeStealthUnholsterClips.AppendChild(Item2hMeleeStealthHolster1hUnholsterClips); Item2hMeleeStealthHolster1hUnholsterClips.AppendChild(Weapons2hMeleeStealthHolster1hUnholsterClips); - Clip2hMeleeStealthHolster1hUnholsterClips.Value = "unarmed_holster_1h"; + Clip2hMeleeStealthHolster1hUnholsterClips.InnerText = "unarmed_holster_1h"; Item2hMeleeStealthHolster1hUnholsterClips.AppendChild(Clip2hMeleeStealthHolster1hUnholsterClips); Unholster2hMeleeStealthUnholsterClips.AppendChild(Item2hMeleeStealthHolster2hUnholsterClips); Item2hMeleeStealthHolster2hUnholsterClips.AppendChild(Weapons2hMeleeStealthHolster2hUnholsterClips); - Clip2hMeleeStealthHolster2hUnholsterClips.Value = "unarmed_holster_2h"; + Clip2hMeleeStealthHolster2hUnholsterClips.InnerText = "unarmed_holster_2h"; Item2hMeleeStealthHolster2hUnholsterClips.AppendChild(Clip2hMeleeStealthHolster2hUnholsterClips); //UNHOLSTER_1H_STEALTH MovementModeUnholsterData.AppendChild(ItemUnholster1hStealth); - NameUnholster1hStealth.Value = "UNHOLSTER_1H_STEALTH"; + NameUnholster1hStealth.InnerText = "UNHOLSTER_1H_STEALTH"; ItemUnholster1hStealth.AppendChild(NameUnholster1hStealth); ItemUnholster1hStealth.AppendChild(Unholster1hStealthUnholsterClips); Unholster1hStealthUnholsterClips.AppendChild(Item1hStealthHolsterUnarmedUnholsterClips); Item1hStealthHolsterUnarmedUnholsterClips.AppendChild(Weapons1hStealthHolsterUnarmedUnholsterClips); - Clip1hStealthHolsterUnarmedUnholsterClips.Value = "1h_holster_unarmed"; + Clip1hStealthHolsterUnarmedUnholsterClips.InnerText = "1h_holster_unarmed"; Item1hStealthHolsterUnarmedUnholsterClips.AppendChild(Clip1hStealthHolsterUnarmedUnholsterClips); Unholster1hStealthUnholsterClips.AppendChild(Item1hStealthHolster1hUnholsterClips); Item1hStealthHolster1hUnholsterClips.AppendChild(Weapons1hStealthHolster1hUnholsterClips); - Clip1hStealthHolster1hUnholsterClips.Value = "1h_holster_1h"; + Clip1hStealthHolster1hUnholsterClips.InnerText = "1h_holster_1h"; Item1hStealthHolster1hUnholsterClips.AppendChild(Clip1hStealthHolster1hUnholsterClips); Unholster1hStealthUnholsterClips.AppendChild(Item1hStealthHolster2hUnholsterClips); Item1hStealthHolster2hUnholsterClips.AppendChild(Weapons1hStealthHolster2hUnholsterClips); - Clip1hStealthHolster2hUnholsterClips.Value = "1h_holster_2h"; + Clip1hStealthHolster2hUnholsterClips.InnerText = "1h_holster_2h"; Item1hStealthHolster2hUnholsterClips.AppendChild(Clip1hStealthHolster2hUnholsterClips); //UNHOLSTER_2H_STEALTH MovementModeUnholsterData.AppendChild(ItemUnholster2hStealth); - NameUnholster2hStealth.Value = "UNHOLSTER_2H_STEALTH"; + NameUnholster2hStealth.InnerText = "UNHOLSTER_2H_STEALTH"; ItemUnholster2hStealth.AppendChild(NameUnholster2hStealth); ItemUnholster2hStealth.AppendChild(Unholster2hStealthUnholsterClips); Unholster2hStealthUnholsterClips.AppendChild(Item2hStealthHolsterUnarmedUnholsterClips); Item2hStealthHolsterUnarmedUnholsterClips.AppendChild(Weapons2hStealthHolsterUnarmedUnholsterClips); - Clip2hStealthHolsterUnarmedUnholsterClips.Value = "2h_holster_unarmed"; + Clip2hStealthHolsterUnarmedUnholsterClips.InnerText = "2h_holster_unarmed"; Item2hStealthHolsterUnarmedUnholsterClips.AppendChild(Clip2hStealthHolsterUnarmedUnholsterClips); Unholster2hStealthUnholsterClips.AppendChild(Item2hStealthHolster1hUnholsterClips); Item2hStealthHolster1hUnholsterClips.AppendChild(Weapons2hStealthHolster1hUnholsterClips); - Clip2hStealthHolster1hUnholsterClips.Value = "2h_holster_1h"; + Clip2hStealthHolster1hUnholsterClips.InnerText = "2h_holster_1h"; Item2hStealthHolster1hUnholsterClips.AppendChild(Clip2hStealthHolster1hUnholsterClips); Unholster2hStealthUnholsterClips.AppendChild(Item2hStealthHolster2hUnholsterClips); Item2hStealthHolster2hUnholsterClips.AppendChild(Weapons2hStealthHolster2hUnholsterClips); - Clip2hStealthHolster2hUnholsterClips.Value = "2h_holster_2h"; + Clip2hStealthHolster2hUnholsterClips.InnerText = "2h_holster_2h"; Item2hStealthHolster2hUnholsterClips.AppendChild(Clip2hStealthHolster2hUnholsterClips); //MovementModes CPedModelInfo__PersonalityDataList.AppendChild(MovementModes); //DEFAULT_ACTION MovementModes.AppendChild(ItemDefaultAction); - NameDefaultAction.Value = "DEFAULT_ACTION"; + NameDefaultAction.InnerText = "DEFAULT_ACTION"; ItemDefaultAction.AppendChild(NameDefaultAction); ItemDefaultAction.AppendChild(DefaultActionMovementNodes); DefaultActionMovementNodes.AppendChild(ItemDefaultActionNormal); DefaultActionMovementNodes.AppendChild(ItemDefaultActionStealth); //MP_FEMALE_ACTION MovementModes.AppendChild(ItemMpFemaleAction); - NameMpFemaleAction.Value = "MP_FEMALE_ACTION"; + NameMpFemaleAction.InnerText = "MP_FEMALE_ACTION"; ItemMpFemaleAction.AppendChild(NameMpFemaleAction); ItemMpFemaleAction.AppendChild(MpFemaleActionMovementNodes); MpFemaleActionMovementNodes.AppendChild(ItemMpFemaleActionNormal); MpFemaleActionMovementNodes.AppendChild(ItemMpFemaleActionStealth); //MICHAEL_ACTION MovementModes.AppendChild(ItemMichaelAction); - NameMichaelAction.Value = "MICHAEL_ACTION"; + NameMichaelAction.InnerText = "MICHAEL_ACTION"; ItemMichaelAction.AppendChild(NameMichaelAction); ItemMichaelAction.AppendChild(MichaelActionMovementNodes); MichaelActionMovementNodes.AppendChild(ItemMichaelActionNormal); MichaelActionMovementNodes.AppendChild(ItemMichaelActionStealth); //FRANKLIN_ACTION MovementModes.AppendChild(ItemFranklinAction); - NameFranklinAction.Value = "FRANKLIN_ACTION"; + NameFranklinAction.InnerText = "FRANKLIN_ACTION"; ItemFranklinAction.AppendChild(NameFranklinAction); ItemFranklinAction.AppendChild(FranklinActionMovementNodes); FranklinActionMovementNodes.AppendChild(ItemFranklinActionNormal); FranklinActionMovementNodes.AppendChild(ItemFranklinActionStealth); //TREVOR_ACTION MovementModes.AppendChild(ItemTrevorAction); - NameTrevorAction.Value = "TREVOR_ACTION"; + NameTrevorAction.InnerText = "TREVOR_ACTION"; ItemTrevorAction.AppendChild(NameTrevorAction); ItemTrevorAction.AppendChild(TrevorActionMovementNodes); TrevorActionMovementNodes.AppendChild(ItemTrevorActionNormal); @@ -1468,6 +1468,12 @@ private static void MergeWeaponComponents(string ruta) try { xmlDocument.Load(file); + if (xmlDocument.DocumentElement == null || xmlDocument.DocumentElement.Name != "CWeaponInfoBlob") + { + Console.WriteLine("Skipping file " + file + " (unexpected root element: " + xmlDocument.DocumentElement?.Name + ")"); + continue; + } + XmlNodeList nodes = xmlDocument.SelectNodes("/CWeaponComponentInfoBlob/Infos/Item"); for (int i = 0; i < nodes.Count; i++) @@ -1575,7 +1581,7 @@ private static void MergeWeaponAnimations(string ruta) CWeaponAnimationsSets.AppendChild(WeaponAnimationsSets); ItemBallistic.SetAttribute("key", "Ballistic"); WeaponAnimationsSets.AppendChild(ItemBallistic); - Fallback.Value = "Default"; + Fallback.InnerText = "Default"; ItemBallistic.AppendChild(Fallback); ItemBallistic.AppendChild(WeaponAnimationsBallistic); ItemDefault.SetAttribute("key", "Default"); @@ -1691,8 +1697,12 @@ private static void MergeWeapons(string ruta) Console.WriteLine("Begin weapons.meta merge"); bool ok = true; + // Create the new XML document and build the base structure. XmlDocument nuevo = new(); XmlNode CWeaponInfoBlob = nuevo.CreateElement("CWeaponInfoBlob"); + nuevo.AppendChild(CWeaponInfoBlob); + + // Create sections. XmlNode SlotNavigateOrder = nuevo.CreateElement("SlotNavigateOrder"); XmlNode SlotBestOrder = nuevo.CreateElement("SlotBestOrder"); XmlNode TintSpecValues = nuevo.CreateElement("TintSpecValues"); @@ -1700,20 +1710,11 @@ private static void MergeWeapons(string ruta) XmlNode UpperBodyFixupExpressionData = nuevo.CreateElement("UpperBodyFixupExpressionData"); XmlNode AimingInfos = nuevo.CreateElement("AimingInfos"); XmlNode Infos = nuevo.CreateElement("Infos"); - XmlNode ItemInfosAmmo = nuevo.CreateElement("Item"); - XmlNode InfosItemInfosAmmo = nuevo.CreateElement("Infos"); - XmlNode ItemInfosWeapons = nuevo.CreateElement("Item"); - XmlNode InfosItemInfosWeapons = nuevo.CreateElement("Infos"); - XmlNode ItemInfosVehicleWeapons = nuevo.CreateElement("Item"); - XmlNode InfosItemInfosVehicleWeapons = nuevo.CreateElement("Infos"); - XmlNode ItemInfosEnviromental = nuevo.CreateElement("Item"); - XmlNode InfosItemInfosEnviromental = nuevo.CreateElement("Infos"); XmlNode VehicleWeaponInfos = nuevo.CreateElement("VehicleWeaponInfos"); XmlNode WeaponGroupDamageForArmouredVehicleGlass = nuevo.CreateElement("WeaponGroupDamageForArmouredVehicleGlass"); XmlNode Name = nuevo.CreateElement("Name"); - XmlWriter writer = XmlWriter.Create("output/weapons/weapons.meta", settings); - Matcher matcher = new Matcher().AddInclude("**/weapons.meta").AddInclude("**/weapon*.meta"); + // Build the document structure. CWeaponInfoBlob.AppendChild(SlotNavigateOrder); CWeaponInfoBlob.AppendChild(SlotBestOrder); CWeaponInfoBlob.AppendChild(TintSpecValues); @@ -1721,19 +1722,17 @@ private static void MergeWeapons(string ruta) CWeaponInfoBlob.AppendChild(UpperBodyFixupExpressionData); CWeaponInfoBlob.AppendChild(AimingInfos); CWeaponInfoBlob.AppendChild(Infos); - Infos.AppendChild(ItemInfosAmmo); - ItemInfosAmmo.AppendChild(InfosItemInfosAmmo); - Infos.AppendChild(ItemInfosWeapons); - ItemInfosWeapons.AppendChild(InfosItemInfosWeapons); - Infos.AppendChild(ItemInfosVehicleWeapons); - ItemInfosVehicleWeapons.AppendChild(InfosItemInfosVehicleWeapons); - Infos.AppendChild(ItemInfosEnviromental); - ItemInfosEnviromental.AppendChild(InfosItemInfosEnviromental); CWeaponInfoBlob.AppendChild(VehicleWeaponInfos); CWeaponInfoBlob.AppendChild(WeaponGroupDamageForArmouredVehicleGlass); CWeaponInfoBlob.AppendChild(Name); - Name.Value = Guid.NewGuid().ToString(); + // Give it a new name. + Name.InnerText = Guid.NewGuid().ToString(); + + XmlWriter writer = XmlWriter.Create("output/weapons/weapons.meta", settings); + Matcher matcher = new Matcher() + .AddInclude("**/weapons.meta") + .AddInclude("**/weapon*.meta"); foreach (string file in matcher.GetResultsInFullPath(ruta)) { @@ -1742,102 +1741,110 @@ private static void MergeWeapons(string ruta) try { xmlDocument.Load(file); - XmlNodeList nodes = xmlDocument.SelectNodes("/CWeaponInfoBlob/SlotNavigateOrder/Item"); + if (xmlDocument.DocumentElement == null) + { + Console.WriteLine("Skipping file " + file + " (no root element)."); + continue; + } + // Only process files with the expected root. + if (xmlDocument.DocumentElement.Name != "CWeaponInfoBlob") + { + Console.WriteLine("Skipping file " + file + " (root element is " + xmlDocument.DocumentElement.Name + ")."); + continue; + } - for (int i = 0; i < nodes.Count; i++) + // Merge SlotNavigateOrder. + XmlNodeList nodes = xmlDocument.SelectNodes("/CWeaponInfoBlob/SlotNavigateOrder/Item"); + if (nodes != null) { - XmlNode node = SlotNavigateOrder.OwnerDocument.ImportNode(nodes[i], true); - SlotNavigateOrder.AppendChild(node); + foreach (XmlNode n in nodes) + { + SlotNavigateOrder.AppendChild(nuevo.ImportNode(n, true)); + } } + // Merge SlotBestOrder. nodes = xmlDocument.SelectNodes("/CWeaponInfoBlob/SlotBestOrder/Item"); - - for (int i = 0; i < nodes.Count; i++) + if (nodes != null) { - XmlNode node = SlotBestOrder.OwnerDocument.ImportNode(nodes[i], true); - SlotBestOrder.AppendChild(node); + foreach (XmlNode n in nodes) + { + SlotBestOrder.AppendChild(nuevo.ImportNode(n, true)); + } } + // Merge TintSpecValues. nodes = xmlDocument.SelectNodes("/CWeaponInfoBlob/TintSpecValues/Item"); - - for (int i = 0; i < nodes.Count; i++) + if (nodes != null) { - XmlNode node = TintSpecValues.OwnerDocument.ImportNode(nodes[i], true); - TintSpecValues.AppendChild(node); + foreach (XmlNode n in nodes) + { + TintSpecValues.AppendChild(nuevo.ImportNode(n, true)); + } } + // Merge FiringPatternAliases. nodes = xmlDocument.SelectNodes("/CWeaponInfoBlob/FiringPatternAliases/Item"); - - for (int i = 0; i < nodes.Count; i++) + if (nodes != null) { - XmlNode node = FiringPatternAliases.OwnerDocument.ImportNode(nodes[i], true); - FiringPatternAliases.AppendChild(node); + foreach (XmlNode n in nodes) + { + FiringPatternAliases.AppendChild(nuevo.ImportNode(n, true)); + } } + // Merge UpperBodyFixupExpressionData. nodes = xmlDocument.SelectNodes("/CWeaponInfoBlob/UpperBodyFixupExpressionData/Item"); - - for (int i = 0; i < nodes.Count; i++) + if (nodes != null) { - XmlNode node = UpperBodyFixupExpressionData.OwnerDocument.ImportNode(nodes[i], true); - UpperBodyFixupExpressionData.AppendChild(node); + foreach (XmlNode n in nodes) + { + UpperBodyFixupExpressionData.AppendChild(nuevo.ImportNode(n, true)); + } } + // Merge AimingInfos. nodes = xmlDocument.SelectNodes("/CWeaponInfoBlob/AimingInfos/Item"); - - for (int i = 0; i < nodes.Count; i++) + if (nodes != null) { - XmlNode node = AimingInfos.OwnerDocument.ImportNode(nodes[i], true); - AimingInfos.AppendChild(node); + foreach (XmlNode n in nodes) + { + AimingInfos.AppendChild(nuevo.ImportNode(n, true)); + } } + // Merge Infos: simply import all nodes under . nodes = xmlDocument.SelectNodes("/CWeaponInfoBlob/Infos/Item"); - - XmlNodeList infoNodes = nodes[0].SelectNodes("/infos/item"); - - for (int i = 0; i < infoNodes.Count; i++) - { - XmlNode node = InfosItemInfosAmmo.OwnerDocument.ImportNode(infoNodes[i], true); - InfosItemInfosAmmo.AppendChild(node); - } - - infoNodes = nodes[1].SelectNodes("/infos/item"); - - for (int i = 0; i < infoNodes.Count; i++) + if (nodes != null) { - XmlNode node = InfosItemInfosWeapons.OwnerDocument.ImportNode(infoNodes[i], true); - InfosItemInfosWeapons.AppendChild(node); - } - - infoNodes = nodes[2].SelectNodes("/infos/item"); - - for (int i = 0; i < infoNodes.Count; i++) - { - XmlNode node = InfosItemInfosVehicleWeapons.OwnerDocument.ImportNode(infoNodes[i], true); - InfosItemInfosVehicleWeapons.AppendChild(node); + foreach (XmlNode n in nodes) + { + Infos.AppendChild(nuevo.ImportNode(n, true)); + } } - - infoNodes = nodes[3].SelectNodes("/infos/item"); - - for (int i = 0; i < infoNodes.Count; i++) + else { - XmlNode node = InfosItemInfosEnviromental.OwnerDocument.ImportNode(infoNodes[i], true); - InfosItemInfosEnviromental.AppendChild(node); + Console.WriteLine("No Infos/Item nodes found in file " + file); } + // Merge VehicleWeaponInfos. nodes = xmlDocument.SelectNodes("/CWeaponInfoBlob/VehicleWeaponInfos/Item"); - - for (int i = 0; i < nodes.Count; i++) + if (nodes != null) { - XmlNode node = VehicleWeaponInfos.OwnerDocument.ImportNode(nodes[i], true); - VehicleWeaponInfos.AppendChild(node); + foreach (XmlNode n in nodes) + { + VehicleWeaponInfos.AppendChild(nuevo.ImportNode(n, true)); + } } + // Merge WeaponGroupDamageForArmouredVehicleGlass. nodes = xmlDocument.SelectNodes("/CWeaponInfoBlob/WeaponGroupDamageForArmouredVehicleGlass/Item"); - - for (int i = 0; i < nodes.Count; i++) + if (nodes != null) { - XmlNode node = WeaponGroupDamageForArmouredVehicleGlass.OwnerDocument.ImportNode(nodes[i], true); - WeaponGroupDamageForArmouredVehicleGlass.AppendChild(node); + foreach (XmlNode n in nodes) + { + WeaponGroupDamageForArmouredVehicleGlass.AppendChild(nuevo.ImportNode(n, true)); + } } } catch (XmlException ex) @@ -1850,6 +1857,7 @@ private static void MergeWeapons(string ruta) break; } } + CWeaponInfoBlob.WriteTo(writer); writer.Close(); @@ -1861,6 +1869,7 @@ private static void MergeWeapons(string ruta) } } + private static void ExtractVehicleNames() { if (File.Exists("output/vehicles/vehicles.meta")) @@ -2478,19 +2487,24 @@ private static void MergeStream(string ruta, string category) foreach (string path in Directory.GetDirectories(ruta)) { - foreach (FileInfo file in new DirectoryInfo(Path.Combine(path, "stream")).EnumerateFiles()) + // check if a stream folder exists + if (Directory.Exists(Path.Combine(path, "stream"))) { - string destFile = Path.Combine(outputDir, file.Name); - - if (File.Exists(destFile)) + foreach (FileInfo file in new DirectoryInfo(Path.Combine(path, "stream")).EnumerateFiles()) { - Console.ForegroundColor = ConsoleColor.Yellow; - Console.WriteLine("Overwriting file " + destFile); - Console.ResetColor(); - } + string destFile = Path.Combine(outputDir, file.Name); - file.CopyTo(destFile, true); + if (File.Exists(destFile)) + { + Console.ForegroundColor = ConsoleColor.Yellow; + Console.WriteLine("Overwriting file " + destFile); + Console.ResetColor(); + } + + file.CopyTo(destFile, true); + } } + } Console.ForegroundColor = ConsoleColor.Green;