diff options
author | Shauren <shauren.trinity@gmail.com> | 2017-04-06 23:39:34 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2017-04-06 23:39:34 +0200 |
commit | d20dedebd6a322e1204fa911b4a2ddc7e2c3e67a (patch) | |
tree | 02f823f14e41a8481dc3d46f94bbca4404988e38 /src/server | |
parent | 886e9e839b304b7567dd655e4fa3afb2251c96ca (diff) |
Core/DataStores: Updated db2 structures to 7.2.0
Diffstat (limited to 'src/server')
23 files changed, 1976 insertions, 973 deletions
diff --git a/src/server/database/Database/Implementation/HotfixDatabase.cpp b/src/server/database/Database/Implementation/HotfixDatabase.cpp index d4a5637487a..22f4a3bb614 100644 --- a/src/server/database/Database/Implementation/HotfixDatabase.cpp +++ b/src/server/database/Database/Implementation/HotfixDatabase.cpp @@ -31,8 +31,8 @@ void HotfixDatabaseConnection::DoPrepareStatements() m_stmts.resize(MAX_HOTFIXDATABASE_STATEMENTS); // Achievement.db2 - PrepareStatement(HOTFIX_SEL_ACHIEVEMENT, "SELECT Title, Description, Flags, Reward, MapID, Supercedes, Category, UIOrder, IconID, SharesCriteria, " - "CriteriaTree, Faction, Points, MinimumCriteria, ID FROM achievement ORDER BY ID DESC", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_ACHIEVEMENT, "SELECT Title, Description, Flags, Reward, MapID, Supercedes, Category, UIOrder, SharesCriteria, " + "CriteriaTree, Faction, Points, MinimumCriteria, ID, IconFileDataID FROM achievement ORDER BY ID DESC", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_ACHIEVEMENT, "SELECT ID, Title_lang, Description_lang, Reward_lang FROM achievement_locale WHERE locale = ?", CONNECTION_SYNCH); // AnimKit.db2 @@ -57,12 +57,12 @@ void HotfixDatabaseConnection::DoPrepareStatements() // Artifact.db2 PrepareStatement(HOTFIX_SEL_ARTIFACT, "SELECT ID, Name, BarConnectedColor, BarDisconnectedColor, TitleColor, ClassUiTextureKitID, SpecID, " - "ArtifactCategoryID, Flags FROM artifact ORDER BY ID DESC", CONNECTION_SYNCH); + "ArtifactCategoryID, Flags, UiModelSceneID, SpellVisualKitID FROM artifact ORDER BY ID DESC", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_ARTIFACT, "SELECT ID, Name_lang FROM artifact_locale WHERE locale = ?", CONNECTION_SYNCH); // ArtifactAppearance.db2 PrepareStatement(HOTFIX_SEL_ARTIFACT_APPEARANCE, "SELECT Name, SwatchColor, ModelDesaturation, ModelAlpha, ShapeshiftDisplayID, " - "ArtifactAppearanceSetID, PlayerConditionID, Unknown, DisplayIndex, AppearanceModID, Flags, ModifiesShapeshiftFormDisplay, ID, " + "ArtifactAppearanceSetID, Unknown, DisplayIndex, AppearanceModID, Flags, ModifiesShapeshiftFormDisplay, ID, PlayerConditionID, " "ItemAppearanceID, AltItemAppearanceID FROM artifact_appearance ORDER BY ID DESC", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_ARTIFACT_APPEARANCE, "SELECT ID, Name_lang FROM artifact_appearance_locale WHERE locale = ?", CONNECTION_SYNCH); @@ -76,7 +76,8 @@ void HotfixDatabaseConnection::DoPrepareStatements() " ORDER BY ID DESC", CONNECTION_SYNCH); // ArtifactPower.db2 - PrepareStatement(HOTFIX_SEL_ARTIFACT_POWER, "SELECT PosX, PosY, ArtifactID, Flags, MaxRank, ID, RelicType FROM artifact_power ORDER BY ID DESC", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_ARTIFACT_POWER, "SELECT PosX, PosY, ArtifactID, Flags, MaxRank, ArtifactTier, ID, RelicType FROM artifact_power" + " ORDER BY ID DESC", CONNECTION_SYNCH); // ArtifactPowerLink.db2 PrepareStatement(HOTFIX_SEL_ARTIFACT_POWER_LINK, "SELECT ID, FromArtifactPowerID, ToArtifactPowerID FROM artifact_power_link ORDER BY ID DESC", CONNECTION_SYNCH); @@ -112,17 +113,19 @@ void HotfixDatabaseConnection::DoPrepareStatements() // BattlePetSpecies.db2 PrepareStatement(HOTFIX_SEL_BATTLE_PET_SPECIES, "SELECT CreatureID, IconFileID, SummonSpellID, SourceText, Description, Flags, PetType, Source, " - "ID FROM battle_pet_species ORDER BY ID DESC", CONNECTION_SYNCH); + "ID, CardModelSceneID, LoadoutModelSceneID FROM battle_pet_species ORDER BY ID DESC", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_BATTLE_PET_SPECIES, "SELECT ID, SourceText_lang, Description_lang FROM battle_pet_species_locale WHERE locale = ?", CONNECTION_SYNCH); // BattlePetSpeciesState.db2 PrepareStatement(HOTFIX_SEL_BATTLE_PET_SPECIES_STATE, "SELECT ID, Value, SpeciesID, State FROM battle_pet_species_state ORDER BY ID DESC", CONNECTION_SYNCH); // BattlemasterList.db2 - PrepareStatement(HOTFIX_SEL_BATTLEMASTER_LIST, "SELECT ID, Name, IconFileDataID, GameType, MapID1, MapID2, MapID3, MapID4, MapID5, MapID6, " - "MapID7, MapID8, MapID9, MapID10, MapID11, MapID12, MapID13, MapID14, MapID15, MapID16, HolidayWorldState, PlayerConditionID, InstanceType, " - "GroupsAllowed, MaxGroupSize, MinLevel, MaxLevel, RatedPlayers, MinPlayers, MaxPlayers, Flags FROM battlemaster_list ORDER BY ID DESC", CONNECTION_SYNCH); - PREPARE_LOCALE_STMT(HOTFIX_SEL_BATTLEMASTER_LIST, "SELECT ID, Name_lang, GameType_lang FROM battlemaster_list_locale WHERE locale = ?", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_BATTLEMASTER_LIST, "SELECT ID, Name, IconFileDataID, GameType, ShortDescription, LongDescription, MapID1, MapID2, " + "MapID3, MapID4, MapID5, MapID6, MapID7, MapID8, MapID9, MapID10, MapID11, MapID12, MapID13, MapID14, MapID15, MapID16, HolidayWorldState, " + "PlayerConditionID, InstanceType, GroupsAllowed, MaxGroupSize, MinLevel, MaxLevel, RatedPlayers, MinPlayers, MaxPlayers, Flags" + " FROM battlemaster_list ORDER BY ID DESC", CONNECTION_SYNCH); + PREPARE_LOCALE_STMT(HOTFIX_SEL_BATTLEMASTER_LIST, "SELECT ID, Name_lang, GameType_lang, ShortDescription_lang, LongDescription_lang" + " FROM battlemaster_list_locale WHERE locale = ?", CONNECTION_SYNCH); // BroadcastText.db2 PrepareStatement(HOTFIX_SEL_BROADCAST_TEXT, "SELECT ID, MaleText, FemaleText, EmoteID1, EmoteID2, EmoteID3, EmoteDelay1, EmoteDelay2, " @@ -159,20 +162,19 @@ void HotfixDatabaseConnection::DoPrepareStatements() PrepareStatement(HOTFIX_SEL_CHR_RACES, "SELECT ID, Flags, ClientPrefix, ClientFileString, Name, NameFemale, NameMale, FacialHairCustomization1, " "FacialHairCustomization2, HairCustomization, CreateScreenFileDataID, SelectScreenFileDataID, MaleCustomizeOffset1, MaleCustomizeOffset2, " "MaleCustomizeOffset3, FemaleCustomizeOffset1, FemaleCustomizeOffset2, FemaleCustomizeOffset3, LowResScreenFileDataID, FactionID, " - "ExplorationSoundID, MaleDisplayID, FemaleDisplayID, ResSicknessSpellID, SplashSoundID, CinematicSequenceID, UAMaleCreatureSoundDataID, " - "UAFemaleCreatureSoundDataID, BaseLanguage, CreatureType, TeamID, RaceRelated, UnalteredVisualRaceID, CharComponentTextureLayoutID, " - "DefaultClassID, NeutralRaceID, ItemAppearanceFrameRaceID, CharComponentTexLayoutHiResID, HighResMaleDisplayID, HighResFemaleDisplayID, Unk1, " - "Unk2, Unk3 FROM chr_races ORDER BY ID DESC", CONNECTION_SYNCH); + "MaleDisplayID, FemaleDisplayID, ResSicknessSpellID, SplashSoundID, CinematicSequenceID, BaseLanguage, CreatureType, TeamID, RaceRelated, " + "UnalteredVisualRaceID, CharComponentTextureLayoutID, DefaultClassID, NeutralRaceID, ItemAppearanceFrameRaceID, " + "CharComponentTexLayoutHiResID, HighResMaleDisplayID, HighResFemaleDisplayID, Unk1, Unk2, Unk3 FROM chr_races ORDER BY ID DESC", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_CHR_RACES, "SELECT ID, Name_lang, NameFemale_lang, NameMale_lang FROM chr_races_locale WHERE locale = ?", CONNECTION_SYNCH); // ChrSpecialization.db2 - PrepareStatement(HOTFIX_SEL_CHR_SPECIALIZATION, "SELECT MasterySpellID1, MasterySpellID2, Name, Name2, Description, SpellIconID, ClassID, " - "OrderIndex, PetTalentType, Role, PrimaryStatOrder, ID, Flags, AnimReplacementSetID FROM chr_specialization ORDER BY ID DESC", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_CHR_SPECIALIZATION, "SELECT MasterySpellID1, MasterySpellID2, Name, Name2, Description, ClassID, OrderIndex, " + "PetTalentType, Role, PrimaryStatOrder, ID, IconFileDataID, Flags, AnimReplacementSetID FROM chr_specialization ORDER BY ID DESC", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_CHR_SPECIALIZATION, "SELECT ID, Name_lang, Name2_lang, Description_lang FROM chr_specialization_locale" " WHERE locale = ?", CONNECTION_SYNCH); // CinematicCamera.db2 - PrepareStatement(HOTFIX_SEL_CINEMATIC_CAMERA, "SELECT ID, Model, OriginX, OriginY, OriginZ, OriginFacing, SoundID FROM cinematic_camera" + PrepareStatement(HOTFIX_SEL_CINEMATIC_CAMERA, "SELECT ID, SoundID, OriginX, OriginY, OriginZ, OriginFacing, ModelFileDataID FROM cinematic_camera" " ORDER BY ID DESC", CONNECTION_SYNCH); // CinematicSequences.db2 @@ -180,10 +182,10 @@ void HotfixDatabaseConnection::DoPrepareStatements() " FROM cinematic_sequences ORDER BY ID DESC", CONNECTION_SYNCH); // CreatureDisplayInfo.db2 - PrepareStatement(HOTFIX_SEL_CREATURE_DISPLAY_INFO, "SELECT ID, ExtendedDisplayInfoID, CreatureModelScale, PlayerModelScale, TextureVariation1, " - "TextureVariation2, TextureVariation3, PortraitTextureName, PortraitCreatureDisplayInfoID, CreatureGeosetData, StateSpellVisualKitID, " - "InstanceOtherPlayerPetScale, ModelID, SoundID, NPCSoundID, ParticleColorID, ObjectEffectPackageID, AnimReplacementSetID, CreatureModelAlpha, " - "SizeClass, BloodID, Flags, Gender, Unk700 FROM creature_display_info ORDER BY ID DESC", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_CREATURE_DISPLAY_INFO, "SELECT ID, CreatureModelScale, ModelID, NPCSoundID, SizeClass, Flags, Gender, " + "ExtendedDisplayInfoID, TextureVariation1, TextureVariation2, TextureVariation3, PortraitTextureFileDataID, CreatureModelAlpha, SoundID, " + "PlayerModelScale, PortraitCreatureDisplayInfoID, BloodID, ParticleColorID, CreatureGeosetData, ObjectEffectPackageID, AnimReplacementSetID, " + "UnarmedWeaponSubclass, StateSpellVisualKitID, InstanceOtherPlayerPetScale, MountSpellVisualKitID FROM creature_display_info ORDER BY ID DESC", CONNECTION_SYNCH); // CreatureDisplayInfoExtra.db2 PrepareStatement(HOTFIX_SEL_CREATURE_DISPLAY_INFO_EXTRA, "SELECT ID, FileDataID, HDFileDataID, DisplayRaceID, DisplaySexID, DisplayClassID, " @@ -191,8 +193,8 @@ void HotfixDatabaseConnection::DoPrepareStatements() " FROM creature_display_info_extra ORDER BY ID DESC", CONNECTION_SYNCH); // CreatureFamily.db2 - PrepareStatement(HOTFIX_SEL_CREATURE_FAMILY, "SELECT ID, MinScale, MaxScale, Name, IconFile, SkillLine1, SkillLine2, PetFoodMask, MinScaleLevel, " - "MaxScaleLevel, PetTalentType FROM creature_family ORDER BY ID DESC", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_CREATURE_FAMILY, "SELECT ID, MinScale, MaxScale, Name, IconFileDataID, SkillLine1, SkillLine2, PetFoodMask, " + "MinScaleLevel, MaxScaleLevel, PetTalentType FROM creature_family ORDER BY ID DESC", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_CREATURE_FAMILY, "SELECT ID, Name_lang FROM creature_family_locale WHERE locale = ?", CONNECTION_SYNCH); // CreatureModelData.db2 @@ -211,7 +213,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() "StartEvent, FailEvent, Flags, EligibilityWorldStateValue FROM criteria ORDER BY ID DESC", CONNECTION_SYNCH); // CriteriaTree.db2 - PrepareStatement(HOTFIX_SEL_CRITERIA_TREE, "SELECT ID, CriteriaID, Amount, Description, Parent, Flags, Operator, OrderIndex FROM criteria_tree" + PrepareStatement(HOTFIX_SEL_CRITERIA_TREE, "SELECT ID, Amount, Description, Parent, Flags, Operator, CriteriaID, OrderIndex FROM criteria_tree" " ORDER BY ID DESC", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_CRITERIA_TREE, "SELECT ID, Description_lang FROM criteria_tree_locale WHERE locale = ?", CONNECTION_SYNCH); @@ -235,14 +237,14 @@ void HotfixDatabaseConnection::DoPrepareStatements() " FROM destructible_model_data ORDER BY ID DESC", CONNECTION_SYNCH); // Difficulty.db2 - PrepareStatement(HOTFIX_SEL_DIFFICULTY, "SELECT ID, Name, FallbackDifficultyID, InstanceType, MinPlayers, MaxPlayers, OldEnumValue, Flags, " - "ToggleDifficultyID, GroupSizeHealthCurveID, GroupSizeDmgCurveID, GroupSizeSpellPointsCurveID, ItemBonusTreeModID, OrderIndex FROM difficulty" - " ORDER BY ID DESC", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_DIFFICULTY, "SELECT ID, Name, GroupSizeHealthCurveID, GroupSizeDmgCurveID, GroupSizeSpellPointsCurveID, " + "FallbackDifficultyID, InstanceType, MinPlayers, MaxPlayers, OldEnumValue, Flags, ToggleDifficultyID, ItemBonusTreeModID, OrderIndex" + " FROM difficulty ORDER BY ID DESC", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_DIFFICULTY, "SELECT ID, Name_lang FROM difficulty_locale WHERE locale = ?", CONNECTION_SYNCH); // DungeonEncounter.db2 - PrepareStatement(HOTFIX_SEL_DUNGEON_ENCOUNTER, "SELECT ID, Name, CreatureDisplayID, MapID, SpellIconID, DifficultyID, Bit, Flags, OrderIndex" - " FROM dungeon_encounter ORDER BY ID DESC", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_DUNGEON_ENCOUNTER, "SELECT Name, CreatureDisplayID, MapID, DifficultyID, Bit, Flags, ID, OrderIndex, " + "TextureFileDataID FROM dungeon_encounter ORDER BY ID DESC", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_DUNGEON_ENCOUNTER, "SELECT ID, Name_lang FROM dungeon_encounter_locale WHERE locale = ?", CONNECTION_SYNCH); // DurabilityCosts.db2 @@ -272,7 +274,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() "ReputationBase1, ReputationBase2, ReputationBase3, ReputationBase4, ParentFactionModIn, ParentFactionModOut, Name, Description, " "ReputationMax1, ReputationMax2, ReputationMax3, ReputationMax4, ReputationIndex, ReputationClassMask1, ReputationClassMask2, " "ReputationClassMask3, ReputationClassMask4, ReputationFlags1, ReputationFlags2, ReputationFlags3, ReputationFlags4, ParentFactionID, " - "ParentFactionCapIn, ParentFactionCapOut, Expansion, Flags, FriendshipRepID FROM faction ORDER BY ID DESC", CONNECTION_SYNCH); + "ParagonFactionID, ParentFactionCapIn, ParentFactionCapOut, Expansion, Flags, FriendshipRepID FROM faction ORDER BY ID DESC", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_FACTION, "SELECT ID, Name_lang, Description_lang FROM faction_locale WHERE locale = ?", CONNECTION_SYNCH); // FactionTemplate.db2 @@ -314,11 +316,12 @@ void HotfixDatabaseConnection::DoPrepareStatements() // GarrFollower.db2 PrepareStatement(HOTFIX_SEL_GARR_FOLLOWER, "SELECT HordeCreatureID, AllianceCreatureID, HordeSourceText, AllianceSourceText, HordePortraitIconID, " - "AlliancePortraitIconID, HordeAddedBroadcastTextID, AllianceAddedBroadcastTextID, HordeGarrFollItemSetID, AllianceGarrFollItemSetID, " + "AlliancePortraitIconID, HordeAddedBroadcastTextID, AllianceAddedBroadcastTextID, Name, HordeGarrFollItemSetID, AllianceGarrFollItemSetID, " "ItemLevelWeapon, ItemLevelArmor, HordeListPortraitTextureKitID, AllianceListPortraitTextureKitID, FollowerTypeID, HordeUiAnimRaceInfoID, " "AllianceUiAnimRaceInfoID, Quality, HordeGarrClassSpecID, AllianceGarrClassSpecID, Level, Unknown1, Flags, Unknown2, Unknown3, GarrTypeID, " "MaxDurability, Class, HordeFlavorTextGarrStringID, AllianceFlavorTextGarrStringID, ID FROM garr_follower ORDER BY ID DESC", CONNECTION_SYNCH); - PREPARE_LOCALE_STMT(HOTFIX_SEL_GARR_FOLLOWER, "SELECT ID, HordeSourceText_lang, AllianceSourceText_lang FROM garr_follower_locale WHERE locale = ?", CONNECTION_SYNCH); + PREPARE_LOCALE_STMT(HOTFIX_SEL_GARR_FOLLOWER, "SELECT ID, HordeSourceText_lang, AllianceSourceText_lang, Name_lang FROM garr_follower_locale" + " WHERE locale = ?", CONNECTION_SYNCH); // GarrFollowerXAbility.db2 PrepareStatement(HOTFIX_SEL_GARR_FOLLOWER_X_ABILITY, "SELECT ID, GarrFollowerID, GarrAbilityID, FactionIndex FROM garr_follower_x_ability" @@ -337,8 +340,8 @@ void HotfixDatabaseConnection::DoPrepareStatements() PREPARE_LOCALE_STMT(HOTFIX_SEL_GARR_PLOT_INSTANCE, "SELECT ID, Name_lang FROM garr_plot_instance_locale WHERE locale = ?", CONNECTION_SYNCH); // GarrSiteLevel.db2 - PrepareStatement(HOTFIX_SEL_GARR_SITE_LEVEL, "SELECT ID, TownHallX, TownHallY, MapID, SiteID, UpgradeResourceCost, UpgradeMoneyCost, Level, " - "UITextureKitID, MovieID, Level2 FROM garr_site_level ORDER BY ID DESC", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_GARR_SITE_LEVEL, "SELECT ID, TownHallX, TownHallY, MapID, SiteID, MovieID, UpgradeResourceCost, UpgradeMoneyCost, " + "Level, UITextureKitID, Level2 FROM garr_site_level ORDER BY ID DESC", CONNECTION_SYNCH); // GarrSiteLevelPlotInst.db2 PrepareStatement(HOTFIX_SEL_GARR_SITE_LEVEL_PLOT_INST, "SELECT ID, LandmarkX, LandmarkY, GarrSiteLevelID, GarrPlotInstanceID, Unknown" @@ -378,7 +381,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() PrepareStatement(HOTFIX_SEL_HOLIDAYS, "SELECT ID, Date1, Date2, Date3, Date4, Date5, Date6, Date7, Date8, Date9, Date10, Date11, Date12, Date13, " "Date14, Date15, Date16, TextureFilename, Duration1, Duration2, Duration3, Duration4, Duration5, Duration6, Duration7, Duration8, Duration9, " "Duration10, Region, Looping, CalendarFlags1, CalendarFlags2, CalendarFlags3, CalendarFlags4, CalendarFlags5, CalendarFlags6, CalendarFlags7, " - "CalendarFlags8, CalendarFlags9, CalendarFlags10, HolidayNameID, HolidayDescriptionID, Priority, CalendarFilterType, Flags FROM holidays" + "CalendarFlags8, CalendarFlags9, CalendarFlags10, Priority, CalendarFilterType, Flags, HolidayNameID, HolidayDescriptionID FROM holidays" " ORDER BY ID DESC", CONNECTION_SYNCH); // ImportPriceArmor.db2 @@ -424,8 +427,8 @@ void HotfixDatabaseConnection::DoPrepareStatements() PrepareStatement(HOTFIX_SEL_ITEM_BONUS_LIST_LEVEL_DELTA, "SELECT Delta, ID FROM item_bonus_list_level_delta ORDER BY ID DESC", CONNECTION_SYNCH); // ItemBonusTreeNode.db2 - PrepareStatement(HOTFIX_SEL_ITEM_BONUS_TREE_NODE, "SELECT ID, BonusTreeID, SubTreeID, BonusListID, BonusTreeModID FROM item_bonus_tree_node" - " ORDER BY ID DESC", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_ITEM_BONUS_TREE_NODE, "SELECT ID, BonusTreeID, SubTreeID, BonusListID, ItemLevelSelectorID, BonusTreeModID" + " FROM item_bonus_tree_node ORDER BY ID DESC", CONNECTION_SYNCH); // ItemChildEquipment.db2 PrepareStatement(HOTFIX_SEL_ITEM_CHILD_EQUIPMENT, "SELECT ID, ItemID, AltItemID, AltEquipmentSlot FROM item_child_equipment ORDER BY ID DESC", CONNECTION_SYNCH); @@ -509,20 +512,20 @@ void HotfixDatabaseConnection::DoPrepareStatements() PrepareStatement(HOTFIX_SEL_ITEM_SET_SPELL, "SELECT ID, SpellID, ItemSetID, ChrSpecID, Threshold FROM item_set_spell ORDER BY ID DESC", CONNECTION_SYNCH); // ItemSparse.db2 - PrepareStatement(HOTFIX_SEL_ITEM_SPARSE, "SELECT ID, Flags1, Flags2, Flags3, Unk1, Unk2, BuyPrice, SellPrice, AllowableClass, AllowableRace, " + PrepareStatement(HOTFIX_SEL_ITEM_SPARSE, "SELECT ID, Flags1, Flags2, Flags3, Unk1, Unk2, BuyCount, BuyPrice, SellPrice, AllowableRace, " "RequiredSpell, MaxCount, Stackable, ItemStatAllocation1, ItemStatAllocation2, ItemStatAllocation3, ItemStatAllocation4, ItemStatAllocation5, " "ItemStatAllocation6, ItemStatAllocation7, ItemStatAllocation8, ItemStatAllocation9, ItemStatAllocation10, ItemStatSocketCostMultiplier1, " "ItemStatSocketCostMultiplier2, ItemStatSocketCostMultiplier3, ItemStatSocketCostMultiplier4, ItemStatSocketCostMultiplier5, " "ItemStatSocketCostMultiplier6, ItemStatSocketCostMultiplier7, ItemStatSocketCostMultiplier8, ItemStatSocketCostMultiplier9, " "ItemStatSocketCostMultiplier10, RangedModRange, Name, Name2, Name3, Name4, Description, BagFamily, ArmorDamageModifier, Duration, " - "StatScalingFactor, ItemLevel, RequiredSkill, RequiredSkillRank, RequiredReputationFaction, ItemStatValue1, ItemStatValue2, ItemStatValue3, " - "ItemStatValue4, ItemStatValue5, ItemStatValue6, ItemStatValue7, ItemStatValue8, ItemStatValue9, ItemStatValue10, ScalingStatDistribution, " - "Delay, PageText, StartQuest, LockID, RandomProperty, RandomSuffix, ItemSet, Area, Map, SocketBonus, GemProperties, ItemLimitCategory, " - "HolidayID, ItemNameDescriptionID, Quality, BuyCount, InventoryType, RequiredLevel, RequiredHonorRank, RequiredCityRank, " - "RequiredReputationRank, ContainerSlots, ItemStatType1, ItemStatType2, ItemStatType3, ItemStatType4, ItemStatType5, ItemStatType6, " - "ItemStatType7, ItemStatType8, ItemStatType9, ItemStatType10, DamageType, Bonding, LanguageID, PageMaterial, Material, Sheath, TotemCategory, " - "SocketColor1, SocketColor2, SocketColor3, CurrencySubstitutionID, CurrencySubstitutionCount, ArtifactID, RequiredExpansion FROM item_sparse" - " ORDER BY ID DESC", CONNECTION_SYNCH); + "StatScalingFactor, AllowableClass, ItemLevel, RequiredSkill, RequiredSkillRank, RequiredReputationFaction, ItemStatValue1, ItemStatValue2, " + "ItemStatValue3, ItemStatValue4, ItemStatValue5, ItemStatValue6, ItemStatValue7, ItemStatValue8, ItemStatValue9, ItemStatValue10, " + "ScalingStatDistribution, Delay, PageText, StartQuest, LockID, RandomProperty, RandomSuffix, ItemSet, Area, Map, TotemCategory, SocketBonus, " + "GemProperties, ItemLimitCategory, HolidayID, RequiredTransmogHolidayID, ItemNameDescriptionID, Quality, InventoryType, RequiredLevel, " + "RequiredHonorRank, RequiredCityRank, RequiredReputationRank, ContainerSlots, ItemStatType1, ItemStatType2, ItemStatType3, ItemStatType4, " + "ItemStatType5, ItemStatType6, ItemStatType7, ItemStatType8, ItemStatType9, ItemStatType10, DamageType, Bonding, LanguageID, PageMaterial, " + "Material, Sheath, SocketColor1, SocketColor2, SocketColor3, CurrencySubstitutionID, CurrencySubstitutionCount, ArtifactID, " + "RequiredExpansion FROM item_sparse ORDER BY ID DESC", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_ITEM_SPARSE, "SELECT ID, Name_lang, Name2_lang, Name3_lang, Name4_lang, Description_lang FROM item_sparse_locale" " WHERE locale = ?", CONNECTION_SYNCH); @@ -546,8 +549,8 @@ void HotfixDatabaseConnection::DoPrepareStatements() " ORDER BY ID DESC", CONNECTION_SYNCH); // LfgDungeons.db2 - PrepareStatement(HOTFIX_SEL_LFG_DUNGEONS, "SELECT Name, Flags, TextureFilename, Description, PlayerConditionID, MinItemLevel, MaxLevel, " - "TargetLevelMax, MapID, RandomID, ScenarioID, LastBossJournalEncounterID, BonusReputationAmount, MentorItemLevel, MinLevel, TargetLevel, " + PrepareStatement(HOTFIX_SEL_LFG_DUNGEONS, "SELECT Name, Flags, TextureFilename, Description, MinItemLevel, MaxLevel, TargetLevelMax, MapID, " + "RandomID, ScenarioID, LastBossJournalEncounterID, BonusReputationAmount, MentorItemLevel, PlayerConditionID, MinLevel, TargetLevel, " "TargetLevelMin, DifficultyID, Type, Faction, Expansion, OrderIndex, GroupID, CountTank, CountHealer, CountDamage, MinCountTank, " "MinCountHealer, MinCountDamage, SubType, MentorCharLevel, ID FROM lfg_dungeons ORDER BY ID DESC", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_LFG_DUNGEONS, "SELECT ID, Name_lang, Description_lang FROM lfg_dungeons_locale WHERE locale = ?", CONNECTION_SYNCH); @@ -575,9 +578,10 @@ void HotfixDatabaseConnection::DoPrepareStatements() // Map.db2 PrepareStatement(HOTFIX_SEL_MAP, "SELECT ID, Directory, Flags1, Flags2, MinimapIconScale, CorpsePosX, CorpsePosY, MapName, MapDescription0, " - "MapDescription1, AreaTableID, LoadingScreenID, CorpseMapID, TimeOfDayOverride, ParentMapID, CosmeticParentMapID, WindSettingsID, " - "InstanceType, unk5, ExpansionID, MaxPlayers, TimeOffset FROM map ORDER BY ID DESC", CONNECTION_SYNCH); - PREPARE_LOCALE_STMT(HOTFIX_SEL_MAP, "SELECT ID, MapName_lang, MapDescription0_lang, MapDescription1_lang FROM map_locale WHERE locale = ?", CONNECTION_SYNCH); + "MapDescription1, ShortDescription, LongDescription, AreaTableID, LoadingScreenID, CorpseMapID, TimeOfDayOverride, ParentMapID, " + "CosmeticParentMapID, WindSettingsID, InstanceType, unk5, ExpansionID, MaxPlayers, TimeOffset FROM map ORDER BY ID DESC", CONNECTION_SYNCH); + PREPARE_LOCALE_STMT(HOTFIX_SEL_MAP, "SELECT ID, MapName_lang, MapDescription0_lang, MapDescription1_lang, ShortDescription_lang, " + "LongDescription_lang FROM map_locale WHERE locale = ?", CONNECTION_SYNCH); // MapDifficulty.db2 PrepareStatement(HOTFIX_SEL_MAP_DIFFICULTY, "SELECT ID, Message, MapID, DifficultyID, RaidDurationType, MaxPlayers, LockID, ItemBonusTreeModID, " @@ -588,8 +592,8 @@ void HotfixDatabaseConnection::DoPrepareStatements() PrepareStatement(HOTFIX_SEL_MODIFIER_TREE, "SELECT ID, Asset1, Asset2, Parent, Type, Unk700, Operator, Amount FROM modifier_tree ORDER BY ID DESC", CONNECTION_SYNCH); // Mount.db2 - PrepareStatement(HOTFIX_SEL_MOUNT, "SELECT SpellId, DisplayId, Name, Description, SourceDescription, CameraPivotMultiplier, MountTypeId, Flags, " - "PlayerConditionId, Source, ID FROM mount ORDER BY ID DESC", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_MOUNT, "SELECT SpellId, Name, Description, SourceDescription, CameraPivotMultiplier, MountTypeId, Flags, Source, ID, " + "PlayerConditionId, UiModelSceneID FROM mount ORDER BY ID DESC", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_MOUNT, "SELECT ID, Name_lang, Description_lang, SourceDescription_lang FROM mount_locale WHERE locale = ?", CONNECTION_SYNCH); // MountCapability.db2 @@ -600,6 +604,9 @@ void HotfixDatabaseConnection::DoPrepareStatements() PrepareStatement(HOTFIX_SEL_MOUNT_TYPE_X_CAPABILITY, "SELECT ID, MountTypeID, MountCapabilityID, OrderIndex FROM mount_type_x_capability" " ORDER BY ID DESC", CONNECTION_SYNCH); + // MountXDisplay.db2 + PrepareStatement(HOTFIX_SEL_MOUNT_X_DISPLAY, "SELECT ID, MountID, DisplayID, PlayerConditionID FROM mount_x_display ORDER BY ID DESC", CONNECTION_SYNCH); + // Movie.db2 PrepareStatement(HOTFIX_SEL_MOVIE, "SELECT ID, AudioFileDataID, SubtitleFileDataID, Volume, KeyID FROM movie ORDER BY ID DESC", CONNECTION_SYNCH); @@ -642,7 +649,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() "MinFactionID2, MinFactionID3, SpellID1, SpellID2, SpellID3, SpellID4, ItemID1, ItemID2, ItemID3, ItemID4, ItemCount1, ItemCount2, " "ItemCount3, ItemCount4, LfgLogic, LfgValue1, LfgValue2, LfgValue3, LfgValue4, CurrencyLogic, CurrencyID1, CurrencyID2, CurrencyID3, " "CurrencyID4, QuestKillMonster1, QuestKillMonster2, QuestKillMonster3, QuestKillMonster4, QuestKillMonster5, QuestKillMonster6, PhaseGroupID, " - "MinAvgItemLevel, MaxAvgItemLevel, Unknown7001, Unknown7002 FROM player_condition ORDER BY ID DESC", CONNECTION_SYNCH); + "MinAvgItemLevel, MaxAvgItemLevel, MovementFlags1, MovementFlags2, MainHandItemSubclassMask FROM player_condition ORDER BY ID DESC", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_PLAYER_CONDITION, "SELECT ID, FailureDescription_lang FROM player_condition_locale WHERE locale = ?", CONNECTION_SYNCH); // PowerDisplay.db2 @@ -665,7 +672,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() " FROM quest_money_reward ORDER BY ID DESC", CONNECTION_SYNCH); // QuestPackageItem.db2 - PrepareStatement(HOTFIX_SEL_QUEST_PACKAGE_ITEM, "SELECT ID, ItemID, QuestPackageID, ItemCount, FilterType FROM quest_package_item ORDER BY ID DESC", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_QUEST_PACKAGE_ITEM, "SELECT ID, ItemID, QuestPackageID, FilterType, ItemCount FROM quest_package_item ORDER BY ID DESC", CONNECTION_SYNCH); // QuestSort.db2 PrepareStatement(HOTFIX_SEL_QUEST_SORT, "SELECT ID, SortName, SortOrder FROM quest_sort ORDER BY ID DESC", CONNECTION_SYNCH); @@ -706,14 +713,14 @@ void HotfixDatabaseConnection::DoPrepareStatements() PrepareStatement(HOTFIX_SEL_SCENE_SCRIPT_PACKAGE, "SELECT ID, Name FROM scene_script_package ORDER BY ID DESC", CONNECTION_SYNCH); // SkillLine.db2 - PrepareStatement(HOTFIX_SEL_SKILL_LINE, "SELECT ID, DisplayName, Description, AlternateVerb, SpellIconID, Flags, CategoryID, CanLink, " + PrepareStatement(HOTFIX_SEL_SKILL_LINE, "SELECT ID, DisplayName, Description, AlternateVerb, Flags, CategoryID, CanLink, IconFileDataID, " "ParentSkillLineID FROM skill_line ORDER BY ID DESC", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_SKILL_LINE, "SELECT ID, DisplayName_lang, Description_lang, AlternateVerb_lang FROM skill_line_locale" " WHERE locale = ?", CONNECTION_SYNCH); // SkillLineAbility.db2 - PrepareStatement(HOTFIX_SEL_SKILL_LINE_ABILITY, "SELECT ID, SpellID, RaceMask, SupercedesSpell, Unknown703, SkillLine, MinSkillLineRank, " - "TrivialSkillLineRankHigh, TrivialSkillLineRankLow, UniqueBit, TradeSkillCategoryID, AcquireMethod, NumSkillUps, ClassMask" + PrepareStatement(HOTFIX_SEL_SKILL_LINE_ABILITY, "SELECT ID, SpellID, RaceMask, SupercedesSpell, SkillLine, MinSkillLineRank, " + "TrivialSkillLineRankHigh, TrivialSkillLineRankLow, UniqueBit, TradeSkillCategoryID, AcquireMethod, NumSkillUps, Unknown703, ClassMask" " FROM skill_line_ability ORDER BY ID DESC", CONNECTION_SYNCH); // SkillRaceClassInfo.db2 @@ -774,11 +781,11 @@ void HotfixDatabaseConnection::DoPrepareStatements() PrepareStatement(HOTFIX_SEL_SPELL_DURATION, "SELECT ID, Duration, MaxDuration, DurationPerLevel FROM spell_duration ORDER BY ID DESC", CONNECTION_SYNCH); // SpellEffect.db2 - PrepareStatement(HOTFIX_SEL_SPELL_EFFECT, "SELECT EffectAmplitude, EffectBonusCoefficient, EffectChainAmplitude, EffectPointsPerResource, " - "EffectRealPointsPerLevel, EffectSpellClassMask1, EffectSpellClassMask2, EffectSpellClassMask3, EffectSpellClassMask4, EffectPosFacing, " - "BonusCoefficientFromAP, ID, DifficultyID, Effect, EffectAura, EffectAuraPeriod, EffectBasePoints, EffectChainTargets, EffectDieSides, " - "EffectItemType, EffectMechanic, EffectMiscValue, EffectMiscValueB, EffectRadiusIndex, EffectRadiusMaxIndex, EffectTriggerSpell, " - "ImplicitTarget1, ImplicitTarget2, SpellID, EffectIndex, EffectAttributes FROM spell_effect ORDER BY ID DESC", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_SPELL_EFFECT, "SELECT EffectSpellClassMask1, EffectSpellClassMask2, EffectSpellClassMask3, EffectSpellClassMask4, ID, " + "SpellID, Effect, EffectAura, EffectBasePoints, EffectIndex, EffectMiscValue, EffectMiscValueB, EffectRadiusIndex, EffectRadiusMaxIndex, " + "ImplicitTarget1, ImplicitTarget2, DifficultyID, EffectAmplitude, EffectAuraPeriod, EffectBonusCoefficient, EffectChainAmplitude, " + "EffectChainTargets, EffectDieSides, EffectItemType, EffectMechanic, EffectPointsPerResource, EffectRealPointsPerLevel, EffectTriggerSpell, " + "EffectPosFacing, EffectAttributes, BonusCoefficientFromAP, PvPMultiplier FROM spell_effect ORDER BY ID DESC", CONNECTION_SYNCH); // SpellEffectScaling.db2 PrepareStatement(HOTFIX_SEL_SPELL_EFFECT_SCALING, "SELECT ID, Coefficient, Variance, ResourceCoefficient, SpellEffectID FROM spell_effect_scaling" @@ -819,7 +826,8 @@ void HotfixDatabaseConnection::DoPrepareStatements() // SpellMisc.db2 PrepareStatement(HOTFIX_SEL_SPELL_MISC, "SELECT ID, Attributes, AttributesEx, AttributesExB, AttributesExC, AttributesExD, AttributesExE, " "AttributesExF, AttributesExG, AttributesExH, AttributesExI, AttributesExJ, AttributesExK, AttributesExL, AttributesExM, Speed, " - "MultistrikeSpeedMod, CastingTimeIndex, DurationIndex, RangeIndex, SpellIconID, ActiveIconID, SchoolMask FROM spell_misc ORDER BY ID DESC", CONNECTION_SYNCH); + "MultistrikeSpeedMod, CastingTimeIndex, DurationIndex, RangeIndex, SchoolMask, IconFileDataID, ActiveIconFileDataID FROM spell_misc" + " ORDER BY ID DESC", CONNECTION_SYNCH); // SpellPower.db2 PrepareStatement(HOTFIX_SEL_SPELL_POWER, "SELECT SpellID, ManaCost, ManaCostPercentage, ManaCostPercentagePerSecond, RequiredAura, " @@ -858,10 +866,10 @@ void HotfixDatabaseConnection::DoPrepareStatements() "StanceBarOrder FROM spell_shapeshift ORDER BY ID DESC", CONNECTION_SYNCH); // SpellShapeshiftForm.db2 - PrepareStatement(HOTFIX_SEL_SPELL_SHAPESHIFT_FORM, "SELECT ID, Name, WeaponDamageVariance, Flags, AttackIconID, CombatRoundTime, " - "CreatureDisplayID1, CreatureDisplayID2, CreatureDisplayID3, CreatureDisplayID4, PresetSpellID1, PresetSpellID2, PresetSpellID3, " - "PresetSpellID4, PresetSpellID5, PresetSpellID6, PresetSpellID7, PresetSpellID8, MountTypeID, CreatureType, BonusActionBar" - " FROM spell_shapeshift_form ORDER BY ID DESC", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_SPELL_SHAPESHIFT_FORM, "SELECT ID, Name, WeaponDamageVariance, Flags, CombatRoundTime, MountTypeID, CreatureType, " + "BonusActionBar, AttackIconFileDataID, CreatureDisplayID1, CreatureDisplayID2, CreatureDisplayID3, CreatureDisplayID4, PresetSpellID1, " + "PresetSpellID2, PresetSpellID3, PresetSpellID4, PresetSpellID5, PresetSpellID6, PresetSpellID7, PresetSpellID8 FROM spell_shapeshift_form" + " ORDER BY ID DESC", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_SPELL_SHAPESHIFT_FORM, "SELECT ID, Name_lang FROM spell_shapeshift_form_locale WHERE locale = ?", CONNECTION_SYNCH); // SpellTargetRestrictions.db2 @@ -873,8 +881,9 @@ void HotfixDatabaseConnection::DoPrepareStatements() " FROM spell_totems ORDER BY ID DESC", CONNECTION_SYNCH); // SpellXSpellVisual.db2 - PrepareStatement(HOTFIX_SEL_SPELL_X_SPELL_VISUAL, "SELECT SpellID, Chance, SpellVisualID1, SpellVisualID2, PlayerConditionID, UnitConditionID, " - "Flags, DifficultyID, Priority, ID FROM spell_x_spell_visual ORDER BY ID DESC", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_SPELL_X_SPELL_VISUAL, "SELECT SpellID, SpellVisualID, ID, Chance, CasterPlayerConditionID, CasterUnitConditionID, " + "PlayerConditionID, UnitConditionID, IconFileDataID, ActiveIconFileDataID, Flags, DifficultyID, Priority FROM spell_x_spell_visual" + " ORDER BY ID DESC", CONNECTION_SYNCH); // SummonProperties.db2 PrepareStatement(HOTFIX_SEL_SUMMON_PROPERTIES, "SELECT ID, Flags, Category, Faction, Type, Slot FROM summon_properties ORDER BY ID DESC", CONNECTION_SYNCH); diff --git a/src/server/database/Database/Implementation/HotfixDatabase.h b/src/server/database/Database/Implementation/HotfixDatabase.h index 5438e648d3e..ca73cfaf7d9 100644 --- a/src/server/database/Database/Implementation/HotfixDatabase.h +++ b/src/server/database/Database/Implementation/HotfixDatabase.h @@ -329,6 +329,8 @@ enum HotfixDatabaseStatements HOTFIX_SEL_MOUNT_TYPE_X_CAPABILITY, + HOTFIX_SEL_MOUNT_X_DISPLAY, + HOTFIX_SEL_MOVIE, HOTFIX_SEL_NAME_GEN, diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp index 09b84589716..87d97364621 100644 --- a/src/server/game/Conditions/ConditionMgr.cpp +++ b/src/server/game/Conditions/ConditionMgr.cpp @@ -508,7 +508,7 @@ bool Condition::Meets(ConditionSourceInfo& sourceInfo) const QuestObjective const* obj = sObjectMgr->GetQuestObjective(ConditionValue1); if (!obj) break; - + condMeets = (!player->GetQuestRewardStatus(obj->QuestID) && player->IsQuestObjectiveComplete(*obj)); } break; @@ -2590,6 +2590,19 @@ bool ConditionMgr::IsPlayerMeetingCondition(Player const* player, PlayerConditio if (condition->LifetimeMaxPVPRank && player->GetByteValue(PLAYER_FIELD_BYTES, PLAYER_FIELD_BYTES_OFFSET_LIFETIME_MAX_PVP_RANK) != condition->LifetimeMaxPVPRank) return false; + if (condition->MovementFlags[0] && !(player->GetUnitMovementFlags() & condition->MovementFlags[0])) + return false; + + if (condition->MovementFlags[1] && !(player->GetExtraUnitMovementFlags() & condition->MovementFlags[1])) + return false; + + if (condition->MainHandItemSubclassMask) + { + Item* mainHand = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND); + if (!mainHand || !((1 << mainHand->GetTemplate()->GetSubClass()) & condition->MainHandItemSubclassMask)) + return false; + } + if (condition->PartyStatus) { Group const* group = player->GetGroup(); diff --git a/src/server/game/DataStores/DB2LoadInfo.h b/src/server/game/DataStores/DB2LoadInfo.h index f17ce912a9b..ddb4c0f2b60 100644 --- a/src/server/game/DataStores/DB2LoadInfo.h +++ b/src/server/game/DataStores/DB2LoadInfo.h @@ -38,13 +38,13 @@ struct AchievementLoadInfo { false, FT_SHORT, "Supercedes" }, { false, FT_SHORT, "Category" }, { false, FT_SHORT, "UIOrder" }, - { false, FT_SHORT, "IconID" }, { false, FT_SHORT, "SharesCriteria" }, { false, FT_SHORT, "CriteriaTree" }, { true, FT_BYTE, "Faction" }, { false, FT_BYTE, "Points" }, { false, FT_BYTE, "MinimumCriteria" }, { false, FT_INT, "ID" }, + { false, FT_INT, "IconFileDataID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, AchievementMeta::Instance(), HOTFIX_SEL_ACHIEVEMENT); return &loadInfo; @@ -184,6 +184,8 @@ struct ArtifactLoadInfo { false, FT_SHORT, "SpecID" }, { false, FT_BYTE, "ArtifactCategoryID" }, { false, FT_BYTE, "Flags" }, + { false, FT_INT, "UiModelSceneID" }, + { false, FT_INT, "SpellVisualKitID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ArtifactMeta::Instance(), HOTFIX_SEL_ARTIFACT); return &loadInfo; @@ -202,13 +204,13 @@ struct ArtifactAppearanceLoadInfo { false, FT_FLOAT, "ModelAlpha" }, { false, FT_INT, "ShapeshiftDisplayID" }, { false, FT_SHORT, "ArtifactAppearanceSetID" }, - { false, FT_SHORT, "PlayerConditionID" }, { false, FT_SHORT, "Unknown" }, { false, FT_BYTE, "DisplayIndex" }, { false, FT_BYTE, "AppearanceModID" }, { false, FT_BYTE, "Flags" }, { false, FT_BYTE, "ModifiesShapeshiftFormDisplay" }, { false, FT_INT, "ID" }, + { false, FT_INT, "PlayerConditionID" }, { false, FT_INT, "ItemAppearanceID" }, { false, FT_INT, "AltItemAppearanceID" }, }; @@ -264,6 +266,7 @@ struct ArtifactPowerLoadInfo { false, FT_BYTE, "ArtifactID" }, { false, FT_BYTE, "Flags" }, { false, FT_BYTE, "MaxRank" }, + { false, FT_BYTE, "ArtifactTier" }, { false, FT_INT, "ID" }, { true, FT_INT, "RelicType" }, }; @@ -441,6 +444,8 @@ struct BattlePetSpeciesLoadInfo { false, FT_BYTE, "PetType" }, { true, FT_BYTE, "Source" }, { false, FT_INT, "ID" }, + { false, FT_INT, "CardModelSceneID" }, + { false, FT_INT, "LoadoutModelSceneID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, BattlePetSpeciesMeta::Instance(), HOTFIX_SEL_BATTLE_PET_SPECIES); return &loadInfo; @@ -473,6 +478,8 @@ struct BattlemasterListLoadInfo { false, FT_STRING, "Name" }, { false, FT_INT, "IconFileDataID" }, { false, FT_STRING, "GameType" }, + { false, FT_STRING, "ShortDescription" }, + { false, FT_STRING, "LongDescription" }, { true, FT_SHORT, "MapID1" }, { true, FT_SHORT, "MapID2" }, { true, FT_SHORT, "MapID3" }, @@ -704,14 +711,11 @@ struct ChrRacesLoadInfo { false, FT_FLOAT, "FemaleCustomizeOffset3" }, { false, FT_INT, "LowResScreenFileDataID" }, { false, FT_SHORT, "FactionID" }, - { false, FT_SHORT, "ExplorationSoundID" }, { false, FT_SHORT, "MaleDisplayID" }, { false, FT_SHORT, "FemaleDisplayID" }, { false, FT_SHORT, "ResSicknessSpellID" }, { false, FT_SHORT, "SplashSoundID" }, { false, FT_SHORT, "CinematicSequenceID" }, - { false, FT_SHORT, "UAMaleCreatureSoundDataID" }, - { false, FT_SHORT, "UAFemaleCreatureSoundDataID" }, { false, FT_BYTE, "BaseLanguage" }, { false, FT_BYTE, "CreatureType" }, { false, FT_BYTE, "TeamID" }, @@ -744,13 +748,13 @@ struct ChrSpecializationLoadInfo { false, FT_STRING, "Name" }, { false, FT_STRING, "Name2" }, { false, FT_STRING, "Description" }, - { false, FT_SHORT, "SpellIconID" }, { false, FT_BYTE, "ClassID" }, { false, FT_BYTE, "OrderIndex" }, { false, FT_BYTE, "PetTalentType" }, { false, FT_BYTE, "Role" }, { false, FT_BYTE, "PrimaryStatOrder" }, { false, FT_INT, "ID" }, + { false, FT_INT, "IconFileDataID" }, { false, FT_INT, "Flags" }, { false, FT_INT, "AnimReplacementSetID" }, }; @@ -766,12 +770,12 @@ struct CinematicCameraLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_STRING_NOT_LOCALIZED, "Model" }, + { false, FT_INT, "SoundID" }, { false, FT_FLOAT, "OriginX" }, { false, FT_FLOAT, "OriginY" }, { false, FT_FLOAT, "OriginZ" }, { false, FT_FLOAT, "OriginFacing" }, - { false, FT_SHORT, "SoundID" }, + { false, FT_INT, "ModelFileDataID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, CinematicCameraMeta::Instance(), HOTFIX_SEL_CINEMATIC_CAMERA); return &loadInfo; @@ -785,7 +789,7 @@ struct CinematicSequencesLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_SHORT, "SoundID" }, + { false, FT_INT, "SoundID" }, { false, FT_SHORT, "Camera1" }, { false, FT_SHORT, "Camera2" }, { false, FT_SHORT, "Camera3" }, @@ -807,29 +811,30 @@ struct CreatureDisplayInfoLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_INT, "ExtendedDisplayInfoID" }, { false, FT_FLOAT, "CreatureModelScale" }, - { false, FT_FLOAT, "PlayerModelScale" }, + { false, FT_SHORT, "ModelID" }, + { false, FT_SHORT, "NPCSoundID" }, + { false, FT_BYTE, "SizeClass" }, + { false, FT_BYTE, "Flags" }, + { true, FT_BYTE, "Gender" }, + { false, FT_INT, "ExtendedDisplayInfoID" }, { false, FT_INT, "TextureVariation1" }, { false, FT_INT, "TextureVariation2" }, { false, FT_INT, "TextureVariation3" }, - { false, FT_STRING_NOT_LOCALIZED, "PortraitTextureName" }, - { false, FT_INT, "PortraitCreatureDisplayInfoID" }, - { false, FT_INT, "CreatureGeosetData" }, - { false, FT_INT, "StateSpellVisualKitID" }, - { false, FT_FLOAT, "InstanceOtherPlayerPetScale" }, - { false, FT_SHORT, "ModelID" }, + { false, FT_INT, "PortraitTextureFileDataID" }, + { false, FT_BYTE, "CreatureModelAlpha" }, { false, FT_SHORT, "SoundID" }, - { false, FT_SHORT, "NPCSoundID" }, + { false, FT_FLOAT, "PlayerModelScale" }, + { false, FT_INT, "PortraitCreatureDisplayInfoID" }, + { false, FT_BYTE, "BloodID" }, { false, FT_SHORT, "ParticleColorID" }, + { false, FT_INT, "CreatureGeosetData" }, { false, FT_SHORT, "ObjectEffectPackageID" }, { false, FT_SHORT, "AnimReplacementSetID" }, - { false, FT_BYTE, "CreatureModelAlpha" }, - { false, FT_BYTE, "SizeClass" }, - { false, FT_BYTE, "BloodID" }, - { false, FT_BYTE, "Flags" }, - { true, FT_BYTE, "Gender" }, - { true, FT_BYTE, "Unk700" }, + { true, FT_BYTE, "UnarmedWeaponSubclass" }, + { false, FT_INT, "StateSpellVisualKitID" }, + { false, FT_FLOAT, "InstanceOtherPlayerPetScale" }, + { false, FT_INT, "MountSpellVisualKitID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, CreatureDisplayInfoMeta::Instance(), HOTFIX_SEL_CREATURE_DISPLAY_INFO); return &loadInfo; @@ -873,7 +878,7 @@ struct CreatureFamilyLoadInfo { false, FT_FLOAT, "MinScale" }, { false, FT_FLOAT, "MaxScale" }, { false, FT_STRING, "Name" }, - { false, FT_STRING_NOT_LOCALIZED, "IconFile" }, + { false, FT_INT, "IconFileDataID" }, { false, FT_SHORT, "SkillLine1" }, { false, FT_SHORT, "SkillLine2" }, { false, FT_SHORT, "PetFoodMask" }, @@ -978,12 +983,12 @@ struct CriteriaTreeLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_INT, "CriteriaID" }, { false, FT_INT, "Amount" }, { false, FT_STRING, "Description" }, { false, FT_SHORT, "Parent" }, { false, FT_SHORT, "Flags" }, { false, FT_BYTE, "Operator" }, + { false, FT_INT, "CriteriaID" }, { true, FT_INT, "OrderIndex" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, CriteriaTreeMeta::Instance(), HOTFIX_SEL_CRITERIA_TREE); @@ -1090,6 +1095,9 @@ struct DifficultyLoadInfo { { false, FT_INT, "ID" }, { false, FT_STRING, "Name" }, + { false, FT_SHORT, "GroupSizeHealthCurveID" }, + { false, FT_SHORT, "GroupSizeDmgCurveID" }, + { false, FT_SHORT, "GroupSizeSpellPointsCurveID" }, { false, FT_BYTE, "FallbackDifficultyID" }, { false, FT_BYTE, "InstanceType" }, { false, FT_BYTE, "MinPlayers" }, @@ -1097,9 +1105,6 @@ struct DifficultyLoadInfo { true, FT_BYTE, "OldEnumValue" }, { false, FT_BYTE, "Flags" }, { false, FT_BYTE, "ToggleDifficultyID" }, - { false, FT_BYTE, "GroupSizeHealthCurveID" }, - { false, FT_BYTE, "GroupSizeDmgCurveID" }, - { false, FT_BYTE, "GroupSizeSpellPointsCurveID" }, { false, FT_BYTE, "ItemBonusTreeModID" }, { false, FT_BYTE, "OrderIndex" }, }; @@ -1114,15 +1119,15 @@ struct DungeonEncounterLoadInfo { static DB2FieldMeta const fields[] = { - { false, FT_INT, "ID" }, { false, FT_STRING, "Name" }, { false, FT_INT, "CreatureDisplayID" }, { false, FT_SHORT, "MapID" }, - { false, FT_SHORT, "SpellIconID" }, { false, FT_BYTE, "DifficultyID" }, { false, FT_BYTE, "Bit" }, { false, FT_BYTE, "Flags" }, + { false, FT_INT, "ID" }, { true, FT_INT, "OrderIndex" }, + { false, FT_INT, "TextureFileDataID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, DungeonEncounterMeta::Instance(), HOTFIX_SEL_DUNGEON_ENCOUNTER); return &loadInfo; @@ -1273,6 +1278,7 @@ struct FactionLoadInfo { false, FT_SHORT, "ReputationFlags3" }, { false, FT_SHORT, "ReputationFlags4" }, { false, FT_SHORT, "ParentFactionID" }, + { false, FT_SHORT, "ParagonFactionID" }, { false, FT_BYTE, "ParentFactionCapIn" }, { false, FT_BYTE, "ParentFactionCapOut" }, { false, FT_BYTE, "Expansion" }, @@ -1454,7 +1460,7 @@ struct GarrClassSpecLoadInfo { false, FT_STRING, "NameFemale" }, { false, FT_STRING, "NameGenderless" }, { false, FT_SHORT, "ClassAtlasID" }, - { false, FT_BYTE, "GarrFollItemSetID" }, + { false, FT_SHORT, "GarrFollItemSetID" }, { false, FT_BYTE, "Limit" }, { false, FT_BYTE, "Flags" }, { false, FT_INT, "ID" }, @@ -1478,6 +1484,7 @@ struct GarrFollowerLoadInfo { false, FT_INT, "AlliancePortraitIconID" }, { false, FT_INT, "HordeAddedBroadcastTextID" }, { false, FT_INT, "AllianceAddedBroadcastTextID" }, + { false, FT_STRING, "Name" }, { false, FT_SHORT, "HordeGarrFollItemSetID" }, { false, FT_SHORT, "AllianceGarrFollItemSetID" }, { false, FT_SHORT, "ItemLevelWeapon" }, @@ -1585,11 +1592,11 @@ struct GarrSiteLevelLoadInfo { false, FT_FLOAT, "TownHallY" }, { false, FT_SHORT, "MapID" }, { false, FT_SHORT, "SiteID" }, + { false, FT_SHORT, "MovieID" }, { false, FT_SHORT, "UpgradeResourceCost" }, { false, FT_SHORT, "UpgradeMoneyCost" }, { false, FT_BYTE, "Level" }, { false, FT_BYTE, "UITextureKitID" }, - { false, FT_BYTE, "MovieID" }, { false, FT_BYTE, "Level2" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, GarrSiteLevelMeta::Instance(), HOTFIX_SEL_GARR_SITE_LEVEL); @@ -1810,11 +1817,11 @@ struct HolidaysLoadInfo { false, FT_BYTE, "CalendarFlags8" }, { false, FT_BYTE, "CalendarFlags9" }, { false, FT_BYTE, "CalendarFlags10" }, - { false, FT_BYTE, "HolidayNameID" }, - { false, FT_BYTE, "HolidayDescriptionID" }, { false, FT_BYTE, "Priority" }, { true, FT_BYTE, "CalendarFilterType" }, { false, FT_BYTE, "Flags" }, + { false, FT_INT, "HolidayNameID" }, + { false, FT_INT, "HolidayDescriptionID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, HolidaysMeta::Instance(), HOTFIX_SEL_HOLIDAYS); return &loadInfo; @@ -2034,6 +2041,7 @@ struct ItemBonusTreeNodeLoadInfo { false, FT_SHORT, "BonusTreeID" }, { false, FT_SHORT, "SubTreeID" }, { false, FT_SHORT, "BonusListID" }, + { false, FT_SHORT, "ItemLevelSelectorID" }, { false, FT_BYTE, "BonusTreeModID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemBonusTreeNodeMeta::Instance(), HOTFIX_SEL_ITEM_BONUS_TREE_NODE); @@ -2457,9 +2465,9 @@ struct ItemSparseLoadInfo { false, FT_INT, "Flags3" }, { false, FT_FLOAT, "Unk1" }, { false, FT_FLOAT, "Unk2" }, + { false, FT_INT, "BuyCount" }, { false, FT_INT, "BuyPrice" }, { false, FT_INT, "SellPrice" }, - { true, FT_INT, "AllowableClass" }, { true, FT_INT, "AllowableRace" }, { false, FT_INT, "RequiredSpell" }, { false, FT_INT, "MaxCount" }, @@ -2494,6 +2502,7 @@ struct ItemSparseLoadInfo { false, FT_FLOAT, "ArmorDamageModifier" }, { false, FT_INT, "Duration" }, { false, FT_FLOAT, "StatScalingFactor" }, + { true, FT_SHORT, "AllowableClass" }, { false, FT_SHORT, "ItemLevel" }, { false, FT_SHORT, "RequiredSkill" }, { false, FT_SHORT, "RequiredSkillRank" }, @@ -2518,13 +2527,14 @@ struct ItemSparseLoadInfo { false, FT_SHORT, "ItemSet" }, { false, FT_SHORT, "Area" }, { false, FT_SHORT, "Map" }, + { false, FT_SHORT, "TotemCategory" }, { false, FT_SHORT, "SocketBonus" }, { false, FT_SHORT, "GemProperties" }, { false, FT_SHORT, "ItemLimitCategory" }, { false, FT_SHORT, "HolidayID" }, + { false, FT_SHORT, "RequiredTransmogHolidayID" }, { false, FT_SHORT, "ItemNameDescriptionID" }, { false, FT_BYTE, "Quality" }, - { false, FT_BYTE, "BuyCount" }, { false, FT_BYTE, "InventoryType" }, { true, FT_BYTE, "RequiredLevel" }, { false, FT_BYTE, "RequiredHonorRank" }, @@ -2547,7 +2557,6 @@ struct ItemSparseLoadInfo { false, FT_BYTE, "PageMaterial" }, { true, FT_BYTE, "Material" }, { false, FT_BYTE, "Sheath" }, - { false, FT_BYTE, "TotemCategory" }, { false, FT_BYTE, "SocketColor1" }, { false, FT_BYTE, "SocketColor2" }, { false, FT_BYTE, "SocketColor3" }, @@ -2683,7 +2692,6 @@ struct LfgDungeonsLoadInfo { false, FT_INT, "Flags" }, { false, FT_STRING_NOT_LOCALIZED, "TextureFilename" }, { false, FT_STRING, "Description" }, - { false, FT_INT, "PlayerConditionID" }, { false, FT_FLOAT, "MinItemLevel" }, { false, FT_SHORT, "MaxLevel" }, { false, FT_SHORT, "TargetLevelMax" }, @@ -2693,6 +2701,7 @@ struct LfgDungeonsLoadInfo { false, FT_SHORT, "LastBossJournalEncounterID" }, { false, FT_SHORT, "BonusReputationAmount" }, { false, FT_SHORT, "MentorItemLevel" }, + { false, FT_SHORT, "PlayerConditionID" }, { false, FT_BYTE, "MinLevel" }, { false, FT_BYTE, "TargetLevel" }, { false, FT_BYTE, "TargetLevelMin" }, @@ -2882,6 +2891,8 @@ struct MapLoadInfo { false, FT_STRING, "MapName" }, { false, FT_STRING, "MapDescription0" }, { false, FT_STRING, "MapDescription1" }, + { false, FT_STRING, "ShortDescription" }, + { false, FT_STRING, "LongDescription" }, { false, FT_SHORT, "AreaTableID" }, { false, FT_SHORT, "LoadingScreenID" }, { true, FT_SHORT, "CorpseMapID" }, @@ -2948,16 +2959,16 @@ struct MountLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "SpellId" }, - { false, FT_INT, "DisplayId" }, { false, FT_STRING, "Name" }, { false, FT_STRING, "Description" }, { false, FT_STRING, "SourceDescription" }, { false, FT_FLOAT, "CameraPivotMultiplier" }, { false, FT_SHORT, "MountTypeId" }, { false, FT_SHORT, "Flags" }, - { false, FT_SHORT, "PlayerConditionId" }, { false, FT_BYTE, "Source" }, { false, FT_INT, "ID" }, + { false, FT_INT, "PlayerConditionId" }, + { true, FT_INT, "UiModelSceneID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, MountMeta::Instance(), HOTFIX_SEL_MOUNT); return &loadInfo; @@ -3000,6 +3011,22 @@ struct MountTypeXCapabilityLoadInfo } }; +struct MountXDisplayLoadInfo +{ + static DB2LoadInfo const* Instance() + { + static DB2FieldMeta const fields[] = + { + { false, FT_INT, "ID" }, + { false, FT_INT, "MountID" }, + { false, FT_INT, "DisplayID" }, + { false, FT_INT, "PlayerConditionID" }, + }; + static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, MountXDisplayMeta::Instance(), HOTFIX_SEL_MOUNT_X_DISPLAY); + return &loadInfo; + } +}; + struct MovieLoadInfo { static DB2LoadInfo const* Instance() @@ -3281,8 +3308,9 @@ struct PlayerConditionLoadInfo { false, FT_INT, "PhaseGroupID" }, { false, FT_INT, "MinAvgItemLevel" }, { false, FT_INT, "MaxAvgItemLevel" }, - { true, FT_INT, "Unknown7001" }, - { true, FT_INT, "Unknown7002" }, + { true, FT_INT, "MovementFlags1" }, + { true, FT_INT, "MovementFlags2" }, + { false, FT_INT, "MainHandItemSubclassMask" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, PlayerConditionMeta::Instance(), HOTFIX_SEL_PLAYER_CONDITION); return &loadInfo; @@ -3404,8 +3432,8 @@ struct QuestPackageItemLoadInfo { false, FT_INT, "ID" }, { false, FT_INT, "ItemID" }, { false, FT_SHORT, "QuestPackageID" }, - { false, FT_BYTE, "ItemCount" }, { false, FT_BYTE, "FilterType" }, + { false, FT_INT, "ItemCount" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, QuestPackageItemMeta::Instance(), HOTFIX_SEL_QUEST_PACKAGE_ITEM); return &loadInfo; @@ -3603,10 +3631,10 @@ struct SkillLineLoadInfo { false, FT_STRING, "DisplayName" }, { false, FT_STRING, "Description" }, { false, FT_STRING, "AlternateVerb" }, - { false, FT_SHORT, "SpellIconID" }, { false, FT_SHORT, "Flags" }, { false, FT_BYTE, "CategoryID" }, { false, FT_BYTE, "CanLink" }, + { false, FT_INT, "IconFileDataID" }, { false, FT_INT, "ParentSkillLineID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SkillLineMeta::Instance(), HOTFIX_SEL_SKILL_LINE); @@ -3624,7 +3652,6 @@ struct SkillLineAbilityLoadInfo { false, FT_INT, "SpellID" }, { false, FT_INT, "RaceMask" }, { false, FT_INT, "SupercedesSpell" }, - { false, FT_INT, "Unknown703" }, { false, FT_SHORT, "SkillLine" }, { false, FT_SHORT, "MinSkillLineRank" }, { false, FT_SHORT, "TrivialSkillLineRankHigh" }, @@ -3633,6 +3660,7 @@ struct SkillLineAbilityLoadInfo { false, FT_SHORT, "TradeSkillCategoryID" }, { false, FT_BYTE, "AcquireMethod" }, { false, FT_BYTE, "NumSkillUps" }, + { false, FT_BYTE, "Unknown703" }, { true, FT_INT, "ClassMask" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SkillLineAbilityMeta::Instance(), HOTFIX_SEL_SKILL_LINE_ABILITY); @@ -3894,7 +3922,7 @@ struct SpellDurationLoadInfo { false, FT_INT, "ID" }, { true, FT_INT, "Duration" }, { true, FT_INT, "MaxDuration" }, - { true, FT_SHORT, "DurationPerLevel" }, + { true, FT_INT, "DurationPerLevel" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellDurationMeta::Instance(), HOTFIX_SEL_SPELL_DURATION); return &loadInfo; @@ -3907,37 +3935,38 @@ struct SpellEffectLoadInfo { static DB2FieldMeta const fields[] = { - { false, FT_FLOAT, "EffectAmplitude" }, - { false, FT_FLOAT, "EffectBonusCoefficient" }, - { false, FT_FLOAT, "EffectChainAmplitude" }, - { false, FT_FLOAT, "EffectPointsPerResource" }, - { false, FT_FLOAT, "EffectRealPointsPerLevel" }, { false, FT_INT, "EffectSpellClassMask1" }, { false, FT_INT, "EffectSpellClassMask2" }, { false, FT_INT, "EffectSpellClassMask3" }, { false, FT_INT, "EffectSpellClassMask4" }, - { false, FT_FLOAT, "EffectPosFacing" }, - { false, FT_FLOAT, "BonusCoefficientFromAP" }, { false, FT_INT, "ID" }, - { false, FT_INT, "DifficultyID" }, + { false, FT_INT, "SpellID" }, { false, FT_INT, "Effect" }, { false, FT_INT, "EffectAura" }, - { false, FT_INT, "EffectAuraPeriod" }, { true, FT_INT, "EffectBasePoints" }, - { false, FT_INT, "EffectChainTargets" }, - { true, FT_INT, "EffectDieSides" }, - { false, FT_INT, "EffectItemType" }, - { false, FT_INT, "EffectMechanic" }, + { false, FT_INT, "EffectIndex" }, { true, FT_INT, "EffectMiscValue" }, { true, FT_INT, "EffectMiscValueB" }, { false, FT_INT, "EffectRadiusIndex" }, { false, FT_INT, "EffectRadiusMaxIndex" }, - { false, FT_INT, "EffectTriggerSpell" }, { false, FT_INT, "ImplicitTarget1" }, { false, FT_INT, "ImplicitTarget2" }, - { false, FT_INT, "SpellID" }, - { false, FT_INT, "EffectIndex" }, + { false, FT_INT, "DifficultyID" }, + { false, FT_FLOAT, "EffectAmplitude" }, + { false, FT_INT, "EffectAuraPeriod" }, + { false, FT_FLOAT, "EffectBonusCoefficient" }, + { false, FT_FLOAT, "EffectChainAmplitude" }, + { false, FT_INT, "EffectChainTargets" }, + { true, FT_INT, "EffectDieSides" }, + { false, FT_INT, "EffectItemType" }, + { false, FT_INT, "EffectMechanic" }, + { false, FT_FLOAT, "EffectPointsPerResource" }, + { false, FT_FLOAT, "EffectRealPointsPerLevel" }, + { false, FT_INT, "EffectTriggerSpell" }, + { false, FT_FLOAT, "EffectPosFacing" }, { false, FT_INT, "EffectAttributes" }, + { false, FT_FLOAT, "BonusCoefficientFromAP" }, + { false, FT_FLOAT, "PvPMultiplier" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellEffectMeta::Instance(), HOTFIX_SEL_SPELL_EFFECT); return &loadInfo; @@ -4156,9 +4185,9 @@ struct SpellMiscLoadInfo { false, FT_SHORT, "CastingTimeIndex" }, { false, FT_SHORT, "DurationIndex" }, { false, FT_SHORT, "RangeIndex" }, - { false, FT_SHORT, "SpellIconID" }, - { false, FT_SHORT, "ActiveIconID" }, { false, FT_BYTE, "SchoolMask" }, + { false, FT_INT, "IconFileDataID" }, + { false, FT_INT, "ActiveIconFileDataID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellMiscMeta::Instance(), HOTFIX_SEL_SPELL_MISC); return &loadInfo; @@ -4352,23 +4381,23 @@ struct SpellShapeshiftFormLoadInfo { false, FT_STRING, "Name" }, { false, FT_FLOAT, "WeaponDamageVariance" }, { false, FT_INT, "Flags" }, - { false, FT_SHORT, "AttackIconID" }, { false, FT_SHORT, "CombatRoundTime" }, - { false, FT_SHORT, "CreatureDisplayID1" }, - { false, FT_SHORT, "CreatureDisplayID2" }, - { false, FT_SHORT, "CreatureDisplayID3" }, - { false, FT_SHORT, "CreatureDisplayID4" }, - { false, FT_SHORT, "PresetSpellID1" }, - { false, FT_SHORT, "PresetSpellID2" }, - { false, FT_SHORT, "PresetSpellID3" }, - { false, FT_SHORT, "PresetSpellID4" }, - { false, FT_SHORT, "PresetSpellID5" }, - { false, FT_SHORT, "PresetSpellID6" }, - { false, FT_SHORT, "PresetSpellID7" }, - { false, FT_SHORT, "PresetSpellID8" }, { false, FT_SHORT, "MountTypeID" }, { true, FT_BYTE, "CreatureType" }, { false, FT_BYTE, "BonusActionBar" }, + { false, FT_INT, "AttackIconFileDataID" }, + { false, FT_INT, "CreatureDisplayID1" }, + { false, FT_INT, "CreatureDisplayID2" }, + { false, FT_INT, "CreatureDisplayID3" }, + { false, FT_INT, "CreatureDisplayID4" }, + { false, FT_INT, "PresetSpellID1" }, + { false, FT_INT, "PresetSpellID2" }, + { false, FT_INT, "PresetSpellID3" }, + { false, FT_INT, "PresetSpellID4" }, + { false, FT_INT, "PresetSpellID5" }, + { false, FT_INT, "PresetSpellID6" }, + { false, FT_INT, "PresetSpellID7" }, + { false, FT_INT, "PresetSpellID8" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellShapeshiftFormMeta::Instance(), HOTFIX_SEL_SPELL_SHAPESHIFT_FORM); return &loadInfo; @@ -4421,15 +4450,18 @@ struct SpellXSpellVisualLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "SpellID" }, + { false, FT_INT, "SpellVisualID" }, + { false, FT_INT, "ID" }, { false, FT_FLOAT, "Chance" }, - { false, FT_SHORT, "SpellVisualID1" }, - { false, FT_SHORT, "SpellVisualID2" }, + { false, FT_SHORT, "CasterPlayerConditionID" }, + { false, FT_SHORT, "CasterUnitConditionID" }, { false, FT_SHORT, "PlayerConditionID" }, { false, FT_SHORT, "UnitConditionID" }, + { false, FT_INT, "IconFileDataID" }, + { false, FT_INT, "ActiveIconFileDataID" }, { false, FT_BYTE, "Flags" }, { false, FT_BYTE, "DifficultyID" }, { false, FT_BYTE, "Priority" }, - { false, FT_INT, "ID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellXSpellVisualMeta::Instance(), HOTFIX_SEL_SPELL_X_SPELL_VISUAL); return &loadInfo; diff --git a/src/server/game/DataStores/DB2Metadata.h b/src/server/game/DataStores/DB2Metadata.h index f7c24ec315b..0a3ff17925a 100644 --- a/src/server/game/DataStores/DB2Metadata.h +++ b/src/server/game/DataStores/DB2Metadata.h @@ -24,9 +24,10 @@ struct AchievementMeta { static DB2Meta const* Instance() { - static char const* types = "ssishhhhhhhbbbi"; + static char const* types = "ssishhhhhhbbbii"; static uint8 const arraySizes[15] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(14, 15, 0x95189824, types, arraySizes); + static DB2FieldDefault const fieldDefaults[15] = { "", "", uint32(0), "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(13, 15, 0x0A906D77, types, arraySizes, fieldDefaults); return &instance; } }; @@ -37,7 +38,8 @@ struct Achievement_CategoryMeta { static char const* types = "shbi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(3, 4, 0xCDFE144A, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint8(0), uint32(0) }; + static DB2Meta instance(3, 4, 0x1397F425, types, arraySizes, fieldDefaults); return &instance; } }; @@ -46,9 +48,10 @@ struct AdventureJournalMeta { static DB2Meta const* Instance() { - static char const* types = "sssiisshhhhhhbbbbbbbbb"; - static uint8 const arraySizes[22] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1 }; - static DB2Meta instance(-1, 22, 0xD3689E19, types, arraySizes); + static char const* types = "sssiisshhhhhhbbbbbbbii"; + static uint8 const arraySizes[22] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[22] = { "", "", "", uint32(0), uint32(0), "", "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 22, 0x64712E77, types, arraySizes, fieldDefaults); return &instance; } }; @@ -59,7 +62,8 @@ struct AdventureMapPOIMeta { static char const* types = "fissbiiiiiiii"; static uint8 const arraySizes[13] = { 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 13, 0x8DD3DD67, types, arraySizes); + static DB2FieldDefault const fieldDefaults[13] = { float(0), uint32(0), "", "", uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 13, 0xC7FC77F3, types, arraySizes, fieldDefaults); return &instance; } }; @@ -70,7 +74,8 @@ struct AnimKitMeta { static char const* types = "ihh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x99250BF2, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint16(0) }; + static DB2Meta instance(-1, 3, 0xE5B727EB, types, arraySizes, fieldDefaults); return &instance; } }; @@ -81,7 +86,8 @@ struct AnimKitBoneSetMeta { static char const* types = "sbbbb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xA63507C5, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { "", uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 5, 0x196B6380, types, arraySizes, fieldDefaults); return &instance; } }; @@ -92,7 +98,8 @@ struct AnimKitBoneSetAliasMeta { static char const* types = "bb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xFD752B70, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint8(0), uint8(0) }; + static DB2Meta instance(-1, 2, 0x3D3DC96C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -103,7 +110,8 @@ struct AnimKitConfigMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x0B40EAF2, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; + static DB2Meta instance(-1, 1, 0xA2950AAF, types, arraySizes, fieldDefaults); return &instance; } }; @@ -114,7 +122,8 @@ struct AnimKitConfigBoneSetMeta { static char const* types = "hhb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x203DD58D, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x89A6756A, types, arraySizes, fieldDefaults); return &instance; } }; @@ -125,7 +134,20 @@ struct AnimKitPriorityMeta { static char const* types = "b"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x90C43431, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint8(0) }; + static DB2Meta instance(-1, 1, 0x466FA3A4, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct AnimKitReplacementMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "hhhhi"; + static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[5] = { uint16(0), uint16(0), uint16(0), uint16(0), uint32(0) }; + static DB2Meta instance(4, 5, 0xEEB10890, types, arraySizes, fieldDefaults); return &instance; } }; @@ -136,7 +158,8 @@ struct AnimKitSegmentMeta { static char const* types = "iiifihhhbbbbbbbi"; static uint8 const arraySizes[16] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 16, 0xFC70F1F7, types, arraySizes); + static DB2FieldDefault const fieldDefaults[16] = { uint32(0), uint32(0), uint32(0), float(0), uint32(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 16, 0xE66FE1D5, types, arraySizes, fieldDefaults); return &instance; } }; @@ -145,9 +168,10 @@ struct AnimReplacementMeta { static DB2Meta const* Instance() { - static char const* types = "hhhh"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xC2595AFB, types, arraySizes); + static char const* types = "hhhhi"; + static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[5] = { uint16(0), uint16(0), uint16(0), uint16(0), uint32(0) }; + static DB2Meta instance(4, 5, 0x6BC90470, types, arraySizes, fieldDefaults); return &instance; } }; @@ -158,7 +182,8 @@ struct AnimReplacementSetMeta { static char const* types = "b"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xCCB4EEFC, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint8(0) }; + static DB2Meta instance(-1, 1, 0xD9FFC559, types, arraySizes, fieldDefaults); return &instance; } }; @@ -167,9 +192,10 @@ struct AnimationDataMeta { static DB2Meta const* Instance() { - static char const* types = "sihhb"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x0C30F30A, types, arraySizes); + static char const* types = "isihhb"; + static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[6] = { uint32(0), "", uint32(0), uint16(0), uint16(0), uint8(0) }; + static DB2Meta instance(0, 6, 0x13EB0DAC, types, arraySizes, fieldDefaults); return &instance; } }; @@ -180,7 +206,8 @@ struct AreaFarClipOverrideMeta { static char const* types = "iffii"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(4, 5, 0x3D8AF772, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { uint32(0), float(0), float(0), uint32(0), uint32(0) }; + static DB2Meta instance(4, 5, 0xF620496F, types, arraySizes, fieldDefaults); return &instance; } }; @@ -191,7 +218,8 @@ struct AreaGroupMemberMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xEF8BF246, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0xE3DC15B6, types, arraySizes, fieldDefaults); return &instance; } }; @@ -200,9 +228,10 @@ struct AreaPOIMeta { static DB2Meta const* Instance() { - static char const* types = "fsshhhhhhihbbi"; - static uint8 const arraySizes[14] = { 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 14, 0xF472BD34, types, arraySizes); + static char const* types = "ifssiihhhhbbii"; + static uint8 const arraySizes[14] = { 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[14] = { uint32(0), float(0), "", "", uint32(0), uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 14, 0x7FE46F20, types, arraySizes, fieldDefaults); return &instance; } }; @@ -213,7 +242,8 @@ struct AreaPOIStateMeta { static char const* types = "shbbi"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x22D72122, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { "", uint16(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 5, 0x26B07659, types, arraySizes, fieldDefaults); return &instance; } }; @@ -224,7 +254,8 @@ struct AreaTableMeta { static char const* types = "isfshhhhhhhhhhbbbbbbbbi"; static uint8 const arraySizes[23] = { 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 23, 0x34DD9AFD, types, arraySizes); + static DB2FieldDefault const fieldDefaults[23] = { uint32(0), "", float(0), "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 23, 0x1A7A0860, types, arraySizes, fieldDefaults); return &instance; } }; @@ -235,7 +266,8 @@ struct AreaTriggerMeta { static char const* types = "ffffffhhhhhbbbi"; static uint8 const arraySizes[15] = { 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(14, 15, 0xEDF45FE2, types, arraySizes); + static DB2FieldDefault const fieldDefaults[15] = { float(0), float(0), float(0), float(0), float(0), float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(14, 15, 0x1C34D111, types, arraySizes, fieldDefaults); return &instance; } }; @@ -246,7 +278,8 @@ struct AreaTriggerActionSetMeta { static char const* types = "h"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x031AD377, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint16(0) }; + static DB2Meta instance(-1, 1, 0x0043219C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -257,7 +290,8 @@ struct AreaTriggerBoxMeta { static char const* types = "f"; static uint8 const arraySizes[1] = { 3 }; - static DB2Meta instance(-1, 1, 0xB6CF49AC, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { float(0) }; + static DB2Meta instance(-1, 1, 0x78511B09, types, arraySizes, fieldDefaults); return &instance; } }; @@ -268,7 +302,8 @@ struct AreaTriggerCylinderMeta { static char const* types = "fff"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x0BF8A90F, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { float(0), float(0), float(0) }; + static DB2Meta instance(-1, 3, 0xF9DDE5CE, types, arraySizes, fieldDefaults); return &instance; } }; @@ -279,7 +314,8 @@ struct AreaTriggerSphereMeta { static char const* types = "f"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x532CDBE5, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { float(0) }; + static DB2Meta instance(-1, 1, 0x188D1990, types, arraySizes, fieldDefaults); return &instance; } }; @@ -290,7 +326,8 @@ struct ArmorLocationMeta { static char const* types = "fffff"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x1354FFD8, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), float(0), float(0), float(0) }; + static DB2Meta instance(-1, 5, 0xFD8EBF3D, types, arraySizes, fieldDefaults); return &instance; } }; @@ -299,9 +336,10 @@ struct ArtifactMeta { static DB2Meta const* Instance() { - static char const* types = "siiihhbb"; - static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0x045C232B, types, arraySizes); + static char const* types = "siiihhbbii"; + static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[10] = { "", uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 10, 0xE59CACA4, types, arraySizes, fieldDefaults); return &instance; } }; @@ -310,9 +348,10 @@ struct ArtifactAppearanceMeta { static DB2Meta const* Instance() { - static char const* types = "siffihhhbbbbiii"; + static char const* types = "siffihhbbbbiiii"; static uint8 const arraySizes[15] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(12, 15, 0x80AD1607, types, arraySizes); + static DB2FieldDefault const fieldDefaults[15] = { "", uint32(0), float(0), float(0), uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(11, 15, 0x97AC249A, types, arraySizes, fieldDefaults); return &instance; } }; @@ -323,7 +362,8 @@ struct ArtifactAppearanceSetMeta { static char const* types = "sshhbbbbi"; static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(8, 9, 0xC53DCC8A, types, arraySizes); + static DB2FieldDefault const fieldDefaults[9] = { "", "", uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(8, 9, 0xF10622F3, types, arraySizes, fieldDefaults); return &instance; } }; @@ -334,7 +374,8 @@ struct ArtifactCategoryMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x73691C0D, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0x8B77EABF, types, arraySizes, fieldDefaults); return &instance; } }; @@ -343,9 +384,10 @@ struct ArtifactPowerMeta { static DB2Meta const* Instance() { - static char const* types = "fbbbii"; - static uint8 const arraySizes[6] = { 2, 1, 1, 1, 1, 1 }; - static DB2Meta instance(4, 6, 0xB81D03F6, types, arraySizes); + static char const* types = "fbbbbii"; + static uint8 const arraySizes[7] = { 2, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[7] = { float(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(5, 7, 0x27D09323, types, arraySizes, fieldDefaults); return &instance; } }; @@ -356,7 +398,20 @@ struct ArtifactPowerLinkMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x668C691C, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0x7E5E19B4, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct ArtifactPowerPickerMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "i"; + static uint8 const arraySizes[1] = { 1 }; + static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; + static DB2Meta instance(-1, 1, 0xD00990E5, types, arraySizes, fieldDefaults); return &instance; } }; @@ -367,7 +422,8 @@ struct ArtifactPowerRankMeta { static char const* types = "ifhhb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xC6BC97C0, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { uint32(0), float(0), uint16(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 5, 0xB08EEA4D, types, arraySizes, fieldDefaults); return &instance; } }; @@ -378,7 +434,20 @@ struct ArtifactQuestXPMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 10 }; - static DB2Meta instance(-1, 1, 0xBF20E8C0, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; + static DB2Meta instance(-1, 1, 0x9E5D9065, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct ArtifactTierMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "iiii"; + static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 4, 0x5D3F394A, types, arraySizes, fieldDefaults); return &instance; } }; @@ -387,9 +456,10 @@ struct ArtifactUnlockMeta { static DB2Meta const* Instance() { - static char const* types = "hhbbi"; + static char const* types = "hbbii"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xD456B4E1, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 5, 0x2123691C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -400,7 +470,8 @@ struct AuctionHouseMeta { static char const* types = "shbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x575B67A7, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0xBB5A8B0D, types, arraySizes, fieldDefaults); return &instance; } }; @@ -411,7 +482,8 @@ struct BankBagSlotPricesMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xB05E02B4, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; + static DB2Meta instance(-1, 1, 0x8CA96389, types, arraySizes, fieldDefaults); return &instance; } }; @@ -422,7 +494,8 @@ struct BannedAddOnsMeta { static char const* types = "ssb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xAE353B8F, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", "", uint8(0) }; + static DB2Meta instance(-1, 3, 0xE9283318, types, arraySizes, fieldDefaults); return &instance; } }; @@ -433,7 +506,8 @@ struct BarberShopStyleMeta { static char const* types = "ssfbbbbi"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(7, 8, 0xB5E14DAA, types, arraySizes); + static DB2FieldDefault const fieldDefaults[8] = { "", "", float(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(7, 8, 0x8C05A540, types, arraySizes, fieldDefaults); return &instance; } }; @@ -444,7 +518,8 @@ struct BattlePetAbilityMeta { static char const* types = "isshbbi"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0xB120A510, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { uint32(0), "", "", uint16(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 7, 0xD9137C24, types, arraySizes, fieldDefaults); return &instance; } }; @@ -455,7 +530,8 @@ struct BattlePetAbilityEffectMeta { static char const* types = "hhhhhbi"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 6, 1, 1 }; - static DB2Meta instance(6, 7, 0x90F49D37, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint32(0) }; + static DB2Meta instance(6, 7, 0xFE50DB72, types, arraySizes, fieldDefaults); return &instance; } }; @@ -466,7 +542,8 @@ struct BattlePetAbilityStateMeta { static char const* types = "ihb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x3819C91A, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x300E2505, types, arraySizes, fieldDefaults); return &instance; } }; @@ -477,7 +554,8 @@ struct BattlePetAbilityTurnMeta { static char const* types = "hhbbbi"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(5, 6, 0x9683E767, types, arraySizes); + static DB2FieldDefault const fieldDefaults[6] = { uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(5, 6, 0x85676425, types, arraySizes, fieldDefaults); return &instance; } }; @@ -488,7 +566,8 @@ struct BattlePetBreedQualityMeta { static char const* types = "fb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x7BA0AA85, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { float(0), uint8(0) }; + static DB2Meta instance(-1, 2, 0x2C3B279F, types, arraySizes, fieldDefaults); return &instance; } }; @@ -499,7 +578,8 @@ struct BattlePetBreedStateMeta { static char const* types = "hbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x86797087, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0xC24FEC66, types, arraySizes, fieldDefaults); return &instance; } }; @@ -510,7 +590,8 @@ struct BattlePetEffectPropertiesMeta { static char const* types = "shb"; static uint8 const arraySizes[3] = { 6, 1, 6 }; - static DB2Meta instance(-1, 3, 0xB4163BC7, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", uint16(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x57364822, types, arraySizes, fieldDefaults); return &instance; } }; @@ -521,7 +602,8 @@ struct BattlePetNPCTeamMemberMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xC7290625, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x5F081559, types, arraySizes, fieldDefaults); return &instance; } }; @@ -530,9 +612,10 @@ struct BattlePetSpeciesMeta { static DB2Meta const* Instance() { - static char const* types = "iiisshbbi"; - static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(8, 9, 0x294C6926, types, arraySizes); + static char const* types = "iiisshbbiii"; + static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[11] = { uint32(0), uint32(0), uint32(0), "", "", uint16(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(8, 11, 0x1CA66769, types, arraySizes, fieldDefaults); return &instance; } }; @@ -543,7 +626,8 @@ struct BattlePetSpeciesStateMeta { static char const* types = "ihb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xAFB2B852, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x3AC86CD5, types, arraySizes, fieldDefaults); return &instance; } }; @@ -554,7 +638,8 @@ struct BattlePetSpeciesXAbilityMeta { static char const* types = "hhbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xE5CA0BAA, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x73D79694, types, arraySizes, fieldDefaults); return &instance; } }; @@ -563,9 +648,10 @@ struct BattlePetStateMeta { static DB2Meta const* Instance() { - static char const* types = "shb"; + static char const* types = "shh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x13716630, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", uint16(0), uint16(0) }; + static DB2Meta instance(-1, 3, 0x52C83A39, types, arraySizes, fieldDefaults); return &instance; } }; @@ -574,9 +660,10 @@ struct BattlePetVisualMeta { static DB2Meta const* Instance() { - static char const* types = "shhhhbb"; + static char const* types = "ishhhbb"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x7857D92C, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { uint32(0), "", uint16(0), uint16(0), uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 7, 0xF0088BE3, types, arraySizes, fieldDefaults); return &instance; } }; @@ -585,9 +672,22 @@ struct BattlemasterListMeta { static DB2Meta const* Instance() { - static char const* types = "sishhhbbbbbbbbb"; - static uint8 const arraySizes[15] = { 1, 1, 1, 16, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 15, 0x99250B06, types, arraySizes); + static char const* types = "sissshhhbbbbbbbbb"; + static uint8 const arraySizes[17] = { 1, 1, 1, 1, 1, 16, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[17] = { "", uint32(0), "", "", "", uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 17, 0x1D42D3EF, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct BeamEffectMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "iffihhhhhh"; + static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[10] = { uint32(0), float(0), float(0), uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0) }; + static DB2Meta instance(-1, 10, 0xDC0FF0EB, types, arraySizes, fieldDefaults); return &instance; } }; @@ -598,7 +698,8 @@ struct BoneWindModifierModelMeta { static char const* types = "ii"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x4A4D9772, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint32(0) }; + static DB2Meta instance(-1, 2, 0xF1EEC916, types, arraySizes, fieldDefaults); return &instance; } }; @@ -609,7 +710,8 @@ struct BoneWindModifiersMeta { static char const* types = "ff"; static uint8 const arraySizes[2] = { 3, 1 }; - static DB2Meta instance(-1, 2, 0x4372F1C2, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { float(0), float(0) }; + static DB2Meta instance(-1, 2, 0x9FFF09EC, types, arraySizes, fieldDefaults); return &instance; } }; @@ -620,7 +722,8 @@ struct BountyMeta { static char const* types = "ihhb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x55137DC9, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0xA542A1C1, types, arraySizes, fieldDefaults); return &instance; } }; @@ -629,9 +732,10 @@ struct BountySetMeta { static DB2Meta const* Instance() { - static char const* types = "hh"; + static char const* types = "hi"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x9F2C269D, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint32(0) }; + static DB2Meta instance(-1, 2, 0x360F6FFD, types, arraySizes, fieldDefaults); return &instance; } }; @@ -642,7 +746,8 @@ struct BroadcastTextMeta { static char const* types = "sshhhbbii"; static uint8 const arraySizes[9] = { 1, 1, 3, 3, 1, 1, 1, 2, 1 }; - static DB2Meta instance(-1, 9, 0xA5D40DCD, types, arraySizes); + static DB2FieldDefault const fieldDefaults[9] = { "", "", uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 9, 0x404B3170, types, arraySizes, fieldDefaults); return &instance; } }; @@ -653,7 +758,8 @@ struct CameraEffectMeta { static char const* types = "b"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xC78EC624, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint8(0) }; + static DB2Meta instance(-1, 1, 0x9949E701, types, arraySizes, fieldDefaults); return &instance; } }; @@ -664,7 +770,8 @@ struct CameraEffectEntryMeta { static char const* types = "ffffffffhhbbbbbb"; static uint8 const arraySizes[16] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 16, 0x5B2E6D11, types, arraySizes); + static DB2FieldDefault const fieldDefaults[16] = { float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 16, 0xFB84669B, types, arraySizes, fieldDefaults); return &instance; } }; @@ -675,7 +782,8 @@ struct CameraModeMeta { static char const* types = "fffffhbbbbb"; static uint8 const arraySizes[11] = { 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 11, 0xE917E35D, types, arraySizes); + static DB2FieldDefault const fieldDefaults[11] = { float(0), float(0), float(0), float(0), float(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 11, 0x777D00D4, types, arraySizes, fieldDefaults); return &instance; } }; @@ -686,7 +794,20 @@ struct CastableRaidBuffsMeta { static char const* types = "ii"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xB679347C, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint32(0) }; + static DB2Meta instance(-1, 2, 0x508C58D8, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct CelestialBodyMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "iiiiiifffffffhi"; + static uint8 const arraySizes[15] = { 1, 1, 2, 1, 1, 2, 2, 2, 1, 2, 1, 3, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[15] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint16(0), uint32(0) }; + static DB2Meta instance(14, 15, 0xD3676873, types, arraySizes, fieldDefaults); return &instance; } }; @@ -697,7 +818,8 @@ struct Cfg_CategoriesMeta { static char const* types = "shbbb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x9D74E29F, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { "", uint16(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 5, 0x212D0A85, types, arraySizes, fieldDefaults); return &instance; } }; @@ -708,7 +830,8 @@ struct Cfg_ConfigsMeta { static char const* types = "fhbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x614156FB, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { float(0), uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0xB110A69B, types, arraySizes, fieldDefaults); return &instance; } }; @@ -717,9 +840,10 @@ struct Cfg_RegionsMeta { static DB2Meta const* Instance() { - static char const* types = "sibb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x12FE83BB, types, arraySizes); + static char const* types = "siibb"; + static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[5] = { "", uint32(0), uint32(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 5, 0xBB581C66, types, arraySizes, fieldDefaults); return &instance; } }; @@ -730,7 +854,8 @@ struct CharBaseInfoMeta { static char const* types = "bb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x02E25610, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint8(0), uint8(0) }; + static DB2Meta instance(-1, 2, 0x754379C6, types, arraySizes, fieldDefaults); return &instance; } }; @@ -741,7 +866,8 @@ struct CharBaseSectionMeta { static char const* types = "bbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x4A6DADB1, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x5C6FBF9A, types, arraySizes, fieldDefaults); return &instance; } }; @@ -752,7 +878,8 @@ struct CharComponentTextureLayoutsMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xC4B70FAC, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0xB966C960, types, arraySizes, fieldDefaults); return &instance; } }; @@ -763,7 +890,8 @@ struct CharComponentTextureSectionsMeta { static char const* types = "hhhhbbb"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x38B71859, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 7, 0xEC102748, types, arraySizes, fieldDefaults); return &instance; } }; @@ -774,7 +902,8 @@ struct CharHairGeosetsMeta { static char const* types = "ibbbbbbbbi"; static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0xC9C48A1A, types, arraySizes); + static DB2FieldDefault const fieldDefaults[10] = { uint32(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 10, 0x22C73E6A, types, arraySizes, fieldDefaults); return &instance; } }; @@ -785,7 +914,8 @@ struct CharSectionsMeta { static char const* types = "ihbbbbb"; static uint8 const arraySizes[7] = { 3, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x24CEF061, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 7, 0x534D8C12, types, arraySizes, fieldDefaults); return &instance; } }; @@ -794,9 +924,10 @@ struct CharShipmentMeta { static DB2Meta const* Instance() { - static char const* types = "iiiiihbb"; - static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0x67EDB3A4, types, arraySizes); + static char const* types = "iiiiihhbb"; + static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[9] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 9, 0xE5A1F674, types, arraySizes, fieldDefaults); return &instance; } }; @@ -805,9 +936,10 @@ struct CharShipmentContainerMeta { static DB2Meta const* Instance() { - static char const* types = "sshhhhhhbbbbbbbi"; + static char const* types = "ssihhhhhhbbbbbbi"; static uint8 const arraySizes[16] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 16, 0xA277E259, types, arraySizes); + static DB2FieldDefault const fieldDefaults[16] = { "", "", uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 16, 0xBC15C40D, types, arraySizes, fieldDefaults); return &instance; } }; @@ -818,7 +950,8 @@ struct CharStartOutfitMeta { static char const* types = "iibbbbb"; static uint8 const arraySizes[7] = { 24, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0xA01541A2, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint32(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 7, 0x11FCA973, types, arraySizes, fieldDefaults); return &instance; } }; @@ -829,7 +962,8 @@ struct CharTitlesMeta { static char const* types = "sshb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xD9F524BD, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { "", "", uint16(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0xF4CFAF5F, types, arraySizes, fieldDefaults); return &instance; } }; @@ -840,7 +974,8 @@ struct CharacterFaceBoneSetMeta { static char const* types = "ibbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x7FF28BE6, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x08781414, types, arraySizes, fieldDefaults); return &instance; } }; @@ -851,7 +986,8 @@ struct CharacterFacialHairStylesMeta { static char const* types = "ibbb"; static uint8 const arraySizes[4] = { 5, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xC2DF2CBC, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x70129D6C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -862,7 +998,8 @@ struct CharacterLoadoutMeta { static char const* types = "ibb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x7569FA0F, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0xA77362E8, types, arraySizes, fieldDefaults); return &instance; } }; @@ -873,7 +1010,8 @@ struct CharacterLoadoutItemMeta { static char const* types = "ih"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xAF935C05, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0x3EE3AA59, types, arraySizes, fieldDefaults); return &instance; } }; @@ -884,7 +1022,8 @@ struct ChatChannelsMeta { static char const* types = "issb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x2BA2AD26, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), "", "", uint8(0) }; + static DB2Meta instance(-1, 4, 0x2EF4243A, types, arraySizes, fieldDefaults); return &instance; } }; @@ -895,7 +1034,8 @@ struct ChatProfanityMeta { static char const* types = "sb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x1ECE183A, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) }; + static DB2Meta instance(-1, 2, 0xA105BECA, types, arraySizes, fieldDefaults); return &instance; } }; @@ -906,7 +1046,8 @@ struct ChrClassRaceSexMeta { static char const* types = "bbbiii"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0xCBF79DCD, types, arraySizes); + static DB2FieldDefault const fieldDefaults[6] = { uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 6, 0x053C5DBF, types, arraySizes, fieldDefaults); return &instance; } }; @@ -917,7 +1058,8 @@ struct ChrClassTitleMeta { static char const* types = "ssb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x55B37180, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", "", uint8(0) }; + static DB2Meta instance(-1, 3, 0x4040E131, types, arraySizes, fieldDefaults); return &instance; } }; @@ -926,9 +1068,10 @@ struct ChrClassUIDisplayMeta { static DB2Meta const* Instance() { - static char const* types = "hhb"; + static char const* types = "bii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x714A7125, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0x92F61A82, types, arraySizes, fieldDefaults); return &instance; } }; @@ -939,7 +1082,8 @@ struct ChrClassVillainMeta { static char const* types = "sbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x0FF98924, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x7A6F0278, types, arraySizes, fieldDefaults); return &instance; } }; @@ -950,7 +1094,8 @@ struct ChrClassesMeta { static char const* types = "sssssiiiihhhbbbbbbi"; static uint8 const arraySizes[19] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(18, 19, 0x60BF86D8, types, arraySizes); + static DB2FieldDefault const fieldDefaults[19] = { "", "", "", "", "", uint32(0), uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(18, 19, 0x0F6B52A9, types, arraySizes, fieldDefaults); return &instance; } }; @@ -961,7 +1106,8 @@ struct ChrClassesXPowerTypesMeta { static char const* types = "bb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x698836AB, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint8(0), uint8(0) }; + static DB2Meta instance(-1, 2, 0xDDA9B3B5, types, arraySizes, fieldDefaults); return &instance; } }; @@ -970,9 +1116,10 @@ struct ChrRacesMeta { static DB2Meta const* Instance() { - static char const* types = "isssssssiiffihhhhhhhhhbbbbbbbbbbiii"; - static uint8 const arraySizes[35] = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 }; - static DB2Meta instance(-1, 35, 0xA3A7EAC0, types, arraySizes); + static char const* types = "isssssssiiffihhhhhhbbbbbbbbbbiii"; + static uint8 const arraySizes[32] = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 }; + static DB2FieldDefault const fieldDefaults[32] = { uint32(0), "", "", "", "", "", "", "", uint32(0), uint32(0), float(0), float(0), uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 32, 0x7D66CD5D, types, arraySizes, fieldDefaults); return &instance; } }; @@ -981,9 +1128,10 @@ struct ChrSpecializationMeta { static DB2Meta const* Instance() { - static char const* types = "issshbbbbbiii"; + static char const* types = "isssbbbbbiiii"; static uint8 const arraySizes[13] = { 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(10, 13, 0x6F1BA4F3, types, arraySizes); + static DB2FieldDefault const fieldDefaults[13] = { uint32(0), "", "", "", uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(9, 13, 0x6B9C675E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -994,7 +1142,8 @@ struct ChrUpgradeBucketMeta { static char const* types = "hbi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(2, 3, 0xA1617BFA, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint8(0), uint32(0) }; + static DB2Meta instance(2, 3, 0xC6DCE691, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1005,7 +1154,8 @@ struct ChrUpgradeBucketSpellMeta { static char const* types = "ih"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x51190FCD, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0xF1FEF7B7, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1016,7 +1166,8 @@ struct ChrUpgradeTierMeta { static char const* types = "sbbi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(3, 4, 0x7A954DB6, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { "", uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(3, 4, 0x4EA0BB7D, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1025,9 +1176,10 @@ struct CinematicCameraMeta { static DB2Meta const* Instance() { - static char const* types = "sffh"; + static char const* types = "iffi"; static uint8 const arraySizes[4] = { 1, 3, 1, 1 }; - static DB2Meta instance(-1, 4, 0xA7B95349, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), float(0), float(0), uint32(0) }; + static DB2Meta instance(-1, 4, 0x85F98D68, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1036,9 +1188,10 @@ struct CinematicSequencesMeta { static DB2Meta const* Instance() { - static char const* types = "hh"; + static char const* types = "ih"; static uint8 const arraySizes[2] = { 1, 8 }; - static DB2Meta instance(-1, 2, 0xEDED096E, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0xE5589528, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1049,7 +1202,8 @@ struct CloakDampeningMeta { static char const* types = "fffffff"; static uint8 const arraySizes[7] = { 5, 5, 2, 2, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x12019748, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { float(0), float(0), float(0), float(0), float(0), float(0), float(0) }; + static DB2Meta instance(-1, 7, 0x4C6C0A23, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1060,7 +1214,8 @@ struct CombatConditionMeta { static char const* types = "hhhhhbbbbbb"; static uint8 const arraySizes[11] = { 1, 1, 1, 2, 2, 2, 2, 1, 2, 2, 1 }; - static DB2Meta instance(-1, 11, 0x272B0E74, types, arraySizes); + static DB2FieldDefault const fieldDefaults[11] = { uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 11, 0x974D0A2D, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1071,7 +1226,8 @@ struct ComponentModelFileDataMeta { static char const* types = "bbbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xCB3BCC73, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0xBE8BC3B9, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1082,7 +1238,20 @@ struct ComponentTextureFileDataMeta { static char const* types = "bbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xEFF4D5A1, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x1E7268B6, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct ContributionMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "iissii"; + static uint8 const arraySizes[6] = { 1, 1, 1, 1, 4, 1 }; + static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint32(0), "", "", uint32(0), uint32(0) }; + static DB2Meta instance(0, 6, 0xBB79E214, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1093,7 +1262,8 @@ struct ConversationLineMeta { static char const* types = "iiihhbbb"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0x9630B1BB, types, arraySizes); + static DB2FieldDefault const fieldDefaults[8] = { uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 8, 0x6D04DE51, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1104,7 +1274,8 @@ struct CreatureMeta { static char const* types = "iiifssssbbbb"; static uint8 const arraySizes[12] = { 3, 1, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 12, 0xE4FD6645, types, arraySizes); + static DB2FieldDefault const fieldDefaults[12] = { uint32(0), uint32(0), uint32(0), float(0), "", "", "", "", uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 12, 0x9044D70F, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1115,7 +1286,8 @@ struct CreatureDifficultyMeta { static char const* types = "iihbbb"; static uint8 const arraySizes[6] = { 1, 7, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0x32877374, types, arraySizes); + static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint32(0), uint16(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 6, 0x93E33102, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1126,7 +1298,8 @@ struct CreatureDispXUiCameraMeta { static char const* types = "ih"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xB29B32B1, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0xBB53C829, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1135,9 +1308,10 @@ struct CreatureDisplayInfoMeta { static DB2Meta const* Instance() { - static char const* types = "iffisiiifhhhhhhbbbbbb"; - static uint8 const arraySizes[21] = { 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 21, 0xABD08A04, types, arraySizes); + static char const* types = "ifhhbbbiiibhfibhihhbifi"; + static uint8 const arraySizes[23] = { 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[23] = { uint32(0), float(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint8(255), uint16(0), float(0), uint32(0), uint8(0), uint16(0), uint32(0), uint16(0), uint16(0), uint8(255), uint32(0), float(1), uint32(0) }; + static DB2Meta instance(0, 23, 0x3CC55E5A, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1148,7 +1322,20 @@ struct CreatureDisplayInfoCondMeta { static char const* types = "iiiibbiiiiiiiii"; static uint8 const arraySizes[15] = { 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 }; - static DB2Meta instance(-1, 15, 0x0D0A694C, types, arraySizes); + static DB2FieldDefault const fieldDefaults[15] = { uint32(0), uint32(0), uint32(0), uint32(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 15, 0x9E3B4111, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct CreatureDisplayInfoEvtMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "iii"; + static uint8 const arraySizes[3] = { 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0x40F6DAE0, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1159,7 +1346,8 @@ struct CreatureDisplayInfoExtraMeta { static char const* types = "iibbbbbbbbbb"; static uint8 const arraySizes[12] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1 }; - static DB2Meta instance(-1, 12, 0xE5D838DA, types, arraySizes); + static DB2FieldDefault const fieldDefaults[12] = { uint32(0), uint32(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 12, 0xBC7BC222, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1168,9 +1356,10 @@ struct CreatureDisplayInfoTrnMeta { static DB2Meta const* Instance() { - static char const* types = "iifh"; + static char const* types = "iiif"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xDEBF0D7C, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint32(0), float(0) }; + static DB2Meta instance(-1, 4, 0x41D09CD0, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1179,9 +1368,10 @@ struct CreatureFamilyMeta { static DB2Meta const* Instance() { - static char const* types = "ffsshhbbb"; + static char const* types = "ffsihhbbb"; static uint8 const arraySizes[9] = { 1, 1, 1, 1, 2, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 9, 0xDF8261E1, types, arraySizes); + static DB2FieldDefault const fieldDefaults[9] = { float(0), float(0), "", uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 9, 0x10CEE40B, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1192,7 +1382,8 @@ struct CreatureImmunitiesMeta { static char const* types = "ibbbbbiii"; static uint8 const arraySizes[9] = { 2, 1, 1, 1, 1, 1, 1, 8, 16 }; - static DB2Meta instance(-1, 9, 0xB19897AD, types, arraySizes); + static DB2FieldDefault const fieldDefaults[9] = { uint32(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 9, 0x73483860, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1203,7 +1394,8 @@ struct CreatureModelDataMeta { static char const* types = "ffffffffffffffffffiiiiiiiiii"; static uint8 const arraySizes[28] = { 1, 1, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 28, 0xE9433C0E, types, arraySizes); + static DB2FieldDefault const fieldDefaults[28] = { float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 28, 0x3F37C132, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1214,7 +1406,8 @@ struct CreatureMovementInfoMeta { static char const* types = "f"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x5510F319, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { float(0) }; + static DB2Meta instance(-1, 1, 0x8263690C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1223,9 +1416,10 @@ struct CreatureSoundDataMeta { static DB2Meta const* Instance() { - static char const* types = "ffbbiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"; - static uint8 const arraySizes[37] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 37, 0x902B75D5, types, arraySizes); + static char const* types = "ffbiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"; + static uint8 const arraySizes[37] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[37] = { float(0), float(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 37, 0xBD1B302E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1236,7 +1430,20 @@ struct CreatureTypeMeta { static char const* types = "sb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xC284FF64, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) }; + static DB2Meta instance(-1, 2, 0xD2D5A474, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct CreatureXContributionMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "iii"; + static uint8 const arraySizes[3] = { 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(0, 3, 0xCE01E8F1, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1247,7 +1454,8 @@ struct CriteriaMeta { static char const* types = "iiihhhbbbbb"; static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 11, 0x82A6B9CD, types, arraySizes); + static DB2FieldDefault const fieldDefaults[11] = { uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 11, 0xA31558B6, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1256,9 +1464,10 @@ struct CriteriaTreeMeta { static DB2Meta const* Instance() { - static char const* types = "iishhbi"; + static char const* types = "ishhbii"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x896CF168, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { uint32(0), "", uint16(0), uint16(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 7, 0x92A517B7, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1269,7 +1478,8 @@ struct CriteriaTreeXEffectMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x4EB7207E, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0xC6898472, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1280,7 +1490,8 @@ struct CurrencyCategoryMeta { static char const* types = "sbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xD77A397C, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x58DDFDA9, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1291,7 +1502,8 @@ struct CurrencyTypesMeta { static char const* types = "ssiiisbbbi"; static uint8 const arraySizes[10] = { 1, 2, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0x9404737C, types, arraySizes); + static DB2FieldDefault const fieldDefaults[10] = { "", "", uint32(0), uint32(0), uint32(0), "", uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 10, 0x6F93491A, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1302,7 +1514,8 @@ struct CurveMeta { static char const* types = "bb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xB2E1D774, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint8(0), uint8(0) }; + static DB2Meta instance(-1, 2, 0xCC46081E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1313,7 +1526,8 @@ struct CurvePointMeta { static char const* types = "fhb"; static uint8 const arraySizes[3] = { 2, 1, 1 }; - static DB2Meta instance(-1, 3, 0x9A0F148D, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { float(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x44A183DE, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1324,7 +1538,8 @@ struct DeathThudLookupsMeta { static char const* types = "bbii"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x047DB23C, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 4, 0x027CD35A, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1333,9 +1548,10 @@ struct DecalPropertiesMeta { static DB2Meta const* Instance() { - static char const* types = "iffffffffbbiii"; - static uint8 const arraySizes[14] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 14, 0x11C0EE5C, types, arraySizes); + static char const* types = "iiffffffffbbiiiii"; + static uint8 const arraySizes[17] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[17] = { uint32(0), uint32(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(0, 17, 0x59887EDD, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1346,7 +1562,8 @@ struct DeclinedWordMeta { static char const* types = "si"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(1, 2, 0x0ADEF922, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { "", uint32(0) }; + static DB2Meta instance(1, 2, 0xAC6534F6, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1357,7 +1574,8 @@ struct DeclinedWordCasesMeta { static char const* types = "sbi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x69C1484B, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0xD119CEC6, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1368,7 +1586,8 @@ struct DestructibleModelDataMeta { static char const* types = "hhhhhbbbbbbbbbbbbbbbbb"; static uint8 const arraySizes[22] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 22, 0x51E17C9F, types, arraySizes); + static DB2FieldDefault const fieldDefaults[22] = { uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 22, 0xF08A92F1, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1379,7 +1598,8 @@ struct DeviceBlacklistMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x8D8F5139, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0xA68DD8FD, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1390,7 +1610,8 @@ struct DeviceDefaultSettingsMeta { static char const* types = "hhb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x1D359D4E, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0xFFAED9AF, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1399,9 +1620,10 @@ struct DifficultyMeta { static DB2Meta const* Instance() { - static char const* types = "sbbbbbbbbbbbb"; + static char const* types = "shhhbbbbbbbbb"; static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 13, 0xA4863806, types, arraySizes); + static DB2FieldDefault const fieldDefaults[13] = { "", uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 13, 0x198427A9, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1412,7 +1634,8 @@ struct DissolveEffectMeta { static char const* types = "fffffffbbii"; static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 11, 0xF2FF2CDE, types, arraySizes); + static DB2FieldDefault const fieldDefaults[11] = { float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 11, 0x9E215A41, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1423,7 +1646,8 @@ struct DriverBlacklistMeta { static char const* types = "iihbbbb"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x5B13B6CF, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 7, 0xBED272B2, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1432,9 +1656,10 @@ struct DungeonEncounterMeta { static DB2Meta const* Instance() { - static char const* types = "isihhbbbi"; + static char const* types = "sihbbbiii"; static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(0, 9, 0x164CF266, types, arraySizes); + static DB2FieldDefault const fieldDefaults[9] = { "", uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(6, 9, 0x12E68741, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1445,7 +1670,8 @@ struct DungeonMapMeta { static char const* types = "ffhhbbbi"; static uint8 const arraySizes[8] = { 2, 2, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(7, 8, 0x778A28E4, types, arraySizes); + static DB2FieldDefault const fieldDefaults[8] = { float(0), float(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(7, 8, 0xA0B38918, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1456,7 +1682,8 @@ struct DungeonMapChunkMeta { static char const* types = "fihhh"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x3D797109, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { float(0), uint32(0), uint16(0), uint16(0), uint16(0) }; + static DB2Meta instance(-1, 5, 0xA2D6F6E2, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1467,7 +1694,8 @@ struct DurabilityCostsMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 21, 8 }; - static DB2Meta instance(-1, 2, 0xC0CAAB42, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0x0B2FD6C0, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1478,7 +1706,8 @@ struct DurabilityQualityMeta { static char const* types = "f"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xC7583507, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { float(0) }; + static DB2Meta instance(-1, 1, 0x6C3562D2, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1487,9 +1716,10 @@ struct EdgeGlowEffectMeta { static DB2Meta const* Instance() { - static char const* types = "fffffffffb"; - static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0x5F18B5D8, types, arraySizes); + static char const* types = "ffffffffffb"; + static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[11] = { float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint8(0) }; + static DB2Meta instance(-1, 11, 0xC51928D0, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1500,7 +1730,8 @@ struct EmotesMeta { static char const* types = "siihbiiii"; static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 9, 0xB540EE47, types, arraySizes); + static DB2FieldDefault const fieldDefaults[9] = { "", uint32(0), uint32(0), uint16(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 9, 0xB331D120, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1511,7 +1742,8 @@ struct EmotesTextMeta { static char const* types = "sh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xB9A8E504, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { "", uint16(0) }; + static DB2Meta instance(-1, 2, 0xFD161EDC, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1522,7 +1754,8 @@ struct EmotesTextDataMeta { static char const* types = "shb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xD3577B09, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", uint16(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x2D5D6EAE, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1533,7 +1766,8 @@ struct EmotesTextSoundMeta { static char const* types = "hbbbi"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x3F7731F0, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 5, 0x6C500E43, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1544,7 +1778,8 @@ struct EnvironmentalDamageMeta { static char const* types = "hb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xD6505814, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint8(0) }; + static DB2Meta instance(-1, 2, 0x51DD4764, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1555,7 +1790,8 @@ struct ExhaustionMeta { static char const* types = "ifffsfsi"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(7, 8, 0x5868E9E5, types, arraySizes); + static DB2FieldDefault const fieldDefaults[8] = { uint32(0), float(0), float(0), float(0), "", float(0), "", uint32(0) }; + static DB2Meta instance(7, 8, 0x8AD076B3, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1564,9 +1800,10 @@ struct FactionMeta { static DB2Meta const* Instance() { - static char const* types = "iifssihhhhbbbb"; - static uint8 const arraySizes[14] = { 4, 4, 2, 1, 1, 4, 1, 4, 4, 1, 2, 1, 1, 1 }; - static DB2Meta instance(-1, 14, 0x3C7163E7, types, arraySizes); + static char const* types = "iiifssihhhhhbbbb"; + static uint8 const arraySizes[16] = { 1, 4, 4, 2, 1, 1, 4, 1, 4, 4, 1, 1, 2, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[16] = { uint32(0), uint32(0), uint32(0), float(0), "", "", uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(0, 16, 0xDAD6D4BA, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1577,7 +1814,8 @@ struct FactionGroupMeta { static char const* types = "ssb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xF72219DD, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", "", uint8(0) }; + static DB2Meta instance(-1, 3, 0xA6EAE900, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1588,7 +1826,8 @@ struct FactionTemplateMeta { static char const* types = "hhhhbbb"; static uint8 const arraySizes[7] = { 1, 1, 4, 4, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x81451073, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 7, 0x05AF4856, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1597,9 +1836,10 @@ struct FootprintTexturesMeta { static DB2Meta const* Instance() { - static char const* types = "si"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(1, 2, 0x93F7CD69, types, arraySizes); + static char const* types = "iii"; + static uint8 const arraySizes[3] = { 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0x5784B862, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1610,7 +1850,8 @@ struct FootstepTerrainLookupMeta { static char const* types = "hbii"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x22C3D6AE, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 4, 0x100A7912, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1621,7 +1862,8 @@ struct FriendshipRepReactionMeta { static char const* types = "shb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x41F0EB0D, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", uint16(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x46A22CAC, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1632,7 +1874,8 @@ struct FriendshipReputationMeta { static char const* types = "ishi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(3, 4, 0xD0CC64D3, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), "", uint16(0), uint32(0) }; + static DB2Meta instance(3, 4, 0xCF470D75, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1643,7 +1886,8 @@ struct FullScreenEffectMeta { static char const* types = "fffffffffffffffffffiiffffffffffffffbiii"; static uint8 const arraySizes[39] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 39, 0x5477D956, types, arraySizes); + static DB2FieldDefault const fieldDefaults[39] = { float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint32(0), uint32(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint8(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 39, 0x16E44121, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1654,7 +1898,8 @@ struct GMSurveyAnswersMeta { static char const* types = "sbi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xD25A45BC, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0xCDB0A5E3, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1665,7 +1910,8 @@ struct GMSurveyCurrentSurveyMeta { static char const* types = "b"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xBBEF1D69, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint8(0) }; + static DB2Meta instance(-1, 1, 0x494DE85C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1676,7 +1922,8 @@ struct GMSurveyQuestionsMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x12F42FB6, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0xFAE68EFD, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1687,7 +1934,8 @@ struct GMSurveySurveysMeta { static char const* types = "b"; static uint8 const arraySizes[1] = { 15 }; - static DB2Meta instance(-1, 1, 0x05223914, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint8(0) }; + static DB2Meta instance(-1, 1, 0xBA9D98F1, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1698,7 +1946,8 @@ struct GameObjectArtKitMeta { static char const* types = "ss"; static uint8 const arraySizes[2] = { 3, 4 }; - static DB2Meta instance(-1, 2, 0x9BD6060B, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { "", "" }; + static DB2Meta instance(-1, 2, 0x9FD703CD, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1709,7 +1958,8 @@ struct GameObjectDiffAnimMapMeta { static char const* types = "hbbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xA0585C8F, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0xAA766D85, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1720,7 +1970,8 @@ struct GameObjectDisplayInfoMeta { static char const* types = "ifffh"; static uint8 const arraySizes[5] = { 1, 6, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xE2D6FAB7, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { uint32(0), float(0), float(0), float(0), uint16(0) }; + static DB2Meta instance(-1, 5, 0x9EF36BC0, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1731,7 +1982,8 @@ struct GameObjectDisplayInfoXSoundKitMeta { static char const* types = "bii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xFF6FE0EC, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0x2B8E5987, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1742,7 +1994,8 @@ struct GameObjectsMeta { static char const* types = "fffishhhhbbi"; static uint8 const arraySizes[12] = { 3, 4, 1, 8, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(11, 12, 0x4B699AFB, types, arraySizes); + static DB2FieldDefault const fieldDefaults[12] = { float(0), float(0), float(0), uint32(0), "", uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(11, 12, 0xB2AF06FB, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1751,9 +2004,10 @@ struct GameTipsMeta { static DB2Meta const* Instance() { - static char const* types = "sbbb"; + static char const* types = "shhb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x8412F9E7, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x4FD29D69, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1764,7 +2018,8 @@ struct GarrAbilityMeta { static char const* types = "ssihhbbi"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(7, 8, 0xEF3E98A9, types, arraySizes); + static DB2FieldDefault const fieldDefaults[8] = { "", "", uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(7, 8, 0x19315777, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1775,7 +2030,8 @@ struct GarrAbilityCategoryMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xC7290625, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x3904DB9E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1786,7 +2042,8 @@ struct GarrAbilityEffectMeta { static char const* types = "fffihbbbbbbi"; static uint8 const arraySizes[12] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(11, 12, 0xF8543595, types, arraySizes); + static DB2FieldDefault const fieldDefaults[12] = { float(0), float(0), float(0), uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(11, 12, 0x36BC21D5, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1797,7 +2054,8 @@ struct GarrBuildingMeta { static char const* types = "iissssihhhhhhhhbbbbbbiii"; static uint8 const arraySizes[24] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 24, 0x9CB292DE, types, arraySizes); + static DB2FieldDefault const fieldDefaults[24] = { uint32(0), uint32(0), "", "", "", "", uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 24, 0x061062D0, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1808,7 +2066,8 @@ struct GarrBuildingDoodadSetMeta { static char const* types = "bbbbb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x6743FE91, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 5, 0x66789ED8, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1819,7 +2078,8 @@ struct GarrBuildingPlotInstMeta { static char const* types = "fhhbi"; static uint8 const arraySizes[5] = { 2, 1, 1, 1, 1 }; - static DB2Meta instance(4, 5, 0x91C29C99, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { float(0), uint16(0), uint16(0), uint8(0), uint32(0) }; + static DB2Meta instance(4, 5, 0xA2746F1A, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1828,9 +2088,10 @@ struct GarrClassSpecMeta { static DB2Meta const* Instance() { - static char const* types = "ssshbbbi"; + static char const* types = "ssshhbbi"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(7, 8, 0x6E7FE0D1, types, arraySizes); + static DB2FieldDefault const fieldDefaults[8] = { "", "", "", uint16(0), uint16(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(7, 8, 0xAC7554D2, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1841,7 +2102,8 @@ struct GarrClassSpecPlayerCondMeta { static char const* types = "isbiii"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0xC1F58546, types, arraySizes); + static DB2FieldDefault const fieldDefaults[6] = { uint32(0), "", uint8(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 6, 0x5132E0D2, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1850,9 +2112,10 @@ struct GarrEncounterMeta { static DB2Meta const* Instance() { - static char const* types = "isffihi"; + static char const* types = "isffiii"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(6, 7, 0xDF397D9E, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { uint32(0), "", float(0), float(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(5, 7, 0xFB05FEFD, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1863,7 +2126,8 @@ struct GarrEncounterSetXEncounterMeta { static char const* types = "ii"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x10FFAB35, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint32(0) }; + static DB2Meta instance(-1, 2, 0x49229773, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1874,7 +2138,8 @@ struct GarrEncounterXMechanicMeta { static char const* types = "hbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x18517C71, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x946F8DCC, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1885,7 +2150,8 @@ struct GarrFollItemSetMemberMeta { static char const* types = "ihhb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xDCA5714F, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x887779FF, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1896,7 +2162,8 @@ struct GarrFollSupportSpellMeta { static char const* types = "iibi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x1C55B981, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 4, 0x44FE48FD, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1905,9 +2172,10 @@ struct GarrFollowerMeta { static DB2Meta const* Instance() { - static char const* types = "iissiiiihhhhhhbbbbbbbbbbbbbbbbi"; - static uint8 const arraySizes[31] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(30, 31, 0x29B8937A, types, arraySizes); + static char const* types = "iissiiiishhhhhhbbbbbbbbbbbbbbbbi"; + static uint8 const arraySizes[32] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[32] = { uint32(0), uint32(0), "", "", uint32(0), uint32(0), uint32(0), uint32(0), "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(31, 32, 0xC1A8BA64, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1918,7 +2186,8 @@ struct GarrFollowerLevelXPMeta { static char const* types = "hhbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xFFE1B062, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0xB7B0E5FA, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1929,7 +2198,8 @@ struct GarrFollowerQualityMeta { static char const* types = "ihbbbbi"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0xFC4B0E8C, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 7, 0xD9C69119, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1940,7 +2210,8 @@ struct GarrFollowerSetXFollowerMeta { static char const* types = "ii"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xFBF2EEC7, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint32(0) }; + static DB2Meta instance(-1, 2, 0xCD2A828F, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1951,7 +2222,8 @@ struct GarrFollowerTypeMeta { static char const* types = "hbbbbbb"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0xEA68CDE6, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 7, 0xCEDCA983, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1962,7 +2234,8 @@ struct GarrFollowerUICreatureMeta { static char const* types = "ifhbbb"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0x438C8EE4, types, arraySizes); + static DB2FieldDefault const fieldDefaults[6] = { uint32(0), float(0), uint16(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 6, 0x0F87AA1E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1973,7 +2246,20 @@ struct GarrFollowerXAbilityMeta { static char const* types = "hhb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x383ECAF5, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x7A5F43BE, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct GarrItemLevelUpgradeDataMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "iiiii"; + static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(0, 5, 0x84F6F272, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1984,7 +2270,8 @@ struct GarrMechanicMeta { static char const* types = "fbi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x53840C97, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { float(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0x94716B40, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1995,7 +2282,8 @@ struct GarrMechanicSetXMechanicMeta { static char const* types = "bii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(1, 3, 0xB1E026AD, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(1, 3, 0x42F5FE36, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2006,7 +2294,8 @@ struct GarrMechanicTypeMeta { static char const* types = "ssibi"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(4, 5, 0xA0666F41, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { "", "", uint32(0), uint8(0), uint32(0) }; + static DB2Meta instance(4, 5, 0x76E45BEE, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2015,9 +2304,10 @@ struct GarrMissionMeta { static DB2Meta const* Instance() { - static char const* types = "iisssffhhhhhhbbbbbbbbbiiiiiii"; + static char const* types = "iisssffhhhbbbbbbbbbiiiiiiiiii"; static uint8 const arraySizes[29] = { 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(22, 29, 0xD5EA8A8F, types, arraySizes); + static DB2FieldDefault const fieldDefaults[29] = { uint32(0), uint32(0), "", "", "", float(0), float(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(19, 29, 0x6F87532B, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2028,7 +2318,8 @@ struct GarrMissionTextureMeta { static char const* types = "fh"; static uint8 const arraySizes[2] = { 2, 1 }; - static DB2Meta instance(-1, 2, 0x23676140, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0x0334D66C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2039,7 +2330,8 @@ struct GarrMissionTypeMeta { static char const* types = "shh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xDB3475F8, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", uint16(0), uint16(0) }; + static DB2Meta instance(-1, 3, 0xA9188907, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2050,7 +2342,8 @@ struct GarrMissionXEncounterMeta { static char const* types = "biiii"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(1, 5, 0x46A9DA96, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(1, 5, 0x920689A3, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2061,7 +2354,8 @@ struct GarrMissionXFollowerMeta { static char const* types = "iii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xD690F927, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0x06888018, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2072,7 +2366,8 @@ struct GarrMssnBonusAbilityMeta { static char const* types = "fihbb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xF38EA42C, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { float(0), uint32(0), uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 5, 0xB9920FA7, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2083,7 +2378,8 @@ struct GarrPlotMeta { static char const* types = "siibbbi"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 2 }; - static DB2Meta instance(-1, 7, 0xD59B7CAE, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { "", uint32(0), uint32(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 7, 0xF6F3DFA3, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2094,7 +2390,8 @@ struct GarrPlotBuildingMeta { static char const* types = "bb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xD1C720D2, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint8(0), uint8(0) }; + static DB2Meta instance(-1, 2, 0xAB0E67EA, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2105,7 +2402,8 @@ struct GarrPlotInstanceMeta { static char const* types = "sb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x97FC2737, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) }; + static DB2Meta instance(-1, 2, 0xD42E767D, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2116,7 +2414,8 @@ struct GarrPlotUICategoryMeta { static char const* types = "sb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x7A4BC3A6, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) }; + static DB2Meta instance(-1, 2, 0x9E938E44, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2125,9 +2424,10 @@ struct GarrSiteLevelMeta { static DB2Meta const* Instance() { - static char const* types = "fhhhhbbbb"; + static char const* types = "fhhhhhbbb"; static uint8 const arraySizes[9] = { 2, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 9, 0x149CFC3A, types, arraySizes); + static DB2FieldDefault const fieldDefaults[9] = { float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 9, 0x82CAFD63, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2138,7 +2438,8 @@ struct GarrSiteLevelPlotInstMeta { static char const* types = "fhbb"; static uint8 const arraySizes[4] = { 2, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xC927B825, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { float(0), uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x0FCB9EBB, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2149,7 +2450,8 @@ struct GarrSpecializationMeta { static char const* types = "ifssbbb"; static uint8 const arraySizes[7] = { 1, 2, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0xFCB39A5B, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { uint32(0), float(0), "", "", uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 7, 0xB39D24D6, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2160,7 +2462,8 @@ struct GarrStringMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xC3BC61DD, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x07B475A1, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2171,7 +2474,8 @@ struct GarrTalentMeta { static char const* types = "issibbbiiiiiiiiiiiii"; static uint8 const arraySizes[20] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(7, 20, 0x2CD56738, types, arraySizes); + static DB2FieldDefault const fieldDefaults[20] = { uint32(0), "", "", uint32(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(7, 20, 0x2AAEEA1A, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2182,7 +2486,8 @@ struct GarrTalentTreeMeta { static char const* types = "bbii"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x473D1B66, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 4, 0xC42F0FDC, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2193,7 +2498,8 @@ struct GarrTypeMeta { static char const* types = "iiiii"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xF4EAC5C2, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 5, 0x2D86EF39, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2202,9 +2508,10 @@ struct GarrUiAnimClassInfoMeta { static DB2Meta const* Instance() { - static char const* types = "fhbb"; + static char const* types = "ifbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x0CCE756E, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), float(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0xA646EE4A, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2215,7 +2522,8 @@ struct GarrUiAnimRaceInfoMeta { static char const* types = "ffffffffffffb"; static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 13, 0x332C8478, types, arraySizes); + static DB2FieldDefault const fieldDefaults[13] = { float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint8(0) }; + static DB2Meta instance(-1, 13, 0xCC2DE241, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2226,7 +2534,8 @@ struct GemPropertiesMeta { static char const* types = "ihh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x2C970C09, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint16(0) }; + static DB2Meta instance(-1, 3, 0xF35D29FC, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2237,7 +2546,8 @@ struct GlobalStringsMeta { static char const* types = "ssb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xAA0E6518, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", "", uint8(0) }; + static DB2Meta instance(-1, 3, 0xA6D579DB, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2248,7 +2558,8 @@ struct GlyphBindableSpellMeta { static char const* types = "ih"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x27B5FEE6, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0x9CBB20C4, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2259,7 +2570,8 @@ struct GlyphExclusiveCategoryMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xC7290625, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x90608A4C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2270,7 +2582,8 @@ struct GlyphPropertiesMeta { static char const* types = "ihbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xF6DCEE71, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0xA7A2499B, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2281,7 +2594,8 @@ struct GlyphRequiredSpecMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xD29FB6FC, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0x9B490422, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2292,7 +2606,8 @@ struct GroundEffectDoodadMeta { static char const* types = "sffb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xF1841C2E, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { "", float(0), float(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x424C8B10, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2303,7 +2618,8 @@ struct GroundEffectTextureMeta { static char const* types = "hbbi"; static uint8 const arraySizes[4] = { 4, 4, 1, 1 }; - static DB2Meta instance(-1, 4, 0x7D3B912E, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 4, 0xBCF4D942, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2314,7 +2630,8 @@ struct GroupFinderActivityMeta { static char const* types = "sshhhbbbbbbbbb"; static uint8 const arraySizes[14] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 14, 0x82B60500, types, arraySizes); + static DB2FieldDefault const fieldDefaults[14] = { "", "", uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 14, 0xCCC85A77, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2325,7 +2642,8 @@ struct GroupFinderActivityGrpMeta { static char const* types = "sb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x8B38FE85, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) }; + static DB2Meta instance(-1, 2, 0x913C69EC, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2336,7 +2654,8 @@ struct GroupFinderCategoryMeta { static char const* types = "sbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x5EC4D7B0, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x51233D98, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2347,7 +2666,8 @@ struct GuildColorBackgroundMeta { static char const* types = "bbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x0D49EA9B, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0xA719A458, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2358,7 +2678,8 @@ struct GuildColorBorderMeta { static char const* types = "bbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x0D49EA9B, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0xA719A458, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2369,7 +2690,8 @@ struct GuildColorEmblemMeta { static char const* types = "bbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x0D49EA9B, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0xA719A458, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2380,7 +2702,8 @@ struct GuildPerkSpellsMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xE6CDCEB1, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; + static DB2Meta instance(-1, 1, 0x63FC0F7E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2391,7 +2714,8 @@ struct HeirloomMeta { static char const* types = "isiiiihbbi"; static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 2, 2, 1, 1, 1 }; - static DB2Meta instance(9, 10, 0xBE1439F6, types, arraySizes); + static DB2FieldDefault const fieldDefaults[10] = { uint32(0), "", uint32(0), uint32(0), uint32(0), uint32(0), uint16(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(9, 10, 0x3CE7D5FF, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2402,7 +2726,8 @@ struct HelmetAnimScalingMeta { static char const* types = "fii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x4416251C, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { float(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0x1EDA4C97, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2413,7 +2738,8 @@ struct HelmetGeosetVisDataMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 9 }; - static DB2Meta instance(-1, 1, 0xBC4812D7, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; + static DB2Meta instance(-1, 1, 0xDDD77A78, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2424,7 +2750,8 @@ struct HighlightColorMeta { static char const* types = "iiibb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x900036FD, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint32(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 5, 0x5A5613AE, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2435,7 +2762,8 @@ struct HolidayDescriptionsMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x2E7616FA, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0xF00AB471, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2446,7 +2774,8 @@ struct HolidayNamesMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xC7290625, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x3904DB9E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2455,9 +2784,22 @@ struct HolidaysMeta { static DB2Meta const* Instance() { - static char const* types = "iishhbbbbbbb"; + static char const* types = "iishhbbbbbii"; static uint8 const arraySizes[12] = { 1, 16, 1, 10, 1, 1, 10, 1, 1, 1, 1, 1 }; - static DB2Meta instance(0, 12, 0xAB34E6EE, types, arraySizes); + static DB2FieldDefault const fieldDefaults[12] = { uint32(0), uint32(0), "", uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(0, 12, 0x11A68D7A, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct HotfixMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "sii"; + static uint8 const arraySizes[3] = { 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[3] = { "", uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0xB21AEBA0, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2468,7 +2810,8 @@ struct ImportPriceArmorMeta { static char const* types = "ffff"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x62B804AB, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { float(0), float(0), float(0), float(0) }; + static DB2Meta instance(-1, 4, 0x3AA36BEB, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2479,7 +2822,8 @@ struct ImportPriceQualityMeta { static char const* types = "f"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xC7583507, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { float(0) }; + static DB2Meta instance(-1, 1, 0x6C3562D2, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2490,7 +2834,8 @@ struct ImportPriceShieldMeta { static char const* types = "f"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xC7583507, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { float(0) }; + static DB2Meta instance(-1, 1, 0x6C3562D2, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2501,7 +2846,8 @@ struct ImportPriceWeaponMeta { static char const* types = "f"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xC7583507, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { float(0) }; + static DB2Meta instance(-1, 1, 0x6C3562D2, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2512,7 +2858,8 @@ struct InvasionClientDataMeta { static char const* types = "sfiiiiiiii"; static uint8 const arraySizes[10] = { 1, 2, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(2, 10, 0x03273408, types, arraySizes); + static DB2FieldDefault const fieldDefaults[10] = { "", float(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(2, 10, 0x9F6F9573, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2523,7 +2870,8 @@ struct ItemMeta { static char const* types = "ibbbbbbb"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0x9EABD639, types, arraySizes); + static DB2FieldDefault const fieldDefaults[8] = { uint32(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 8, 0xC0DF3CD9, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2534,7 +2882,8 @@ struct ItemAppearanceMeta { static char const* types = "iiib"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xDA5B3C85, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint32(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x121F06BB, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2545,7 +2894,8 @@ struct ItemAppearanceXUiCameraMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xAE12D15D, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0x7EE16A0D, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2556,7 +2906,8 @@ struct ItemArmorQualityMeta { static char const* types = "fh"; static uint8 const arraySizes[2] = { 7, 1 }; - static DB2Meta instance(-1, 2, 0x7C79232C, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0x394BF53C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2567,7 +2918,8 @@ struct ItemArmorShieldMeta { static char const* types = "fh"; static uint8 const arraySizes[2] = { 7, 1 }; - static DB2Meta instance(-1, 2, 0xB7443971, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0x8F14CB07, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2578,7 +2930,8 @@ struct ItemArmorTotalMeta { static char const* types = "ffffh"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x253BAEE3, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), float(0), float(0), uint16(0) }; + static DB2Meta instance(-1, 5, 0xBF25F97C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2589,7 +2942,8 @@ struct ItemBagFamilyMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xC7290625, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x3904DB9E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2600,7 +2954,8 @@ struct ItemBonusMeta { static char const* types = "ihbb"; static uint8 const arraySizes[4] = { 2, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x8081F714, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x23702544, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2611,7 +2966,8 @@ struct ItemBonusListLevelDeltaMeta { static char const* types = "hi"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(1, 2, 0x7697CF5D, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint32(0) }; + static DB2Meta instance(1, 2, 0x0D7E0F69, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2620,9 +2976,10 @@ struct ItemBonusTreeNodeMeta { static DB2Meta const* Instance() { - static char const* types = "hhhb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x26374458, types, arraySizes); + static char const* types = "hhhhb"; + static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[5] = { uint16(0), uint16(0), uint16(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 5, 0xDFCBD330, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2633,7 +2990,8 @@ struct ItemChildEquipmentMeta { static char const* types = "iib"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x88AA718C, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0xC6828B5F, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2644,7 +3002,8 @@ struct ItemClassMeta { static char const* types = "fsbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xAA6F70FC, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { float(0), "", uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x9996F3E4, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2655,7 +3014,8 @@ struct ItemContextPickerEntryMeta { static char const* types = "bbiii"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xE5AC6798, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 5, 0xE9470653, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2666,7 +3026,8 @@ struct ItemCurrencyCostMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x29CEF0F6, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; + static DB2Meta instance(-1, 1, 0x4060B5A9, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2677,7 +3038,8 @@ struct ItemDamageAmmoMeta { static char const* types = "fh"; static uint8 const arraySizes[2] = { 7, 1 }; - static DB2Meta instance(-1, 2, 0xB7443971, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0x8F14CB07, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2688,7 +3050,8 @@ struct ItemDamageOneHandMeta { static char const* types = "fh"; static uint8 const arraySizes[2] = { 7, 1 }; - static DB2Meta instance(-1, 2, 0xB7443971, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0x8F14CB07, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2699,7 +3062,8 @@ struct ItemDamageOneHandCasterMeta { static char const* types = "fh"; static uint8 const arraySizes[2] = { 7, 1 }; - static DB2Meta instance(-1, 2, 0xB7443971, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0x8F14CB07, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2710,7 +3074,8 @@ struct ItemDamageTwoHandMeta { static char const* types = "fh"; static uint8 const arraySizes[2] = { 7, 1 }; - static DB2Meta instance(-1, 2, 0xB7443971, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0x8F14CB07, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2721,7 +3086,8 @@ struct ItemDamageTwoHandCasterMeta { static char const* types = "fh"; static uint8 const arraySizes[2] = { 7, 1 }; - static DB2Meta instance(-1, 2, 0xB7443971, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0x8F14CB07, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2732,7 +3098,8 @@ struct ItemDisenchantLootMeta { static char const* types = "hhhbbb"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0x6756CB43, types, arraySizes); + static DB2FieldDefault const fieldDefaults[6] = { uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 6, 0xED814E91, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2743,7 +3110,8 @@ struct ItemDisplayInfoMeta { static char const* types = "iiiiiiiiiiiiiii"; static uint8 const arraySizes[15] = { 2, 2, 3, 3, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 15, 0xBE73C711, types, arraySizes); + static DB2FieldDefault const fieldDefaults[15] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 15, 0x62BBDA36, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2754,7 +3122,8 @@ struct ItemDisplayInfoMaterialResMeta { static char const* types = "iib"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xC2F154A5, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x6435FD14, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2765,7 +3134,8 @@ struct ItemDisplayXUiCameraMeta { static char const* types = "ih"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x68C79226, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0x1EB6CE14, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2776,7 +3146,8 @@ struct ItemEffectMeta { static char const* types = "iiiihhhbb"; static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 9, 0x874EE6D6, types, arraySizes); + static DB2FieldDefault const fieldDefaults[9] = { uint32(0), uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 9, 0xE7C4FB49, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2787,7 +3158,8 @@ struct ItemExtendedCostMeta { static char const* types = "iihhhbbbbb"; static uint8 const arraySizes[10] = { 5, 5, 5, 1, 5, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0xDFABA73B, types, arraySizes); + static DB2FieldDefault const fieldDefaults[10] = { uint32(0), uint32(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 10, 0xA69B7665, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2798,7 +3170,20 @@ struct ItemGroupSoundsMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 4 }; - static DB2Meta instance(-1, 1, 0x3EEA4BE4, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; + static DB2Meta instance(-1, 1, 0x094808C1, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct ItemLevelSelectorMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "h"; + static uint8 const arraySizes[1] = { 1 }; + static DB2FieldDefault const fieldDefaults[1] = { uint16(0) }; + static DB2Meta instance(-1, 1, 0x858C1619, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2809,7 +3194,8 @@ struct ItemLimitCategoryMeta { static char const* types = "sbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x74E301FB, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0xAC1539C8, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2820,7 +3206,8 @@ struct ItemLimitCategoryConditionMeta { static char const* types = "bii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x1609ED4D, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0xD3A638FA, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2831,7 +3218,8 @@ struct ItemModifiedAppearanceMeta { static char const* types = "ihbbbi"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(5, 6, 0xDFD4F953, types, arraySizes); + static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(5, 6, 0xA3FDFED1, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2842,7 +3230,8 @@ struct ItemModifiedAppearanceExtraMeta { static char const* types = "iibbb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x0D36FDB0, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 5, 0x383879CB, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2853,7 +3242,8 @@ struct ItemNameDescriptionMeta { static char const* types = "si"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x5C280FE0, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { "", uint32(0) }; + static DB2Meta instance(-1, 2, 0x05098966, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2864,7 +3254,8 @@ struct ItemPetFoodMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xA75DB185, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x8730DCFE, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2875,7 +3266,8 @@ struct ItemPriceBaseMeta { static char const* types = "ffh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x5B07F241, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { float(0), float(0), uint16(0) }; + static DB2Meta instance(-1, 3, 0x03750934, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2886,7 +3278,8 @@ struct ItemRandomPropertiesMeta { static char const* types = "sh"; static uint8 const arraySizes[2] = { 1, 5 }; - static DB2Meta instance(-1, 2, 0x76CA3B88, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { "", uint16(0) }; + static DB2Meta instance(-1, 2, 0x7D6F4EDC, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2897,7 +3290,8 @@ struct ItemRandomSuffixMeta { static char const* types = "shh"; static uint8 const arraySizes[3] = { 1, 5, 5 }; - static DB2Meta instance(-1, 3, 0xE2A58F9F, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", uint16(0), uint16(0) }; + static DB2Meta instance(-1, 3, 0x826E5016, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2908,7 +3302,8 @@ struct ItemRangedDisplayInfoMeta { static char const* types = "iiii"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xD8FA47D9, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 4, 0xCE6F98AF, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2919,7 +3314,8 @@ struct ItemSearchNameMeta { static char const* types = "siiihhhhbbbbi"; static uint8 const arraySizes[13] = { 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 13, 0x1F0753BA, types, arraySizes); + static DB2FieldDefault const fieldDefaults[13] = { "", uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 13, 0xF245D75D, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2930,7 +3326,8 @@ struct ItemSetMeta { static char const* types = "sihii"; static uint8 const arraySizes[5] = { 1, 17, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x0390F3A4, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { "", uint32(0), uint16(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 5, 0x64E9C31D, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2941,7 +3338,8 @@ struct ItemSetSpellMeta { static char const* types = "ihhb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xF9A57500, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x68B26488, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2950,9 +3348,10 @@ struct ItemSparseMeta { static DB2Meta const* Instance() { - static char const* types = "iffiiiiiiiiffsssssififhhhhhhhhhhhhhhhhhhhhbbbbbbbbbbbbbbbbbbbbb"; - static uint8 const arraySizes[63] = { 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 63, 0xF62C72EE, types, arraySizes); + static char const* types = "iffiiiiiiiiffsssssififhhhhhhhhhhhhhhhhhhhhhhhbbbbbbbbbbbbbbbbbbb"; + static uint8 const arraySizes[64] = { 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[64] = { uint32(0), float(0), float(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), float(0), float(0), "", "", "", "", "", uint32(0), float(0), uint32(0), float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 64, 0x2CDA679A, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2963,7 +3362,8 @@ struct ItemSpecMeta { static char const* types = "hbbbbb"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0x0F323686, types, arraySizes); + static DB2FieldDefault const fieldDefaults[6] = { uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 6, 0x91EB0140, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2974,7 +3374,8 @@ struct ItemSpecOverrideMeta { static char const* types = "ih"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x158F7C4E, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0x998D0348, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2985,7 +3386,8 @@ struct ItemSubClassMeta { static char const* types = "sshbbbbbbb"; static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0x2B6ECF61, types, arraySizes); + static DB2FieldDefault const fieldDefaults[10] = { "", "", uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 10, 0x4656936D, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2996,7 +3398,8 @@ struct ItemSubClassMaskMeta { static char const* types = "isb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x002D222A, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), "", uint8(0) }; + static DB2Meta instance(-1, 3, 0x3A3C009D, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3007,7 +3410,8 @@ struct ItemUpgradeMeta { static char const* types = "ihhbb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xF7CA02D9, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint16(0), uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 5, 0x8C289A02, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3018,7 +3422,8 @@ struct ItemVisualEffectsMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x71B9EC59, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x3024FF02, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3029,7 +3434,8 @@ struct ItemVisualsMeta { static char const* types = "h"; static uint8 const arraySizes[1] = { 5 }; - static DB2Meta instance(-1, 1, 0x7459D46B, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint16(0) }; + static DB2Meta instance(-1, 1, 0xDFC58D7E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3040,7 +3446,8 @@ struct ItemXBonusTreeMeta { static char const* types = "ih"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xA672E053, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0x1513D39F, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3049,9 +3456,10 @@ struct JournalEncounterMeta { static DB2Meta const* Instance() { - static char const* types = "fsshhhhbbi"; - static uint8 const arraySizes[10] = { 2, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0xD59A20F7, types, arraySizes); + static char const* types = "fsshhhhbbii"; + static uint8 const arraySizes[11] = { 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[11] = { float(0), "", "", uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 11, 0xF58D8B3E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3062,7 +3470,8 @@ struct JournalEncounterCreatureMeta { static char const* types = "iisshbi"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(6, 7, 0xC527E3A6, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint32(0), "", "", uint16(0), uint8(0), uint32(0) }; + static DB2Meta instance(6, 7, 0xD3A6C2CF, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3073,7 +3482,8 @@ struct JournalEncounterItemMeta { static char const* types = "ihbbbi"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(5, 6, 0x06112EE4, types, arraySizes); + static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(5, 6, 0xA4AF3B4B, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3084,7 +3494,8 @@ struct JournalEncounterSectionMeta { static char const* types = "ssiiihhhhhhbbb"; static uint8 const arraySizes[14] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 14, 0x9D01F1EF, types, arraySizes); + static DB2FieldDefault const fieldDefaults[14] = { "", "", uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 14, 0xA3FC6A6B, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3095,7 +3506,8 @@ struct JournalEncounterXDifficultyMeta { static char const* types = "hb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xD14F0A02, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint8(0) }; + static DB2Meta instance(-1, 2, 0xAC8AC546, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3106,7 +3518,8 @@ struct JournalInstanceMeta { static char const* types = "iiiisshhbbi"; static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(10, 11, 0x6569C6CB, types, arraySizes); + static DB2FieldDefault const fieldDefaults[11] = { uint32(0), uint32(0), uint32(0), uint32(0), "", "", uint16(0), uint16(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(10, 11, 0x5ADEB91A, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3117,7 +3530,8 @@ struct JournalItemXDifficultyMeta { static char const* types = "hb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x9EDCD781, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint8(0) }; + static DB2Meta instance(-1, 2, 0xA2434FB5, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3128,7 +3542,8 @@ struct JournalSectionXDifficultyMeta { static char const* types = "hb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x332C40F7, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint8(0) }; + static DB2Meta instance(-1, 2, 0x58F088AB, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3139,7 +3554,8 @@ struct JournalTierMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xC7290625, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x22E5531E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3150,7 +3566,8 @@ struct JournalTierXInstanceMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x6D895E3A, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0x148D3EC4, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3161,7 +3578,8 @@ struct KeyChainMeta { static char const* types = "b"; static uint8 const arraySizes[1] = { 32 }; - static DB2Meta instance(-1, 1, 0xF16B0884, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint8(0) }; + static DB2Meta instance(-1, 1, 0xFDBFEF61, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3172,7 +3590,8 @@ struct KeystoneAffixMeta { static char const* types = "ssi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xDDD973A4, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", "", uint32(0) }; + static DB2Meta instance(-1, 3, 0x96AEEFE1, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3183,7 +3602,8 @@ struct LanguageWordsMeta { static char const* types = "sb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xABBAA499, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) }; + static DB2Meta instance(-1, 2, 0xB128C39B, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3194,7 +3614,8 @@ struct LanguagesMeta { static char const* types = "si"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(1, 2, 0x557617F0, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { "", uint32(0) }; + static DB2Meta instance(1, 2, 0x5FDF22D6, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3205,7 +3626,8 @@ struct LfgDungeonExpansionMeta { static char const* types = "hhbbbii"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x709756FB, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 7, 0xA1F7409C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3216,7 +3638,8 @@ struct LfgDungeonGroupMeta { static char const* types = "shbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x45E343EF, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0xF75B9257, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3225,9 +3648,10 @@ struct LfgDungeonsMeta { static DB2Meta const* Instance() { - static char const* types = "sissifhhhhhhhhbbbbbbbbbbbbbbbbbi"; + static char const* types = "sissfhhhhhhhhhbbbbbbbbbbbbbbbbbi"; static uint8 const arraySizes[32] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(31, 32, 0x40D77668, types, arraySizes); + static DB2FieldDefault const fieldDefaults[32] = { "", uint32(0), "", "", float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(31, 32, 0x3F2A92F9, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3238,7 +3662,8 @@ struct LfgDungeonsGroupingMapMeta { static char const* types = "hhb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xD9B4F21E, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x459FD93F, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3247,9 +3672,10 @@ struct LfgRoleRequirementMeta { static DB2Meta const* Instance() { - static char const* types = "hhb"; + static char const* types = "hbi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x6C04E981, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0x8F8987DE, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3260,7 +3686,8 @@ struct LightMeta { static char const* types = "fffhh"; static uint8 const arraySizes[5] = { 3, 1, 1, 1, 8 }; - static DB2Meta instance(-1, 5, 0x125FB33D, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), float(0), uint16(0), uint16(0) }; + static DB2Meta instance(-1, 5, 0xD7A45504, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3271,7 +3698,8 @@ struct LightDataMeta { static char const* types = "iiiiiiiiiiiiiiiiiifffffffffiiiiiihh"; static uint8 const arraySizes[35] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 35, 0xE3E8B600, types, arraySizes); + static DB2FieldDefault const fieldDefaults[35] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint16(0), uint16(0) }; + static DB2Meta instance(-1, 35, 0xCFCF6A11, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3282,7 +3710,8 @@ struct LightParamsMeta { static char const* types = "ffffffhbbbi"; static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1 }; - static DB2Meta instance(10, 11, 0xB6AE9B79, types, arraySizes); + static DB2FieldDefault const fieldDefaults[11] = { float(0), float(0), float(0), float(0), float(0), float(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(10, 11, 0x96B9BFD4, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3291,9 +3720,10 @@ struct LightSkyboxMeta { static DB2Meta const* Instance() { - static char const* types = "sb"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xC284FF64, types, arraySizes); + static char const* types = "sib"; + static uint8 const arraySizes[3] = { 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[3] = { "", uint32(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x6BE10D77, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3304,7 +3734,8 @@ struct LiquidMaterialMeta { static char const* types = "bb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xDB7E353C, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint8(0), uint8(0) }; + static DB2Meta instance(-1, 2, 0x0BACC5EA, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3315,7 +3746,8 @@ struct LiquidObjectMeta { static char const* types = "ffhbb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x0FA85D64, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 5, 0x936412BD, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3326,7 +3758,8 @@ struct LiquidTypeMeta { static char const* types = "sifffffsifihhbbbbbi"; static uint8 const arraySizes[19] = { 1, 1, 1, 1, 1, 1, 1, 6, 2, 18, 4, 1, 1, 1, 1, 1, 1, 6, 1 }; - static DB2Meta instance(-1, 19, 0x99FC34E5, types, arraySizes); + static DB2FieldDefault const fieldDefaults[19] = { "", uint32(0), float(0), float(0), float(0), float(0), float(0), "", uint32(0), float(0), uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 19, 0xEB9E4B52, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3337,7 +3770,8 @@ struct LoadingScreenTaxiSplinesMeta { static char const* types = "ffhhb"; static uint8 const arraySizes[5] = { 10, 10, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xC020B1BD, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), uint16(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 5, 0x14126CDE, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3348,7 +3782,8 @@ struct LoadingScreensMeta { static char const* types = "iii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xD8EA0A1E, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0x68B99439, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3359,7 +3794,8 @@ struct LocaleMeta { static char const* types = "ibbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x16687537, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0xAE598A8F, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3370,7 +3806,8 @@ struct LocationMeta { static char const* types = "ff"; static uint8 const arraySizes[2] = { 3, 3 }; - static DB2Meta instance(-1, 2, 0xEC59DBEA, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { float(0), float(0) }; + static DB2Meta instance(-1, 2, 0x0C9FA688, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3381,7 +3818,8 @@ struct LockMeta { static char const* types = "ihbb"; static uint8 const arraySizes[4] = { 8, 8, 8, 8 }; - static DB2Meta instance(-1, 4, 0x8036B9F7, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x2A5174FF, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3392,7 +3830,8 @@ struct LockTypeMeta { static char const* types = "ssssi"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(4, 5, 0xB2F2A80D, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { "", "", "", "", uint32(0) }; + static DB2Meta instance(4, 5, 0x45B49052, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3403,7 +3842,8 @@ struct LookAtControllerMeta { static char const* types = "ffffhhhhbbbbbiiiii"; static uint8 const arraySizes[18] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 18, 0x306B35FA, types, arraySizes); + static DB2FieldDefault const fieldDefaults[18] = { float(0), float(0), float(0), float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 18, 0x5CADD6CE, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3414,7 +3854,44 @@ struct MailTemplateMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x423247A6, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x832A35ED, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct ManagedWorldStateMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "iiiiiiiiii"; + static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[10] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(9, 10, 0xF7EDCAD1, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct ManagedWorldStateBuffMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "iiii"; + static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 4, 0x60EA865B, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct ManagedWorldStateInputMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "iii"; + static uint8 const arraySizes[3] = { 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0x7160F4F3, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3425,7 +3902,8 @@ struct ManifestInterfaceActionIconMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(0, 1, 0xD94C8F61, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; + static DB2Meta instance(0, 1, 0x0CF14016, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3436,7 +3914,8 @@ struct ManifestInterfaceDataMeta { static char const* types = "ss"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x4A072B71, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { "", "" }; + static DB2Meta instance(-1, 2, 0x08EA6AC9, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3447,7 +3926,8 @@ struct ManifestInterfaceItemIconMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(0, 1, 0xD94C8F61, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; + static DB2Meta instance(0, 1, 0x0CF14016, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3458,7 +3938,8 @@ struct ManifestInterfaceTOCDataMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x0B897147, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x121BDA5C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3469,7 +3950,8 @@ struct ManifestMP3Meta { static char const* types = "i"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(0, 1, 0xD94C8F61, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; + static DB2Meta instance(0, 1, 0x0CF14016, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3478,9 +3960,22 @@ struct MapMeta { static DB2Meta const* Instance() { - static char const* types = "siffssshhhhhhhbbbbb"; - static uint8 const arraySizes[19] = { 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 19, 0xF7CF2DA2, types, arraySizes); + static char const* types = "siffssssshhhhhhhbbbbb"; + static uint8 const arraySizes[21] = { 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[21] = { "", uint32(0), float(0), float(0), "", "", "", "", "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 21, 0xC34CD39B, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct MapCelestialBodyMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "hhi"; + static uint8 const arraySizes[3] = { 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0x4A133A37, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3489,9 +3984,10 @@ struct MapChallengeModeMeta { static DB2Meta const* Instance() { - static char const* types = "hhb"; - static uint8 const arraySizes[3] = { 1, 3, 1 }; - static DB2Meta instance(-1, 3, 0x71154C5C, types, arraySizes); + static char const* types = "ishhb"; + static uint8 const arraySizes[5] = { 1, 1, 1, 3, 1 }; + static DB2FieldDefault const fieldDefaults[5] = { uint32(0), "", uint16(0), uint16(0), uint8(0) }; + static DB2Meta instance(0, 5, 0x20D6D025, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3502,7 +3998,8 @@ struct MapDifficultyMeta { static char const* types = "shbbbbbi"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0x7C085B97, types, arraySizes); + static DB2FieldDefault const fieldDefaults[8] = { "", uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 8, 0x396E3077, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3513,7 +4010,8 @@ struct MapDifficultyXConditionMeta { static char const* types = "siii"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x19ABF9EE, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { "", uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 4, 0x5326D470, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3524,7 +4022,8 @@ struct MarketingPromotionsXLocaleMeta { static char const* types = "iiiisbb"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x59F09849, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint32(0), uint32(0), uint32(0), "", uint8(0), uint8(0) }; + static DB2Meta instance(-1, 7, 0xD7CA6C38, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3535,7 +4034,8 @@ struct MaterialMeta { static char const* types = "biii"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x33D0FF68, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint8(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 4, 0xCD76BC84, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3546,7 +4046,8 @@ struct MinorTalentMeta { static char const* types = "iii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x86299404, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0xE365DD95, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3555,9 +4056,10 @@ struct ModelAnimCloakDampeningMeta { static DB2Meta const* Instance() { - static char const* types = "bii"; + static char const* types = "iii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xABAAC3BD, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0xBF0CF2C8, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3568,7 +4070,8 @@ struct ModelFileDataMeta { static char const* types = "bii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(1, 3, 0x0F24B84E, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(1, 3, 0x8994DB79, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3579,7 +4082,8 @@ struct ModelRibbonQualityMeta { static char const* types = "ib"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x941830DD, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint8(0) }; + static DB2Meta instance(-1, 2, 0x7AFA1F55, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3590,7 +4094,8 @@ struct ModifierTreeMeta { static char const* types = "iihbbbb"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x46CC701E, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 7, 0xE3B45A7D, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3599,9 +4104,10 @@ struct MountMeta { static DB2Meta const* Instance() { - static char const* types = "iisssfhhhbi"; + static char const* types = "isssfhhbiii"; static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(10, 11, 0x9E01F745, types, arraySizes); + static DB2FieldDefault const fieldDefaults[11] = { uint32(0), "", "", "", float(0), uint16(0), uint16(0), uint8(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(8, 11, 0xBCA6C106, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3612,7 +4118,8 @@ struct MountCapabilityMeta { static char const* types = "iihhhbii"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(6, 8, 0x3F0A62EE, types, arraySizes); + static DB2FieldDefault const fieldDefaults[8] = { uint32(0), uint32(0), uint16(0), uint16(0), uint16(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(6, 8, 0xE81038CA, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3623,7 +4130,20 @@ struct MountTypeXCapabilityMeta { static char const* types = "hhb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x73CEF21F, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0xA5E685D0, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct MountXDisplayMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "iii"; + static uint8 const arraySizes[3] = { 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0x0CEBAA11, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3634,7 +4154,8 @@ struct MovieMeta { static char const* types = "iibb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x1295D923, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0xEBC7B6C9, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3645,7 +4166,8 @@ struct MovieFileDataMeta { static char const* types = "h"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xA15FC1F5, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint16(0) }; + static DB2Meta instance(-1, 1, 0x5B4C50A0, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3656,7 +4178,8 @@ struct MovieVariationMeta { static char const* types = "ihi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x1A77D958, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0x2A319023, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3667,7 +4190,8 @@ struct NPCSoundsMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 4 }; - static DB2Meta instance(-1, 1, 0xE5E4FB99, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; + static DB2Meta instance(-1, 1, 0xC48F798C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3678,7 +4202,8 @@ struct NameGenMeta { static char const* types = "sbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xDFD3BCC7, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0xF5753138, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3689,7 +4214,8 @@ struct NamesProfanityMeta { static char const* types = "sb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x14126F92, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) }; + static DB2Meta instance(-1, 2, 0xA99B2912, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3700,7 +4226,8 @@ struct NamesReservedMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xA75DB185, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x8730DCFE, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3711,7 +4238,8 @@ struct NamesReservedLocaleMeta { static char const* types = "sb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xEA8688CB, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) }; + static DB2Meta instance(-1, 2, 0x38161F55, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3722,7 +4250,8 @@ struct NpcModelItemSlotDisplayInfoMeta { static char const* types = "iib"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x82126742, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x6F4C79CF, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3731,9 +4260,10 @@ struct ObjectEffectMeta { static DB2Meta const* Instance() { - static char const* types = "sfhbbbbbi"; + static char const* types = "sfhbbbbii"; static uint8 const arraySizes[9] = { 1, 3, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 9, 0x50D174A8, types, arraySizes); + static DB2FieldDefault const fieldDefaults[9] = { "", float(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 9, 0x068A1648, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3744,7 +4274,8 @@ struct ObjectEffectGroupMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xC7290625, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x3904DB9E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3755,7 +4286,8 @@ struct ObjectEffectModifierMeta { static char const* types = "fbbb"; static uint8 const arraySizes[4] = { 4, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x78E883C3, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { float(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x1BB6C439, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3766,7 +4298,8 @@ struct ObjectEffectPackageMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xC7290625, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x3904DB9E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3777,7 +4310,8 @@ struct ObjectEffectPackageElemMeta { static char const* types = "hhh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xD29A59FB, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint16(0) }; + static DB2Meta instance(-1, 3, 0xC470C33C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3788,7 +4322,8 @@ struct OutlineEffectMeta { static char const* types = "fiiiii"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0xF8D79D78, types, arraySizes); + static DB2FieldDefault const fieldDefaults[6] = { float(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 6, 0x937C8918, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3799,7 +4334,8 @@ struct OverrideSpellDataMeta { static char const* types = "iib"; static uint8 const arraySizes[3] = { 10, 1, 1 }; - static DB2Meta instance(-1, 3, 0x0F841B9A, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x57896951, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3810,7 +4346,8 @@ struct PageTextMaterialMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xC7290625, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x3904DB9E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3821,7 +4358,20 @@ struct PaperDollItemFrameMeta { static char const* types = "ssb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x9C3CC0A9, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", "", uint8(0) }; + static DB2Meta instance(-1, 3, 0x3949398C, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct ParagonReputationMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "iii"; + static uint8 const arraySizes[3] = { 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0x835D97B5, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3832,7 +4382,8 @@ struct ParticleColorMeta { static char const* types = "iii"; static uint8 const arraySizes[3] = { 3, 3, 3 }; - static DB2Meta instance(-1, 3, 0xBC5D3597, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0xA3E6ABEE, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3843,7 +4394,8 @@ struct PathMeta { static char const* types = "bbbbbbb"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x2B91D905, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 7, 0x33962B1C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3854,7 +4406,8 @@ struct PathNodeMeta { static char const* types = "iihh"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(0, 4, 0x9B535598, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint16(0), uint16(0) }; + static DB2Meta instance(0, 4, 0x74A74F2E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3865,7 +4418,8 @@ struct PathNodePropertyMeta { static char const* types = "hhbii"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(3, 5, 0xF446CDBB, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { uint16(0), uint16(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(3, 5, 0x8ECAC0B2, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3876,7 +4430,8 @@ struct PathPropertyMeta { static char const* types = "ihbi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(3, 4, 0xF4469671, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint8(0), uint32(0) }; + static DB2Meta instance(3, 4, 0x9A295667, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3887,7 +4442,8 @@ struct PhaseMeta { static char const* types = "h"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xB2EE9466, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint16(0) }; + static DB2Meta instance(-1, 1, 0xE1C0D763, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3898,7 +4454,8 @@ struct PhaseShiftZoneSoundsMeta { static char const* types = "hhhhhbbbbiiii"; static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 13, 0x1AA0596A, types, arraySizes); + static DB2FieldDefault const fieldDefaults[13] = { uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 13, 0x0892E505, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3909,7 +4466,8 @@ struct PhaseXPhaseGroupMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xB494BBD2, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0x058995BA, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3918,9 +4476,10 @@ struct PlayerConditionMeta { static DB2Meta const* Instance() { - static char const* types = "iiiiiiiiiiiiiishhhhhhhhhhhhhhhhhhbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbiiiiiiiiiiiiiii"; - static uint8 const arraySizes[79] = { 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 4, 1, 1, 1, 1, 1, 1, 4, 4, 4, 1, 4, 4, 4, 2, 1, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 4, 4, 1, 4, 1, 4, 6, 1, 1, 1, 2 }; - static DB2Meta instance(-1, 79, 0x97CEA4E6, types, arraySizes); + static char const* types = "iiiiiiiiiiiiiishhhhhhhhhhhhhhhhhhbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbiiiiiiiiiiiiiiii"; + static uint8 const arraySizes[80] = { 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 4, 1, 1, 1, 1, 1, 1, 4, 4, 4, 1, 4, 4, 4, 2, 1, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 4, 4, 1, 4, 1, 4, 6, 1, 1, 1, 2, 1 }; + static DB2FieldDefault const fieldDefaults[80] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 80, 0xC1DF2C51, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3931,7 +4490,8 @@ struct PositionerMeta { static char const* types = "fhbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x0DC56BF9, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { float(0), uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0xA8251F4D, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3942,7 +4502,8 @@ struct PositionerStateMeta { static char const* types = "fbiiiiii"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0xB64314AC, types, arraySizes); + static DB2FieldDefault const fieldDefaults[8] = { float(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 8, 0xFE756728, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3951,9 +4512,10 @@ struct PositionerStateEntryMeta { static DB2Meta const* Instance() { - static char const* types = "ffhhbbbbbbi"; + static char const* types = "ffhhhhbbbbi"; static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 11, 0x92FB58E8, types, arraySizes); + static DB2FieldDefault const fieldDefaults[11] = { float(0), float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 11, 0xA6C68AB6, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3964,7 +4526,8 @@ struct PowerDisplayMeta { static char const* types = "sbbbb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x18C540B5, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { "", uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 5, 0x34D32464, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3975,7 +4538,8 @@ struct PowerTypeMeta { static char const* types = "ssffhhhbbbbb"; static uint8 const arraySizes[12] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 12, 0x9B2B3F6D, types, arraySizes); + static DB2FieldDefault const fieldDefaults[12] = { "", "", float(0), float(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 12, 0xB1EC389B, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3986,7 +4550,8 @@ struct PrestigeLevelInfoMeta { static char const* types = "isbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x1F001219, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), "", uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x3BFC82FB, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3997,7 +4562,8 @@ struct PvpBracketTypesMeta { static char const* types = "bi"; static uint8 const arraySizes[2] = { 1, 4 }; - static DB2Meta instance(-1, 2, 0x621CD92F, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint8(0), uint32(0) }; + static DB2Meta instance(-1, 2, 0x26EDA043, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4008,7 +4574,8 @@ struct PvpDifficultyMeta { static char const* types = "hbbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xCF4D1AEB, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x86D72D63, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4019,7 +4586,8 @@ struct PvpItemMeta { static char const* types = "ib"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x5C087651, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint8(0) }; + static DB2Meta instance(-1, 2, 0xF92326FB, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4030,7 +4598,32 @@ struct PvpRewardMeta { static char const* types = "iii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x951DE3BC, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0x13470FF5, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct PvpScalingEffectMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "fii"; + static uint8 const arraySizes[3] = { 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[3] = { float(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0x473E3F4A, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct PvpScalingEffectTypeMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "s"; + static uint8 const arraySizes[1] = { 1 }; + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x3904DB9E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4041,7 +4634,8 @@ struct PvpTalentMeta { static char const* types = "iisiiiiii"; static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 9, 0xB6FF8059, types, arraySizes); + static DB2FieldDefault const fieldDefaults[9] = { uint32(0), uint32(0), "", uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 9, 0xB89EF320, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4052,7 +4646,8 @@ struct PvpTalentUnlockMeta { static char const* types = "iii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xC1A48E8A, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0x9500E5F3, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4063,7 +4658,8 @@ struct QuestFactionRewardMeta { static char const* types = "h"; static uint8 const arraySizes[1] = { 10 }; - static DB2Meta instance(-1, 1, 0x313B4AEB, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint16(0) }; + static DB2Meta instance(-1, 1, 0x537EC620, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4074,7 +4670,8 @@ struct QuestFeedbackEffectMeta { static char const* types = "ihbbbb"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0x747AA1F3, types, arraySizes); + static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 6, 0x6F933FDB, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4085,7 +4682,8 @@ struct QuestInfoMeta { static char const* types = "shbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x11382F51, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0xBBA77DA5, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4096,7 +4694,8 @@ struct QuestLineMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xC7290625, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x22E5531E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4107,7 +4706,8 @@ struct QuestLineXQuestMeta { static char const* types = "hhb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x0D1339BD, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x7DBDC94A, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4118,7 +4718,8 @@ struct QuestMoneyRewardMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 10 }; - static DB2Meta instance(-1, 1, 0x83F7CE9C, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; + static DB2Meta instance(-1, 1, 0x28D813E1, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4129,7 +4730,8 @@ struct QuestObjectiveMeta { static char const* types = "iishbbbb"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0x22594899, types, arraySizes); + static DB2FieldDefault const fieldDefaults[8] = { uint32(0), uint32(0), "", uint16(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 8, 0x2C239174, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4140,7 +4742,8 @@ struct QuestPOIBlobMeta { static char const* types = "ihhbbiii"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(0, 8, 0x02EEA008, types, arraySizes); + static DB2FieldDefault const fieldDefaults[8] = { uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(0, 8, 0xA9FB7F3E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4151,7 +4754,8 @@ struct QuestPOIPointMeta { static char const* types = "ihhi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(3, 4, 0x602A18C5, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint16(0), uint32(0) }; + static DB2Meta instance(3, 4, 0xEAFC2A23, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4160,9 +4764,10 @@ struct QuestPackageItemMeta { static DB2Meta const* Instance() { - static char const* types = "ihbb"; + static char const* types = "ihbi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x31CD6A8B, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 4, 0x156B634B, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4173,7 +4778,8 @@ struct QuestSortMeta { static char const* types = "sb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xE784CEA6, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) }; + static DB2Meta instance(-1, 2, 0x222914B6, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4184,7 +4790,8 @@ struct QuestV2Meta { static char const* types = "h"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x02E59131, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint16(0) }; + static DB2Meta instance(-1, 1, 0x0C89D0A4, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4193,9 +4800,10 @@ struct QuestV2CliTaskMeta { static DB2Meta const* Instance() { - static char const* types = "issihhhhhhhbbbbbbbbbiii"; + static char const* types = "issihhhhhhbbbbbbbbbbiii"; static uint8 const arraySizes[23] = { 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(20, 23, 0x3AF80301, types, arraySizes); + static DB2FieldDefault const fieldDefaults[23] = { uint32(0), "", "", uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(20, 23, 0x9DF4A8B7, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4206,7 +4814,8 @@ struct QuestXGroupActivityMeta { static char const* types = "ii"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xD40C68F3, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint32(0) }; + static DB2Meta instance(-1, 2, 0x193C0151, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4217,7 +4826,8 @@ struct QuestXPMeta { static char const* types = "h"; static uint8 const arraySizes[1] = { 10 }; - static DB2Meta instance(-1, 1, 0xE39F507A, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint16(0) }; + static DB2Meta instance(-1, 1, 0x1A4139BF, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4228,7 +4838,8 @@ struct RacialMountsMeta { static char const* types = "ib"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x12EABF67, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint8(0) }; + static DB2Meta instance(-1, 2, 0x6D8150FD, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4239,7 +4850,8 @@ struct RandPropPointsMeta { static char const* types = "iii"; static uint8 const arraySizes[3] = { 5, 5, 5 }; - static DB2Meta instance(-1, 3, 0xE5202AE2, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0x599C6627, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4250,7 +4862,8 @@ struct ResearchBranchMeta { static char const* types = "ssihb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x913C4C8E, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { "", "", uint32(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 5, 0xE5317F8B, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4261,7 +4874,8 @@ struct ResearchFieldMeta { static char const* types = "sbi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(2, 3, 0x58E34F4D, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint32(0) }; + static DB2Meta instance(2, 3, 0x819D5A2C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4272,7 +4886,8 @@ struct ResearchProjectMeta { static char const* types = "ssishbbii"; static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(7, 9, 0xFFF56E96, types, arraySizes); + static DB2FieldDefault const fieldDefaults[9] = { "", "", uint32(0), "", uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(7, 9, 0x8DFB0CED, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4283,7 +4898,8 @@ struct ResearchSiteMeta { static char const* types = "ishi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x17513E43, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), "", uint16(0), uint32(0) }; + static DB2Meta instance(-1, 4, 0xA9B8D8DB, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4294,7 +4910,8 @@ struct ResistancesMeta { static char const* types = "sbi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xFB916DBC, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0xC254EDE9, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4305,7 +4922,8 @@ struct RewardPackMeta { static char const* types = "ifbbii"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0x4AE87C13, types, arraySizes); + static DB2FieldDefault const fieldDefaults[6] = { uint32(0), float(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 6, 0xC8C347FF, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4316,7 +4934,8 @@ struct RewardPackXCurrencyTypeMeta { static char const* types = "iii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x41F4ECBC, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0xCDD4B84B, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4327,7 +4946,8 @@ struct RewardPackXItemMeta { static char const* types = "iii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xADFD44B7, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0xF2271B6C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4338,7 +4958,8 @@ struct RibbonQualityMeta { static char const* types = "fffbi"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x7B2CFE42, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), float(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 5, 0x87409B0D, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4349,7 +4970,8 @@ struct RulesetItemUpgradeMeta { static char const* types = "ih"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x11515F20, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0xFBB306B8, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4360,7 +4982,8 @@ struct ScalingStatDistributionMeta { static char const* types = "hii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x1429D0B8, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0xC502D749, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4371,7 +4994,8 @@ struct ScenarioMeta { static char const* types = "shbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x5E81BCF6, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0xD58F8986, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4382,7 +5006,8 @@ struct ScenarioEventEntryMeta { static char const* types = "hb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x6FE49761, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint8(0) }; + static DB2Meta instance(-1, 2, 0xEEB2D437, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4393,7 +5018,8 @@ struct ScenarioStepMeta { static char const* types = "sshhhhbbi"; static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 9, 0x2C5EC158, types, arraySizes); + static DB2FieldDefault const fieldDefaults[9] = { "", "", uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 9, 0x6578D565, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4404,7 +5030,8 @@ struct SceneScriptMeta { static char const* types = "sshh"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x1EEAE156, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { "", "", uint16(0), uint16(0) }; + static DB2Meta instance(-1, 4, 0x49EEB338, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4415,7 +5042,8 @@ struct SceneScriptPackageMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xC7290625, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x3904DB9E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4426,7 +5054,8 @@ struct SceneScriptPackageMemberMeta { static char const* types = "hhhb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x25F30E6F, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint16(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x106EBEE9, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4437,7 +5066,8 @@ struct ScheduledIntervalMeta { static char const* types = "iiiii"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x5F6D83EC, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 5, 0x0E1CD95F, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4448,7 +5078,8 @@ struct ScheduledWorldStateMeta { static char const* types = "iiiiiiii"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0xA04FD7B6, types, arraySizes); + static DB2FieldDefault const fieldDefaults[8] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 8, 0xF79BBEDA, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4459,7 +5090,8 @@ struct ScheduledWorldStateGroupMeta { static char const* types = "iiiii"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x388C0CD9, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 5, 0x7DAC0988, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4470,7 +5102,8 @@ struct ScheduledWorldStateXUniqCatMeta { static char const* types = "iii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(0, 3, 0x55B274C3, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(0, 3, 0x35A6F286, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4481,7 +5114,8 @@ struct ScreenEffectMeta { static char const* types = "sihhhhbbbiii"; static uint8 const arraySizes[12] = { 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 12, 0xE37F8225, types, arraySizes); + static DB2FieldDefault const fieldDefaults[12] = { "", uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 12, 0x6BAE60BD, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4492,7 +5126,8 @@ struct ScreenLocationMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xC7290625, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x3904DB9E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4503,7 +5138,8 @@ struct SeamlessSiteMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x519EF0C5, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; + static DB2Meta instance(-1, 1, 0x62865AB2, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4514,7 +5150,8 @@ struct ServerMessagesMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xF540D73D, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0xBF18B426, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4523,9 +5160,10 @@ struct ShadowyEffectMeta { static DB2Meta const* Instance() { - static char const* types = "iiffffffbb"; - static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0x9072BD0E, types, arraySizes); + static char const* types = "iifffffffbb"; + static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[11] = { uint32(0), uint32(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 11, 0x64A913F2, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4534,9 +5172,10 @@ struct SkillLineMeta { static DB2Meta const* Instance() { - static char const* types = "ssshhbbi"; + static char const* types = "ssshbbii"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0xD05F97DB, types, arraySizes); + static DB2FieldDefault const fieldDefaults[8] = { "", "", "", uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 8, 0x1BD123BF, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4545,9 +5184,10 @@ struct SkillLineAbilityMeta { static DB2Meta const* Instance() { - static char const* types = "iiiihhhhhhbbi"; + static char const* types = "iiihhhhhhbbbi"; static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 13, 0x33977235, types, arraySizes); + static DB2FieldDefault const fieldDefaults[13] = { uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 13, 0x52975082, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4558,7 +5198,8 @@ struct SkillRaceClassInfoMeta { static char const* types = "ihhhbbi"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x23FE736E, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 7, 0x83AE7FF7, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4569,7 +5210,8 @@ struct SoundAmbienceMeta { static char const* types = "biii"; static uint8 const arraySizes[4] = { 1, 2, 1, 1 }; - static DB2Meta instance(-1, 4, 0xF6403AC1, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint8(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 4, 0x7B848517, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4580,7 +5222,8 @@ struct SoundAmbienceFlavorMeta { static char const* types = "hii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xBC4B2D4F, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0x62F54C8C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4589,9 +5232,22 @@ struct SoundBusMeta { static DB2Meta const* Instance() { - static char const* types = "ffhbbbbbbbbi"; - static uint8 const arraySizes[12] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(11, 12, 0xB3B4FD02, types, arraySizes); + static char const* types = "fhbbbbbi"; + static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[8] = { float(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(7, 8, 0x9A949479, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct SoundBusOverrideMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "ifbbbii"; + static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[7] = { uint32(0), float(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(0, 7, 0xFDAA0F97, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4602,7 +5258,8 @@ struct SoundEmitterPillPointsMeta { static char const* types = "fh"; static uint8 const arraySizes[2] = { 3, 1 }; - static DB2Meta instance(-1, 2, 0xB29E5CAB, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0x39121A39, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4611,9 +5268,10 @@ struct SoundEmittersMeta { static DB2Meta const* Instance() { - static char const* types = "ffshhhbbbbii"; + static char const* types = "ffshhhbbbiii"; static uint8 const arraySizes[12] = { 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(10, 12, 0xE757D4E0, types, arraySizes); + static DB2FieldDefault const fieldDefaults[12] = { float(0), float(0), "", uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(9, 12, 0xE270720C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4624,7 +5282,8 @@ struct SoundFilterMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xC7290625, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x3904DB9E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4635,7 +5294,8 @@ struct SoundFilterElemMeta { static char const* types = "fbb"; static uint8 const arraySizes[3] = { 9, 1, 1 }; - static DB2Meta instance(-1, 3, 0x15C04229, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { float(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x17D9566E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4646,7 +5306,8 @@ struct SoundKitMeta { static char const* types = "sffffffffhhhbbbbi"; static uint8 const arraySizes[17] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(16, 17, 0x38A184DC, types, arraySizes); + static DB2FieldDefault const fieldDefaults[17] = { "", float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(16, 17, 0xD0C5E77B, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4657,7 +5318,8 @@ struct SoundKitAdvancedMeta { static char const* types = "fiiiiiifffffiiffffffihbbbbiiiiii"; static uint8 const arraySizes[32] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 32, 0x7CE3363B, types, arraySizes); + static DB2FieldDefault const fieldDefaults[32] = { float(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), float(0), float(0), float(0), float(0), float(0), uint32(0), uint32(0), float(0), float(0), float(0), float(0), float(0), float(0), uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 32, 0xE365C92B, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4668,7 +5330,8 @@ struct SoundKitChildMeta { static char const* types = "ii"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xC1FC0B1D, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint32(0) }; + static DB2Meta instance(-1, 2, 0xEC08C629, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4679,7 +5342,8 @@ struct SoundKitEntryMeta { static char const* types = "ifbi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x1F47A21F, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), float(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 4, 0x78A32CE1, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4690,7 +5354,8 @@ struct SoundKitFallbackMeta { static char const* types = "ii"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x49EF8EA3, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint32(0) }; + static DB2Meta instance(-1, 2, 0x37114C5F, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4701,7 +5366,8 @@ struct SoundOverrideMeta { static char const* types = "hhhb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x6A119082, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint16(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x2EEBF2F8, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4712,7 +5378,8 @@ struct SoundProviderPreferencesMeta { static char const* types = "sfffffffffffffffhhhhhbb"; static uint8 const arraySizes[23] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 23, 0x280B4DCE, types, arraySizes); + static DB2FieldDefault const fieldDefaults[23] = { "", float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 23, 0x67B76B4D, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4723,7 +5390,8 @@ struct SourceInfoMeta { static char const* types = "isbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x83D64CE7, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), "", uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x5CBB0CF1, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4734,7 +5402,8 @@ struct SpamMessagesMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xC3BC61DD, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0xAFEA48C6, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4745,7 +5414,8 @@ struct SpecializationSpellsMeta { static char const* types = "iishbi"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(5, 6, 0xFDA6037B, types, arraySizes); + static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint32(0), "", uint16(0), uint8(0), uint32(0) }; + static DB2Meta instance(5, 6, 0x25DB72F3, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4756,7 +5426,8 @@ struct SpellMeta { static char const* types = "ssssiii"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(5, 7, 0xE5833C90, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { "", "", "", "", uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(5, 7, 0xEBFC7B2F, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4767,7 +5438,8 @@ struct SpellActionBarPrefMeta { static char const* types = "ih"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x7208084B, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0xE575AC95, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4778,7 +5450,8 @@ struct SpellActivationOverlayMeta { static char const* types = "iiifibbi"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 4, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0xCA4F95F7, types, arraySizes); + static DB2FieldDefault const fieldDefaults[8] = { uint32(0), uint32(0), uint32(0), float(0), uint32(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 8, 0x19C2E363, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4789,7 +5462,8 @@ struct SpellAuraOptionsMeta { static char const* types = "iiiihbbb"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0x3F86C0F9, types, arraySizes); + static DB2FieldDefault const fieldDefaults[8] = { uint32(0), uint32(0), uint32(0), uint32(0), uint16(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 8, 0x41785ED1, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4800,7 +5474,8 @@ struct SpellAuraRestrictionsMeta { static char const* types = "iiiiibbbbb"; static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0xA3E6C359, types, arraySizes); + static DB2FieldDefault const fieldDefaults[10] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 10, 0x2F389373, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4811,7 +5486,8 @@ struct SpellAuraVisXChrSpecMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xAB095460, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; + static DB2Meta instance(-1, 2, 0x598B6692, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4822,7 +5498,8 @@ struct SpellAuraVisibilityMeta { static char const* types = "ibbi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(3, 4, 0xF5BCF9D6, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(3, 4, 0x37B086CE, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4833,7 +5510,8 @@ struct SpellCastTimesMeta { static char const* types = "iih"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x33483F8A, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint16(0) }; + static DB2Meta instance(-1, 3, 0xAF90DE83, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4844,7 +5522,8 @@ struct SpellCastingRequirementsMeta { static char const* types = "ihhhbbb"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x8755DB03, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 7, 0xF6016D9C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4855,7 +5534,8 @@ struct SpellCategoriesMeta { static char const* types = "ihhhbbbbb"; static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 9, 0x781B3F38, types, arraySizes); + static DB2FieldDefault const fieldDefaults[9] = { uint32(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 9, 0xD10E84D7, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4866,7 +5546,8 @@ struct SpellCategoryMeta { static char const* types = "sibbbi"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0xE4524408, types, arraySizes); + static DB2FieldDefault const fieldDefaults[6] = { "", uint32(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 6, 0x0D6146A0, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4875,9 +5556,10 @@ struct SpellChainEffectsMeta { static DB2Meta const* Instance() { - static char const* types = "ffffiifffffffffffffffffffffffffffffffffffiffsshhhhbbbbbbbbbbbi"; - static uint8 const arraySizes[62] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 1, 1, 1, 3, 1, 1, 1, 11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 62, 0xF1FA79EA, types, arraySizes); + static char const* types = "fffiiffffffffffffffffffffffffffffffffffiffsshhhhbbbbbbbbbbi"; + static uint8 const arraySizes[59] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 1, 1, 1, 3, 1, 1, 1, 11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[59] = { float(0), float(0), float(0), uint32(0), uint32(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint32(0), float(0), float(0), "", "", uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 59, 0x18683A3F, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4888,7 +5570,8 @@ struct SpellClassOptionsMeta { static char const* types = "iibi"; static uint8 const arraySizes[4] = { 1, 4, 1, 1 }; - static DB2Meta instance(-1, 4, 0x56CB75EE, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 4, 0x3BE81516, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4899,7 +5582,8 @@ struct SpellCooldownsMeta { static char const* types = "iiiib"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x8A2FB468, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint32(0), uint32(0), uint8(0) }; + static DB2Meta instance(-1, 5, 0x95FA67DF, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4910,7 +5594,8 @@ struct SpellDescriptionVariablesMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x4326E101, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x4B8C883A, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4921,7 +5606,8 @@ struct SpellDispelTypeMeta { static char const* types = "ssbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x0849B551, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { "", "", uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0xE2AA3CC1, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4930,9 +5616,10 @@ struct SpellDurationMeta { static DB2Meta const* Instance() { - static char const* types = "iih"; + static char const* types = "iii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xA68538E2, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0xA41CBED3, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4941,9 +5628,10 @@ struct SpellEffectMeta { static DB2Meta const* Instance() { - static char const* types = "fffffiffiiiiiiiiiiiiiiiii"; - static uint8 const arraySizes[25] = { 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1 }; - static DB2Meta instance(8, 25, 0x16763148, types, arraySizes); + static char const* types = "iiiiiiiiiiififfiiiiffififf"; + static uint8 const arraySizes[26] = { 4, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[26] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), float(0), uint32(0), float(0), float(1), uint32(0), uint32(0), uint32(0), uint32(0), float(0), float(0), uint32(0), float(0), uint32(0), float(0), float(1) }; + static DB2Meta instance(1, 26, 0xD6D07FDD, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4954,18 +5642,8 @@ struct SpellEffectEmissionMeta { static char const* types = "ffhb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x6561174B, types, arraySizes); - return &instance; - } -}; - -struct SpellEffectExtraMeta -{ - static DB2Meta const* Instance() - { - static char const* types = "f"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x4DA79C50, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { float(0), float(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0xC3341591, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4976,7 +5654,8 @@ struct SpellEffectGroupSizeMeta { static char const* types = "if"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x6F18EF9F, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), float(0) }; + static DB2Meta instance(-1, 2, 0x923E253D, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4987,7 +5666,8 @@ struct SpellEffectScalingMeta { static char const* types = "fffi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xD8F7C7FB, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { float(0), float(0), float(0), uint32(0) }; + static DB2Meta instance(-1, 4, 0x904C49AB, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4998,7 +5678,8 @@ struct SpellEquippedItemsMeta { static char const* types = "iiib"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x207DB8D6, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint32(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x2DFDFA1C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5007,9 +5688,10 @@ struct SpellFlyoutMeta { static DB2Meta const* Instance() { - static char const* types = "isshbi"; + static char const* types = "issbii"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0x23CEEA8A, types, arraySizes); + static DB2FieldDefault const fieldDefaults[6] = { uint32(0), "", "", uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 6, 0x7F571FDD, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5020,7 +5702,8 @@ struct SpellFlyoutItemMeta { static char const* types = "ibb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x877BCCA7, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x4B16566A, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5031,18 +5714,8 @@ struct SpellFocusObjectMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xC7290625, types, arraySizes); - return &instance; - } -}; - -struct SpellIconMeta -{ - static DB2Meta const* Instance() - { - static char const* types = "s"; - static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x290CE6BA, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x3904DB9E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5053,7 +5726,8 @@ struct SpellInterruptsMeta { static char const* types = "iiihb"; static uint8 const arraySizes[5] = { 1, 2, 2, 1, 1 }; - static DB2Meta instance(-1, 5, 0xBCE11416, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint32(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 5, 0x617FAC67, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5064,7 +5738,8 @@ struct SpellItemEnchantmentMeta { static char const* types = "isfiihhhhhhbbbbbbbi"; static uint8 const arraySizes[19] = { 3, 1, 3, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 19, 0x55410316, types, arraySizes); + static DB2FieldDefault const fieldDefaults[19] = { uint32(0), "", float(0), uint32(0), uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 19, 0x39848BCB, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5075,7 +5750,8 @@ struct SpellItemEnchantmentConditionMeta { static char const* types = "bbbbbi"; static uint8 const arraySizes[6] = { 5, 5, 5, 5, 5, 5 }; - static DB2Meta instance(-1, 6, 0xE7DAD37D, types, arraySizes); + static DB2FieldDefault const fieldDefaults[6] = { uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 6, 0xEF6322FD, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5086,7 +5762,8 @@ struct SpellKeyboundOverrideMeta { static char const* types = "isb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x994DBA82, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), "", uint8(0) }; + static DB2Meta instance(-1, 3, 0x9E91C799, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5097,7 +5774,8 @@ struct SpellLabelMeta { static char const* types = "ii"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x924C562C, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint32(0) }; + static DB2Meta instance(-1, 2, 0xEF1E888C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5108,7 +5786,8 @@ struct SpellLearnSpellMeta { static char const* types = "iii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x96E3FF5C, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0xF49DE0EB, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5119,7 +5798,8 @@ struct SpellLevelsMeta { static char const* types = "ihhhbb"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0xAAD87C71, types, arraySizes); + static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 6, 0xDE445A89, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5130,7 +5810,8 @@ struct SpellMechanicMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x2B61E266, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x4F68BCAD, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5139,9 +5820,10 @@ struct SpellMiscMeta { static DB2Meta const* Instance() { - static char const* types = "iffhhhhhb"; + static char const* types = "iffhhhbii"; static uint8 const arraySizes[9] = { 14, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 9, 0x238E7BD9, types, arraySizes); + static DB2FieldDefault const fieldDefaults[9] = { uint32(0), float(0), float(0), uint16(0), uint16(0), uint16(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 9, 0xCF15456A, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5152,7 +5834,8 @@ struct SpellMiscDifficultyMeta { static char const* types = "ibi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(2, 3, 0xFF3CE8ED, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint8(0), uint32(0) }; + static DB2Meta instance(2, 3, 0x15277128, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5163,7 +5846,8 @@ struct SpellMissileMeta { static char const* types = "ifffffffffffffb"; static uint8 const arraySizes[15] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 15, 0xDB6D042C, types, arraySizes); + static DB2FieldDefault const fieldDefaults[15] = { uint32(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint8(0) }; + static DB2Meta instance(-1, 15, 0xD15D882B, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5174,7 +5858,8 @@ struct SpellMissileMotionMeta { static char const* types = "ssbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x41A32383, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { "", "", uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0xB4A475EB, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5185,7 +5870,8 @@ struct SpellPowerMeta { static char const* types = "iiffifbbiiiiii"; static uint8 const arraySizes[14] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(8, 14, 0x5BC3DDCE, types, arraySizes); + static DB2FieldDefault const fieldDefaults[14] = { uint32(0), uint32(0), float(0), float(0), uint32(0), float(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(8, 14, 0x7E56F4D6, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5196,7 +5882,8 @@ struct SpellPowerDifficultyMeta { static char const* types = "bbi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(2, 3, 0xDD6987D1, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(2, 3, 0xCE90A34A, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5207,7 +5894,8 @@ struct SpellProceduralEffectMeta { static char const* types = "fbi"; static uint8 const arraySizes[3] = { 4, 1, 1 }; - static DB2Meta instance(2, 3, 0xFF66AE2D, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { float(0), uint8(0), uint32(0) }; + static DB2Meta instance(2, 3, 0xB92EDA80, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5218,7 +5906,8 @@ struct SpellProcsPerMinuteMeta { static char const* types = "fb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0xBA59813B, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { float(0), uint8(0) }; + static DB2Meta instance(-1, 2, 0x8B1DA391, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5229,7 +5918,8 @@ struct SpellProcsPerMinuteModMeta { static char const* types = "fhbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x0044A109, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { float(0), uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x777C8E87, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5240,7 +5930,8 @@ struct SpellRadiusMeta { static char const* types = "ffff"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x01D4170C, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { float(0), float(0), float(0), float(0) }; + static DB2Meta instance(-1, 4, 0xA7115276, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5251,7 +5942,8 @@ struct SpellRangeMeta { static char const* types = "ffssb"; static uint8 const arraySizes[5] = { 2, 2, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x9A45DAC4, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), "", "", uint8(0) }; + static DB2Meta instance(-1, 5, 0xF800EFF5, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5262,7 +5954,8 @@ struct SpellReagentsMeta { static char const* types = "iih"; static uint8 const arraySizes[3] = { 1, 8, 8 }; - static DB2Meta instance(-1, 3, 0x91DD8682, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint16(0) }; + static DB2Meta instance(-1, 3, 0x56EDE5AB, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5273,7 +5966,8 @@ struct SpellReagentsCurrencyMeta { static char const* types = "ihh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xFD286C2C, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint16(0) }; + static DB2Meta instance(-1, 3, 0xB1B6E25D, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5284,7 +5978,8 @@ struct SpellScalingMeta { static char const* types = "ihiii"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x647B325B, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint16(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 5, 0x9ED127A4, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5295,7 +5990,8 @@ struct SpellShapeshiftMeta { static char const* types = "iiib"; static uint8 const arraySizes[4] = { 1, 2, 2, 1 }; - static DB2Meta instance(-1, 4, 0x751BB86D, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint32(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x1DDAC1DB, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5304,9 +6000,10 @@ struct SpellShapeshiftFormMeta { static DB2Meta const* Instance() { - static char const* types = "sfihhhhhbb"; - static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 4, 8, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0xF2F53E9B, types, arraySizes); + static char const* types = "sfihhbbiii"; + static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 4, 8 }; + static DB2FieldDefault const fieldDefaults[10] = { "", float(0), uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 10, 0x3B74E677, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5317,7 +6014,8 @@ struct SpellSpecialUnitEffectMeta { static char const* types = "hi"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x44CE5AA5, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint32(0) }; + static DB2Meta instance(-1, 2, 0x3E8DA6A5, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5328,7 +6026,8 @@ struct SpellTargetRestrictionsMeta { static char const* types = "iffihbbi"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0x3E737FD4, types, arraySizes); + static DB2FieldDefault const fieldDefaults[8] = { uint32(0), float(0), float(0), uint32(0), uint16(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 8, 0x14146B0A, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5339,7 +6038,8 @@ struct SpellTotemsMeta { static char const* types = "iih"; static uint8 const arraySizes[3] = { 1, 2, 2 }; - static DB2Meta instance(-1, 3, 0xCEF20980, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint16(0) }; + static DB2Meta instance(-1, 3, 0xC384E067, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5348,9 +6048,10 @@ struct SpellVisualMeta { static DB2Meta const* Instance() { - static char const* types = "iiiiiiiiiiiiiiiffiihhhbbiiii"; - static uint8 const arraySizes[28] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(24, 28, 0x2A5536DE, types, arraySizes); + static char const* types = "iiiiiiiiiiiiiiiffiiiiihhbbiiii"; + static uint8 const arraySizes[30] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[30] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), float(0), float(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(26, 30, 0x03C190D7, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5361,7 +6062,8 @@ struct SpellVisualAnimMeta { static char const* types = "hhh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x9466CA0B, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint16(0) }; + static DB2Meta instance(-1, 3, 0x999CD8F6, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5372,7 +6074,8 @@ struct SpellVisualColorEffectMeta { static char const* types = "fifhhhhhbbi"; static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 11, 0xB64EDACC, types, arraySizes); + static DB2FieldDefault const fieldDefaults[11] = { float(0), uint32(0), float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 11, 0x59B20857, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5383,7 +6086,8 @@ struct SpellVisualEffectNameMeta { static char const* types = "sffffffiiibii"; static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 13, 0x357EA96F, types, arraySizes); + static DB2FieldDefault const fieldDefaults[13] = { "", float(0), float(0), float(0), float(0), float(0), float(0), uint32(0), uint32(0), uint32(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 13, 0x1FBC2750, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5394,7 +6098,8 @@ struct SpellVisualKitMeta { static char const* types = "ifhhii"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(4, 6, 0x4356273E, types, arraySizes); + static DB2FieldDefault const fieldDefaults[6] = { uint32(0), float(0), uint16(0), uint16(0), uint32(0), uint32(0) }; + static DB2Meta instance(4, 6, 0xC1E1518E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5405,7 +6110,8 @@ struct SpellVisualKitAreaModelMeta { static char const* types = "ifffhb"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0x3574C2E7, types, arraySizes); + static DB2FieldDefault const fieldDefaults[6] = { uint32(0), float(0), float(0), float(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 6, 0xB1470E0F, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5416,7 +6122,8 @@ struct SpellVisualKitEffectMeta { static char const* types = "iii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x61637867, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0xA0F573D3, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5425,9 +6132,10 @@ struct SpellVisualKitModelAttachMeta { static DB2Meta const* Instance() { - static char const* types = "iffffffffffifhhhhhhbbi"; + static char const* types = "iffhbbihffffffffhhhhif"; static uint8 const arraySizes[22] = { 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(21, 22, 0x04B33CAD, types, arraySizes); + static DB2FieldDefault const fieldDefaults[22] = { uint32(0), float(0), float(0), uint16(0), uint8(0), uint8(0), uint32(0), uint16(0), float(0), float(0), float(0), float(0), float(0), float(0), float(1), float(0), uint16(65535), uint16(65535), uint16(65535), uint16(0), uint32(0), float(0) }; + static DB2Meta instance(6, 22, 0x84E65313, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5438,7 +6146,8 @@ struct SpellVisualMissileMeta { static char const* types = "iiiffhhhhhhbbiii"; static uint8 const arraySizes[16] = { 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(13, 16, 0x53BAC2C9, types, arraySizes); + static DB2FieldDefault const fieldDefaults[16] = { uint32(0), uint32(0), uint32(0), float(0), float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(13, 16, 0x5BC97153, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5447,9 +6156,22 @@ struct SpellXSpellVisualMeta { static DB2Meta const* Instance() { - static char const* types = "ifhhhhbbbi"; - static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(9, 10, 0xBB7867F3, types, arraySizes); + static char const* types = "iiifhhhhiibbb"; + static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[13] = { uint32(0), uint32(0), uint32(0), float(1), uint16(0), uint16(0), uint16(0), uint16(0), uint32(0), uint32(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(2, 13, 0xC8455F07, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct StartupFilesMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "ii"; + static uint8 const arraySizes[2] = { 1, 1 }; + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint32(0) }; + static DB2Meta instance(-1, 2, 0x8B69689C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5460,7 +6182,8 @@ struct Startup_StringsMeta { static char const* types = "ss"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x8C2A9B67, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { "", "" }; + static DB2Meta instance(-1, 2, 0x57A2EA45, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5471,7 +6194,8 @@ struct StationeryMeta { static char const* types = "sbi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x5956C630, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0xFC4B1219, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5482,7 +6206,8 @@ struct StringLookupsMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xCA7A241B, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x2273F460, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5493,7 +6218,8 @@ struct SummonPropertiesMeta { static char const* types = "iiiii"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x1EE46E46, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 5, 0x431AC5BD, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5504,7 +6230,8 @@ struct TactKeyMeta { static char const* types = "b"; static uint8 const arraySizes[1] = { 16 }; - static DB2Meta instance(-1, 1, 0x08773764, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint8(0) }; + static DB2Meta instance(-1, 1, 0x93982C41, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5515,7 +6242,8 @@ struct TactKeyLookupMeta { static char const* types = "b"; static uint8 const arraySizes[1] = { 8 }; - static DB2Meta instance(-1, 1, 0x93C0A8AC, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint8(0) }; + static DB2Meta instance(-1, 1, 0xDEB96A09, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5526,7 +6254,8 @@ struct TalentMeta { static char const* types = "iishbbbbb"; static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 2, 1 }; - static DB2Meta instance(-1, 9, 0xE33B18D6, types, arraySizes); + static DB2FieldDefault const fieldDefaults[9] = { uint32(0), uint32(0), "", uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 9, 0xED04256B, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5537,7 +6266,8 @@ struct TaxiNodesMeta { static char const* types = "fsifhhhbi"; static uint8 const arraySizes[9] = { 3, 1, 2, 2, 1, 1, 1, 1, 1 }; - static DB2Meta instance(8, 9, 0x75BBE821, types, arraySizes); + static DB2FieldDefault const fieldDefaults[9] = { float(0), "", uint32(0), float(0), uint16(0), uint16(0), uint16(0), uint8(0), uint32(0) }; + static DB2Meta instance(8, 9, 0x7F24204C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5548,7 +6278,8 @@ struct TaxiPathMeta { static char const* types = "hhii"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(2, 4, 0x024DF2C5, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint16(0), uint32(0), uint32(0) }; + static DB2Meta instance(2, 4, 0xCD215FC7, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5559,7 +6290,8 @@ struct TaxiPathNodeMeta { static char const* types = "fihhhhbbi"; static uint8 const arraySizes[9] = { 3, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(8, 9, 0x265B46FD, types, arraySizes); + static DB2FieldDefault const fieldDefaults[9] = { float(0), uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(8, 9, 0x5D49C8E0, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5570,7 +6302,8 @@ struct TerrainMaterialMeta { static char const* types = "ssb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xFEAC3DEB, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", "", uint8(0) }; + static DB2Meta instance(-1, 3, 0x49A78572, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5581,7 +6314,8 @@ struct TerrainTypeMeta { static char const* types = "shhbb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xCE859CB3, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { "", uint16(0), uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 5, 0x88A1087E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5592,7 +6326,8 @@ struct TerrainTypeSoundsMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xA75DB185, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x8730DCFE, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5603,7 +6338,8 @@ struct TextureBlendSetMeta { static char const* types = "ifffffbbbb"; static uint8 const arraySizes[10] = { 3, 3, 3, 3, 3, 4, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0x5EB52530, types, arraySizes); + static DB2FieldDefault const fieldDefaults[10] = { uint32(0), float(0), float(0), float(0), float(0), float(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 10, 0x5BFDA3B4, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5614,7 +6350,8 @@ struct TextureFileDataMeta { static char const* types = "ibi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(2, 3, 0xEA25E12A, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint8(0), uint32(0) }; + static DB2Meta instance(2, 3, 0x35167055, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5625,7 +6362,8 @@ struct TotemCategoryMeta { static char const* types = "sib"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xCCD2F8FC, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", uint32(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x789625BB, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5636,7 +6374,8 @@ struct ToyMeta { static char const* types = "isbbi"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(4, 5, 0x9C360567, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { uint32(0), "", uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(4, 5, 0xC6934651, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5647,7 +6386,8 @@ struct TradeSkillCategoryMeta { static char const* types = "shhhb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x5E591FFB, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { "", uint16(0), uint16(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 5, 0x6F15EA1C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5658,7 +6398,8 @@ struct TradeSkillItemMeta { static char const* types = "hb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x1ECD3B6E, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint8(0) }; + static DB2Meta instance(-1, 2, 0x3E65917A, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5669,7 +6410,20 @@ struct TransformMatrixMeta { static char const* types = "fffff"; static uint8 const arraySizes[5] = { 3, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xC3C28B27, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), float(0), float(0), float(0) }; + static DB2Meta instance(-1, 5, 0xAA37BA84, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct TransmogHolidayMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "ii"; + static uint8 const arraySizes[2] = { 1, 1 }; + static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint32(0) }; + static DB2Meta instance(0, 2, 0x70F0928A, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5678,9 +6432,22 @@ struct TransmogSetMeta { static DB2Meta const* Instance() { - static char const* types = "iiii"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(0, 4, 0xAFBEBD1B, types, arraySizes); + static char const* types = "shhbiiiiii"; + static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[10] = { "", uint16(0), uint16(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(4, 10, 0xA64E0723, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct TransmogSetGroupMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "si"; + static uint8 const arraySizes[2] = { 1, 1 }; + static DB2FieldDefault const fieldDefaults[2] = { "", uint32(0) }; + static DB2Meta instance(1, 2, 0x027DC3B5, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5691,7 +6458,8 @@ struct TransmogSetItemMeta { static char const* types = "iiii"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(0, 4, 0x93D07FB6, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(0, 4, 0x1C481EF6, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5702,7 +6470,8 @@ struct TransportAnimationMeta { static char const* types = "iifb"; static uint8 const arraySizes[4] = { 1, 1, 3, 1 }; - static DB2Meta instance(-1, 4, 0xD4A71B4F, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), float(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0xAA08A913, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5713,7 +6482,8 @@ struct TransportPhysicsMeta { static char const* types = "ffffffffff"; static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0x870455A8, types, arraySizes); + static DB2FieldDefault const fieldDefaults[10] = { float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0) }; + static DB2Meta instance(-1, 10, 0x376AB472, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5724,7 +6494,8 @@ struct TransportRotationMeta { static char const* types = "iif"; static uint8 const arraySizes[3] = { 1, 1, 4 }; - static DB2Meta instance(-1, 3, 0xC1B2733B, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), float(0) }; + static DB2Meta instance(-1, 3, 0x5B310112, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5733,9 +6504,10 @@ struct TrophyMeta { static DB2Meta const* Instance() { - static char const* types = "shhb"; + static char const* types = "shbi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x2DF28AE9, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 4, 0x29385F9B, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5746,7 +6518,8 @@ struct UiCamFbackTransmogChrRaceMeta { static char const* types = "hbbbb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x23E76F22, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { uint16(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 5, 0xEFFB716F, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5757,7 +6530,8 @@ struct UiCamFbackTransmogWeaponMeta { static char const* types = "hbbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0x8BDD56D3, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x6E8DF14F, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5768,7 +6542,8 @@ struct UiCameraMeta { static char const* types = "sfffhbbbi"; static uint8 const arraySizes[9] = { 1, 3, 3, 3, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 9, 0x5EF7E92E, types, arraySizes); + static DB2FieldDefault const fieldDefaults[9] = { "", float(0), float(0), float(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 9, 0x2F06438B, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5779,7 +6554,8 @@ struct UiCameraTypeMeta { static char const* types = "sii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xBDDE3ED0, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0x8B2D7DE5, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5788,9 +6564,58 @@ struct UiMapPOIMeta { static DB2Meta const* Instance() { - static char const* types = "ifiiihi"; + static char const* types = "ifiihhi"; static uint8 const arraySizes[7] = { 1, 3, 1, 1, 1, 1, 1 }; - static DB2Meta instance(6, 7, 0x51BCAE51, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { uint32(0), float(0), uint32(0), uint32(0), uint16(0), uint16(0), uint32(0) }; + static DB2Meta instance(6, 7, 0xB7E7C56F, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct UiModelSceneMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "bb"; + static uint8 const arraySizes[2] = { 1, 1 }; + static DB2FieldDefault const fieldDefaults[2] = { uint8(0), uint8(0) }; + static DB2Meta instance(-1, 2, 0x2B5C21A2, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct UiModelSceneActorMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "sfffffbiii"; + static uint8 const arraySizes[10] = { 1, 3, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[10] = { "", float(0), float(0), float(0), float(0), float(0), uint8(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(7, 10, 0x978EC181, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct UiModelSceneActorDisplayMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "fffii"; + static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), float(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 5, 0xEF60E9F1, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct UiModelSceneCameraMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "sfffffffffffbbii"; + static uint8 const arraySizes[16] = { 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[16] = { "", float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(14, 16, 0xD61C5690, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5801,7 +6626,8 @@ struct UiTextureAtlasMeta { static char const* types = "ihh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x22EA2544, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint16(0) }; + static DB2Meta instance(-1, 3, 0xF3571B19, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5812,7 +6638,8 @@ struct UiTextureAtlasMemberMeta { static char const* types = "shhhhhb"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x4C7B7833, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 7, 0xDDD972E0, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5823,7 +6650,8 @@ struct UiTextureKitMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x22DE4AB8, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x89DF6293, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5832,9 +6660,10 @@ struct UnitBloodMeta { static DB2Meta const* Instance() { - static char const* types = "shhhiii"; + static char const* types = "siiiiii"; static uint8 const arraySizes[7] = { 5, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0xE5224622, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { "", uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 7, 0xFF251107, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5845,7 +6674,8 @@ struct UnitBloodLevelsMeta { static char const* types = "b"; static uint8 const arraySizes[1] = { 3 }; - static DB2Meta instance(-1, 1, 0x8740923E, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { uint8(0) }; + static DB2Meta instance(-1, 1, 0x49CADABB, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5856,7 +6686,8 @@ struct UnitConditionMeta { static char const* types = "ibbb"; static uint8 const arraySizes[4] = { 8, 1, 8, 8 }; - static DB2Meta instance(-1, 4, 0x286CC164, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x553D556E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5867,7 +6698,20 @@ struct UnitPowerBarMeta { static char const* types = "ffiissssffhhbbii"; static uint8 const arraySizes[16] = { 1, 1, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 16, 0x6F765621, types, arraySizes); + static DB2FieldDefault const fieldDefaults[16] = { float(0), float(0), uint32(0), uint32(0), "", "", "", "", float(0), float(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 16, 0x5D8A83F5, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct UnitTestMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "ssiii"; + static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[5] = { "", "", uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(2, 5, 0x5FFDAE98, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5878,7 +6722,8 @@ struct VehicleMeta { static char const* types = "iffffffffffffffffffsssffhhhbb"; static uint8 const arraySizes[29] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 8, 1, 3, 1, 1 }; - static DB2Meta instance(-1, 29, 0xA26138C3, types, arraySizes); + static DB2FieldDefault const fieldDefaults[29] = { uint32(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), "", "", "", float(0), float(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 29, 0xED882E60, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5889,7 +6734,8 @@ struct VehicleSeatMeta { static char const* types = "iiiffffffffffffffffffffffffffffffihhhhhhhhhhhhhhhhhhhbbbbbbii"; static uint8 const arraySizes[61] = { 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 61, 0x677A6917, types, arraySizes); + static DB2FieldDefault const fieldDefaults[61] = { uint32(0), uint32(0), uint32(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 61, 0xEA9DC246, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5900,7 +6746,8 @@ struct VehicleUIIndSeatMeta { static char const* types = "ffhb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xC3FFC7A2, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { float(0), float(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0xD0300612, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5911,7 +6758,8 @@ struct VehicleUIIndicatorMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0x67C7890F, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x3A5FB494, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5922,7 +6770,8 @@ struct VideoHardwareMeta { static char const* types = "sshhbbbbbbbbbbiiiiiiii"; static uint8 const arraySizes[22] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(14, 22, 0x58A67427, types, arraySizes); + static DB2FieldDefault const fieldDefaults[22] = { "", "", uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(14, 22, 0xA9321875, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5931,9 +6780,10 @@ struct VignetteMeta { static DB2Meta const* Instance() { - static char const* types = "sffhbii"; + static char const* types = "sffbiii"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0x9E020834, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { "", float(0), float(0), uint8(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 7, 0x0398F23E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5944,7 +6794,8 @@ struct VocalUISoundsMeta { static char const* types = "bbbi"; static uint8 const arraySizes[4] = { 1, 1, 1, 2 }; - static DB2Meta instance(-1, 4, 0x5A79821D, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 4, 0x9BA0B42F, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5955,7 +6806,8 @@ struct WMOAreaTableMeta { static char const* types = "ishhhhhhhbbbbii"; static uint8 const arraySizes[15] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(13, 15, 0x1723DB9B, types, arraySizes); + static DB2FieldDefault const fieldDefaults[15] = { uint32(0), "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(13, 15, 0x09F2B3A0, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5966,7 +6818,8 @@ struct WbAccessControlListMeta { static char const* types = "shbbb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0x49919892, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { "", uint16(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 5, 0x52E15D57, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5977,7 +6830,8 @@ struct WbCertWhitelistMeta { static char const* types = "sbbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xE7A86A2C, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { "", uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0xBF5326EA, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5988,7 +6842,8 @@ struct WeaponImpactSoundsMeta { static char const* types = "bbbiiii"; static uint8 const arraySizes[7] = { 1, 1, 1, 11, 11, 11, 11 }; - static DB2Meta instance(-1, 7, 0x7C22F8E0, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 7, 0xEBF50A99, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5999,7 +6854,8 @@ struct WeaponSwingSounds2Meta { static char const* types = "bbi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xBDDE5D55, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0x673C95BC, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6010,7 +6866,8 @@ struct WeaponTrailMeta { static char const* types = "ifffiffff"; static uint8 const arraySizes[9] = { 1, 1, 1, 1, 3, 3, 3, 3, 3 }; - static DB2Meta instance(-1, 9, 0x6CFF4862, types, arraySizes); + static DB2FieldDefault const fieldDefaults[9] = { uint32(0), float(0), float(0), float(0), uint32(0), float(0), float(0), float(0), float(0) }; + static DB2Meta instance(-1, 9, 0xB7A023AF, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6021,7 +6878,8 @@ struct WeaponTrailModelDefMeta { static char const* types = "ihh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xAC40A6A4, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint16(0) }; + static DB2Meta instance(-1, 3, 0x3C200963, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6032,7 +6890,8 @@ struct WeaponTrailParamMeta { static char const* types = "fffffhbbbb"; static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0x3714142A, types, arraySizes); + static DB2FieldDefault const fieldDefaults[10] = { float(0), float(0), float(0), float(0), float(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 10, 0x7B0FCD36, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6043,7 +6902,8 @@ struct WeatherMeta { static char const* types = "fffsfffffhbbbi"; static uint8 const arraySizes[14] = { 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 14, 0xF70C3970, types, arraySizes); + static DB2FieldDefault const fieldDefaults[14] = { float(0), float(0), float(0), "", float(0), float(0), float(0), float(0), float(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 14, 0xC40545BA, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6054,7 +6914,8 @@ struct WindSettingsMeta { static char const* types = "fffffffffb"; static uint8 const arraySizes[10] = { 1, 3, 1, 1, 3, 1, 3, 1, 1, 1 }; - static DB2Meta instance(-1, 10, 0x039E80F8, types, arraySizes); + static DB2FieldDefault const fieldDefaults[10] = { float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint8(0) }; + static DB2Meta instance(-1, 10, 0x2A355F82, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6065,7 +6926,8 @@ struct WmoMinimapTextureMeta { static char const* types = "ihhbb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 5, 0xD98F4672, types, arraySizes); + static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint16(0), uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 5, 0x5193E175, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6076,7 +6938,8 @@ struct WorldBossLockoutMeta { static char const* types = "sh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2Meta instance(-1, 2, 0x40D1D0B9, types, arraySizes); + static DB2FieldDefault const fieldDefaults[2] = { "", uint16(0) }; + static DB2Meta instance(-1, 2, 0x663E9CD8, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6087,7 +6950,8 @@ struct WorldChunkSoundsMeta { static char const* types = "hbbbbb"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0x7D17C7B2, types, arraySizes); + static DB2FieldDefault const fieldDefaults[6] = { uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 6, 0xF0C19FF2, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6096,9 +6960,10 @@ struct WorldEffectMeta { static DB2Meta const* Instance() { - static char const* types = "ihhhbb"; + static char const* types = "ihbbii"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 6, 0xB1DDCD15, types, arraySizes); + static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 6, 0xDA8BA65D, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6109,7 +6974,8 @@ struct WorldElapsedTimerMeta { static char const* types = "sbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0xF01B4D84, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0xB4A23411, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6120,7 +6986,8 @@ struct WorldMapAreaMeta { static char const* types = "sffffhhhhhhbbbbii"; static uint8 const arraySizes[17] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(15, 17, 0x95F8D79D, types, arraySizes); + static DB2FieldDefault const fieldDefaults[17] = { "", float(0), float(0), float(0), float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(15, 17, 0x432C75FC, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6131,7 +6998,8 @@ struct WorldMapContinentMeta { static char const* types = "ffffhhbbbbb"; static uint8 const arraySizes[11] = { 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 11, 0x6A1414E1, types, arraySizes); + static DB2FieldDefault const fieldDefaults[11] = { float(0), float(0), float(0), float(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 11, 0x5125D564, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6140,9 +7008,10 @@ struct WorldMapOverlayMeta { static DB2Meta const* Instance() { - static char const* types = "shhiiiiiiiiii"; - static uint8 const arraySizes[13] = { 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 13, 0x093857A3, types, arraySizes); + static char const* types = "ishhiiiiiiiiii"; + static uint8 const arraySizes[14] = { 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[14] = { uint32(0), "", uint16(0), uint16(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(0, 14, 0x0A93D579, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6153,7 +7022,8 @@ struct WorldMapTransformsMeta { static char const* types = "fffhhhhhb"; static uint8 const arraySizes[9] = { 6, 2, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 9, 0x23B2A570, types, arraySizes); + static DB2FieldDefault const fieldDefaults[9] = { float(0), float(0), float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 9, 0x24A4E819, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6164,7 +7034,8 @@ struct WorldSafeLocsMeta { static char const* types = "ffsh"; static uint8 const arraySizes[4] = { 3, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xAA5CA0A8, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { float(0), float(0), "", uint16(0) }; + static DB2Meta instance(-1, 4, 0xF93B18FC, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6175,7 +7046,8 @@ struct WorldStateExpressionMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2Meta instance(-1, 1, 0xCFD6D558, types, arraySizes); + static DB2FieldDefault const fieldDefaults[1] = { "" }; + static DB2Meta instance(-1, 1, 0x03FDF733, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6184,9 +7056,10 @@ struct WorldStateUIMeta { static DB2Meta const* Instance() { - static char const* types = "sssssshhhhhbbbbi"; - static uint8 const arraySizes[16] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1 }; - static DB2Meta instance(15, 16, 0xE5B5B5E2, types, arraySizes); + static char const* types = "sssssshhhhhhbbbi"; + static uint8 const arraySizes[16] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[16] = { "", "", "", "", "", "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(15, 16, 0xC5B480F0, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6197,7 +7070,8 @@ struct WorldStateZoneSoundsMeta { static char const* types = "ihhhhhhb"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 8, 0xAB1B4B5D, types, arraySizes); + static DB2FieldDefault const fieldDefaults[8] = { uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 8, 0x64FD3227, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6208,7 +7082,8 @@ struct World_PVP_AreaMeta { static char const* types = "hhhhhbb"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2Meta instance(-1, 7, 0xBA892CFD, types, arraySizes); + static DB2FieldDefault const fieldDefaults[7] = { uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0) }; + static DB2Meta instance(-1, 7, 0x95A9D694, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6219,7 +7094,8 @@ struct ZoneIntroMusicTableMeta { static char const* types = "shbi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2Meta instance(-1, 4, 0xDB2B4DE9, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 4, 0x55275147, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6230,7 +7106,8 @@ struct ZoneLightMeta { static char const* types = "shh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2Meta instance(-1, 3, 0x38749B85, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { "", uint16(0), uint16(0) }; + static DB2Meta instance(-1, 3, 0x7563563C, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6241,7 +7118,8 @@ struct ZoneLightPointMeta { static char const* types = "fhb"; static uint8 const arraySizes[3] = { 2, 1, 1 }; - static DB2Meta instance(-1, 3, 0x198A5272, types, arraySizes); + static DB2FieldDefault const fieldDefaults[3] = { float(0), uint16(0), uint8(0) }; + static DB2Meta instance(-1, 3, 0x43EC5BFD, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6252,7 +7130,8 @@ struct ZoneMusicMeta { static char const* types = "siii"; static uint8 const arraySizes[4] = { 1, 2, 2, 2 }; - static DB2Meta instance(-1, 4, 0x5DFA9925, types, arraySizes); + static DB2FieldDefault const fieldDefaults[4] = { "", uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 4, 0x526CEF03, types, arraySizes, fieldDefaults); return &instance; } }; diff --git a/src/server/game/DataStores/DB2Stores.cpp b/src/server/game/DataStores/DB2Stores.cpp index c156a11d5ec..d37ec2ee846 100644 --- a/src/server/game/DataStores/DB2Stores.cpp +++ b/src/server/game/DataStores/DB2Stores.cpp @@ -133,7 +133,7 @@ DB2Storage<ItemRandomSuffixEntry> sItemRandomSuffixStore("ItemRand DB2Storage<ItemSearchNameEntry> sItemSearchNameStore("ItemSearchName.db2", ItemSearchNameLoadInfo::Instance()); DB2Storage<ItemSetEntry> sItemSetStore("ItemSet.db2", ItemSetLoadInfo::Instance()); DB2Storage<ItemSetSpellEntry> sItemSetSpellStore("ItemSetSpell.db2", ItemSetSpellLoadInfo::Instance()); -DB2Storage<ItemSparseEntry> sItemSparseStore("Item-sparse.db2", ItemSparseLoadInfo::Instance()); +DB2Storage<ItemSparseEntry> sItemSparseStore("ItemSparse.db2", ItemSparseLoadInfo::Instance()); DB2Storage<ItemSpecEntry> sItemSpecStore("ItemSpec.db2", ItemSpecLoadInfo::Instance()); DB2Storage<ItemSpecOverrideEntry> sItemSpecOverrideStore("ItemSpecOverride.db2", ItemSpecOverrideLoadInfo::Instance()); DB2Storage<ItemUpgradeEntry> sItemUpgradeStore("ItemUpgrade.db2", ItemUpgradeLoadInfo::Instance()); @@ -150,6 +150,7 @@ DB2Storage<ModifierTreeEntry> sModifierTreeStore("ModifierTree DB2Storage<MountCapabilityEntry> sMountCapabilityStore("MountCapability.db2", MountCapabilityLoadInfo::Instance()); DB2Storage<MountEntry> sMountStore("Mount.db2", MountLoadInfo::Instance()); DB2Storage<MountTypeXCapabilityEntry> sMountTypeXCapabilityStore("MountTypeXCapability.db2", MountTypeXCapabilityLoadInfo::Instance()); +DB2Storage<MountXDisplayEntry> sMountXDisplayStore("MountXDisplay.db2", MountXDisplayLoadInfo::Instance()); DB2Storage<MovieEntry> sMovieStore("Movie.db2", MovieLoadInfo::Instance()); DB2Storage<NameGenEntry> sNameGenStore("NameGen.db2", NameGenLoadInfo::Instance()); DB2Storage<NamesProfanityEntry> sNamesProfanityStore("NamesProfanity.db2", NamesProfanityLoadInfo::Instance()); @@ -241,8 +242,6 @@ TaxiPathNodesByPath sTaxiPathNodesByPath; typedef std::vector<std::string> DB2StoreProblemList; -uint32 DB2FilesCount = 0; - template<class T, template<class> class DB2> inline void LoadDB2(uint32& availableDb2Locales, DB2StoreProblemList& errlist, DB2Manager::StorageMap& stores, DB2StorageBase* storage, std::string const& db2Path, uint32 defaultLocale, DB2<T> const& /*hint*/) { @@ -265,8 +264,6 @@ inline void LoadDB2(uint32& availableDb2Locales, DB2StoreProblemList& errlist, D storage->GetFileName().c_str(), loadInfo->Meta->GetRecordSize(), sizeof(T)); } - ++DB2FilesCount; - if (storage->Load(db2Path + localeNames[defaultLocale] + '/', defaultLocale)) { storage->LoadFromDB(); @@ -448,6 +445,7 @@ void DB2Manager::LoadStores(std::string const& dataPath, uint32 defaultLocale) LOAD_DB2(sMountCapabilityStore); LOAD_DB2(sMountStore); LOAD_DB2(sMountTypeXCapabilityStore); + LOAD_DB2(sMountXDisplayStore); LOAD_DB2(sMovieStore); LOAD_DB2(sNameGenStore); LOAD_DB2(sNamesProfanityStore); @@ -734,6 +732,9 @@ void DB2Manager::LoadStores(std::string const& dataPath, uint32 defaultLocale) for (MountTypeXCapabilityEntry const* mountTypeCapability : sMountTypeXCapabilityStore) _mountCapabilitiesByType[mountTypeCapability->MountTypeID].insert(mountTypeCapability); + for (MountXDisplayEntry const* mountDisplay : sMountXDisplayStore) + _mountDisplays[mountDisplay->MountID].push_back(mountDisplay); + for (NameGenEntry const* nameGen : sNameGenStore) _nameGenData[nameGen->Race][nameGen->Sex].push_back(nameGen); @@ -918,18 +919,18 @@ void DB2Manager::LoadStores(std::string const& dataPath, uint32 defaultLocale) _worldMapAreaByAreaID[worldMapArea->AreaID] = worldMapArea; // error checks - if (bad_db2_files.size() >= DB2FilesCount) + if (bad_db2_files.size() == _stores.size()) { - TC_LOG_ERROR("misc", "\nIncorrect DataDir value in worldserver.conf or ALL required *.db2 files (%d) not found by path: %sdbc/%s/", DB2FilesCount, dataPath.c_str(), localeNames[defaultLocale]); + TC_LOG_ERROR("misc", "\nIncorrect DataDir value in worldserver.conf or ALL required *.db2 files (" SZFMTD ") not found by path: %sdbc/%s/", _stores.size(), dataPath.c_str(), localeNames[defaultLocale]); exit(1); } else if (!bad_db2_files.empty()) { std::string str; - for (auto i = bad_db2_files.begin(); i != bad_db2_files.end(); ++i) - str += *i + "\n"; + for (auto const& bad_db2_file : bad_db2_files) + str += bad_db2_file + "\n"; - TC_LOG_ERROR("misc", "\nSome required *.db2 files (%u from %d) not found or not compatible:\n%s", (uint32)bad_db2_files.size(), DB2FilesCount, str.c_str()); + TC_LOG_ERROR("misc", "\nSome required *.db2 files (" SZFMTD " from " SZFMTD ") not found or not compatible:\n%s", bad_db2_files.size(), _stores.size(), str.c_str()); exit(1); } @@ -946,7 +947,7 @@ void DB2Manager::LoadStores(std::string const& dataPath, uint32 defaultLocale) exit(1); } - TC_LOG_INFO("server.loading", ">> Initialized %d DB2 data stores in %u ms", DB2FilesCount, GetMSTimeDiffToNow(oldMSTime)); + TC_LOG_INFO("server.loading", ">> Initialized " SZFMTD " DB2 data stores in %u ms", _stores.size(), GetMSTimeDiffToNow(oldMSTime)); } DB2StorageBase const* DB2Manager::GetStorage(uint32 type) const @@ -1005,7 +1006,7 @@ time_t DB2Manager::GetHotfixDate(uint32 entry, uint32 type) const if (time_t(hotfix.Timestamp) > ret) ret = time_t(hotfix.Timestamp); - return ret ? ret : time(NULL); + return ret ? ret : time(nullptr); } std::vector<uint32> DB2Manager::GetAreasForGroup(uint32 areaGroupId) const @@ -1563,6 +1564,11 @@ DB2Manager::MountTypeXCapabilitySet const* DB2Manager::GetMountCapabilities(uint return nullptr; } +DB2Manager::MountXDisplayContainer const* DB2Manager::GetMountDisplays(uint32 mountId) const +{ + return Trinity::Containers::MapGetValuePtr(_mountDisplays, mountId); +} + std::string DB2Manager::GetNameGenEntry(uint8 race, uint8 gender, LocaleConstant locale) const { ASSERT(gender < GENDER_NONE); @@ -1596,7 +1602,7 @@ ResponseCodes DB2Manager::ValidateName(std::wstring const& name, LocaleConstant PvpDifficultyEntry const* DB2Manager::GetBattlegroundBracketByLevel(uint32 mapid, uint32 level) { - PvpDifficultyEntry const* maxEntry = NULL; // used for level > max listed level case + PvpDifficultyEntry const* maxEntry = nullptr; // used for level > max listed level case for (uint32 i = 0; i < sPvpDifficultyStore.GetNumRows(); ++i) { if (PvpDifficultyEntry const* entry = sPvpDifficultyStore.LookupEntry(i)) diff --git a/src/server/game/DataStores/DB2Stores.h b/src/server/game/DataStores/DB2Stores.h index 7a8e2dc7e19..2c284ddcc04 100644 --- a/src/server/game/DataStores/DB2Stores.h +++ b/src/server/game/DataStores/DB2Stores.h @@ -260,6 +260,8 @@ public: typedef std::unordered_map<uint32, MountEntry const*> MountContainer; typedef std::set<MountTypeXCapabilityEntry const*, MountTypeXCapabilityEntryComparator> MountTypeXCapabilitySet; typedef std::unordered_map<uint32, MountTypeXCapabilitySet> MountCapabilitiesByTypeContainer; + typedef std::vector<MountXDisplayEntry const*> MountXDisplayContainer; + typedef std::unordered_map<uint32, MountXDisplayContainer> MountDisplaysCointainer; typedef std::unordered_map<uint32, std::array<std::vector<NameGenEntry const*>, 2>> NameGenContainer; typedef std::array<std::vector<Trinity::wregex>, TOTAL_LOCALES + 1> NameValidationRegexContainer; typedef std::unordered_map<uint32, std::set<uint32>> PhaseGroupContainer; @@ -327,6 +329,7 @@ public: MountEntry const* GetMount(uint32 spellId) const; MountEntry const* GetMountById(uint32 id) const; MountTypeXCapabilitySet const* GetMountCapabilities(uint32 mountType) const; + MountXDisplayContainer const* GetMountDisplays(uint32 mountId) const; ResponseCodes ValidateName(std::wstring const& name, LocaleConstant locale) const; std::set<uint32> GetPhasesForGroup(uint32 group) const; PowerTypeEntry const* GetPowerTypeEntry(Powers power) const; @@ -382,6 +385,7 @@ private: MapDifficultyContainer _mapDifficulties; MountContainer _mountsBySpellId; MountCapabilitiesByTypeContainer _mountCapabilitiesByType; + MountDisplaysCointainer _mountDisplays; NameGenContainer _nameGenData; NameValidationRegexContainer _nameValidators; PhaseGroupContainer _phasesByGroup; diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h index 075b4daadde..93b2fff4895 100644 --- a/src/server/game/DataStores/DB2Structure.h +++ b/src/server/game/DataStores/DB2Structure.h @@ -34,13 +34,13 @@ struct AchievementEntry uint16 Supercedes; // its Achievement parent (can`t start while parent uncomplete, use its Criteria if don`t have own, use its progress on begin) uint16 Category; uint16 UIOrder; - uint16 IconID; uint16 SharesCriteria; // referenced achievement (counting of all completed criterias) uint16 CriteriaTree; int8 Faction; // -1 = all, 0 = horde, 1 = alliance uint8 Points; uint8 MinimumCriteria; // need this count of completed criterias (own or referenced achievement criterias) uint32 ID; + uint32 IconFileDataID; }; struct AnimKitEntry @@ -130,6 +130,8 @@ struct ArtifactEntry uint16 SpecID; uint8 ArtifactCategoryID; uint8 Flags; + uint32 UiModelSceneID; + uint32 SpellVisualKitID; }; struct ArtifactAppearanceEntry @@ -140,13 +142,13 @@ struct ArtifactAppearanceEntry float ModelAlpha; uint32 ShapeshiftDisplayID; uint16 ArtifactAppearanceSetID; - uint16 PlayerConditionID; uint16 Unknown; uint8 DisplayIndex; uint8 AppearanceModID; uint8 Flags; uint8 ModifiesShapeshiftFormDisplay; uint32 ID; + uint32 PlayerConditionID; uint32 ItemAppearanceID; uint32 AltItemAppearanceID; }; @@ -177,6 +179,7 @@ struct ArtifactPowerEntry uint8 ArtifactID; uint8 Flags; uint8 MaxRank; + uint8 ArtifactTier; uint32 ID; int32 RelicType; }; @@ -265,6 +268,8 @@ struct BattlePetSpeciesEntry uint8 PetType; int8 Source; uint32 ID; + uint32 CardModelSceneID; + uint32 LoadoutModelSceneID; }; struct BattlePetSpeciesStateEntry @@ -281,6 +286,8 @@ struct BattlemasterListEntry LocalizedString* Name; uint32 IconFileDataID; LocalizedString* GameType; + LocalizedString* ShortDescription; + LocalizedString* LongDescription; int16 MapID[16]; uint16 HolidayWorldState; uint16 PlayerConditionID; @@ -402,14 +409,11 @@ struct ChrRacesEntry float FemaleCustomizeOffset[3]; uint32 LowResScreenFileDataID; uint16 FactionID; - uint16 ExplorationSoundID; uint16 MaleDisplayID; uint16 FemaleDisplayID; uint16 ResSicknessSpellID; uint16 SplashSoundID; uint16 CinematicSequenceID; - uint16 UAMaleCreatureSoundDataID; - uint16 UAFemaleCreatureSoundDataID; uint8 BaseLanguage; uint8 CreatureType; uint8 TeamID; @@ -433,13 +437,13 @@ struct ChrSpecializationEntry LocalizedString* Name; LocalizedString* Name2; LocalizedString* Description; - uint16 SpellIconID; uint8 ClassID; uint8 OrderIndex; uint8 PetTalentType; uint8 Role; uint8 PrimaryStatOrder; uint32 ID; + uint32 IconFileDataID; uint32 Flags; uint32 AnimReplacementSetID; @@ -452,43 +456,44 @@ struct ChrSpecializationEntry struct CinematicCameraEntry { uint32 ID; - char const* Model; // Model filename (translate .mdx to .m2) + uint32 SoundID; // Sound ID (voiceover for cinematic) DBCPosition3D Origin; // Position in map used for basis for M2 co-ordinates float OriginFacing; // Orientation in map used for basis for M2 co-ordinates - uint16 SoundID; // Sound ID (voiceover for cinematic) + uint32 ModelFileDataID; // Model }; struct CinematicSequencesEntry { uint32 ID; - uint16 SoundID; + uint32 SoundID; uint16 Camera[8]; }; struct CreatureDisplayInfoEntry { uint32 ID; - uint32 ExtendedDisplayInfoID; float CreatureModelScale; - float PlayerModelScale; - uint32 TextureVariation[3]; - char const* PortraitTextureName; - uint32 PortraitCreatureDisplayInfoID; - uint32 CreatureGeosetData; - uint32 StateSpellVisualKitID; - float InstanceOtherPlayerPetScale; // scale of not own player pets inside dungeons/raids/scenarios uint16 ModelID; - uint16 SoundID; uint16 NPCSoundID; - uint16 ParticleColorID; - uint16 ObjectEffectPackageID; - uint16 AnimReplacementSetID; - uint8 CreatureModelAlpha; uint8 SizeClass; - uint8 BloodID; uint8 Flags; int8 Gender; - int8 Unk700; + uint32 ExtendedDisplayInfoID; + uint32 TextureVariation[3]; + uint32 PortraitTextureFileDataID; + uint8 CreatureModelAlpha; + uint16 SoundID; + float PlayerModelScale; + uint32 PortraitCreatureDisplayInfoID; + uint8 BloodID; + uint16 ParticleColorID; + uint32 CreatureGeosetData; + uint16 ObjectEffectPackageID; + uint16 AnimReplacementSetID; + int8 UnarmedWeaponSubclass; + uint32 StateSpellVisualKitID; + float InstanceOtherPlayerPetScale; // scale of not own player pets inside dungeons/raids/scenarios + uint32 MountSpellVisualKitID; }; struct CreatureDisplayInfoExtraEntry @@ -514,7 +519,7 @@ struct CreatureFamilyEntry float MinScale; float MaxScale; LocalizedString* Name; - char const* IconFile; + uint32 IconFileDataID; uint16 SkillLine[2]; uint16 PetFoodMask; uint8 MinScaleLevel; @@ -700,12 +705,12 @@ struct CriteriaEntry struct CriteriaTreeEntry { uint32 ID; - uint32 CriteriaID; uint32 Amount; LocalizedString* Description; uint16 Parent; uint16 Flags; uint8 Operator; + uint32 CriteriaID; int32 OrderIndex; }; @@ -771,6 +776,9 @@ struct DifficultyEntry { uint32 ID; LocalizedString* Name; + uint16 GroupSizeHealthCurveID; + uint16 GroupSizeDmgCurveID; + uint16 GroupSizeSpellPointsCurveID; uint8 FallbackDifficultyID; uint8 InstanceType; uint8 MinPlayers; @@ -778,24 +786,21 @@ struct DifficultyEntry int8 OldEnumValue; uint8 Flags; uint8 ToggleDifficultyID; - uint8 GroupSizeHealthCurveID; - uint8 GroupSizeDmgCurveID; - uint8 GroupSizeSpellPointsCurveID; uint8 ItemBonusTreeModID; uint8 OrderIndex; }; struct DungeonEncounterEntry { - uint32 ID; LocalizedString* Name; uint32 CreatureDisplayID; uint16 MapID; - uint16 SpellIconID; uint8 DifficultyID; uint8 Bit; uint8 Flags; + uint32 ID; int32 OrderIndex; + uint32 TextureFileDataID; }; struct DurabilityCostsEntry @@ -856,6 +861,7 @@ struct FactionEntry uint16 ReputationClassMask[4]; uint16 ReputationFlags[4]; uint16 ParentFactionID; + uint16 ParagonFactionID; uint8 ParentFactionCapIn; // The highest rank the faction will profit from incoming spillover uint8 ParentFactionCapOut; uint8 Expansion; @@ -1012,7 +1018,7 @@ struct GarrClassSpecEntry LocalizedString* NameFemale; LocalizedString* NameGenderless; uint16 ClassAtlasID; // UiTextureAtlasMember.db2 ref - uint8 GarrFollItemSetID; + uint16 GarrFollItemSetID; uint8 Limit; uint8 Flags; uint32 ID; @@ -1028,6 +1034,7 @@ struct GarrFollowerEntry uint32 AlliancePortraitIconID; uint32 HordeAddedBroadcastTextID; uint32 AllianceAddedBroadcastTextID; + LocalizedString* Name; uint16 HordeGarrFollItemSetID; uint16 AllianceGarrFollItemSetID; uint16 ItemLevelWeapon; @@ -1094,11 +1101,11 @@ struct GarrSiteLevelEntry DBCPosition2D TownHall; uint16 MapID; uint16 SiteID; + uint16 MovieID; uint16 UpgradeResourceCost; uint16 UpgradeMoneyCost; uint8 Level; uint8 UITextureKitID; - uint8 MovieID; uint8 Level2; }; @@ -1198,11 +1205,11 @@ struct HolidaysEntry uint16 Region; uint8 Looping; uint8 CalendarFlags[MAX_HOLIDAY_FLAGS]; - uint8 HolidayNameID; - uint8 HolidayDescriptionID; uint8 Priority; int8 CalendarFilterType; uint8 Flags; + uint32 HolidayNameID; + uint32 HolidayDescriptionID; }; struct ImportPriceArmorEntry @@ -1302,6 +1309,7 @@ struct ItemBonusTreeNodeEntry uint16 BonusTreeID; uint16 SubTreeID; uint16 BonusListID; + uint16 ItemLevelSelectorID; uint8 BonusTreeModID; }; @@ -1498,9 +1506,9 @@ struct ItemSparseEntry uint32 Flags[MAX_ITEM_PROTO_FLAGS]; float Unk1; float Unk2; + uint32 BuyCount; uint32 BuyPrice; uint32 SellPrice; - int32 AllowableClass; int32 AllowableRace; uint32 RequiredSpell; uint32 MaxCount; @@ -1517,6 +1525,7 @@ struct ItemSparseEntry float ArmorDamageModifier; uint32 Duration; float StatScalingFactor; + int16 AllowableClass; uint16 ItemLevel; uint16 RequiredSkill; uint16 RequiredSkillRank; @@ -1532,13 +1541,14 @@ struct ItemSparseEntry uint16 ItemSet; uint16 Area; uint16 Map; + uint16 TotemCategory; uint16 SocketBonus; uint16 GemProperties; uint16 ItemLimitCategory; uint16 HolidayID; + uint16 RequiredTransmogHolidayID; uint16 ItemNameDescriptionID; uint8 Quality; - uint8 BuyCount; uint8 InventoryType; int8 RequiredLevel; uint8 RequiredHonorRank; @@ -1552,7 +1562,6 @@ struct ItemSparseEntry uint8 PageMaterial; int8 Material; uint8 Sheath; - uint8 TotemCategory; uint8 SocketColor[MAX_ITEM_PROTO_SOCKETS]; uint8 CurrencySubstitutionID; uint8 CurrencySubstitutionCount; @@ -1609,7 +1618,6 @@ struct LfgDungeonsEntry uint32 Flags; char const* TextureFilename; LocalizedString* Description; - uint32 PlayerConditionID; float MinItemLevel; uint16 MaxLevel; uint16 TargetLevelMax; @@ -1619,6 +1627,7 @@ struct LfgDungeonsEntry uint16 LastBossJournalEncounterID; uint16 BonusReputationAmount; uint16 MentorItemLevel; + uint16 PlayerConditionID; uint8 MinLevel; uint8 TargetLevel; uint8 TargetLevelMin; @@ -1703,6 +1712,8 @@ struct MapEntry LocalizedString* MapName; LocalizedString* MapDescription0; // Horde LocalizedString* MapDescription1; // Alliance + LocalizedString* ShortDescription; + LocalizedString* LongDescription; uint16 AreaTableID; uint16 LoadingScreenID; int16 CorpseMapID; // map_id of entrance map in ghost mode (continent always and in most cases = normal entrance) @@ -1784,16 +1795,16 @@ struct ModifierTreeEntry struct MountEntry { uint32 SpellId; - uint32 DisplayId; LocalizedString* Name; LocalizedString* Description; LocalizedString* SourceDescription; float CameraPivotMultiplier; uint16 MountTypeId; uint16 Flags; - uint16 PlayerConditionId; uint8 Source; uint32 ID; + uint32 PlayerConditionId; + int32 UiModelSceneID; }; struct MountCapabilityEntry @@ -1816,6 +1827,14 @@ struct MountTypeXCapabilityEntry uint8 OrderIndex; }; +struct MountXDisplayEntry +{ + uint32 ID; + uint32 MountID; + uint32 DisplayID; + uint32 PlayerConditionID; +}; + struct MovieEntry { uint32 ID; @@ -1957,7 +1976,8 @@ struct PlayerConditionEntry uint32 PhaseGroupID; uint32 MinAvgItemLevel; uint32 MaxAvgItemLevel; - int32 Unknown700[2]; + int32 MovementFlags[2]; + uint32 MainHandItemSubclassMask; }; struct PowerDisplayEntry @@ -2016,8 +2036,8 @@ struct QuestPackageItemEntry uint32 ID; uint32 ItemID; uint16 QuestPackageID; - uint8 ItemCount; uint8 FilterType; + uint32 ItemCount; }; struct QuestSortEntry @@ -2112,10 +2132,10 @@ struct SkillLineEntry LocalizedString* DisplayName; LocalizedString* Description; LocalizedString* AlternateVerb; - uint16 SpellIconID; uint16 Flags; uint8 CategoryID; uint8 CanLink; + uint32 IconFileDataID; uint32 ParentSkillLineID; }; @@ -2125,7 +2145,6 @@ struct SkillLineAbilityEntry uint32 SpellID; uint32 RaceMask; uint32 SupercedesSpell; - uint32 Unknown703; uint16 SkillLine; uint16 MinSkillLineRank; uint16 TrivialSkillLineRankHigh; @@ -2134,6 +2153,7 @@ struct SkillLineAbilityEntry uint16 TradeSkillCategoryID; uint8 AcquireMethod; uint8 NumSkillUps; + uint8 Unknown703; int32 ClassMask; }; @@ -2288,38 +2308,39 @@ struct SpellDurationEntry uint32 ID; int32 Duration; int32 MaxDuration; - int16 DurationPerLevel; + int32 DurationPerLevel; }; struct SpellEffectEntry { - float EffectAmplitude; - float EffectBonusCoefficient; - float EffectChainAmplitude; - float EffectPointsPerResource; - float EffectRealPointsPerLevel; flag128 EffectSpellClassMask; - float EffectPosFacing; - float BonusCoefficientFromAP; uint32 ID; - uint32 DifficultyID; + uint32 SpellID; uint32 Effect; uint32 EffectAura; - uint32 EffectAuraPeriod; int32 EffectBasePoints; - uint32 EffectChainTargets; - int32 EffectDieSides; - uint32 EffectItemType; - uint32 EffectMechanic; + uint32 EffectIndex; int32 EffectMiscValue; int32 EffectMiscValueB; uint32 EffectRadiusIndex; uint32 EffectRadiusMaxIndex; - uint32 EffectTriggerSpell; uint32 ImplicitTarget[2]; - uint32 SpellID; - uint32 EffectIndex; + uint32 DifficultyID; + float EffectAmplitude; + uint32 EffectAuraPeriod; + float EffectBonusCoefficient; + float EffectChainAmplitude; + uint32 EffectChainTargets; + int32 EffectDieSides; + uint32 EffectItemType; + uint32 EffectMechanic; + float EffectPointsPerResource; + float EffectRealPointsPerLevel; + uint32 EffectTriggerSpell; + float EffectPosFacing; uint32 EffectAttributes; + float BonusCoefficientFromAP; + float PvPMultiplier; }; #define MAX_SPELL_EFFECTS 32 @@ -2437,9 +2458,9 @@ struct SpellMiscEntry uint16 CastingTimeIndex; uint16 DurationIndex; uint16 RangeIndex; - uint16 SpellIconID; - uint16 ActiveIconID; uint8 SchoolMask; + uint32 IconFileDataID; + uint32 ActiveIconFileDataID; }; struct SpellPowerEntry @@ -2542,13 +2563,13 @@ struct SpellShapeshiftFormEntry LocalizedString* Name; float WeaponDamageVariance; uint32 Flags; - uint16 AttackIconID; uint16 CombatRoundTime; - uint16 CreatureDisplayID[4]; - uint16 PresetSpellID[MAX_SHAPESHIFT_SPELLS]; uint16 MountTypeID; int8 CreatureType; uint8 BonusActionBar; + uint32 AttackIconFileDataID; + uint32 CreatureDisplayID[4]; + uint32 PresetSpellID[MAX_SHAPESHIFT_SPELLS]; }; struct SpellTargetRestrictionsEntry @@ -2577,14 +2598,18 @@ struct SpellTotemsEntry struct SpellXSpellVisualEntry { uint32 SpellID; + uint32 SpellVisualID; + uint32 ID; float Chance; - uint16 SpellVisualID[2]; + uint16 CasterPlayerConditionID; + uint16 CasterUnitConditionID; uint16 PlayerConditionID; uint16 UnitConditionID; + uint32 IconFileDataID; + uint32 ActiveIconFileDataID; uint8 Flags; uint8 DifficultyID; uint8 Priority; - uint32 ID; }; struct SummonPropertiesEntry diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h index fee84a8ae03..24549418075 100644 --- a/src/server/game/DataStores/DBCEnums.h +++ b/src/server/game/DataStores/DBCEnums.h @@ -147,7 +147,7 @@ enum ArtifactPowerFlag : uint8 ARTIFACT_POWER_FLAG_DONT_COUNT_FIRST_BONUS_RANK = 0x10, }; -#define BATTLE_PET_SPECIES_MAX_ID 2023 +#define BATTLE_PET_SPECIES_MAX_ID 2051 enum ChrSpecializationFlag { @@ -545,7 +545,7 @@ enum Difficulty : uint8 DIFFICULTY_10_HC = 5, DIFFICULTY_25_HC = 6, DIFFICULTY_LFR = 7, - DIFFICULTY_CHALLENGE = 8, + DIFFICULTY_MYTHIC_KEYSTONE = 8, DIFFICULTY_40 = 9, DIFFICULTY_3_MAN_SCENARIO_HC = 11, DIFFICULTY_3_MAN_SCENARIO_N = 12, @@ -558,9 +558,10 @@ enum Difficulty : uint8 DIFFICULTY_EVENT_SCENARIO = 20, DIFFICULTY_MYTHIC = 23, DIFFICULTY_TIMEWALKER = 24, - DIFFICULTY_PVP_SCENARIO = 25, + DIFFICULTY_WORLD_PVP_SCENARIO = 25, DIFFICULTY_5_MAN_SCENARIO_N = 26, DIFFICULTY_20_MAN_SCENARIO_N = 27, + DIFFICULTY_PVEVP_SCENARIO = 29, MAX_DIFFICULTY }; @@ -815,7 +816,7 @@ enum SpellShapeshiftFormFlags SHAPESHIFT_FORM_PREVENT_EMOTE_SOUNDS = 0x1000 }; -#define TaxiMaskSize 239 +#define TaxiMaskSize 243 typedef std::array<uint8, TaxiMaskSize> TaxiMask; enum TotemCategoryType diff --git a/src/server/game/DataStores/M2Stores.cpp b/src/server/game/DataStores/M2Stores.cpp index 171cd26f061..f9c46e0a17c 100644 --- a/src/server/game/DataStores/M2Stores.cpp +++ b/src/server/game/DataStores/M2Stores.cpp @@ -183,7 +183,7 @@ bool readCamera(M2Camera const* cam, uint32 buffSize, M2Header const* header, Ci return true; } -void LoadM2Cameras(std::string const& dataPath) +TC_GAME_API void LoadM2Cameras(boost::filesystem::path const& dataPath) { sFlyByCameraStore.clear(); TC_LOG_INFO("server.loading", ">> Loading Cinematic Camera files"); @@ -191,20 +191,11 @@ void LoadM2Cameras(std::string const& dataPath) uint32 oldMSTime = getMSTime(); for (CinematicCameraEntry const* cameraEntry : sCinematicCameraStore) { - std::string filenameWork = dataPath; - filenameWork.append(cameraEntry->Model); - - // Replace slashes (always to forward slash, because boost!) - std::replace(filenameWork.begin(), filenameWork.end(), '\\', '/'); - - boost::filesystem::path filename = filenameWork; + boost::filesystem::path filename = dataPath / Trinity::StringFormat("FILE%08X.xxx", cameraEntry->ModelFileDataID); // Convert to native format filename.make_preferred(); - // Replace mdx to .m2 - filename.replace_extension("m2"); - std::ifstream m2file(filename.string().c_str(), std::ios::in | std::ios::binary); if (!m2file.is_open()) continue; diff --git a/src/server/game/DataStores/M2Stores.h b/src/server/game/DataStores/M2Stores.h index 11d7f2a2c65..b766d89ac03 100644 --- a/src/server/game/DataStores/M2Stores.h +++ b/src/server/game/DataStores/M2Stores.h @@ -21,6 +21,14 @@ #include "Common.h" #include "G3D/Vector4.h" +namespace boost +{ + namespace filesystem + { + class path; + } +} + struct FlyByCamera { uint32 timeStamp; @@ -31,6 +39,6 @@ typedef std::vector<FlyByCamera> FlyByCameraCollection; TC_GAME_API extern std::unordered_map<uint32, FlyByCameraCollection> sFlyByCameraStore; -TC_GAME_API void LoadM2Cameras(std::string const& dataPath); +TC_GAME_API void LoadM2Cameras(boost::filesystem::path const& dataPath); #endif diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h index d5cebc6bd06..5f4564c6692 100644 --- a/src/server/game/Entities/Creature/Creature.h +++ b/src/server/game/Entities/Creature/Creature.h @@ -415,7 +415,7 @@ struct TC_GAME_API CreatureTemplate case DIFFICULTY_HEROIC_RAID: return 0; case DIFFICULTY_10_HC: - case DIFFICULTY_CHALLENGE: + case DIFFICULTY_MYTHIC_KEYSTONE: case DIFFICULTY_MYTHIC_RAID: return 1; case DIFFICULTY_25_HC: diff --git a/src/server/game/Entities/Item/Item.h b/src/server/game/Entities/Item/Item.h index fec9542ff79..14260eb6b36 100644 --- a/src/server/game/Entities/Item/Item.h +++ b/src/server/game/Entities/Item/Item.h @@ -251,6 +251,7 @@ enum ItemModifier : uint16 ITEM_MODIFIER_CHALLENGE_KEYSTONE_AFFIX_ID_3 = 21, ITEM_MODIFIER_CHALLENGE_KEYSTONE_IS_CHARGED = 22, ITEM_MODIFIER_ARTIFACT_KNOWLEDGE_LEVEL = 23, + ITEM_MODIFIER_ARTIFACT_TIER = 24, MAX_ITEM_MODIFIERS }; diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index abd11158ca3..561963e0217 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -5524,7 +5524,7 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere return true; } // Seed of Corruption (Mobs cast) - no die req - if (!dummySpell->SpellFamilyFlags && dummySpell->SpellIconID == 1932) + if (!dummySpell->SpellFamilyFlags && dummySpell->IconFileDataId == 136193) { // if damage is more than need deal finish spell if (triggeredByAura->GetAmount() <= int32(damage)) diff --git a/src/server/game/Handlers/TaxiHandler.cpp b/src/server/game/Handlers/TaxiHandler.cpp index 8160c1290a4..d878a406909 100644 --- a/src/server/game/Handlers/TaxiHandler.cpp +++ b/src/server/game/Handlers/TaxiHandler.cpp @@ -17,7 +17,10 @@ */ #include "Common.h" +#include "ConditionMgr.h" +#include "Containers.h" #include "DatabaseEnv.h" +#include "DB2Stores.h" #include "WorldPacket.h" #include "WorldSession.h" #include "Opcodes.h" @@ -184,8 +187,25 @@ void WorldSession::HandleActivateTaxiOpcode(WorldPackets::Taxi::ActivateTaxi& ac uint32 preferredMountDisplay = 0; if (MountEntry const* mount = sMountStore.LookupEntry(activateTaxi.FlyingMountID)) + { if (GetPlayer()->HasSpell(mount->SpellId)) - preferredMountDisplay = mount->DisplayId; + { + if (DB2Manager::MountXDisplayContainer const* mountDisplays = sDB2Manager.GetMountDisplays(mount->ID)) + { + DB2Manager::MountXDisplayContainer usableDisplays; + std::copy_if(mountDisplays->begin(), mountDisplays->end(), std::back_inserter(usableDisplays), [this](MountXDisplayEntry const* mountDisplay) + { + if (PlayerConditionEntry const* playerCondition = sPlayerConditionStore.LookupEntry(mountDisplay->PlayerConditionID)) + return sConditionMgr->IsPlayerMeetingCondition(GetPlayer(), playerCondition); + + return true; + }); + + if (!usableDisplays.empty()) + preferredMountDisplay = Trinity::Containers::SelectRandomContainerElement(usableDisplays)->DisplayID; + } + } + } std::vector<uint32> nodes; sTaxiPathGraph.GetCompleteNodeRoute(from, to, GetPlayer(), nodes); diff --git a/src/server/game/Loot/LootMgr.cpp b/src/server/game/Loot/LootMgr.cpp index 979a164ec3d..c22583bbac2 100644 --- a/src/server/game/Loot/LootMgr.cpp +++ b/src/server/game/Loot/LootMgr.cpp @@ -1817,6 +1817,7 @@ void LoadLootTemplates_Skinning() void LoadLootTemplates_Spell() { + // TODO: change this to use MiscValue from spell effect as id instead of spell id TC_LOG_INFO("server.loading", "Loading spell loot templates..."); uint32 oldMSTime = getMSTime(); diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 969f130dc55..c13ea274850 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -1179,7 +1179,7 @@ enum SpellEffectName SPELL_EFFECT_DISCOVER_TAXI = 154, SPELL_EFFECT_TITAN_GRIP = 155, SPELL_EFFECT_ENCHANT_ITEM_PRISMATIC = 156, - SPELL_EFFECT_CREATE_ITEM_2 = 157, + SPELL_EFFECT_CREATE_LOOT = 157, // crafting loot SPELL_EFFECT_MILLING = 158, SPELL_EFFECT_ALLOW_RENAME_PET = 159, SPELL_EFFECT_FORCE_CAST_2 = 160, diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index f77ba5c3596..fe81c87bede 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -2486,7 +2486,21 @@ void AuraEffect::HandleAuraMounted(AuraApplication const* aurApp, uint8 mode, bo if (MountEntry const* mountEntry = sDB2Manager.GetMount(GetId())) { - displayId = mountEntry->DisplayId; + if (DB2Manager::MountXDisplayContainer const* mountDisplays = sDB2Manager.GetMountDisplays(mountEntry->ID)) + { + DB2Manager::MountXDisplayContainer usableDisplays; + std::copy_if(mountDisplays->begin(), mountDisplays->end(), std::back_inserter(usableDisplays), [target](MountXDisplayEntry const* mountDisplay) + { + if (Player* playerTarget = target->ToPlayer()) + if (PlayerConditionEntry const* playerCondition = sPlayerConditionStore.LookupEntry(mountDisplay->PlayerConditionID)) + return sConditionMgr->IsPlayerMeetingCondition(playerTarget, playerCondition); + + return true; + }); + + if (!usableDisplays.empty()) + displayId = Trinity::Containers::SelectRandomContainerElement(usableDisplays)->DisplayID; + } // TODO: CREATE TABLE mount_vehicle (mountId, vehicleCreatureId) for future mounts that are vehicles (new mounts no longer have proper data in MiscValue) //if (MountVehicle const* mountVehicle = sObjectMgr->GetMountVehicle(mountEntry->Id)) // creatureEntry = mountVehicle->VehicleCreatureId; diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index e3e2814974d..ba00da86235 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3680,7 +3680,7 @@ void Spell::finish(bool ok) // Unsummon statue uint32 spell = m_caster->GetUInt32Value(UNIT_CREATED_BY_SPELL); SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spell); - if (spellInfo && spellInfo->SpellIconID == 2056) + if (spellInfo && spellInfo->IconFileDataId == 134230) { TC_LOG_DEBUG("spells", "Statue %s is unsummoned in spell %d finish", m_caster->GetGUID().ToString().c_str(), m_spellInfo->Id); m_caster->setDeathState(JUST_DIED); @@ -6275,7 +6275,7 @@ SpellCastResult Spell::CheckItems() switch (effect->Effect) { case SPELL_EFFECT_CREATE_ITEM: - case SPELL_EFFECT_CREATE_ITEM_2: + case SPELL_EFFECT_CREATE_LOOT: { if (!IsTriggered() && effect->ItemType) { diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index d596cbffbc2..032a0050ef2 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -1387,6 +1387,7 @@ void Spell::DoCreateItem(uint32 /*i*/, uint32 itemtype, std::vector<int32> const num_to_add = pProto->GetMaxStackSize(); /* == gem perfection handling == */ + // this is bad, should be done using spell_loot_template (and conditions) // the chance of getting a perfect result float perfectCreateChance = 0.0f; @@ -4398,8 +4399,8 @@ void Spell::EffectLeapBack(SpellEffIndex /*effIndex*/) float speedxy = effectInfo->MiscValue / 10.f; float speedz = damage / 10.f; - //1891: Disengage - unitTarget->JumpTo(speedxy, speedz, m_spellInfo->SpellIconID != 1891); + // Disengage + unitTarget->JumpTo(speedxy, speedz, m_spellInfo->IconFileDataId != 132572); } void Spell::EffectQuestClear(SpellEffIndex /*effIndex*/) diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index 0b6d46071e4..826cf0fece3 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -1024,8 +1024,8 @@ SpellInfo::SpellInfo(SpellInfoLoadHelper const& data, SpellEffectEntryMap const& Speed = _misc ? _misc->Speed : 0; SchoolMask = _misc ? _misc->SchoolMask : 0; AttributesCu = 0; - SpellIconID = _misc ? _misc->SpellIconID : 0; - ActiveIconID = _misc ? _misc->ActiveIconID : 0; + IconFileDataId = _misc ? _misc->IconFileDataID : 0; + ActiveIconFileDataId = _misc ? _misc->ActiveIconFileDataID : 0; _visuals = std::move(visuals); // sort all visuals so that the ones without a condition requirement are last on the list @@ -1224,18 +1224,14 @@ bool SpellInfo::IsExplicitDiscovery() const SpellEffectInfo const* effect0 = GetEffect(DIFFICULTY_NONE, EFFECT_0); SpellEffectInfo const* effect1 = GetEffect(DIFFICULTY_NONE, EFFECT_1); - return ((effect0 && (effect0->Effect == SPELL_EFFECT_CREATE_RANDOM_ITEM || effect0->Effect == SPELL_EFFECT_CREATE_ITEM_2)) + return ((effect0 && (effect0->Effect == SPELL_EFFECT_CREATE_RANDOM_ITEM || effect0->Effect == SPELL_EFFECT_CREATE_LOOT)) && effect1 && effect1->Effect == SPELL_EFFECT_SCRIPT_EFFECT) || Id == 64323; } bool SpellInfo::IsLootCrafting() const { - SpellEffectInfo const* effect0 = GetEffect(DIFFICULTY_NONE, EFFECT_0); - return effect0 && (effect0->Effect == SPELL_EFFECT_CREATE_RANDOM_ITEM || - // different random cards from Inscription (121==Virtuoso Inking Set category) r without explicit item - (effect0->Effect == SPELL_EFFECT_CREATE_ITEM_2 && - ((TotemCategory[0] != 0 || (Totem[0] != 0 && SpellIconID == 1)) || effect0->ItemType == 0))); + return HasEffect(SPELL_EFFECT_CREATE_RANDOM_ITEM) || HasEffect(SPELL_EFFECT_CREATE_LOOT); } bool SpellInfo::IsQuestTame() const @@ -3016,10 +3012,10 @@ uint32 SpellInfo::GetSpellVisual(Unit const* caster /*= nullptr*/) const { if (SpellXSpellVisualEntry const* visual = sSpellXSpellVisualStore.LookupEntry(GetSpellXSpellVisualId(caster))) { - //if (visual->SpellVisualID[1] && forPlayer->GetViolenceLevel() operator 2) - // return visual->SpellVisualID[1]; + //if (visual->LowViolenceSpellVisualID && forPlayer->GetViolenceLevel() operator 2) + // return visual->LowViolenceSpellVisualID; - return visual->SpellVisualID[0]; + return visual->SpellVisualID; } return 0; diff --git a/src/server/game/Spells/SpellInfo.h b/src/server/game/Spells/SpellInfo.h index f4861bac64f..2a7a95957cb 100644 --- a/src/server/game/Spells/SpellInfo.h +++ b/src/server/game/Spells/SpellInfo.h @@ -386,8 +386,8 @@ public: int32 EquippedItemSubClassMask; int32 EquippedItemInventoryTypeMask; uint32 TotemCategory[MAX_SPELL_TOTEMS]; - uint32 SpellIconID; - uint32 ActiveIconID; + uint32 IconFileDataId; + uint32 ActiveIconFileDataId; LocalizedString const* SpellName; uint32 MaxTargetLevel; uint32 MaxAffectedTargets; diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 614cd02bcca..5c11bd4bfb9 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -465,7 +465,7 @@ bool SpellMgr::IsSpellValid(SpellInfo const* spellInfo, Player* player, bool msg // craft spell for crafting non-existed item (break client recipes list show) case SPELL_EFFECT_CREATE_ITEM: - case SPELL_EFFECT_CREATE_ITEM_2: + case SPELL_EFFECT_CREATE_LOOT: { if (effect->ItemType == 0) { |