From 3046a31d86243a87060e3c6d5ec023d841956b92 Mon Sep 17 00:00:00 2001 From: killerwife Date: Sun, 2 Feb 2025 20:05:22 +0100 Subject: [PATCH] Significantly improve 1.15.5 create object parsing --- .../Enums/Version/V1_15_5_57638/Opcodes.cs | 2 +- .../PerksProgramHandler.cs | 4 +- .../Parsers/UpdateFieldsHandler1155.cs | 184 +++++------------- .../V1_15_5_57638/ActivePlayerData.cs | 7 + .../UpdateFields/V1_15_5_57638/BitVector.cs | 17 ++ .../UpdateFields/V1_15_5_57638/BitVectors.cs | 2 +- 6 files changed, 82 insertions(+), 134 deletions(-) create mode 100644 WowPacketParserModule.V4_4_0_54481/UpdateFields/V1_15_5_57638/BitVector.cs diff --git a/WowPacketParser/Enums/Version/V1_15_5_57638/Opcodes.cs b/WowPacketParser/Enums/Version/V1_15_5_57638/Opcodes.cs index 6b556663e9..04520b59ff 100644 --- a/WowPacketParser/Enums/Version/V1_15_5_57638/Opcodes.cs +++ b/WowPacketParser/Enums/Version/V1_15_5_57638/Opcodes.cs @@ -1952,7 +1952,7 @@ public static BiDictionary Opcodes(Direction direction) { Opcode.SMSG_SET_MAX_WEEKLY_QUANTITY, 0x370036 }, { Opcode.SMSG_SET_MELEE_ANIM_KIT, 0x3701C8 }, { Opcode.SMSG_SET_MOVEMENT_ANIM_KIT, 0x3701C7 }, - { Opcode.SMSG_SET_PCT_SPELL_MODIFIER, 0x510028 }, + // { Opcode.SMSG_SET_PCT_SPELL_MODIFIER, 0x510028 }, { Opcode.SMSG_SET_PET_SPECIALIZATION, 0x3700BB }, { Opcode.SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, 0x4A000B }, { Opcode.SMSG_SET_PLAY_HOVER_ANIM, 0x370052 }, diff --git a/WowPacketParserModule.Substructures/PerksProgramHandler.cs b/WowPacketParserModule.Substructures/PerksProgramHandler.cs index 21a0113494..18f029535c 100644 --- a/WowPacketParserModule.Substructures/PerksProgramHandler.cs +++ b/WowPacketParserModule.Substructures/PerksProgramHandler.cs @@ -17,11 +17,11 @@ public static void ReadPerksVendorItem(Packet packet, params object[] indexes) packet.ReadInt32("TransmogIllusionID", indexes); packet.ReadInt32("ToyID", indexes); packet.ReadInt32("Price", indexes); - if (ClientVersion.AddedInVersion(ClientVersionBuild.V11_0_7_58123)) + if (ClientVersion.AddedInVersion(ClientBranch.Retail, ClientVersionBuild.V11_0_7_58123)) packet.ReadInt32("OriginalPrice", indexes); packet.ReadTime64("AvailableUntil", indexes); packet.ReadBit("Disabled", indexes); - if (ClientVersion.AddedInVersion(ClientVersionBuild.V11_0_5_57171)) + if (ClientVersion.AddedInVersion(ClientBranch.Retail, ClientVersionBuild.V11_0_5_57171)) packet.ReadBit("DoesNotExpire", indexes); } } diff --git a/WowPacketParserModule.V4_4_0_54481/Parsers/UpdateFieldsHandler1155.cs b/WowPacketParserModule.V4_4_0_54481/Parsers/UpdateFieldsHandler1155.cs index 1babe7b52c..29f2007a49 100644 --- a/WowPacketParserModule.V4_4_0_54481/Parsers/UpdateFieldsHandler1155.cs +++ b/WowPacketParserModule.V4_4_0_54481/Parsers/UpdateFieldsHandler1155.cs @@ -673,11 +673,11 @@ public override IUnitData ReadCreateUnitData(Packet packet, UpdateFieldFlag flag { data.Resistances[i] = packet.ReadInt32("Resistances", indexes, i); } - } - for (var i = 0; i < 7; ++i) - { - data.ResistanceBuffModsPositive[i] = packet.ReadInt32("ResistanceBuffModsPositive", indexes, i); - data.ResistanceBuffModsNegative[i] = packet.ReadInt32("ResistanceBuffModsNegative", indexes, i); + for (var i = 0; i < 7; ++i) + { + data.ResistanceBuffModsPositive[i] = packet.ReadInt32("ResistanceBuffModsPositive", indexes, i); + data.ResistanceBuffModsNegative[i] = packet.ReadInt32("ResistanceBuffModsNegative", indexes, i); + } } if ((flags & UpdateFieldFlag.Owner) != UpdateFieldFlag.None) { @@ -1704,6 +1704,7 @@ public override IPlayerData ReadCreatePlayerData(Packet packet, UpdateFieldFlag { data.VisualItemReplacements[i] = packet.ReadInt32("VisualItemReplacements", indexes, i); } + packet.ResetBitReader(); data.Name = new string('*', (int)packet.ReadBits(6)); hasDeclinedNames = packet.ReadBit("HasDeclinedNames", indexes); Substructures.MythicPlusHandler.ReadDungeonScoreSummary(packet, indexes, "DungeonScore"); @@ -2079,13 +2080,21 @@ public static IBitVectors ReadCreateBitVectors(Packet packet, params object[] in { var data = new BitVectors(); packet.ResetBitReader(); - for (var i = 0; i < 11; ++i) + for (var i = 0; i < 13; ++i) { - data.Values[i].Resize(packet.ReadUInt32()); - for (var j = 0; j < data.Values[i].Count; ++j) - { - data.Values[i][j] = packet.ReadUInt64("Values", indexes, i, j); - } + data.Values[i] = ReadCreateBitVector(packet, indexes, "Values", i); + } + return data; + } + + public static IBitVector ReadCreateBitVector(Packet packet, params object[] indexes) + { + var data = new BitVector(); + packet.ResetBitReader(); + data.Values.Resize(packet.ReadUInt32()); + for (var i = 0; i < data.Values.Count; ++i) + { + data.Values[i] = packet.ReadUInt64("Values", indexes, i); } return data; } @@ -2102,21 +2111,21 @@ public static IBitVectors ReadUpdateBitVectors(Packet packet, params object[] in { for (var i = 0; i < 11; ++i) { - data.Values[i].ReadUpdateMask(packet); + // data.Values[i].ReadUpdateMask(packet); } } if (changesMask[0]) { - for (var i = 0; i < 11; ++i) - { - for (var j = 0; j < data.Values[i].Count; ++j) - { - if (data.Values[i].UpdateMask[j]) - { - data.Values[i][j] = packet.ReadUInt64("Values", indexes, i, j); - } - } - } + //for (var i = 0; i < 11; ++i) + //{ + // for (var j = 0; j < data.Values[i].Count; ++j) + // { + // if (data.Values[i].UpdateMask[j]) + // { + // data.Values[i][j] = packet.ReadUInt64("Values", indexes, i, j); + // } + // } + //} } packet.ResetBitReader(); return data; @@ -3605,10 +3614,7 @@ public override IActivePlayerData ReadCreateActivePlayerData(Packet packet, Upda { var data = new ActivePlayerData(); packet.ResetBitReader(); - var hasQuestSession = false; var hasPetStable = false; - var hasWalkInData = false; - var hasDelveData = false; for (var i = 0; i < 146; ++i) { data.InvSlots[i] = packet.ReadPackedGuid128("InvSlots", indexes, i); @@ -3692,8 +3698,6 @@ public override IActivePlayerData ReadCreateActivePlayerData(Packet packet, Upda data.BuybackPrice[i] = packet.ReadUInt32("BuybackPrice", indexes, i); data.BuybackTimestamp[i] = packet.ReadInt64("BuybackTimestamp", indexes, i); } - packet.ReadUInt32("padding", indexes); - packet.ReadUInt32("padding", indexes); data.TodayHonorableKills = packet.ReadUInt16("TodayHonorableKills", indexes); data.TodayDishonorableKills = packet.ReadUInt16("TodayDishonorableKills", indexes); data.YesterdayHonorableKills = packet.ReadUInt16("YesterdayHonorableKills", indexes); @@ -3741,7 +3745,7 @@ public override IActivePlayerData ReadCreateActivePlayerData(Packet packet, Upda { data.BagSlotFlags[i] = packet.ReadUInt32("BagSlotFlags", indexes, i); } - for (var i = 0; i < 7; ++i) + for (var i = 0; i < 6; ++i) { data.BankBagSlotFlags[i] = packet.ReadUInt32("BankBagSlotFlags", indexes, i); } @@ -3752,12 +3756,11 @@ public override IActivePlayerData ReadCreateActivePlayerData(Packet packet, Upda data.Honor = packet.ReadInt32("Honor", indexes); data.HonorNextLevel = packet.ReadInt32("HonorNextLevel", indexes); data.Field_F74 = packet.ReadInt32("Field_F74", indexes); - // data.Field_1261 = packet.ReadByte("Field_1261", indexes); + data.Field_1261 = packet.ReadByte("Field_1261", indexes); data.PerksProgramCurrency = packet.ReadInt32("PerksProgramCurrency", indexes); data.PvpTierMaxFromWins = packet.ReadInt32("PvpTierMaxFromWins", indexes); - data.PvpLastWeeksTierMaxFromWins = packet.ReadInt32("PvpLastWeeksTierMaxFromWins", indexes); data.NumBankSlots = packet.ReadByte("NumBankSlots", indexes); - data.NumAccountBankTabs = packet.ReadByte("NumAccountBankTabs", indexes); + packet.ReadUInt32("UNK_1", indexes); for (var i = 0; i < 1; ++i) { data.ResearchSites[i].Resize(packet.ReadUInt32()); @@ -3778,48 +3781,35 @@ public override IActivePlayerData ReadCreateActivePlayerData(Packet packet, Upda } data.DailyQuestsCompleted.Resize(packet.ReadUInt32()); data.AvailableQuestLineXQuestIDs.Resize(packet.ReadUInt32()); + data.Field_1000.Resize(packet.ReadUInt32()); data.Heirlooms.Resize(packet.ReadUInt32()); data.HeirloomFlags.Resize(packet.ReadUInt32()); data.Toys.Resize(packet.ReadUInt32()); - // data.ToyFlags.Resize(packet.ReadUInt32()); data.Transmog.Resize(packet.ReadUInt32()); data.ConditionalTransmog.Resize(packet.ReadUInt32()); data.SelfResSpells.Resize(packet.ReadUInt32()); - data.RuneforgePowers.Resize(packet.ReadUInt32()); - data.TransmogIllusions.Resize(packet.ReadUInt32()); data.CharacterRestrictions.Resize(packet.ReadUInt32()); data.SpellPctModByLabel.Resize(packet.ReadUInt32()); data.SpellFlatModByLabel.Resize(packet.ReadUInt32()); - // data.MawPowers.Resize(packet.ReadUInt32()); - // data.MultiFloorExploration.Resize(packet.ReadUInt32()); - // data.RecipeProgression.Resize(packet.ReadUInt32()); - // data.ReplayedQuests.Resize(packet.ReadUInt32()); - // data.TaskQuests.Resize(packet.ReadUInt32()); - // data.DisabledSpells.Resize(packet.ReadUInt32()); - data.UiChromieTimeExpansionID = packet.ReadInt32("UiChromieTimeExpansionID", indexes); + data.TaskQuests.Resize(packet.ReadUInt32()); data.TimerunningSeasonID = packet.ReadInt32("TimerunningSeasonID", indexes); data.TransportServerTime = packet.ReadInt32("TransportServerTime", indexes); - data.WeeklyRewardsPeriodSinceOrigin = packet.ReadUInt32("WeeklyRewardsPeriodSinceOrigin", indexes); - data.DEBUGSoulbindConduitRank = packet.ReadInt16("DEBUGSoulbindConduitRank", indexes); data.TraitConfigs.Resize(packet.ReadUInt32()); data.ActiveCombatTraitConfigID = packet.ReadUInt32("ActiveCombatTraitConfigID", indexes); - // data.CraftingOrders.Resize(packet.ReadUInt32()); - // data.PersonalCraftingOrderCounts.Resize(packet.ReadUInt32()); - // data.NpcCraftingOrders.Resize(packet.ReadUInt32()); + for (var i = 0; i < 6; ++i) + { + data.GlyphSlots[i] = packet.ReadUInt32("GlyphSlots", indexes, i); + data.Glyphs[i] = packet.ReadUInt32("Glyphs", indexes, i); + } + data.GlyphsEnabled = packet.ReadUInt16("GlyphsEnabled", indexes); + data.LfgRoles = packet.ReadByte("LfgRoles", indexes); data.CategoryCooldownMods.Resize(packet.ReadUInt32()); data.WeeklySpellUses.Resize(packet.ReadUInt32()); - for (var i = 0; i < 17; ++i) - { - data.ItemUpgradeHighWatermark[i] = packet.ReadSingle("ItemUpgradeHighWatermark", indexes, i); - } - data.ItemUpgradeHighOnehandWeaponItemID = packet.ReadInt32("ItemUpgradeHighOnehandWeaponItemID", indexes); - data.ItemUpgradeHighFingerItemID = packet.ReadInt32("ItemUpgradeHighFingerItemID", indexes); - data.ItemUpgradeHighFingerWatermark = packet.ReadSingle("ItemUpgradeHighFingerWatermark", indexes); - data.ItemUpgradeHighTrinketItemID = packet.ReadInt32("ItemUpgradeHighTrinketItemID", indexes); - data.ItemUpgradeHighTrinketWatermark = packet.ReadSingle("ItemUpgradeHighTrinketWatermark", indexes); - data.LootHistoryInstanceID = packet.ReadUInt64("LootHistoryInstanceID", indexes); - data.TrackedCollectableSources.Resize(packet.ReadUInt32()); - data.RequiredMountCapabilityFlags = packet.ReadByte("RequiredMountCapabilityFlags", indexes); + data.NumStableSlots = packet.ReadByte("NumStableSlots", indexes); + for (var i = 0; i < 13; ++i) + { + data.Field_4348[i] = packet.ReadUInt64("Field_4348", indexes, i); + } for (var i = 0; i < data.KnownTitles.Count; ++i) { data.KnownTitles[i] = packet.ReadUInt64("KnownTitles", indexes, i); @@ -3832,6 +3822,10 @@ public override IActivePlayerData ReadCreateActivePlayerData(Packet packet, Upda { data.AvailableQuestLineXQuestIDs[i] = packet.ReadInt32("AvailableQuestLineXQuestIDs", indexes, i); } + for (var i = 0; i < data.Field_1000.Count; ++i) + { + data.Field_1000[i] = packet.ReadInt32("Field_1000", indexes, i); + } for (var i = 0; i < data.Heirlooms.Count; ++i) { data.Heirlooms[i] = packet.ReadInt32("Heirlooms", indexes, i); @@ -3844,10 +3838,6 @@ public override IActivePlayerData ReadCreateActivePlayerData(Packet packet, Upda { data.Toys[i] = packet.ReadInt32("Toys", indexes, i); } - for (var i = 0; i < data.ToyFlags.Count; ++i) - { - data.ToyFlags[i] = packet.ReadUInt32("ToyFlags", indexes, i); - } for (var i = 0; i < data.Transmog.Count; ++i) { data.Transmog[i] = packet.ReadUInt32("Transmog", indexes, i); @@ -3860,14 +3850,6 @@ public override IActivePlayerData ReadCreateActivePlayerData(Packet packet, Upda { data.SelfResSpells[i] = packet.ReadInt32("SelfResSpells", indexes, i); } - for (var i = 0; i < data.RuneforgePowers.Count; ++i) - { - data.RuneforgePowers[i] = packet.ReadUInt32("RuneforgePowers", indexes, i); - } - for (var i = 0; i < data.TransmogIllusions.Count; ++i) - { - data.TransmogIllusions[i] = packet.ReadUInt32("TransmogIllusions", indexes, i); - } for (var i = 0; i < data.SpellPctModByLabel.Count; ++i) { data.SpellPctModByLabel[i] = ReadCreateSpellPctModByLabel(packet, indexes, "SpellPctModByLabel", i); @@ -3876,38 +3858,10 @@ public override IActivePlayerData ReadCreateActivePlayerData(Packet packet, Upda { data.SpellFlatModByLabel[i] = ReadCreateSpellFlatModByLabel(packet, indexes, "SpellFlatModByLabel", i); } - for (var i = 0; i < data.MawPowers.Count; ++i) - { - data.MawPowers[i] = ReadCreateMawPower(packet, indexes, "MawPowers", i); - } - for (var i = 0; i < data.MultiFloorExploration.Count; ++i) - { - data.MultiFloorExploration[i] = ReadCreateMultiFloorExplore(packet, indexes, "MultiFloorExploration", i); - } - for (var i = 0; i < data.RecipeProgression.Count; ++i) - { - data.RecipeProgression[i] = ReadCreateRecipeProgressionInfo(packet, indexes, "RecipeProgression", i); - } - for (var i = 0; i < data.ReplayedQuests.Count; ++i) - { - data.ReplayedQuests[i] = ReadCreateReplayedQuest(packet, indexes, "ReplayedQuests", i); - } for (var i = 0; i < data.TaskQuests.Count; ++i) { data.TaskQuests[i] = ReadCreateQuestLog(packet, indexes, "TaskQuests", i); } - for (var i = 0; i < data.DisabledSpells.Count; ++i) - { - data.DisabledSpells[i] = packet.ReadInt32("DisabledSpells", indexes, i); - } - for (var i = 0; i < data.PersonalCraftingOrderCounts.Count; ++i) - { - data.PersonalCraftingOrderCounts[i] = ReadCreatePersonalCraftingOrderCount(packet, indexes, "PersonalCraftingOrderCounts", i); - } - for (var i = 0; i < data.NpcCraftingOrders.Count; ++i) - { - data.NpcCraftingOrders[i] = ReadCreateNPCCraftingOrderInfo(packet, indexes, "NpcCraftingOrders", i); - } for (var i = 0; i < data.CategoryCooldownMods.Count; ++i) { data.CategoryCooldownMods[i] = ReadCreateCategoryCooldownMod(packet, indexes, "CategoryCooldownMods", i); @@ -3916,31 +3870,17 @@ public override IActivePlayerData ReadCreateActivePlayerData(Packet packet, Upda { data.WeeklySpellUses[i] = ReadCreateWeeklySpellUse(packet, indexes, "WeeklySpellUses", i); } - for (var i = 0; i < data.TrackedCollectableSources.Count; ++i) + for (var i = 0; i < 9; ++i) { - data.TrackedCollectableSources[i] = ReadCreateCollectableSourceTrackedData(packet, indexes, "TrackedCollectableSources", i); + data.PvpInfo[i] = ReadCreatePVPInfo(packet, indexes, "PvpInfo", i); } packet.ResetBitReader(); - data.BackpackAutoSortDisabled = packet.ReadBit("BackpackAutoSortDisabled", indexes); - data.BackpackSellJunkDisabled = packet.ReadBit("BackpackSellJunkDisabled", indexes); - data.BankAutoSortDisabled = packet.ReadBit("BankAutoSortDisabled", indexes); data.SortBagsRightToLeft = packet.ReadBit("SortBagsRightToLeft", indexes); data.InsertItemsLeftToRight = packet.ReadBit("InsertItemsLeftToRight", indexes); - data.HasPerksProgramPendingReward = packet.ReadBit("HasPerksProgramPendingReward", indexes); - hasQuestSession = packet.ReadBit("HasQuestSession", indexes); hasPetStable = packet.ReadBit("HasPetStable", indexes); data.AccountBankTabSettings.Resize(packet.ReadBits(3)); - hasWalkInData = packet.ReadBit("HasWalkInData", indexes); - hasDelveData = packet.ReadBit("HasDelveData", indexes); - packet.ResetBitReader(); data.ResearchHistory = ReadCreateResearchHistory(packet, indexes, "ResearchHistory"); - if (hasQuestSession) - { - /*data.QuestSession = */ ReadCreateQuestSession(packet, indexes, "QuestSession"); - } Substructures.PerksProgramHandler.ReadPerksVendorItem(packet, indexes, "FrozenPerksVendorItem"); - /*data.Field_1410 =*/ ReadCreateActivePlayerUnk901(packet, indexes, "Field_1410"); - Substructures.MythicPlusHandler.ReadDungeonScoreData(packet, indexes, "DungeonScore"); for (var i = 0; i < data.CharacterDataElements.Count; ++i) { data.CharacterDataElements[i] = ReadCreatePlayerDataElement(packet, indexes, "CharacterDataElements", i); @@ -3949,10 +3889,6 @@ public override IActivePlayerData ReadCreateActivePlayerData(Packet packet, Upda { data.AccountDataElements[i] = ReadCreatePlayerDataElement(packet, indexes, "AccountDataElements", i); } - for (var i = 0; i < data.PvpInfo.Count; ++i) - { - data.PvpInfo[i] = ReadCreatePVPInfo(packet, indexes, "PvpInfo", i); - } for (var i = 0; i < data.CharacterRestrictions.Count; ++i) { data.CharacterRestrictions[i] = ReadCreateCharacterRestriction(packet, indexes, "CharacterRestrictions", i); @@ -3961,10 +3897,6 @@ public override IActivePlayerData ReadCreateActivePlayerData(Packet packet, Upda { data.TraitConfigs[i] = ReadCreateTraitConfig(packet, indexes, "TraitConfigs", i); } - for (var i = 0; i < data.CraftingOrders.Count; ++i) - { - data.CraftingOrders[i] = ReadCreateCraftingOrder(packet, indexes, "CraftingOrders", i); - } if (hasPetStable) { data.PetStable = ReadCreateStableInfo(packet, indexes, "PetStable"); @@ -3973,14 +3905,6 @@ public override IActivePlayerData ReadCreateActivePlayerData(Packet packet, Upda { data.AccountBankTabSettings[i] = ReadCreateBankTabSettings(packet, indexes, "AccountBankTabSettings", i); } - if (hasWalkInData) - { - data.WalkInData = ReadCreateWalkInData(packet, indexes, "WalkInData"); - } - if (hasDelveData) - { - data.DelveData = ReadCreateDelveData(packet, indexes, "DelveData"); - } return data; } diff --git a/WowPacketParserModule.V4_4_0_54481/UpdateFields/V1_15_5_57638/ActivePlayerData.cs b/WowPacketParserModule.V4_4_0_54481/UpdateFields/V1_15_5_57638/ActivePlayerData.cs index a935cd0b81..3b4ed71898 100644 --- a/WowPacketParserModule.V4_4_0_54481/UpdateFields/V1_15_5_57638/ActivePlayerData.cs +++ b/WowPacketParserModule.V4_4_0_54481/UpdateFields/V1_15_5_57638/ActivePlayerData.cs @@ -125,6 +125,10 @@ public class ActivePlayerData : IActivePlayerData public System.Nullable TimerunningSeasonID { get; set; } public System.Nullable TransportServerTime { get; set; } public System.Nullable WeeklyRewardsPeriodSinceOrigin { get; set; } + public System.Nullable[] GlyphSlots { get; } = new System.Nullable[6]; + public System.Nullable[] Glyphs { get; } = new System.Nullable[6]; + public System.Nullable GlyphsEnabled { get; set; } + public System.Nullable LfgRoles { get; set; } public System.Nullable DEBUGSoulbindConduitRank { get; set; } public System.Nullable ActiveCombatTraitConfigID { get; set; } public System.Nullable[] ItemUpgradeHighWatermark { get; } = new System.Nullable[17]; @@ -135,6 +139,8 @@ public class ActivePlayerData : IActivePlayerData public System.Nullable ItemUpgradeHighTrinketWatermark { get; set; } public System.Nullable LootHistoryInstanceID { get; set; } public IStableInfo PetStable { get; set; } + public System.Nullable NumStableSlots { get; set; } + public System.Nullable[] Field_4348 { get; } = new System.Nullable[13]; public System.Nullable RequiredMountCapabilityFlags { get; set; } public IWalkInData WalkInData { get; set; } public IDelveData DelveData { get; set; } @@ -144,6 +150,7 @@ public class ActivePlayerData : IActivePlayerData public DynamicUpdateField> KnownTitles { get; } = new DynamicUpdateField>(); public DynamicUpdateField> DailyQuestsCompleted { get; } = new DynamicUpdateField>(); public DynamicUpdateField> AvailableQuestLineXQuestIDs { get; } = new DynamicUpdateField>(); + public DynamicUpdateField> Field_1000 { get; } = new DynamicUpdateField>(); public DynamicUpdateField> Heirlooms { get; } = new DynamicUpdateField>(); public DynamicUpdateField> HeirloomFlags { get; } = new DynamicUpdateField>(); public DynamicUpdateField> Toys { get; } = new DynamicUpdateField>(); diff --git a/WowPacketParserModule.V4_4_0_54481/UpdateFields/V1_15_5_57638/BitVector.cs b/WowPacketParserModule.V4_4_0_54481/UpdateFields/V1_15_5_57638/BitVector.cs new file mode 100644 index 0000000000..26f56ae16c --- /dev/null +++ b/WowPacketParserModule.V4_4_0_54481/UpdateFields/V1_15_5_57638/BitVector.cs @@ -0,0 +1,17 @@ +// +// DO NOT EDIT +// + +using System.CodeDom.Compiler; +using WowPacketParser.Misc; +using WowPacketParser.Store.Objects.UpdateFields; + +namespace WowPacketParserModule.V4_4_0_54481.UpdateFields.V1_15_5_57638 +{ + [GeneratedCode("UpdateFieldCodeGenerator.Formats.WowPacketParserHandler", "1.0.0.0")] + public class BitVector : IBitVector + { + public DynamicUpdateField> Values { get; } = new DynamicUpdateField>(); + } +} + diff --git a/WowPacketParserModule.V4_4_0_54481/UpdateFields/V1_15_5_57638/BitVectors.cs b/WowPacketParserModule.V4_4_0_54481/UpdateFields/V1_15_5_57638/BitVectors.cs index 52b255e3e0..9e56ad0c6c 100644 --- a/WowPacketParserModule.V4_4_0_54481/UpdateFields/V1_15_5_57638/BitVectors.cs +++ b/WowPacketParserModule.V4_4_0_54481/UpdateFields/V1_15_5_57638/BitVectors.cs @@ -11,7 +11,7 @@ namespace WowPacketParserModule.V4_4_0_54481.UpdateFields.V1_15_5_57638 [GeneratedCode("UpdateFieldCodeGenerator.Formats.WowPacketParserHandler", "1.0.0.0")] public class BitVectors : IBitVectors { - public DynamicUpdateField>[] Values { get; } = new DynamicUpdateField>[11] { new DynamicUpdateField>(), new DynamicUpdateField>(), new DynamicUpdateField>(), new DynamicUpdateField>(), new DynamicUpdateField>(), new DynamicUpdateField>(), new DynamicUpdateField>(), new DynamicUpdateField>(), new DynamicUpdateField>(), new DynamicUpdateField>(), new DynamicUpdateField>() }; + public IBitVector[] Values { get; } = new IBitVector[13]; } }