diff options
author | Shauren <shauren.trinity@gmail.com> | 2018-02-18 16:32:03 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2018-02-18 16:33:50 +0100 |
commit | 75603fe1a00f9aac36bfad1378447bea973001c1 (patch) | |
tree | cf8fea04151aa15c713704b6f324d0f61e304725 /src/server/game | |
parent | 4af15915bc8b780ef854c2e58d7ab5bb38f56758 (diff) |
Core/DataStores: Updated db2 structures to 7.3.5.25996
Diffstat (limited to 'src/server/game')
25 files changed, 1736 insertions, 2144 deletions
diff --git a/src/server/game/DataStores/DB2LoadInfo.h b/src/server/game/DataStores/DB2LoadInfo.h index 9b5dff88fb5..ba065ad4fbe 100644 --- a/src/server/game/DataStores/DB2LoadInfo.h +++ b/src/server/game/DataStores/DB2LoadInfo.h @@ -32,8 +32,8 @@ struct AchievementLoadInfo { { false, FT_STRING, "Title" }, { false, FT_STRING, "Description" }, - { false, FT_INT, "Flags" }, { false, FT_STRING, "Reward" }, + { false, FT_INT, "Flags" }, { true, FT_SHORT, "MapID" }, { false, FT_SHORT, "Supercedes" }, { false, FT_SHORT, "Category" }, @@ -74,8 +74,8 @@ struct AreaGroupMemberLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_SHORT, "AreaGroupID" }, { false, FT_SHORT, "AreaID" }, + { false, FT_SHORT, "AreaGroupID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, AreaGroupMemberMeta::Instance(), HOTFIX_SEL_AREA_GROUP_MEMBER); return &loadInfo; @@ -89,11 +89,11 @@ struct AreaTableLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, + { false, FT_STRING_NOT_LOCALIZED, "ZoneName" }, + { false, FT_STRING, "AreaName" }, { false, FT_INT, "Flags1" }, { false, FT_INT, "Flags2" }, - { false, FT_STRING_NOT_LOCALIZED, "ZoneName" }, { false, FT_FLOAT, "AmbientMultiplier" }, - { false, FT_STRING, "AreaName" }, { false, FT_SHORT, "MapID" }, { false, FT_SHORT, "ParentAreaID" }, { true, FT_SHORT, "AreaBit" }, @@ -229,11 +229,11 @@ struct ArtifactAppearanceSetLoadInfo { false, FT_STRING, "Name2" }, { false, FT_SHORT, "UiCameraID" }, { false, FT_SHORT, "AltHandUICameraID" }, - { false, FT_BYTE, "ArtifactID" }, { false, FT_BYTE, "DisplayIndex" }, { false, FT_BYTE, "AttachmentPoint" }, { false, FT_BYTE, "Flags" }, { false, FT_INT, "ID" }, + { false, FT_BYTE, "ArtifactID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ArtifactAppearanceSetMeta::Instance(), HOTFIX_SEL_ARTIFACT_APPEARANCE_SET); return &loadInfo; @@ -313,9 +313,9 @@ struct ArtifactPowerRankLoadInfo { false, FT_INT, "ID" }, { false, FT_INT, "SpellID" }, { false, FT_FLOAT, "Value" }, - { false, FT_SHORT, "ArtifactPowerID" }, { false, FT_SHORT, "Unknown" }, { false, FT_BYTE, "Rank" }, + { false, FT_SHORT, "ArtifactPowerID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ArtifactPowerRankMeta::Instance(), HOTFIX_SEL_ARTIFACT_POWER_RANK); return &loadInfo; @@ -435,8 +435,8 @@ struct BattlePetBreedStateLoadInfo { { false, FT_INT, "ID" }, { true, FT_SHORT, "Value" }, - { false, FT_BYTE, "BreedID" }, { false, FT_BYTE, "State" }, + { false, FT_BYTE, "BreedID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, BattlePetBreedStateMeta::Instance(), HOTFIX_SEL_BATTLE_PET_BREED_STATE); return &loadInfo; @@ -449,11 +449,11 @@ struct BattlePetSpeciesLoadInfo { static DB2FieldMeta const fields[] = { + { false, FT_STRING, "SourceText" }, + { false, FT_STRING, "Description" }, { false, FT_INT, "CreatureID" }, { false, FT_INT, "IconFileID" }, { false, FT_INT, "SummonSpellID" }, - { false, FT_STRING, "SourceText" }, - { false, FT_STRING, "Description" }, { false, FT_SHORT, "Flags" }, { false, FT_BYTE, "PetType" }, { true, FT_BYTE, "Source" }, @@ -474,8 +474,8 @@ struct BattlePetSpeciesStateLoadInfo { { false, FT_INT, "ID" }, { true, FT_INT, "Value" }, - { false, FT_SHORT, "SpeciesID" }, { false, FT_BYTE, "State" }, + { false, FT_SHORT, "SpeciesID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, BattlePetSpeciesStateMeta::Instance(), HOTFIX_SEL_BATTLE_PET_SPECIES_STATE); return &loadInfo; @@ -490,10 +490,10 @@ struct BattlemasterListLoadInfo { { false, FT_INT, "ID" }, { false, FT_STRING, "Name" }, - { false, FT_INT, "IconFileDataID" }, { false, FT_STRING, "GameType" }, { false, FT_STRING, "ShortDescription" }, { false, FT_STRING, "LongDescription" }, + { false, FT_INT, "IconFileDataID" }, { true, FT_SHORT, "MapID1" }, { true, FT_SHORT, "MapID2" }, { true, FT_SHORT, "MapID3" }, @@ -545,9 +545,9 @@ struct BroadcastTextLoadInfo { false, FT_SHORT, "UnkEmoteID" }, { false, FT_BYTE, "Language" }, { false, FT_BYTE, "Type" }, + { false, FT_INT, "PlayerConditionID" }, { false, FT_INT, "SoundID1" }, { false, FT_INT, "SoundID2" }, - { false, FT_INT, "PlayerConditionID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, BroadcastTextMeta::Instance(), HOTFIX_SEL_BROADCAST_TEXT); return &loadInfo; @@ -645,11 +645,11 @@ struct CharStartOutfitLoadInfo { true, FT_INT, "ItemID23" }, { true, FT_INT, "ItemID24" }, { false, FT_INT, "PetDisplayID" }, - { false, FT_BYTE, "RaceID" }, { false, FT_BYTE, "ClassID" }, { false, FT_BYTE, "GenderID" }, { false, FT_BYTE, "OutfitID" }, { false, FT_BYTE, "PetFamilyID" }, + { false, FT_BYTE, "RaceID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, CharStartOutfitMeta::Instance(), HOTFIX_SEL_CHAR_START_OUTFIT); return &loadInfo; @@ -680,9 +680,9 @@ struct ChatChannelsLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_INT, "Flags" }, { false, FT_STRING, "Name" }, { false, FT_STRING, "Shortcut" }, + { false, FT_INT, "Flags" }, { false, FT_BYTE, "FactionGroup" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ChatChannelsMeta::Instance(), HOTFIX_SEL_CHAT_CHANNELS); @@ -705,6 +705,7 @@ struct ChrClassesLoadInfo { false, FT_INT, "SelectScreenFileDataID" }, { false, FT_INT, "IconFileDataID" }, { false, FT_INT, "LowResScreenFileDataID" }, + { false, FT_INT, "StartingLevel" }, { false, FT_SHORT, "Flags" }, { false, FT_SHORT, "CinematicSequenceID" }, { false, FT_SHORT, "DefaultSpec" }, @@ -728,8 +729,8 @@ struct ChrClassesXPowerTypesLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_BYTE, "ClassID" }, { false, FT_BYTE, "PowerType" }, + { false, FT_BYTE, "ClassID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ChrClassesXPowerTypesMeta::Instance(), HOTFIX_SEL_CHR_CLASSES_X_POWER_TYPES); return &loadInfo; @@ -742,18 +743,15 @@ struct ChrRacesLoadInfo { static DB2FieldMeta const fields[] = { - { false, FT_INT, "ID" }, - { false, FT_INT, "Flags" }, - { false, FT_INT, "MaleDisplayID" }, - { false, FT_INT, "FemaleDisplayID" }, { false, FT_STRING_NOT_LOCALIZED, "ClientPrefix" }, { false, FT_STRING_NOT_LOCALIZED, "ClientFileString" }, { false, FT_STRING, "Name" }, { false, FT_STRING, "NameFemale" }, - { false, FT_STRING, "NameMale" }, - { false, FT_STRING_NOT_LOCALIZED, "FacialHairCustomization1" }, - { false, FT_STRING_NOT_LOCALIZED, "FacialHairCustomization2" }, - { false, FT_STRING_NOT_LOCALIZED, "HairCustomization" }, + { false, FT_STRING, "LowercaseName" }, + { false, FT_STRING, "LowercaseNameFemale" }, + { false, FT_INT, "Flags" }, + { false, FT_INT, "MaleDisplayID" }, + { false, FT_INT, "FemaleDisplayID" }, { false, FT_INT, "CreateScreenFileDataID" }, { false, FT_INT, "SelectScreenFileDataID" }, { false, FT_FLOAT, "MaleCustomizeOffset1" }, @@ -763,6 +761,8 @@ struct ChrRacesLoadInfo { false, FT_FLOAT, "FemaleCustomizeOffset2" }, { false, FT_FLOAT, "FemaleCustomizeOffset3" }, { false, FT_INT, "LowResScreenFileDataID" }, + { false, FT_INT, "StartingLevel" }, + { false, FT_INT, "UIDisplayOrder" }, { false, FT_SHORT, "FactionID" }, { false, FT_SHORT, "ResSicknessSpellID" }, { false, FT_SHORT, "SplashSoundID" }, @@ -777,8 +777,12 @@ struct ChrRacesLoadInfo { false, FT_BYTE, "NeutralRaceID" }, { false, FT_BYTE, "ItemAppearanceFrameRaceID" }, { false, FT_BYTE, "CharComponentTexLayoutHiResID" }, + { false, FT_INT, "ID" }, { false, FT_INT, "HighResMaleDisplayID" }, { false, FT_INT, "HighResFemaleDisplayID" }, + { false, FT_INT, "HeritageArmorAchievementID" }, + { false, FT_INT, "MaleCorpseBonesModelFileDataID" }, + { false, FT_INT, "FemaleCorpseBonesModelFileDataID" }, { false, FT_INT, "AlteredFormTransitionSpellVisualID1" }, { false, FT_INT, "AlteredFormTransitionSpellVisualID2" }, { false, FT_INT, "AlteredFormTransitionSpellVisualID3" }, @@ -797,11 +801,11 @@ struct ChrSpecializationLoadInfo { static DB2FieldMeta const fields[] = { - { false, FT_INT, "MasterySpellID1" }, - { false, FT_INT, "MasterySpellID2" }, { false, FT_STRING, "Name" }, { false, FT_STRING, "Name2" }, { false, FT_STRING, "Description" }, + { false, FT_INT, "MasterySpellID1" }, + { false, FT_INT, "MasterySpellID2" }, { false, FT_BYTE, "ClassID" }, { false, FT_BYTE, "OrderIndex" }, { false, FT_BYTE, "PetTalentType" }, @@ -893,9 +897,6 @@ struct CreatureDisplayInfoLoadInfo { 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_INT, "PortraitTextureFileDataID" }, { false, FT_BYTE, "CreatureModelAlpha" }, { false, FT_SHORT, "SoundID" }, @@ -910,6 +911,9 @@ struct CreatureDisplayInfoLoadInfo { false, FT_INT, "StateSpellVisualKitID" }, { false, FT_FLOAT, "InstanceOtherPlayerPetScale" }, { false, FT_INT, "MountSpellVisualKitID" }, + { false, FT_INT, "TextureVariation1" }, + { false, FT_INT, "TextureVariation2" }, + { false, FT_INT, "TextureVariation3" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, CreatureDisplayInfoMeta::Instance(), HOTFIX_SEL_CREATURE_DISPLAY_INFO); return &loadInfo; @@ -950,9 +954,9 @@ struct CreatureFamilyLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, { false, FT_FLOAT, "MinScale" }, { false, FT_FLOAT, "MaxScale" }, - { false, FT_STRING, "Name" }, { false, FT_INT, "IconFileDataID" }, { false, FT_SHORT, "SkillLine1" }, { false, FT_SHORT, "SkillLine2" }, @@ -1058,8 +1062,8 @@ struct CriteriaTreeLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_INT, "Amount" }, { false, FT_STRING, "Description" }, + { false, FT_INT, "Amount" }, { false, FT_SHORT, "Flags" }, { false, FT_BYTE, "Operator" }, { false, FT_INT, "CriteriaID" }, @@ -1079,10 +1083,10 @@ struct CurrencyTypesLoadInfo { { false, FT_INT, "ID" }, { false, FT_STRING, "Name" }, + { false, FT_STRING, "Description" }, { false, FT_INT, "MaxQty" }, { false, FT_INT, "MaxEarnablePerWeek" }, { false, FT_INT, "Flags" }, - { false, FT_STRING, "Description" }, { false, FT_BYTE, "CategoryID" }, { false, FT_BYTE, "SpellCategory" }, { false, FT_BYTE, "Quality" }, @@ -1271,10 +1275,10 @@ struct EmotesLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, + { true, FT_LONG, "RaceMask" }, { false, FT_STRING_NOT_LOCALIZED, "EmoteSlashCommand" }, { false, FT_INT, "SpellVisualKitID" }, { false, FT_INT, "EmoteFlags" }, - { true, FT_INT, "RaceMask" }, { false, FT_SHORT, "AnimID" }, { false, FT_BYTE, "EmoteSpecProc" }, { false, FT_INT, "EmoteSpecProcParam" }, @@ -1308,11 +1312,11 @@ struct EmotesTextSoundLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_SHORT, "EmotesTextId" }, { false, FT_BYTE, "RaceId" }, { false, FT_BYTE, "SexId" }, { false, FT_BYTE, "ClassId" }, { false, FT_INT, "SoundId" }, + { false, FT_SHORT, "EmotesTextId" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, EmotesTextSoundMeta::Instance(), HOTFIX_SEL_EMOTES_TEXT_SOUND); return &loadInfo; @@ -1325,19 +1329,19 @@ struct FactionLoadInfo { static DB2FieldMeta const fields[] = { + { false, FT_LONG, "ReputationRaceMask1" }, + { false, FT_LONG, "ReputationRaceMask2" }, + { false, FT_LONG, "ReputationRaceMask3" }, + { false, FT_LONG, "ReputationRaceMask4" }, + { false, FT_STRING, "Name" }, + { false, FT_STRING, "Description" }, { false, FT_INT, "ID" }, - { false, FT_INT, "ReputationRaceMask1" }, - { false, FT_INT, "ReputationRaceMask2" }, - { false, FT_INT, "ReputationRaceMask3" }, - { false, FT_INT, "ReputationRaceMask4" }, { true, FT_INT, "ReputationBase1" }, { true, FT_INT, "ReputationBase2" }, { true, FT_INT, "ReputationBase3" }, { true, FT_INT, "ReputationBase4" }, { false, FT_FLOAT, "ParentFactionModIn" }, { false, FT_FLOAT, "ParentFactionModOut" }, - { false, FT_STRING, "Name" }, - { false, FT_STRING, "Description" }, { false, FT_INT, "ReputationMax1" }, { false, FT_INT, "ReputationMax2" }, { false, FT_INT, "ReputationMax3" }, @@ -1396,6 +1400,7 @@ struct GameobjectsLoadInfo { static DB2FieldMeta const fields[] = { + { false, FT_STRING, "Name" }, { false, FT_FLOAT, "PositionX" }, { false, FT_FLOAT, "PositionY" }, { false, FT_FLOAT, "PositionZ" }, @@ -1412,7 +1417,6 @@ struct GameobjectsLoadInfo { true, FT_INT, "Data6" }, { true, FT_INT, "Data7" }, { true, FT_INT, "Data8" }, - { false, FT_STRING, "Name" }, { false, FT_SHORT, "MapID" }, { false, FT_SHORT, "DisplayID" }, { false, FT_SHORT, "PhaseID" }, @@ -1476,12 +1480,12 @@ struct GarrBuildingLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_INT, "HordeGameObjectID" }, - { false, FT_INT, "AllianceGameObjectID" }, { false, FT_STRING, "NameAlliance" }, { false, FT_STRING, "NameHorde" }, { false, FT_STRING, "Description" }, { false, FT_STRING, "Tooltip" }, + { false, FT_INT, "HordeGameObjectID" }, + { false, FT_INT, "AllianceGameObjectID" }, { false, FT_INT, "IconFileDataID" }, { false, FT_SHORT, "CostCurrencyID" }, { false, FT_SHORT, "HordeTexPrefixKitID" }, @@ -1550,15 +1554,15 @@ struct GarrFollowerLoadInfo { static DB2FieldMeta const fields[] = { - { false, FT_INT, "HordeCreatureID" }, - { false, FT_INT, "AllianceCreatureID" }, { false, FT_STRING, "HordeSourceText" }, { false, FT_STRING, "AllianceSourceText" }, + { false, FT_STRING, "Name" }, + { false, FT_INT, "HordeCreatureID" }, + { false, FT_INT, "AllianceCreatureID" }, { false, FT_INT, "HordePortraitIconID" }, { 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" }, @@ -1595,9 +1599,9 @@ struct GarrFollowerXAbilityLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_SHORT, "GarrFollowerID" }, { false, FT_SHORT, "GarrAbilityID" }, { false, FT_BYTE, "FactionIndex" }, + { false, FT_SHORT, "GarrFollowerID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, GarrFollowerXAbilityMeta::Instance(), HOTFIX_SEL_GARR_FOLLOWER_X_ABILITY); return &loadInfo; @@ -1751,8 +1755,8 @@ struct GlyphRequiredSpecLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_SHORT, "GlyphPropertiesID" }, { false, FT_SHORT, "ChrSpecializationID" }, + { false, FT_SHORT, "GlyphPropertiesID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, GlyphRequiredSpecMeta::Instance(), HOTFIX_SEL_GLYPH_REQUIRED_SPEC); return &loadInfo; @@ -1827,8 +1831,8 @@ struct HeirloomLoadInfo { static DB2FieldMeta const fields[] = { - { false, FT_INT, "ItemID" }, { false, FT_STRING, "SourceText" }, + { false, FT_INT, "ItemID" }, { false, FT_INT, "OldItem1" }, { false, FT_INT, "OldItem2" }, { false, FT_INT, "NextDifficultyItemID" }, @@ -2086,6 +2090,7 @@ struct ItemBonusLoadInfo { false, FT_INT, "ID" }, { true, FT_INT, "Value1" }, { true, FT_INT, "Value2" }, + { true, FT_INT, "Value3" }, { false, FT_SHORT, "BonusListID" }, { false, FT_BYTE, "Type" }, { false, FT_BYTE, "Index" }, @@ -2116,11 +2121,11 @@ struct ItemBonusTreeNodeLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_SHORT, "BonusTreeID" }, { false, FT_SHORT, "SubTreeID" }, { false, FT_SHORT, "BonusListID" }, { false, FT_SHORT, "ItemLevelSelectorID" }, { false, FT_BYTE, "BonusTreeModID" }, + { false, FT_SHORT, "BonusTreeID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemBonusTreeNodeMeta::Instance(), HOTFIX_SEL_ITEM_BONUS_TREE_NODE); return &loadInfo; @@ -2134,9 +2139,9 @@ struct ItemChildEquipmentLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_INT, "ItemID" }, { false, FT_INT, "AltItemID" }, { false, FT_BYTE, "AltEquipmentSlot" }, + { false, FT_INT, "ItemID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemChildEquipmentMeta::Instance(), HOTFIX_SEL_ITEM_CHILD_EQUIPMENT); return &loadInfo; @@ -2150,8 +2155,8 @@ struct ItemClassLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_FLOAT, "PriceMod" }, { false, FT_STRING, "Name" }, + { false, FT_FLOAT, "PriceMod" }, { false, FT_BYTE, "OldEnumValue" }, { false, FT_BYTE, "Flags" }, }; @@ -2289,9 +2294,10 @@ struct ItemDisenchantLootLoadInfo { false, FT_SHORT, "MinItemLevel" }, { false, FT_SHORT, "MaxItemLevel" }, { false, FT_SHORT, "RequiredDisenchantSkill" }, - { false, FT_BYTE, "ItemClass" }, { true, FT_BYTE, "ItemSubClass" }, { false, FT_BYTE, "ItemQuality" }, + { true, FT_BYTE, "Expansion" }, + { false, FT_BYTE, "ItemClass" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemDisenchantLootMeta::Instance(), HOTFIX_SEL_ITEM_DISENCHANT_LOOT); return &loadInfo; @@ -2305,7 +2311,6 @@ struct ItemEffectLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_INT, "ItemID" }, { false, FT_INT, "SpellID" }, { true, FT_INT, "Cooldown" }, { true, FT_INT, "CategoryCooldown" }, @@ -2314,6 +2319,7 @@ struct ItemEffectLoadInfo { false, FT_SHORT, "ChrSpecializationID" }, { false, FT_BYTE, "OrderIndex" }, { false, FT_BYTE, "Trigger" }, + { false, FT_INT, "ItemID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemEffectMeta::Instance(), HOTFIX_SEL_ITEM_EFFECT); return &loadInfo; @@ -2382,8 +2388,8 @@ struct ItemLevelSelectorQualityLoadInfo { { false, FT_INT, "ID" }, { false, FT_INT, "ItemBonusListID" }, - { false, FT_SHORT, "ItemLevelSelectorQualitySetID" }, { false, FT_BYTE, "Quality" }, + { false, FT_SHORT, "ItemLevelSelectorQualitySetID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemLevelSelectorQualityMeta::Instance(), HOTFIX_SEL_ITEM_LEVEL_SELECTOR_QUALITY); return &loadInfo; @@ -2428,11 +2434,11 @@ struct ItemModifiedAppearanceLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ItemID" }, - { false, FT_SHORT, "AppearanceID" }, + { false, FT_INT, "ID" }, { false, FT_BYTE, "AppearanceModID" }, + { false, FT_SHORT, "AppearanceID" }, { false, FT_BYTE, "Index" }, { false, FT_BYTE, "SourceType" }, - { false, FT_INT, "ID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemModifiedAppearanceMeta::Instance(), HOTFIX_SEL_ITEM_MODIFIED_APPEARANCE); return &loadInfo; @@ -2504,19 +2510,19 @@ struct ItemSearchNameLoadInfo { static DB2FieldMeta const fields[] = { - { false, FT_INT, "ID" }, + { false, FT_LONG, "AllowableRace" }, { false, FT_STRING, "Name" }, + { false, FT_INT, "ID" }, { false, FT_INT, "Flags1" }, { false, FT_INT, "Flags2" }, { false, FT_INT, "Flags3" }, - { false, FT_INT, "AllowableRace" }, { false, FT_SHORT, "ItemLevel" }, { false, FT_BYTE, "Quality" }, { false, FT_BYTE, "RequiredExpansion" }, { false, FT_BYTE, "RequiredLevel" }, - { true, FT_INT, "AllowableClass" }, { false, FT_SHORT, "RequiredReputationFaction" }, { false, FT_BYTE, "RequiredReputationRank" }, + { true, FT_INT, "AllowableClass" }, { false, FT_SHORT, "RequiredSkill" }, { false, FT_SHORT, "RequiredSkillRank" }, { false, FT_INT, "RequiredSpell" }, @@ -2568,9 +2574,9 @@ struct ItemSetSpellLoadInfo { { false, FT_INT, "ID" }, { false, FT_INT, "SpellID" }, - { false, FT_SHORT, "ItemSetID" }, { false, FT_SHORT, "ChrSpecID" }, { false, FT_BYTE, "Threshold" }, + { false, FT_SHORT, "ItemSetID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemSetSpellMeta::Instance(), HOTFIX_SEL_ITEM_SET_SPELL); return &loadInfo; @@ -2584,6 +2590,12 @@ struct ItemSparseLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, + { true, FT_LONG, "AllowableRace" }, + { false, FT_STRING, "Name" }, + { false, FT_STRING, "Name2" }, + { false, FT_STRING, "Name3" }, + { false, FT_STRING, "Name4" }, + { false, FT_STRING, "Description" }, { false, FT_INT, "Flags1" }, { false, FT_INT, "Flags2" }, { false, FT_INT, "Flags3" }, @@ -2593,7 +2605,6 @@ struct ItemSparseLoadInfo { false, FT_INT, "BuyCount" }, { false, FT_INT, "BuyPrice" }, { false, FT_INT, "SellPrice" }, - { true, FT_INT, "AllowableRace" }, { false, FT_INT, "RequiredSpell" }, { false, FT_INT, "MaxCount" }, { false, FT_INT, "Stackable" }, @@ -2618,11 +2629,6 @@ struct ItemSparseLoadInfo { false, FT_FLOAT, "ItemStatSocketCostMultiplier9" }, { false, FT_FLOAT, "ItemStatSocketCostMultiplier10" }, { false, FT_FLOAT, "RangedModRange" }, - { false, FT_STRING, "Name" }, - { false, FT_STRING, "Name2" }, - { false, FT_STRING, "Name3" }, - { false, FT_STRING, "Name4" }, - { false, FT_STRING, "Description" }, { false, FT_INT, "BagFamily" }, { false, FT_FLOAT, "ArmorDamageModifier" }, { false, FT_INT, "Duration" }, @@ -2721,8 +2727,8 @@ struct ItemSpecOverrideLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_INT, "ItemID" }, { false, FT_SHORT, "SpecID" }, + { false, FT_INT, "ItemID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemSpecOverrideMeta::Instance(), HOTFIX_SEL_ITEM_SPEC_OVERRIDE); return &loadInfo; @@ -2754,8 +2760,8 @@ struct ItemXBonusTreeLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_INT, "ItemID" }, { false, FT_SHORT, "BonusTreeID" }, + { false, FT_INT, "ItemID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemXBonusTreeMeta::Instance(), HOTFIX_SEL_ITEM_X_BONUS_TREE); return &loadInfo; @@ -2815,8 +2821,8 @@ struct LfgDungeonsLoadInfo { { false, FT_INT, "ID" }, { false, FT_STRING, "Name" }, - { false, FT_INT, "Flags" }, { false, FT_STRING, "Description" }, + { false, FT_INT, "Flags" }, { false, FT_FLOAT, "MinItemLevel" }, { false, FT_SHORT, "MaxLevel" }, { false, FT_SHORT, "TargetLevelMax" }, @@ -2888,18 +2894,18 @@ struct LiquidTypeLoadInfo { { false, FT_INT, "ID" }, { false, FT_STRING, "Name" }, - { false, FT_INT, "SpellID" }, - { false, FT_FLOAT, "MaxDarkenDepth" }, - { false, FT_FLOAT, "FogDarkenIntensity" }, - { false, FT_FLOAT, "AmbDarkenIntensity" }, - { false, FT_FLOAT, "DirDarkenIntensity" }, - { false, FT_FLOAT, "ParticleScale" }, { false, FT_STRING_NOT_LOCALIZED, "Texture1" }, { false, FT_STRING_NOT_LOCALIZED, "Texture2" }, { false, FT_STRING_NOT_LOCALIZED, "Texture3" }, { false, FT_STRING_NOT_LOCALIZED, "Texture4" }, { false, FT_STRING_NOT_LOCALIZED, "Texture5" }, { false, FT_STRING_NOT_LOCALIZED, "Texture6" }, + { false, FT_INT, "SpellID" }, + { false, FT_FLOAT, "MaxDarkenDepth" }, + { false, FT_FLOAT, "FogDarkenIntensity" }, + { false, FT_FLOAT, "AmbDarkenIntensity" }, + { false, FT_FLOAT, "DirDarkenIntensity" }, + { false, FT_FLOAT, "ParticleScale" }, { false, FT_INT, "Color1" }, { false, FT_INT, "Color2" }, { false, FT_FLOAT, "Float1" }, @@ -3010,16 +3016,16 @@ struct MapLoadInfo { { false, FT_INT, "ID" }, { false, FT_STRING_NOT_LOCALIZED, "Directory" }, - { false, FT_INT, "Flags1" }, - { false, FT_INT, "Flags2" }, - { false, FT_FLOAT, "MinimapIconScale" }, - { false, FT_FLOAT, "CorpsePosX" }, - { false, FT_FLOAT, "CorpsePosY" }, { false, FT_STRING, "MapName" }, { false, FT_STRING, "MapDescription0" }, { false, FT_STRING, "MapDescription1" }, { false, FT_STRING, "ShortDescription" }, { false, FT_STRING, "LongDescription" }, + { false, FT_INT, "Flags1" }, + { false, FT_INT, "Flags2" }, + { false, FT_FLOAT, "MinimapIconScale" }, + { false, FT_FLOAT, "CorpsePosX" }, + { false, FT_FLOAT, "CorpsePosY" }, { false, FT_SHORT, "AreaTableID" }, { false, FT_SHORT, "LoadingScreenID" }, { true, FT_SHORT, "CorpseMapID" }, @@ -3046,7 +3052,6 @@ struct MapDifficultyLoadInfo { { false, FT_INT, "ID" }, { false, FT_STRING, "Message" }, - { false, FT_SHORT, "MapID" }, { false, FT_BYTE, "DifficultyID" }, { false, FT_BYTE, "RaidDurationType" }, { false, FT_BYTE, "MaxPlayers" }, @@ -3054,6 +3059,7 @@ struct MapDifficultyLoadInfo { false, FT_BYTE, "Flags" }, { false, FT_BYTE, "ItemBonusTreeModID" }, { false, FT_INT, "Context" }, + { false, FT_SHORT, "MapID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, MapDifficultyMeta::Instance(), HOTFIX_SEL_MAP_DIFFICULTY); return &loadInfo; @@ -3086,10 +3092,10 @@ struct MountLoadInfo { static DB2FieldMeta const fields[] = { - { false, FT_INT, "SpellId" }, { false, FT_STRING, "Name" }, { false, FT_STRING, "Description" }, { false, FT_STRING, "SourceDescription" }, + { false, FT_INT, "SpellId" }, { false, FT_FLOAT, "CameraPivotMultiplier" }, { false, FT_SHORT, "MountTypeId" }, { false, FT_SHORT, "Flags" }, @@ -3146,9 +3152,9 @@ struct MountXDisplayLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_INT, "MountID" }, { false, FT_INT, "DisplayID" }, { false, FT_INT, "PlayerConditionID" }, + { false, FT_INT, "MountID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, MountXDisplayMeta::Instance(), HOTFIX_SEL_MOUNT_X_DISPLAY); return &loadInfo; @@ -3292,109 +3298,19 @@ struct PlayerConditionLoadInfo { static DB2FieldMeta const fields[] = { - { false, FT_INT, "ID" }, - { false, FT_INT, "RaceMask" }, - { false, FT_INT, "Time1" }, - { false, FT_INT, "Time2" }, - { false, FT_INT, "AuraSpellID1" }, - { false, FT_INT, "AuraSpellID2" }, - { false, FT_INT, "AuraSpellID3" }, - { false, FT_INT, "AuraSpellID4" }, + { true, FT_LONG, "RaceMask" }, { false, FT_STRING, "FailureDescription" }, - { false, FT_SHORT, "SkillID1" }, - { false, FT_SHORT, "SkillID2" }, - { false, FT_SHORT, "SkillID3" }, - { false, FT_SHORT, "SkillID4" }, - { true, FT_SHORT, "MinSkill1" }, - { true, FT_SHORT, "MinSkill2" }, - { true, FT_SHORT, "MinSkill3" }, - { true, FT_SHORT, "MinSkill4" }, - { true, FT_SHORT, "MaxSkill1" }, - { true, FT_SHORT, "MaxSkill2" }, - { true, FT_SHORT, "MaxSkill3" }, - { true, FT_SHORT, "MaxSkill4" }, - { false, FT_SHORT, "PrevQuestID1" }, - { false, FT_SHORT, "PrevQuestID2" }, - { false, FT_SHORT, "PrevQuestID3" }, - { false, FT_SHORT, "PrevQuestID4" }, - { false, FT_SHORT, "CurrQuestID1" }, - { false, FT_SHORT, "CurrQuestID2" }, - { false, FT_SHORT, "CurrQuestID3" }, - { false, FT_SHORT, "CurrQuestID4" }, - { false, FT_SHORT, "CurrentCompletedQuestID1" }, - { false, FT_SHORT, "CurrentCompletedQuestID2" }, - { false, FT_SHORT, "CurrentCompletedQuestID3" }, - { false, FT_SHORT, "CurrentCompletedQuestID4" }, - { false, FT_SHORT, "Explored1" }, - { false, FT_SHORT, "Explored2" }, - { false, FT_SHORT, "Achievement1" }, - { false, FT_SHORT, "Achievement2" }, - { false, FT_SHORT, "Achievement3" }, - { false, FT_SHORT, "Achievement4" }, - { false, FT_SHORT, "AreaID1" }, - { false, FT_SHORT, "AreaID2" }, - { false, FT_SHORT, "AreaID3" }, - { false, FT_SHORT, "AreaID4" }, + { false, FT_INT, "ID" }, { false, FT_BYTE, "Flags" }, - { false, FT_BYTE, "MinReputation1" }, - { false, FT_BYTE, "MinReputation2" }, - { false, FT_BYTE, "MinReputation3" }, - { false, FT_BYTE, "AuraCount1" }, - { false, FT_BYTE, "AuraCount2" }, - { false, FT_BYTE, "AuraCount3" }, - { false, FT_BYTE, "AuraCount4" }, - { false, FT_BYTE, "LfgStatus1" }, - { false, FT_BYTE, "LfgStatus2" }, - { false, FT_BYTE, "LfgStatus3" }, - { false, FT_BYTE, "LfgStatus4" }, - { false, FT_BYTE, "LfgCompare1" }, - { false, FT_BYTE, "LfgCompare2" }, - { false, FT_BYTE, "LfgCompare3" }, - { false, FT_BYTE, "LfgCompare4" }, - { false, FT_BYTE, "CurrencyCount1" }, - { false, FT_BYTE, "CurrencyCount2" }, - { false, FT_BYTE, "CurrencyCount3" }, - { false, FT_BYTE, "CurrencyCount4" }, - { true, FT_INT, "ClassMask" }, - { false, FT_INT, "MinFactionID1" }, - { false, FT_INT, "MinFactionID2" }, - { false, FT_INT, "MinFactionID3" }, - { false, FT_INT, "SpellID1" }, - { false, FT_INT, "SpellID2" }, - { false, FT_INT, "SpellID3" }, - { false, FT_INT, "SpellID4" }, - { false, FT_INT, "ItemID1" }, - { false, FT_INT, "ItemID2" }, - { false, FT_INT, "ItemID3" }, - { false, FT_INT, "ItemID4" }, - { false, FT_INT, "ItemCount1" }, - { false, FT_INT, "ItemCount2" }, - { false, FT_INT, "ItemCount3" }, - { false, FT_INT, "ItemCount4" }, - { false, FT_INT, "LfgValue1" }, - { false, FT_INT, "LfgValue2" }, - { false, FT_INT, "LfgValue3" }, - { false, FT_INT, "LfgValue4" }, - { false, FT_INT, "CurrencyID1" }, - { false, FT_INT, "CurrencyID2" }, - { false, FT_INT, "CurrencyID3" }, - { false, FT_INT, "CurrencyID4" }, - { false, FT_INT, "QuestKillMonster1" }, - { false, FT_INT, "QuestKillMonster2" }, - { false, FT_INT, "QuestKillMonster3" }, - { false, FT_INT, "QuestKillMonster4" }, - { false, FT_INT, "QuestKillMonster5" }, - { false, FT_INT, "QuestKillMonster6" }, - { true, FT_INT, "MovementFlags1" }, - { true, FT_INT, "MovementFlags2" }, { false, FT_SHORT, "MinLevel" }, { false, FT_SHORT, "MaxLevel" }, + { true, FT_INT, "ClassMask" }, { true, FT_BYTE, "Gender" }, { true, FT_BYTE, "NativeGender" }, { false, FT_INT, "SkillLogic" }, { false, FT_BYTE, "LanguageID" }, { false, FT_BYTE, "MinLanguage" }, - { false, FT_INT, "MaxLanguage" }, + { true, FT_INT, "MaxLanguage" }, { false, FT_SHORT, "MaxFactionID" }, { false, FT_BYTE, "MaxReputation" }, { false, FT_INT, "ReputationLogic" }, @@ -3428,17 +3344,107 @@ struct PlayerConditionLoadInfo { false, FT_BYTE, "PhaseUseFlags" }, { false, FT_SHORT, "PhaseID" }, { false, FT_INT, "PhaseGroupID" }, - { false, FT_INT, "MinAvgItemLevel" }, - { false, FT_INT, "MaxAvgItemLevel" }, + { true, FT_INT, "MinAvgItemLevel" }, + { true, FT_INT, "MaxAvgItemLevel" }, { false, FT_SHORT, "MinAvgEquippedItemLevel" }, { false, FT_SHORT, "MaxAvgEquippedItemLevel" }, { true, FT_BYTE, "ChrSpecializationIndex" }, { true, FT_BYTE, "ChrSpecializationRole" }, { true, FT_BYTE, "PowerType" }, - { true, FT_BYTE, "PowerTypeComp" }, - { true, FT_BYTE, "PowerTypeValue" }, + { false, FT_BYTE, "PowerTypeComp" }, + { false, FT_BYTE, "PowerTypeValue" }, { false, FT_INT, "ModifierTreeID" }, - { false, FT_INT, "MainHandItemSubclassMask" }, + { true, FT_INT, "MainHandItemSubclassMask" }, + { false, FT_SHORT, "SkillID1" }, + { false, FT_SHORT, "SkillID2" }, + { false, FT_SHORT, "SkillID3" }, + { false, FT_SHORT, "SkillID4" }, + { false, FT_SHORT, "MinSkill1" }, + { false, FT_SHORT, "MinSkill2" }, + { false, FT_SHORT, "MinSkill3" }, + { false, FT_SHORT, "MinSkill4" }, + { false, FT_SHORT, "MaxSkill1" }, + { false, FT_SHORT, "MaxSkill2" }, + { false, FT_SHORT, "MaxSkill3" }, + { false, FT_SHORT, "MaxSkill4" }, + { false, FT_INT, "MinFactionID1" }, + { false, FT_INT, "MinFactionID2" }, + { false, FT_INT, "MinFactionID3" }, + { false, FT_BYTE, "MinReputation1" }, + { false, FT_BYTE, "MinReputation2" }, + { false, FT_BYTE, "MinReputation3" }, + { false, FT_SHORT, "PrevQuestID1" }, + { false, FT_SHORT, "PrevQuestID2" }, + { false, FT_SHORT, "PrevQuestID3" }, + { false, FT_SHORT, "PrevQuestID4" }, + { false, FT_SHORT, "CurrQuestID1" }, + { false, FT_SHORT, "CurrQuestID2" }, + { false, FT_SHORT, "CurrQuestID3" }, + { false, FT_SHORT, "CurrQuestID4" }, + { false, FT_SHORT, "CurrentCompletedQuestID1" }, + { false, FT_SHORT, "CurrentCompletedQuestID2" }, + { false, FT_SHORT, "CurrentCompletedQuestID3" }, + { false, FT_SHORT, "CurrentCompletedQuestID4" }, + { true, FT_INT, "SpellID1" }, + { true, FT_INT, "SpellID2" }, + { true, FT_INT, "SpellID3" }, + { true, FT_INT, "SpellID4" }, + { true, FT_INT, "ItemID1" }, + { true, FT_INT, "ItemID2" }, + { true, FT_INT, "ItemID3" }, + { true, FT_INT, "ItemID4" }, + { false, FT_INT, "ItemCount1" }, + { false, FT_INT, "ItemCount2" }, + { false, FT_INT, "ItemCount3" }, + { false, FT_INT, "ItemCount4" }, + { false, FT_SHORT, "Explored1" }, + { false, FT_SHORT, "Explored2" }, + { false, FT_INT, "Time1" }, + { false, FT_INT, "Time2" }, + { false, FT_INT, "AuraSpellID1" }, + { false, FT_INT, "AuraSpellID2" }, + { false, FT_INT, "AuraSpellID3" }, + { false, FT_INT, "AuraSpellID4" }, + { false, FT_BYTE, "AuraCount1" }, + { false, FT_BYTE, "AuraCount2" }, + { false, FT_BYTE, "AuraCount3" }, + { false, FT_BYTE, "AuraCount4" }, + { false, FT_SHORT, "Achievement1" }, + { false, FT_SHORT, "Achievement2" }, + { false, FT_SHORT, "Achievement3" }, + { false, FT_SHORT, "Achievement4" }, + { false, FT_BYTE, "LfgStatus1" }, + { false, FT_BYTE, "LfgStatus2" }, + { false, FT_BYTE, "LfgStatus3" }, + { false, FT_BYTE, "LfgStatus4" }, + { false, FT_BYTE, "LfgCompare1" }, + { false, FT_BYTE, "LfgCompare2" }, + { false, FT_BYTE, "LfgCompare3" }, + { false, FT_BYTE, "LfgCompare4" }, + { false, FT_INT, "LfgValue1" }, + { false, FT_INT, "LfgValue2" }, + { false, FT_INT, "LfgValue3" }, + { false, FT_INT, "LfgValue4" }, + { false, FT_SHORT, "AreaID1" }, + { false, FT_SHORT, "AreaID2" }, + { false, FT_SHORT, "AreaID3" }, + { false, FT_SHORT, "AreaID4" }, + { false, FT_INT, "CurrencyID1" }, + { false, FT_INT, "CurrencyID2" }, + { false, FT_INT, "CurrencyID3" }, + { false, FT_INT, "CurrencyID4" }, + { false, FT_INT, "CurrencyCount1" }, + { false, FT_INT, "CurrencyCount2" }, + { false, FT_INT, "CurrencyCount3" }, + { false, FT_INT, "CurrencyCount4" }, + { false, FT_INT, "QuestKillMonster1" }, + { false, FT_INT, "QuestKillMonster2" }, + { false, FT_INT, "QuestKillMonster3" }, + { false, FT_INT, "QuestKillMonster4" }, + { false, FT_INT, "QuestKillMonster5" }, + { false, FT_INT, "QuestKillMonster6" }, + { true, FT_INT, "MovementFlags1" }, + { true, FT_INT, "MovementFlags2" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, PlayerConditionMeta::Instance(), HOTFIX_SEL_PLAYER_CONDITION); return &loadInfo; @@ -3495,8 +3501,8 @@ struct PrestigeLevelInfoLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_INT, "IconID" }, { false, FT_STRING, "PrestigeText" }, + { false, FT_INT, "IconID" }, { false, FT_BYTE, "PrestigeLevel" }, { false, FT_BYTE, "Flags" }, }; @@ -3512,10 +3518,10 @@ struct PvpDifficultyLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_SHORT, "MapID" }, { false, FT_BYTE, "BracketID" }, { false, FT_BYTE, "MinLevel" }, { false, FT_BYTE, "MaxLevel" }, + { false, FT_SHORT, "MapID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, PVPDifficultyMeta::Instance(), HOTFIX_SEL_PVP_DIFFICULTY); return &loadInfo; @@ -3708,8 +3714,8 @@ struct RewardPackXItemLoadInfo { { false, FT_INT, "ID" }, { false, FT_INT, "ItemID" }, - { false, FT_INT, "RewardPackID" }, { false, FT_INT, "Amount" }, + { false, FT_INT, "RewardPackID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, RewardPackXItemMeta::Instance(), HOTFIX_SEL_REWARD_PACK_X_ITEM); return &loadInfo; @@ -3731,6 +3737,22 @@ struct RulesetItemUpgradeLoadInfo } }; +struct SandboxScalingLoadInfo +{ + static DB2LoadInfo const* Instance() + { + static DB2FieldMeta const fields[] = + { + { false, FT_INT, "ID" }, + { false, FT_INT, "MinLevel" }, + { false, FT_INT, "MaxLevel" }, + { false, FT_INT, "Flags" }, + }; + static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SandboxScalingMeta::Instance(), HOTFIX_SEL_SANDBOX_SCALING); + return &loadInfo; + } +}; + struct ScalingStatDistributionLoadInfo { static DB2LoadInfo const* Instance() @@ -3793,8 +3815,6 @@ struct SceneScriptLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_STRING_NOT_LOCALIZED, "Name" }, - { false, FT_STRING_NOT_LOCALIZED, "Script" }, { false, FT_SHORT, "PrevScriptId" }, { false, FT_SHORT, "NextScriptId" }, }; @@ -3803,6 +3823,21 @@ struct SceneScriptLoadInfo } }; +struct SceneScriptGlobalTextLoadInfo +{ + static DB2LoadInfo const* Instance() + { + static DB2FieldMeta const fields[] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING_NOT_LOCALIZED, "Name" }, + { false, FT_STRING_NOT_LOCALIZED, "Script" }, + }; + static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SceneScriptGlobalTextMeta::Instance(), HOTFIX_SEL_SCENE_SCRIPT_GLOBAL_TEXT); + return &loadInfo; + } +}; + struct SceneScriptPackageLoadInfo { static DB2LoadInfo const* Instance() @@ -3817,6 +3852,21 @@ struct SceneScriptPackageLoadInfo } }; +struct SceneScriptTextLoadInfo +{ + static DB2LoadInfo const* Instance() + { + static DB2FieldMeta const fields[] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING_NOT_LOCALIZED, "Name" }, + { false, FT_STRING_NOT_LOCALIZED, "Script" }, + }; + static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SceneScriptTextMeta::Instance(), HOTFIX_SEL_SCENE_SCRIPT_TEXT); + return &loadInfo; + } +}; + struct SkillLineLoadInfo { static DB2LoadInfo const* Instance() @@ -3844,20 +3894,20 @@ struct SkillLineAbilityLoadInfo { static DB2FieldMeta const fields[] = { + { false, FT_LONG, "RaceMask" }, { false, FT_INT, "ID" }, { false, FT_INT, "SpellID" }, - { false, FT_INT, "RaceMask" }, { false, FT_INT, "SupercedesSpell" }, { false, FT_SHORT, "SkillLine" }, - { false, FT_SHORT, "MinSkillLineRank" }, { false, FT_SHORT, "TrivialSkillLineRankHigh" }, { false, FT_SHORT, "TrivialSkillLineRankLow" }, { false, FT_SHORT, "UniqueBit" }, { false, FT_SHORT, "TradeSkillCategoryID" }, - { false, FT_BYTE, "AcquireMethod" }, { false, FT_BYTE, "NumSkillUps" }, - { false, FT_BYTE, "Unknown703" }, { true, FT_INT, "ClassMask" }, + { false, FT_SHORT, "MinSkillLineRank" }, + { false, FT_BYTE, "AcquireMethod" }, + { false, FT_BYTE, "Flags" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SkillLineAbilityMeta::Instance(), HOTFIX_SEL_SKILL_LINE_ABILITY); return &loadInfo; @@ -3871,7 +3921,7 @@ struct SkillRaceClassInfoLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { true, FT_INT, "RaceMask" }, + { true, FT_LONG, "RaceMask" }, { false, FT_SHORT, "SkillID" }, { false, FT_SHORT, "Flags" }, { false, FT_SHORT, "SkillTierID" }, @@ -3918,9 +3968,9 @@ struct SpecializationSpellsLoadInfo { static DB2FieldMeta const fields[] = { + { false, FT_STRING, "Description" }, { false, FT_INT, "SpellID" }, { false, FT_INT, "OverridesSpellID" }, - { false, FT_STRING, "Description" }, { false, FT_SHORT, "SpecID" }, { false, FT_BYTE, "OrderIndex" }, { false, FT_INT, "ID" }, @@ -3936,13 +3986,11 @@ struct SpellLoadInfo { static DB2FieldMeta const fields[] = { + { false, FT_INT, "ID" }, { false, FT_STRING, "Name" }, { false, FT_STRING, "NameSubtext" }, { false, FT_STRING, "Description" }, { false, FT_STRING, "AuraDescription" }, - { false, FT_INT, "MiscID" }, - { false, FT_INT, "ID" }, - { false, FT_INT, "DescriptionVariablesID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellMeta::Instance(), HOTFIX_SEL_SPELL); return &loadInfo; @@ -3956,7 +4004,6 @@ struct SpellAuraOptionsLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_INT, "SpellID" }, { false, FT_INT, "ProcCharges" }, { false, FT_INT, "ProcTypeMask" }, { false, FT_INT, "ProcCategoryRecovery" }, @@ -3964,6 +4011,7 @@ struct SpellAuraOptionsLoadInfo { false, FT_SHORT, "SpellProcsPerMinuteID" }, { false, FT_BYTE, "DifficultyID" }, { false, FT_BYTE, "ProcChance" }, + { false, FT_INT, "SpellID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellAuraOptionsMeta::Instance(), HOTFIX_SEL_SPELL_AURA_OPTIONS); return &loadInfo; @@ -3977,7 +4025,6 @@ struct SpellAuraRestrictionsLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_INT, "SpellID" }, { false, FT_INT, "CasterAuraSpell" }, { false, FT_INT, "TargetAuraSpell" }, { false, FT_INT, "ExcludeCasterAuraSpell" }, @@ -3987,6 +4034,7 @@ struct SpellAuraRestrictionsLoadInfo { false, FT_BYTE, "TargetAuraState" }, { false, FT_BYTE, "ExcludeCasterAuraState" }, { false, FT_BYTE, "ExcludeTargetAuraState" }, + { false, FT_INT, "SpellID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellAuraRestrictionsMeta::Instance(), HOTFIX_SEL_SPELL_AURA_RESTRICTIONS); return &loadInfo; @@ -4036,7 +4084,6 @@ struct SpellCategoriesLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_INT, "SpellID" }, { false, FT_SHORT, "Category" }, { false, FT_SHORT, "StartRecoveryCategory" }, { false, FT_SHORT, "ChargeCategory" }, @@ -4045,6 +4092,7 @@ struct SpellCategoriesLoadInfo { false, FT_BYTE, "DispelType" }, { false, FT_BYTE, "Mechanic" }, { false, FT_BYTE, "PreventionType" }, + { false, FT_INT, "SpellID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellCategoriesMeta::Instance(), HOTFIX_SEL_SPELL_CATEGORIES); return &loadInfo; @@ -4097,11 +4145,11 @@ struct SpellCooldownsLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_INT, "SpellID" }, { false, FT_INT, "CategoryRecoveryTime" }, { false, FT_INT, "RecoveryTime" }, { false, FT_INT, "StartRecoveryTime" }, { false, FT_BYTE, "DifficultyID" }, + { false, FT_INT, "SpellID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellCooldownsMeta::Instance(), HOTFIX_SEL_SPELL_COOLDOWNS); return &loadInfo; @@ -4130,22 +4178,11 @@ struct SpellEffectLoadInfo { static DB2FieldMeta const fields[] = { - { false, FT_INT, "EffectSpellClassMask1" }, - { false, FT_INT, "EffectSpellClassMask2" }, - { false, FT_INT, "EffectSpellClassMask3" }, - { false, FT_INT, "EffectSpellClassMask4" }, { false, FT_INT, "ID" }, - { false, FT_INT, "SpellID" }, { false, FT_INT, "Effect" }, - { false, FT_INT, "EffectAura" }, { true, FT_INT, "EffectBasePoints" }, { false, FT_INT, "EffectIndex" }, - { true, FT_INT, "EffectMiscValue" }, - { true, FT_INT, "EffectMiscValueB" }, - { false, FT_INT, "EffectRadiusIndex" }, - { false, FT_INT, "EffectRadiusMaxIndex" }, - { false, FT_INT, "ImplicitTarget1" }, - { false, FT_INT, "ImplicitTarget2" }, + { false, FT_INT, "EffectAura" }, { false, FT_INT, "DifficultyID" }, { false, FT_FLOAT, "EffectAmplitude" }, { false, FT_INT, "EffectAuraPeriod" }, @@ -4162,25 +4199,23 @@ struct SpellEffectLoadInfo { 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; - } -}; - -struct SpellEffectScalingLoadInfo -{ - static DB2LoadInfo const* Instance() - { - static DB2FieldMeta const fields[] = - { - { false, FT_INT, "ID" }, { false, FT_FLOAT, "Coefficient" }, { false, FT_FLOAT, "Variance" }, { false, FT_FLOAT, "ResourceCoefficient" }, - { false, FT_INT, "SpellEffectID" }, + { false, FT_FLOAT, "GroupSizeCoefficient" }, + { false, FT_INT, "EffectSpellClassMask1" }, + { false, FT_INT, "EffectSpellClassMask2" }, + { false, FT_INT, "EffectSpellClassMask3" }, + { false, FT_INT, "EffectSpellClassMask4" }, + { true, FT_INT, "EffectMiscValue" }, + { true, FT_INT, "EffectMiscValueB" }, + { false, FT_INT, "EffectRadiusIndex" }, + { false, FT_INT, "EffectRadiusMaxIndex" }, + { false, FT_INT, "ImplicitTarget1" }, + { false, FT_INT, "ImplicitTarget2" }, + { false, FT_INT, "SpellID" }, }; - static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellEffectScalingMeta::Instance(), HOTFIX_SEL_SPELL_EFFECT_SCALING); + static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellEffectMeta::Instance(), HOTFIX_SEL_SPELL_EFFECT); return &loadInfo; } }; @@ -4223,13 +4258,13 @@ struct SpellInterruptsLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_INT, "SpellID" }, + { false, FT_BYTE, "DifficultyID" }, + { false, FT_SHORT, "InterruptFlags" }, { false, FT_INT, "AuraInterruptFlags1" }, { false, FT_INT, "AuraInterruptFlags2" }, { false, FT_INT, "ChannelInterruptFlags1" }, { false, FT_INT, "ChannelInterruptFlags2" }, - { false, FT_SHORT, "InterruptFlags" }, - { false, FT_BYTE, "DifficultyID" }, + { false, FT_INT, "SpellID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellInterruptsMeta::Instance(), HOTFIX_SEL_SPELL_INTERRUPTS); return &loadInfo; @@ -4243,10 +4278,10 @@ struct SpellItemEnchantmentLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, { false, FT_INT, "EffectSpellID1" }, { false, FT_INT, "EffectSpellID2" }, { false, FT_INT, "EffectSpellID3" }, - { false, FT_STRING, "Name" }, { false, FT_FLOAT, "EffectScalingPoints1" }, { false, FT_FLOAT, "EffectScalingPoints2" }, { false, FT_FLOAT, "EffectScalingPoints3" }, @@ -4283,6 +4318,11 @@ struct SpellItemEnchantmentConditionLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, + { false, FT_INT, "LTOperand1" }, + { false, FT_INT, "LTOperand2" }, + { false, FT_INT, "LTOperand3" }, + { false, FT_INT, "LTOperand4" }, + { false, FT_INT, "LTOperand5" }, { false, FT_BYTE, "LTOperandType1" }, { false, FT_BYTE, "LTOperandType2" }, { false, FT_BYTE, "LTOperandType3" }, @@ -4308,11 +4348,6 @@ struct SpellItemEnchantmentConditionLoadInfo { false, FT_BYTE, "Logic3" }, { false, FT_BYTE, "Logic4" }, { false, FT_BYTE, "Logic5" }, - { false, FT_INT, "LTOperand1" }, - { false, FT_INT, "LTOperand2" }, - { false, FT_INT, "LTOperand3" }, - { false, FT_INT, "LTOperand4" }, - { false, FT_INT, "LTOperand5" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellItemEnchantmentConditionMeta::Instance(), HOTFIX_SEL_SPELL_ITEM_ENCHANTMENT_CONDITION); return &loadInfo; @@ -4342,12 +4377,12 @@ struct SpellLevelsLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_INT, "SpellID" }, { false, FT_SHORT, "BaseLevel" }, { false, FT_SHORT, "MaxLevel" }, { false, FT_SHORT, "SpellLevel" }, { false, FT_BYTE, "DifficultyID" }, { false, FT_BYTE, "MaxUsableLevel" }, + { false, FT_INT, "SpellID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellLevelsMeta::Instance(), HOTFIX_SEL_SPELL_LEVELS); return &loadInfo; @@ -4361,6 +4396,15 @@ struct SpellMiscLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, + { false, FT_SHORT, "CastingTimeIndex" }, + { false, FT_SHORT, "DurationIndex" }, + { false, FT_SHORT, "RangeIndex" }, + { false, FT_BYTE, "SchoolMask" }, + { false, FT_INT, "IconFileDataID" }, + { false, FT_FLOAT, "Speed" }, + { false, FT_INT, "ActiveIconFileDataID" }, + { false, FT_FLOAT, "MultistrikeSpeedMod" }, + { false, FT_BYTE, "DifficultyID" }, { false, FT_INT, "Attributes" }, { false, FT_INT, "AttributesEx" }, { false, FT_INT, "AttributesExB" }, @@ -4375,14 +4419,7 @@ struct SpellMiscLoadInfo { false, FT_INT, "AttributesExK" }, { false, FT_INT, "AttributesExL" }, { false, FT_INT, "AttributesExM" }, - { false, FT_FLOAT, "Speed" }, - { false, FT_FLOAT, "MultistrikeSpeedMod" }, - { false, FT_SHORT, "CastingTimeIndex" }, - { false, FT_SHORT, "DurationIndex" }, - { false, FT_SHORT, "RangeIndex" }, - { false, FT_BYTE, "SchoolMask" }, - { false, FT_INT, "IconFileDataID" }, - { false, FT_INT, "ActiveIconFileDataID" }, + { false, FT_INT, "SpellID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellMiscMeta::Instance(), HOTFIX_SEL_SPELL_MISC); return &loadInfo; @@ -4395,7 +4432,6 @@ struct SpellPowerLoadInfo { static DB2FieldMeta const fields[] = { - { false, FT_INT, "SpellID" }, { true, FT_INT, "ManaCost" }, { false, FT_FLOAT, "ManaCostPercentage" }, { false, FT_FLOAT, "ManaCostPercentagePerSecond" }, @@ -4409,6 +4445,7 @@ struct SpellPowerLoadInfo { true, FT_INT, "ManaCostAdditional" }, { false, FT_INT, "PowerDisplayID" }, { false, FT_INT, "UnitPowerBarID" }, + { false, FT_INT, "SpellID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellPowerMeta::Instance(), HOTFIX_SEL_SPELL_POWER); return &loadInfo; @@ -4454,8 +4491,8 @@ struct SpellProcsPerMinuteModLoadInfo { false, FT_INT, "ID" }, { false, FT_FLOAT, "Coeff" }, { false, FT_SHORT, "Param" }, - { false, FT_SHORT, "SpellProcsPerMinuteID" }, { false, FT_BYTE, "Type" }, + { false, FT_SHORT, "SpellProcsPerMinuteID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellProcsPerMinuteModMeta::Instance(), HOTFIX_SEL_SPELL_PROCS_PER_MINUTE_MOD); return &loadInfo; @@ -4486,12 +4523,12 @@ struct SpellRangeLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, + { false, FT_STRING, "DisplayName" }, + { false, FT_STRING, "DisplayNameShort" }, { false, FT_FLOAT, "MinRangeHostile" }, { false, FT_FLOAT, "MinRangeFriend" }, { false, FT_FLOAT, "MaxRangeHostile" }, { false, FT_FLOAT, "MaxRangeFriend" }, - { false, FT_STRING, "DisplayName" }, - { false, FT_STRING, "DisplayNameShort" }, { false, FT_BYTE, "Flags" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellRangeMeta::Instance(), HOTFIX_SEL_SPELL_RANGE); @@ -4606,7 +4643,6 @@ struct SpellTargetRestrictionsLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_INT, "SpellID" }, { false, FT_FLOAT, "ConeAngle" }, { false, FT_FLOAT, "Width" }, { false, FT_INT, "Targets" }, @@ -4614,6 +4650,7 @@ struct SpellTargetRestrictionsLoadInfo { false, FT_BYTE, "DifficultyID" }, { false, FT_BYTE, "MaxAffectedTargets" }, { false, FT_INT, "MaxTargetLevel" }, + { false, FT_INT, "SpellID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellTargetRestrictionsMeta::Instance(), HOTFIX_SEL_SPELL_TARGET_RESTRICTIONS); return &loadInfo; @@ -4644,7 +4681,6 @@ struct SpellXSpellVisualLoadInfo { static DB2FieldMeta const fields[] = { - { false, FT_INT, "SpellID" }, { false, FT_INT, "SpellVisualID" }, { false, FT_INT, "ID" }, { false, FT_FLOAT, "Chance" }, @@ -4657,6 +4693,7 @@ struct SpellXSpellVisualLoadInfo { false, FT_BYTE, "Flags" }, { false, FT_BYTE, "DifficultyID" }, { false, FT_BYTE, "Priority" }, + { false, FT_INT, "SpellID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellXSpellVisualMeta::Instance(), HOTFIX_SEL_SPELL_X_SPELL_VISUAL); return &loadInfo; @@ -4717,9 +4754,9 @@ struct TalentLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, + { false, FT_STRING, "Description" }, { false, FT_INT, "SpellID" }, { false, FT_INT, "OverridesSpellID" }, - { false, FT_STRING, "Description" }, { false, FT_SHORT, "SpecID" }, { false, FT_BYTE, "TierID" }, { false, FT_BYTE, "ColumnIndex" }, @@ -4740,10 +4777,10 @@ struct TaxiNodesLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, { false, FT_FLOAT, "PosX" }, { false, FT_FLOAT, "PosY" }, { false, FT_FLOAT, "PosZ" }, - { false, FT_STRING, "Name" }, { false, FT_INT, "MountCreatureID1" }, { false, FT_INT, "MountCreatureID2" }, { false, FT_FLOAT, "MapOffsetX" }, @@ -4824,8 +4861,8 @@ struct ToyLoadInfo { static DB2FieldMeta const fields[] = { - { false, FT_INT, "ItemID" }, { false, FT_STRING, "Description" }, + { false, FT_INT, "ItemID" }, { false, FT_BYTE, "Flags" }, { false, FT_BYTE, "CategoryFilter" }, { false, FT_INT, "ID" }, @@ -4908,12 +4945,12 @@ struct TransportAnimationLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_INT, "TransportID" }, { false, FT_INT, "TimeIndex" }, { false, FT_FLOAT, "PosX" }, { false, FT_FLOAT, "PosY" }, { false, FT_FLOAT, "PosZ" }, { false, FT_BYTE, "SequenceID" }, + { false, FT_INT, "TransportID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, TransportAnimationMeta::Instance(), HOTFIX_SEL_TRANSPORT_ANIMATION); return &loadInfo; @@ -4927,12 +4964,12 @@ struct TransportRotationLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_INT, "TransportID" }, { false, FT_INT, "TimeIndex" }, { false, FT_FLOAT, "X" }, { false, FT_FLOAT, "Y" }, { false, FT_FLOAT, "Z" }, { false, FT_FLOAT, "W" }, + { false, FT_INT, "TransportID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, TransportRotationMeta::Instance(), HOTFIX_SEL_TRANSPORT_ROTATION); return &loadInfo; @@ -4946,6 +4983,10 @@ struct UnitPowerBarLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_STRING, "Cost" }, + { false, FT_STRING, "OutOfError" }, + { false, FT_STRING, "ToolTip" }, { false, FT_FLOAT, "RegenerationPeace" }, { false, FT_FLOAT, "RegenerationCombat" }, { false, FT_INT, "FileDataID1" }, @@ -4960,10 +5001,6 @@ struct UnitPowerBarLoadInfo { false, FT_INT, "Color4" }, { false, FT_INT, "Color5" }, { false, FT_INT, "Color6" }, - { false, FT_STRING, "Name" }, - { false, FT_STRING, "Cost" }, - { false, FT_STRING, "OutOfError" }, - { false, FT_STRING, "ToolTip" }, { false, FT_FLOAT, "StartInset" }, { false, FT_FLOAT, "EndInset" }, { false, FT_SHORT, "StartPower" }, @@ -5102,9 +5139,8 @@ struct WmoAreaTableLoadInfo { static DB2FieldMeta const fields[] = { - { true, FT_INT, "WMOGroupID" }, { false, FT_STRING, "AreaName" }, - { true, FT_SHORT, "WMOID" }, + { true, FT_INT, "WMOGroupID" }, { false, FT_SHORT, "AmbienceID" }, { false, FT_SHORT, "ZoneMusic" }, { false, FT_SHORT, "IntroSound" }, @@ -5117,6 +5153,7 @@ struct WmoAreaTableLoadInfo { false, FT_BYTE, "Flags" }, { false, FT_INT, "ID" }, { false, FT_INT, "UWZoneMusic" }, + { true, FT_SHORT, "WMOID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, WMOAreaTableMeta::Instance(), HOTFIX_SEL_WMO_AREA_TABLE); return &loadInfo; @@ -5177,8 +5214,8 @@ struct WorldMapOverlayLoadInfo { static DB2FieldMeta const fields[] = { - { false, FT_INT, "ID" }, { false, FT_STRING_NOT_LOCALIZED, "TextureName" }, + { false, FT_INT, "ID" }, { false, FT_SHORT, "TextureWidth" }, { false, FT_SHORT, "TextureHeight" }, { false, FT_INT, "MapAreaID" }, @@ -5236,11 +5273,11 @@ struct WorldSafeLocsLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, + { false, FT_STRING, "AreaName" }, { false, FT_FLOAT, "LocX" }, { false, FT_FLOAT, "LocY" }, { false, FT_FLOAT, "LocZ" }, { false, FT_FLOAT, "Facing" }, - { false, FT_STRING, "AreaName" }, { false, FT_SHORT, "MapID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, WorldSafeLocsMeta::Instance(), HOTFIX_SEL_WORLD_SAFE_LOCS); diff --git a/src/server/game/DataStores/DB2Metadata.h b/src/server/game/DataStores/DB2Metadata.h index dee2ad55627..f65b1190066 100644 --- a/src/server/game/DataStores/DB2Metadata.h +++ b/src/server/game/DataStores/DB2Metadata.h @@ -24,10 +24,9 @@ struct AchievementMeta { static DB2Meta const* Instance() { - static char const* types = "ssishhhhhbbbiii"; + static char const* types = "sssihhhhhbbbiii"; static uint8 const arraySizes[15] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[15] = { "", "", uint32(0), "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(12, 15, 0xECD1BB04, types, arraySizes, fieldDefaults); + static DB2Meta instance(12, 15, 0x2C4BE18C, types, arraySizes, 7); return &instance; } }; @@ -38,8 +37,7 @@ struct Achievement_CategoryMeta { static char const* types = "shbi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint8(0), uint32(0) }; - static DB2Meta instance(3, 4, 0xED226BC9, types, arraySizes, fieldDefaults); + static DB2Meta instance(3, 4, 0xED226BC9, types, arraySizes, 2); return &instance; } }; @@ -48,10 +46,9 @@ struct AdventureJournalMeta { static DB2Meta const* Instance() { - static char const* types = "sssiisshhhhhhbbbbbbbii"; + static char const* types = "sssssiihhhhhhbbbbbbbii"; 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, 0xF07172ED, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 22, 0xB2FFA8DD, types, arraySizes, -1); return &instance; } }; @@ -60,10 +57,31 @@ struct AdventureMapPOIMeta { static DB2Meta const* Instance() { - static char const* types = "fissbiiiiiiii"; - static uint8 const arraySizes[13] = { 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0x3B9015FC, types, arraySizes, fieldDefaults); + static char const* types = "ssfibiiiiiiii"; + static uint8 const arraySizes[13] = { 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2Meta instance(-1, 13, 0x0C288A82, types, arraySizes, -1); + return &instance; + } +}; + +struct AlliedRaceMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "iiiiiiii"; + static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2Meta instance(1, 8, 0xB13ABE04, types, arraySizes, -1); + return &instance; + } +}; + +struct AlliedRaceRacialAbilityMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "ssbii"; + static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; + static DB2Meta instance(-1, 5, 0x9EBF9B09, types, arraySizes, 4); return &instance; } }; @@ -74,8 +92,7 @@ struct AnimKitMeta { static char const* types = "ihh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint16(0) }; - static DB2Meta instance(-1, 3, 0x81D6D250, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x81D6D250, types, arraySizes, -1); return &instance; } }; @@ -86,8 +103,7 @@ struct AnimKitBoneSetMeta { static char const* types = "sbbbb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { "", uint8(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 5, 0xFE4B9B1F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0xFE4B9B1F, types, arraySizes, -1); return &instance; } }; @@ -98,8 +114,7 @@ struct AnimKitBoneSetAliasMeta { 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, 0xEA8B67BC, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xEA8B67BC, types, arraySizes, -1); return &instance; } }; @@ -110,8 +125,7 @@ struct AnimKitConfigMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; - static DB2Meta instance(-1, 1, 0x8A70ED4C, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x8A70ED4C, types, arraySizes, -1); return &instance; } }; @@ -120,10 +134,9 @@ struct AnimKitConfigBoneSetMeta { static DB2Meta const* Instance() { - static char const* types = "hhb"; + static char const* types = "hbh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0xA86B7D13, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x3D9B3BA7, types, arraySizes, 2); return &instance; } }; @@ -134,8 +147,7 @@ struct AnimKitPriorityMeta { static char const* types = "b"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { uint8(0) }; - static DB2Meta instance(-1, 1, 0x5E93C107, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x5E93C107, types, arraySizes, -1); return &instance; } }; @@ -144,10 +156,9 @@ struct AnimKitReplacementMeta { static DB2Meta const* Instance() { - static char const* types = "hhhhi"; + static char const* types = "hhhih"; 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, 0xA02C2B1F, types, arraySizes, fieldDefaults); + static DB2Meta instance(3, 5, 0x0735DB83, types, arraySizes, 4); return &instance; } }; @@ -158,8 +169,7 @@ struct AnimKitSegmentMeta { static char const* types = "iiifihhhhhhbbbbbbi"; static uint8 const arraySizes[18] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[18] = { uint32(0), uint32(0), uint32(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), uint32(0) }; - static DB2Meta instance(-1, 18, 0x08F09B89, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 18, 0x08F09B89, types, arraySizes, 5); return &instance; } }; @@ -168,10 +178,9 @@ struct AnimReplacementMeta { static DB2Meta const* Instance() { - static char const* types = "hhhhi"; + static char const* types = "hhhih"; 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, 0x5A3CE749, types, arraySizes, fieldDefaults); + static DB2Meta instance(3, 5, 0x2C8B0F35, types, arraySizes, 4); return &instance; } }; @@ -182,8 +191,7 @@ struct AnimReplacementSetMeta { static char const* types = "b"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { uint8(0) }; - static DB2Meta instance(-1, 1, 0x3761247A, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x3761247A, types, arraySizes, -1); return &instance; } }; @@ -194,8 +202,7 @@ struct AnimationDataMeta { static char const* types = "ihhb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x03182786, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x03182786, types, arraySizes, -1); return &instance; } }; @@ -206,8 +213,7 @@ struct AreaFarClipOverrideMeta { static char const* types = "iffii"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { uint32(0), float(0), float(0), uint32(0), uint32(0) }; - static DB2Meta instance(4, 5, 0xEB5921CC, types, arraySizes, fieldDefaults); + static DB2Meta instance(4, 5, 0xEB5921CC, types, arraySizes, -1); return &instance; } }; @@ -218,8 +224,7 @@ struct AreaGroupMemberMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0x5090E5D2, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x50AA43EE, types, arraySizes, 1); return &instance; } }; @@ -228,10 +233,9 @@ struct AreaPOIMeta { static DB2Meta const* Instance() { - static char const* types = "ifssiihhhhbbiiii"; - static uint8 const arraySizes[16] = { 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[16] = { uint32(0), float(0), "", "", uint32(0), uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 16, 0xEF88CC36, types, arraySizes, fieldDefaults); + static char const* types = "ssifiihhhhbbiiii"; + static uint8 const arraySizes[16] = { 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2Meta instance(-1, 16, 0xB161EE90, types, arraySizes, -1); return &instance; } }; @@ -240,10 +244,9 @@ struct AreaPOIStateMeta { static DB2Meta const* Instance() { - static char const* types = "shbbi"; + static char const* types = "sbbih"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { "", uint16(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 5, 0x847BC2B0, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x673BDA80, types, arraySizes, 4); return &instance; } }; @@ -252,10 +255,9 @@ struct AreaTableMeta { static DB2Meta const* Instance() { - 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 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, 0x81DA5CCB, types, arraySizes, fieldDefaults); + static char const* types = "ssifhhhhhhhhhhbbbbbbbbi"; + static uint8 const arraySizes[23] = { 1, 1, 2, 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, 0x0CA01129, types, arraySizes, -1); return &instance; } }; @@ -266,8 +268,7 @@ 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 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, 0x378573E8, types, arraySizes, fieldDefaults); + static DB2Meta instance(14, 15, 0x378573E8, types, arraySizes, 6); return &instance; } }; @@ -278,8 +279,7 @@ struct AreaTriggerActionSetMeta { static char const* types = "h"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { uint16(0) }; - static DB2Meta instance(-1, 1, 0x5DA480BD, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x5DA480BD, types, arraySizes, -1); return &instance; } }; @@ -290,8 +290,7 @@ struct AreaTriggerBoxMeta { static char const* types = "f"; static uint8 const arraySizes[1] = { 3 }; - static DB2FieldDefault const fieldDefaults[1] = { float(0) }; - static DB2Meta instance(-1, 1, 0x602CFDA6, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x602CFDA6, types, arraySizes, -1); return &instance; } }; @@ -302,8 +301,7 @@ struct AreaTriggerCylinderMeta { static char const* types = "fff"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { float(0), float(0), float(0) }; - static DB2Meta instance(-1, 3, 0x26D4052D, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x26D4052D, types, arraySizes, -1); return &instance; } }; @@ -314,8 +312,7 @@ struct AreaTriggerSphereMeta { static char const* types = "f"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { float(0) }; - static DB2Meta instance(-1, 1, 0x9141AC7F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x9141AC7F, types, arraySizes, -1); return &instance; } }; @@ -326,8 +323,7 @@ struct ArmorLocationMeta { static char const* types = "fffff"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), float(0), float(0), float(0) }; - static DB2Meta instance(-1, 5, 0xCCFBD16E, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0xCCFBD16E, types, arraySizes, -1); return &instance; } }; @@ -338,8 +334,7 @@ struct ArtifactMeta { 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, 0x76CF31A8, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 10, 0x76CF31A8, types, arraySizes, -1); return &instance; } }; @@ -350,8 +345,7 @@ struct ArtifactAppearanceMeta { 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 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, 0xAEED7395, types, arraySizes, fieldDefaults); + static DB2Meta instance(11, 15, 0xAEED7395, types, arraySizes, 5); return &instance; } }; @@ -360,10 +354,9 @@ struct ArtifactAppearanceSetMeta { static DB2Meta const* Instance() { - static char const* types = "sshhbbbbi"; + static char const* types = "sshhbbbib"; static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[9] = { "", "", uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(8, 9, 0xF3308990, types, arraySizes, fieldDefaults); + static DB2Meta instance(7, 9, 0x53DFED74, types, arraySizes, 8); return &instance; } }; @@ -374,8 +367,7 @@ struct ArtifactCategoryMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0x21328475, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x21328475, types, arraySizes, -1); return &instance; } }; @@ -386,8 +378,7 @@ struct ArtifactPowerMeta { 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, 0x45240818, types, arraySizes, fieldDefaults); + static DB2Meta instance(5, 7, 0x45240818, types, arraySizes, 1); return &instance; } }; @@ -398,8 +389,7 @@ struct ArtifactPowerLinkMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0xE179618C, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xE179618C, types, arraySizes, -1); return &instance; } }; @@ -410,8 +400,7 @@ struct ArtifactPowerPickerMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; - static DB2Meta instance(-1, 1, 0x2D6AF006, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x2D6AF006, types, arraySizes, -1); return &instance; } }; @@ -420,10 +409,9 @@ struct ArtifactPowerRankMeta { static DB2Meta const* Instance() { - static char const* types = "ifhhb"; + static char const* types = "ifhbh"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { uint32(0), float(0), uint16(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 5, 0x137FD462, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0xA87EACC4, types, arraySizes, 4); return &instance; } }; @@ -434,8 +422,7 @@ struct ArtifactQuestXPMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 10 }; - static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; - static DB2Meta instance(-1, 1, 0xFBBEEF86, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x86397302, types, arraySizes, -1); return &instance; } }; @@ -446,8 +433,7 @@ struct ArtifactTierMeta { 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(-1, 5, 0x1A5A50B9, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x1A5A50B9, types, arraySizes, -1); return &instance; } }; @@ -456,10 +442,9 @@ struct ArtifactUnlockMeta { static DB2Meta const* Instance() { - static char const* types = "hbbii"; + static char const* types = "hbiib"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 5, 0x8F325A85, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x52839A77, types, arraySizes, 4); return &instance; } }; @@ -470,8 +455,7 @@ struct AuctionHouseMeta { static char const* types = "shbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x51CFEEFF, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x51CFEEFF, types, arraySizes, -1); return &instance; } }; @@ -482,8 +466,7 @@ struct BankBagSlotPricesMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; - static DB2Meta instance(-1, 1, 0xEA0AC2AA, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0xEA0AC2AA, types, arraySizes, -1); return &instance; } }; @@ -494,8 +477,7 @@ struct BannedAddonsMeta { static char const* types = "ssb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { "", "", uint8(0) }; - static DB2Meta instance(-1, 3, 0xF779B6E5, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xF779B6E5, types, arraySizes, -1); return &instance; } }; @@ -506,8 +488,7 @@ struct BarberShopStyleMeta { static char const* types = "ssfbbbbi"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[8] = { "", "", float(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(7, 8, 0x670C71AE, types, arraySizes, fieldDefaults); + static DB2Meta instance(7, 8, 0x670C71AE, types, arraySizes, -1); return &instance; } }; @@ -516,10 +497,9 @@ struct BattlePetAbilityMeta { static DB2Meta const* Instance() { - static char const* types = "isshbbi"; + static char const* types = "ssihbbi"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { uint32(0), "", "", uint16(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 7, 0x70E6EB47, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 7, 0x0F29944D, types, arraySizes, -1); return &instance; } }; @@ -530,8 +510,7 @@ struct BattlePetAbilityEffectMeta { static char const* types = "hhhhhbi"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 6, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint32(0) }; - static DB2Meta instance(6, 7, 0x5D30EBC5, types, arraySizes, fieldDefaults); + static DB2Meta instance(6, 7, 0x5D30EBC5, types, arraySizes, 0); return &instance; } }; @@ -540,10 +519,9 @@ struct BattlePetAbilityStateMeta { static DB2Meta const* Instance() { - static char const* types = "ihb"; + static char const* types = "ibh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0xEB92CA24, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x0E40A884, types, arraySizes, 2); return &instance; } }; @@ -554,8 +532,7 @@ struct BattlePetAbilityTurnMeta { static char const* types = "hhbbbi"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(5, 6, 0xCB063F4F, types, arraySizes, fieldDefaults); + static DB2Meta instance(5, 6, 0xCB063F4F, types, arraySizes, 0); return &instance; } }; @@ -566,8 +543,7 @@ struct BattlePetBreedQualityMeta { static char const* types = "fb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { float(0), uint8(0) }; - static DB2Meta instance(-1, 2, 0xBDE74E1D, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xBDE74E1D, types, arraySizes, -1); return &instance; } }; @@ -578,8 +554,18 @@ struct BattlePetBreedStateMeta { static char const* types = "hbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0xF83140B5, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x68D5C999, types, arraySizes, 2); + return &instance; + } +}; + +struct BattlePetDisplayOverrideMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "iiib"; + static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; + static DB2Meta instance(-1, 4, 0xDE5129EA, types, arraySizes, -1); return &instance; } }; @@ -590,8 +576,7 @@ struct BattlePetEffectPropertiesMeta { static char const* types = "shb"; static uint8 const arraySizes[3] = { 6, 1, 6 }; - static DB2FieldDefault const fieldDefaults[3] = { "", uint16(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0x56070751, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x56070751, types, arraySizes, -1); return &instance; } }; @@ -602,8 +587,7 @@ struct BattlePetNPCTeamMemberMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0x4423F004, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x4423F004, types, arraySizes, -1); return &instance; } }; @@ -612,10 +596,9 @@ struct BattlePetSpeciesMeta { static DB2Meta const* Instance() { - static char const* types = "iiisshbbiii"; + static char const* types = "ssiiihbbiii"; 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, 0x4B260652, types, arraySizes, fieldDefaults); + static DB2Meta instance(8, 11, 0x8A3D97A4, types, arraySizes, -1); return &instance; } }; @@ -624,10 +607,9 @@ struct BattlePetSpeciesStateMeta { static DB2Meta const* Instance() { - static char const* types = "ihb"; + static char const* types = "ibh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0xDF3FD8BC, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x8F958D5C, types, arraySizes, 2); return &instance; } }; @@ -636,10 +618,9 @@ struct BattlePetSpeciesXAbilityMeta { static DB2Meta const* Instance() { - static char const* types = "hhbb"; + static char const* types = "hbbh"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x2A8E4E6A, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x9EE27D6A, types, arraySizes, 3); return &instance; } }; @@ -650,8 +631,7 @@ struct BattlePetStateMeta { static char const* types = "shh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { "", uint16(0), uint16(0) }; - static DB2Meta instance(-1, 3, 0x1797AB4A, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x1797AB4A, types, arraySizes, -1); return &instance; } }; @@ -660,10 +640,9 @@ struct BattlePetVisualMeta { static DB2Meta const* Instance() { - static char const* types = "ishhhbb"; + static char const* types = "sihhhbb"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { uint32(0), "", uint16(0), uint16(0), uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 7, 0x5EE6A1F2, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 7, 0x097E0F6C, types, arraySizes, -1); return &instance; } }; @@ -672,10 +651,9 @@ struct BattlemasterListMeta { static DB2Meta const* Instance() { - static char const* types = "sissshhhbbbbbbbbb"; + static char const* types = "ssssihhhbbbbbbbbb"; 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, 0x4A89A6B2, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 17, 0xD8AAA088, types, arraySizes, -1); return &instance; } }; @@ -686,8 +664,7 @@ struct BeamEffectMeta { 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, 0x42C18603, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 10, 0x42C18603, types, arraySizes, -1); return &instance; } }; @@ -698,8 +675,7 @@ struct BoneWindModifierModelMeta { 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, 0x577A0772, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x577A0772, types, arraySizes, 0); return &instance; } }; @@ -710,8 +686,7 @@ struct BoneWindModifiersMeta { static char const* types = "ff"; static uint8 const arraySizes[2] = { 3, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { float(0), float(0) }; - static DB2Meta instance(-1, 2, 0xB4E7449E, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xB4E7449E, types, arraySizes, -1); return &instance; } }; @@ -720,10 +695,9 @@ struct BountyMeta { static DB2Meta const* Instance() { - static char const* types = "ihhbi"; + static char const* types = "ihhib"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint16(0), uint16(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 5, 0x10991B3A, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0xE76E716C, types, arraySizes, 4); return &instance; } }; @@ -734,8 +708,7 @@ struct BountySetMeta { static char const* types = "hi"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint32(0) }; - static DB2Meta instance(-1, 2, 0x96B908A5, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x96B908A5, types, arraySizes, -1); return &instance; } }; @@ -745,9 +718,8 @@ struct BroadcastTextMeta static DB2Meta const* Instance() { static char const* types = "sshhhbbii"; - static uint8 const arraySizes[9] = { 1, 1, 3, 3, 1, 1, 1, 2, 1 }; - static DB2FieldDefault const fieldDefaults[9] = { "", "", uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 9, 0xC5965DBB, types, arraySizes, fieldDefaults); + static uint8 const arraySizes[9] = { 1, 1, 3, 3, 1, 1, 1, 1, 2 }; + static DB2Meta instance(-1, 9, 0x51BF0C33, types, arraySizes, -1); return &instance; } }; @@ -758,8 +730,7 @@ struct CameraEffectMeta { static char const* types = "b"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { uint8(0) }; - static DB2Meta instance(-1, 1, 0xF6AB4622, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0xF6AB4622, types, arraySizes, -1); return &instance; } }; @@ -768,10 +739,9 @@ struct CameraEffectEntryMeta { static DB2Meta const* Instance() { - static char const* types = "ffffffffhhbbbbbb"; + static char const* types = "ffffffffhbbbbbbh"; static uint8 const arraySizes[16] = { 1, 1, 1, 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), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 16, 0x0CAA2689, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 16, 0xC5105557, types, arraySizes, 15); return &instance; } }; @@ -782,8 +752,7 @@ struct CameraModeMeta { static char const* types = "fffffhbbbbb"; static uint8 const arraySizes[11] = { 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0xCDB6BC2F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 11, 0xCDB6BC2F, types, arraySizes, -1); return &instance; } }; @@ -794,8 +763,7 @@ struct CastableRaidBuffsMeta { 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, 0xCA0B29B8, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x5BDD4028, types, arraySizes, 1); return &instance; } }; @@ -806,8 +774,7 @@ struct CelestialBodyMeta { 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, 0xD09BE31C, types, arraySizes, fieldDefaults); + static DB2Meta instance(14, 15, 0xD09BE31C, types, arraySizes, -1); return &instance; } }; @@ -818,8 +785,7 @@ struct Cfg_CategoriesMeta { static char const* types = "shbbb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { "", uint16(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 5, 0x705B82C8, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x705B82C8, types, arraySizes, -1); return &instance; } }; @@ -830,8 +796,7 @@ struct Cfg_ConfigsMeta { static char const* types = "fhbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { float(0), uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0xC618392F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0xC618392F, types, arraySizes, -1); return &instance; } }; @@ -842,8 +807,7 @@ struct Cfg_RegionsMeta { static char const* types = "siihb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { "", uint32(0), uint32(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 5, 0x9F4272BF, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x9F4272BF, types, arraySizes, -1); return &instance; } }; @@ -854,8 +818,7 @@ struct CharBaseInfoMeta { 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, 0x9E9939B8, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x9E9939B8, types, arraySizes, -1); return &instance; } }; @@ -866,8 +829,7 @@ struct CharBaseSectionMeta { static char const* types = "bbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0x4F08B5F3, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x4F08B5F3, types, arraySizes, -1); return &instance; } }; @@ -878,8 +840,7 @@ struct CharComponentTextureLayoutsMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0x0F515E34, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x0F515E34, types, arraySizes, -1); return &instance; } }; @@ -888,10 +849,9 @@ struct CharComponentTextureSectionsMeta { static DB2Meta const* Instance() { - static char const* types = "hhhhbbb"; + static char const* types = "ihhhhbb"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 7, 0x4E53231B, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 7, 0xCE76000F, types, arraySizes, -1); return &instance; } }; @@ -902,8 +862,7 @@ struct CharHairGeosetsMeta { static char const* types = "ibbbbbbbbi"; static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0x33EB32D2, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 10, 0x33EB32D2, types, arraySizes, 1); return &instance; } }; @@ -914,8 +873,7 @@ struct CharSectionsMeta { static char const* types = "ihbbbbb"; static uint8 const arraySizes[7] = { 3, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 7, 0xE349E55B, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 7, 0xE349E55B, types, arraySizes, -1); return &instance; } }; @@ -926,8 +884,7 @@ struct CharShipmentMeta { 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, 0xE6D3C7C1, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 9, 0xE6D3C7C1, types, arraySizes, 5); return &instance; } }; @@ -938,8 +895,7 @@ struct CharShipmentContainerMeta { 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 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, 0x194896E3, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 16, 0x194896E3, types, arraySizes, -1); return &instance; } }; @@ -950,8 +906,7 @@ struct CharStartOutfitMeta { static char const* types = "iibbbbb"; static uint8 const arraySizes[7] = { 24, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint32(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 7, 0xA154D994, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 7, 0x0EEBEE24, types, arraySizes, 6); return &instance; } }; @@ -962,8 +917,7 @@ struct CharTitlesMeta { static char const* types = "sshb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { "", "", uint16(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x7A58AA5F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x7A58AA5F, types, arraySizes, -1); return &instance; } }; @@ -972,10 +926,9 @@ struct CharacterFaceBoneSetMeta { static DB2Meta const* Instance() { - static char const* types = "ibbb"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x4D109D66, types, arraySizes, fieldDefaults); + static char const* types = "ibbbb"; + static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; + static DB2Meta instance(-1, 5, 0x1C634076, types, arraySizes, 4); return &instance; } }; @@ -986,8 +939,7 @@ struct CharacterFacialHairStylesMeta { static char const* types = "ibbb"; static uint8 const arraySizes[4] = { 5, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x47D79688, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x47D79688, types, arraySizes, -1); return &instance; } }; @@ -996,10 +948,9 @@ struct CharacterLoadoutMeta { static DB2Meta const* Instance() { - static char const* types = "ibb"; + static char const* types = "lbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0x04E3F51D, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x87B51673, types, arraySizes, -1); return &instance; } }; @@ -1010,8 +961,18 @@ struct CharacterLoadoutItemMeta { static char const* types = "ih"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0x3C3D40B9, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x3C3D40B9, types, arraySizes, 1); + return &instance; + } +}; + +struct CharacterServiceInfoMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "sssiiiiiiii"; + static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2Meta instance(-1, 11, 0xADE120EF, types, arraySizes, -1); return &instance; } }; @@ -1020,10 +981,9 @@ struct ChatChannelsMeta { static DB2Meta const* Instance() { - static char const* types = "issb"; + static char const* types = "ssib"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), "", "", uint8(0) }; - static DB2Meta instance(-1, 4, 0xC97ED7F6, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x1A325E80, types, arraySizes, -1); return &instance; } }; @@ -1034,8 +994,7 @@ struct ChatProfanityMeta { static char const* types = "sb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) }; - static DB2Meta instance(-1, 2, 0x328E1FE6, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x328E1FE6, types, arraySizes, -1); return &instance; } }; @@ -1046,8 +1005,7 @@ struct ChrClassRaceSexMeta { static char const* types = "bbbiii"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 6, 0x5E29DFA1, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 6, 0x5E29DFA1, types, arraySizes, -1); return &instance; } }; @@ -1058,8 +1016,7 @@ struct ChrClassTitleMeta { static char const* types = "ssb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { "", "", uint8(0) }; - static DB2Meta instance(-1, 3, 0xC155DB2C, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xC155DB2C, types, arraySizes, -1); return &instance; } }; @@ -1070,8 +1027,7 @@ struct ChrClassUIDisplayMeta { static char const* types = "bii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 3, 0x59A95A73, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x59A95A73, types, arraySizes, -1); return &instance; } }; @@ -1082,8 +1038,7 @@ struct ChrClassVillainMeta { static char const* types = "sbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0xA6AC18CD, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xA6AC18CD, types, arraySizes, -1); return &instance; } }; @@ -1092,10 +1047,9 @@ struct ChrClassesMeta { static DB2Meta const* Instance() { - 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 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, 0x8881D5B2, types, arraySizes, fieldDefaults); + static char const* types = "sssssiiiiihhhbbbbbbi"; + 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(19, 20, 0x6F7AB8E7, types, arraySizes, -1); return &instance; } }; @@ -1106,8 +1060,18 @@ struct ChrClassesXPowerTypesMeta { 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, 0xBBF09AA3, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xAF977B23, types, arraySizes, 1); + return &instance; + } +}; + +struct ChrCustomizationMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "siiiii"; + static uint8 const arraySizes[6] = { 1, 1, 1, 1, 3, 1 }; + static DB2Meta instance(-1, 6, 0x71833CE5, types, arraySizes, 5); return &instance; } }; @@ -1116,10 +1080,9 @@ struct ChrRacesMeta { static DB2Meta const* Instance() { - static char const* types = "iiisssssssiiffihhhhbbbbbbbbbbiiii"; - static uint8 const arraySizes[33] = { 1, 1, 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, 3, 3 }; - static DB2FieldDefault const fieldDefaults[33] = { uint32(0), uint32(0), uint32(0), "", "", "", "", "", "", "", uint32(0), uint32(0), float(0), float(0), uint32(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), uint32(0) }; - static DB2Meta instance(-1, 33, 0x608397F0, types, arraySizes, fieldDefaults); + static char const* types = "ssssssiiiiiffiiihhhhbbbbbbbbbbiiiiiiii"; + static uint8 const arraySizes[38] = { 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3 }; + static DB2Meta instance(30, 38, 0x51C511F9, types, arraySizes, -1); return &instance; } }; @@ -1128,10 +1091,9 @@ struct ChrSpecializationMeta { static DB2Meta const* Instance() { - static char const* types = "isssbbbbbiiii"; - static uint8 const arraySizes[13] = { 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0x02E4C36D, types, arraySizes, fieldDefaults); + static char const* types = "sssibbbbbiiii"; + static uint8 const arraySizes[13] = { 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2Meta instance(9, 13, 0x3D86B8F7, types, arraySizes, 4); return &instance; } }; @@ -1140,10 +1102,9 @@ struct ChrUpgradeBucketMeta { static DB2Meta const* Instance() { - static char const* types = "hbi"; + static char const* types = "hib"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint8(0), uint32(0) }; - static DB2Meta instance(2, 3, 0xFC93B024, types, arraySizes, fieldDefaults); + static DB2Meta instance(1, 3, 0xACF64A80, types, arraySizes, 2); return &instance; } }; @@ -1154,8 +1115,7 @@ struct ChrUpgradeBucketSpellMeta { static char const* types = "ih"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0xDF939031, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xDF939031, types, arraySizes, 1); return &instance; } }; @@ -1166,8 +1126,7 @@ struct ChrUpgradeTierMeta { static char const* types = "sbbi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { "", uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(3, 4, 0x2C87937D, types, arraySizes, fieldDefaults); + static DB2Meta instance(3, 4, 0x2C87937D, types, arraySizes, -1); return &instance; } }; @@ -1178,8 +1137,7 @@ struct CinematicCameraMeta { static char const* types = "iffi"; static uint8 const arraySizes[4] = { 1, 3, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), float(0), float(0), uint32(0) }; - static DB2Meta instance(-1, 4, 0x0062B0F4, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x0062B0F4, types, arraySizes, -1); return &instance; } }; @@ -1190,8 +1148,7 @@ struct CinematicSequencesMeta { static char const* types = "ih"; static uint8 const arraySizes[2] = { 1, 8 }; - static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0x470FDA8C, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x470FDA8C, types, arraySizes, -1); return &instance; } }; @@ -1202,8 +1159,7 @@ struct CloakDampeningMeta { static char const* types = "fffffff"; static uint8 const arraySizes[7] = { 5, 5, 2, 2, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { float(0), float(0), float(0), float(0), float(0), float(0), float(0) }; - static DB2Meta instance(-1, 7, 0xB2DF7F2A, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 7, 0xB2DF7F2A, types, arraySizes, -1); return &instance; } }; @@ -1214,8 +1170,7 @@ struct CombatConditionMeta { static char const* types = "hhhhhbbbbbb"; static uint8 const arraySizes[11] = { 1, 1, 1, 2, 2, 2, 2, 1, 2, 2, 1 }; - 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, 0x28D253C6, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 11, 0x28D253C6, types, arraySizes, -1); return &instance; } }; @@ -1226,8 +1181,7 @@ struct CommentatorStartLocationMeta { static char const* types = "fi"; static uint8 const arraySizes[2] = { 3, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { float(0), uint32(0) }; - static DB2Meta instance(-1, 2, 0xEFD540EF, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xEFD540EF, types, arraySizes, -1); return &instance; } }; @@ -1236,10 +1190,9 @@ struct CommentatorTrackedCooldownMeta { static DB2Meta const* Instance() { - static char const* types = "hbbi"; + static char const* types = "bbih"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 4, 0xEE950B2C, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x84985168, types, arraySizes, 3); return &instance; } }; @@ -1250,8 +1203,7 @@ struct ComponentModelFileDataMeta { static char const* types = "bbbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint8(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x25BB55A7, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x25BB55A7, types, arraySizes, -1); return &instance; } }; @@ -1262,8 +1214,7 @@ struct ComponentTextureFileDataMeta { static char const* types = "bbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0x50C58D4F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x50C58D4F, types, arraySizes, -1); return &instance; } }; @@ -1274,8 +1225,7 @@ struct ConfigurationWarningMeta { static char const* types = "si"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { "", uint32(0) }; - static DB2Meta instance(-1, 2, 0x0B350390, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x0B350390, types, arraySizes, -1); return &instance; } }; @@ -1284,10 +1234,9 @@ struct ContributionMeta { static DB2Meta const* Instance() { - static char const* types = "iissii"; + static char const* types = "ssiiii"; 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, 0xE3E9AE34, types, arraySizes, fieldDefaults); + static DB2Meta instance(2, 6, 0x8EDF6090, types, arraySizes, 3); return &instance; } }; @@ -1298,8 +1247,7 @@ struct ConversationLineMeta { static char const* types = "iiihhbbb"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0x032B137B, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 8, 0x032B137B, types, arraySizes, -1); return &instance; } }; @@ -1308,10 +1256,9 @@ struct CreatureMeta { static DB2Meta const* Instance() { - static char const* types = "iiifssssbbbb"; - static uint8 const arraySizes[12] = { 3, 1, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0xA13B6B19, types, arraySizes, fieldDefaults); + static char const* types = "ssssiiifbbbb"; + static uint8 const arraySizes[12] = { 1, 1, 1, 1, 3, 1, 4, 4, 1, 1, 1, 1 }; + static DB2Meta instance(-1, 12, 0xCFB508A9, types, arraySizes, -1); return &instance; } }; @@ -1320,10 +1267,9 @@ struct CreatureDifficultyMeta { static DB2Meta const* Instance() { - static char const* types = "iihbbb"; - static uint8 const arraySizes[6] = { 1, 7, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint32(0), uint16(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 6, 0xB8481E58, types, arraySizes, fieldDefaults); + static char const* types = "ihbbbi"; + static uint8 const arraySizes[6] = { 7, 1, 1, 1, 1, 1 }; + static DB2Meta instance(-1, 6, 0x4291EEC6, types, arraySizes, 5); return &instance; } }; @@ -1334,8 +1280,7 @@ struct CreatureDispXUiCameraMeta { static char const* types = "ih"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0x6E0E7C15, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x6E0E7C15, types, arraySizes, -1); return &instance; } }; @@ -1344,10 +1289,9 @@ struct CreatureDisplayInfoMeta { static DB2Meta const* Instance() { - 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, 0xCFD2D5EF, types, arraySizes, fieldDefaults); + static char const* types = "ifhhbbbiibhfibhihhbifii"; + 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, 3 }; + static DB2Meta instance(0, 23, 0x406268DF, types, arraySizes, -1); return &instance; } }; @@ -1356,10 +1300,9 @@ struct CreatureDisplayInfoCondMeta { static DB2Meta const* Instance() { - static char const* types = "iiiiibbiiiiiiii"; - static uint8 const arraySizes[15] = { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 }; - static DB2FieldDefault const fieldDefaults[15] = { uint32(0), 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) }; - static DB2Meta instance(-1, 15, 0x223879D9, types, arraySizes, fieldDefaults); + static char const* types = "liiibbiiiiiiiii"; + static uint8 const arraySizes[15] = { 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1 }; + static DB2Meta instance(-1, 15, 0x26CD44AB, types, arraySizes, 14); return &instance; } }; @@ -1368,10 +1311,9 @@ struct CreatureDisplayInfoEvtMeta { static DB2Meta const* Instance() { - static char const* types = "iiib"; + static char const* types = "iibi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint32(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x72705163, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x3FEF69BB, types, arraySizes, 3); return &instance; } }; @@ -1382,8 +1324,7 @@ 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 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, 0x6DF98EF6, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 12, 0x6DF98EF6, types, arraySizes, -1); return &instance; } }; @@ -1392,10 +1333,9 @@ struct CreatureDisplayInfoTrnMeta { static DB2Meta const* Instance() { - static char const* types = "iifii"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), float(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 5, 0x04148090, types, arraySizes, fieldDefaults); + static char const* types = "ifiiii"; + static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; + static DB2Meta instance(-1, 6, 0x8E687740, types, arraySizes, 5); return &instance; } }; @@ -1404,10 +1344,9 @@ struct CreatureFamilyMeta { static DB2Meta const* Instance() { - static char const* types = "ffsihhbbb"; + static char const* types = "sffihhbbb"; static uint8 const arraySizes[9] = { 1, 1, 1, 1, 2, 1, 1, 1, 1 }; - 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, 0x216FF23E, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 9, 0xE2DC5126, types, arraySizes, -1); return &instance; } }; @@ -1418,8 +1357,7 @@ struct CreatureImmunitiesMeta { static char const* types = "ibbbbbiii"; static uint8 const arraySizes[9] = { 2, 1, 1, 1, 1, 1, 1, 8, 16 }; - 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, 0x1987DDC3, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 9, 0x2D20050B, types, arraySizes, -1); return &instance; } }; @@ -1430,8 +1368,7 @@ 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 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, 0x983BD312, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 28, 0x983BD312, types, arraySizes, -1); return &instance; } }; @@ -1442,8 +1379,7 @@ struct CreatureMovementInfoMeta { static char const* types = "f"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { float(0) }; - static DB2Meta instance(-1, 1, 0x39F710E3, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x39F710E3, types, arraySizes, -1); return &instance; } }; @@ -1453,9 +1389,8 @@ struct CreatureSoundDataMeta static DB2Meta const* Instance() { 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, 0xDC142D11, types, arraySizes, fieldDefaults); + static uint8 const arraySizes[37] = { 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, 5, 4 }; + static DB2Meta instance(-1, 37, 0x7C3C39B9, types, arraySizes, -1); return &instance; } }; @@ -1466,8 +1401,7 @@ struct CreatureTypeMeta { static char const* types = "sb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) }; - static DB2Meta instance(-1, 2, 0x7BA9D2F8, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x7BA9D2F8, types, arraySizes, -1); return &instance; } }; @@ -1478,8 +1412,7 @@ struct CreatureXContributionMeta { 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, 0xFB1F88E8, types, arraySizes, fieldDefaults); + static DB2Meta instance(0, 3, 0x3448DF58, types, arraySizes, 2); return &instance; } }; @@ -1490,8 +1423,7 @@ struct CriteriaMeta { static char const* types = "iiiihhbbbbb"; 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), uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 11, 0xA87A5BB9, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 11, 0xA87A5BB9, types, arraySizes, -1); return &instance; } }; @@ -1500,10 +1432,9 @@ struct CriteriaTreeMeta { static DB2Meta const* Instance() { - static char const* types = "ishbiii"; + static char const* types = "sihbiii"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { uint32(0), "", uint16(0), uint8(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 7, 0xCEDCC5E4, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 7, 0x0A1B99C2, types, arraySizes, -1); return &instance; } }; @@ -1514,8 +1445,7 @@ struct CriteriaTreeXEffectMeta { static char const* types = "hi"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint32(0) }; - static DB2Meta instance(-1, 2, 0x929D9B0C, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x929D9B0C, types, arraySizes, 1); return &instance; } }; @@ -1526,8 +1456,7 @@ struct CurrencyCategoryMeta { static char const* types = "sbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0xC3735D76, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xC3735D76, types, arraySizes, -1); return &instance; } }; @@ -1536,10 +1465,9 @@ struct CurrencyTypesMeta { static DB2Meta const* Instance() { - static char const* types = "siiisbbbii"; + static char const* types = "ssiiibbbii"; 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), "", uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 10, 0x3683A671, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 10, 0x6CC25CBF, types, arraySizes, -1); return &instance; } }; @@ -1550,8 +1478,7 @@ struct CurveMeta { 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, 0x17EA5154, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x17EA5154, types, arraySizes, -1); return &instance; } }; @@ -1562,8 +1489,7 @@ struct CurvePointMeta { static char const* types = "fhb"; static uint8 const arraySizes[3] = { 2, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { float(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0xF36752EB, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xF36752EB, types, arraySizes, -1); return &instance; } }; @@ -1574,8 +1500,7 @@ struct DeathThudLookupsMeta { static char const* types = "bbii"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint8(0), uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 4, 0xD469085C, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0xD469085C, types, arraySizes, -1); return &instance; } }; @@ -1586,8 +1511,7 @@ struct DecalPropertiesMeta { 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, 0x963A1286, types, arraySizes, fieldDefaults); + static DB2Meta instance(0, 17, 0xDD48C72A, types, arraySizes, -1); return &instance; } }; @@ -1598,8 +1522,7 @@ struct DeclinedWordMeta { static char const* types = "si"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { "", uint32(0) }; - static DB2Meta instance(1, 2, 0x3FF5EC3E, types, arraySizes, fieldDefaults); + static DB2Meta instance(1, 2, 0x3FF5EC3E, types, arraySizes, -1); return &instance; } }; @@ -1610,8 +1533,7 @@ struct DeclinedWordCasesMeta { static char const* types = "sbi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint32(0) }; - static DB2Meta instance(-1, 3, 0x821A20A9, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x821A20A9, types, arraySizes, 2); return &instance; } }; @@ -1622,8 +1544,7 @@ 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 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, 0x1092C9AF, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 22, 0x1092C9AF, types, arraySizes, -1); return &instance; } }; @@ -1634,8 +1555,7 @@ struct DeviceBlacklistMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0xD956413D, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xD956413D, types, arraySizes, -1); return &instance; } }; @@ -1646,8 +1566,7 @@ struct DeviceDefaultSettingsMeta { static char const* types = "hhb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0x90CFEC8C, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x90CFEC8C, types, arraySizes, -1); return &instance; } }; @@ -1658,8 +1577,7 @@ struct DifficultyMeta { static char const* types = "shhhbbbbbbbbb"; static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0x92302BB8, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 13, 0x92302BB8, types, arraySizes, -1); return &instance; } }; @@ -1670,8 +1588,7 @@ struct DissolveEffectMeta { static char const* types = "ffffffffbbiiii"; static uint8 const arraySizes[14] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[14] = { 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) }; - static DB2Meta instance(-1, 14, 0x566413E7, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 14, 0x566413E7, types, arraySizes, -1); return &instance; } }; @@ -1682,8 +1599,7 @@ struct DriverBlacklistMeta { static char const* types = "iihbbbb"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 7, 0x1466ACAD, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 7, 0x1466ACAD, types, arraySizes, -1); return &instance; } }; @@ -1694,8 +1610,7 @@ struct DungeonEncounterMeta { static char const* types = "sihbbbiii"; static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0xB04A2596, types, arraySizes, fieldDefaults); + static DB2Meta instance(6, 9, 0xB04A2596, types, arraySizes, 2); return &instance; } }; @@ -1706,8 +1621,7 @@ struct DungeonMapMeta { static char const* types = "ffhhbbbi"; static uint8 const arraySizes[8] = { 2, 2, 1, 1, 1, 1, 1, 1 }; - 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, 0xB5A245F4, types, arraySizes, fieldDefaults); + static DB2Meta instance(7, 8, 0xB5A245F4, types, arraySizes, 2); return &instance; } }; @@ -1718,8 +1632,7 @@ struct DungeonMapChunkMeta { static char const* types = "fihhh"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { float(0), uint32(0), uint16(0), uint16(0), uint16(0) }; - static DB2Meta instance(-1, 5, 0x7927A3A7, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x7927A3A7, types, arraySizes, 2); return &instance; } }; @@ -1730,8 +1643,7 @@ struct DurabilityCostsMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 21, 8 }; - static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0x8447966A, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x8447966A, types, arraySizes, -1); return &instance; } }; @@ -1742,8 +1654,7 @@ struct DurabilityQualityMeta { static char const* types = "f"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { float(0) }; - static DB2Meta instance(-1, 1, 0x6F64793D, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x6F64793D, types, arraySizes, -1); return &instance; } }; @@ -1754,8 +1665,7 @@ struct EdgeGlowEffectMeta { static char const* types = "ffffffffffbii"; static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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), uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 13, 0x083BF2C4, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 13, 0x083BF2C4, types, arraySizes, -1); return &instance; } }; @@ -1764,10 +1674,9 @@ struct EmotesMeta { static DB2Meta const* Instance() { - static char const* types = "siiihbiii"; + static char const* types = "lsiihbiii"; 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), uint16(0), uint8(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 9, 0xC33F08F9, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 9, 0x14467F27, types, arraySizes, -1); return &instance; } }; @@ -1778,8 +1687,7 @@ struct EmotesTextMeta { static char const* types = "sh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { "", uint16(0) }; - static DB2Meta instance(-1, 2, 0xE85AFA10, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xE85AFA10, types, arraySizes, -1); return &instance; } }; @@ -1788,10 +1696,9 @@ struct EmotesTextDataMeta { static DB2Meta const* Instance() { - static char const* types = "shb"; + static char const* types = "sbh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { "", uint16(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0x2682E49B, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x0E19BCF1, types, arraySizes, 2); return &instance; } }; @@ -1800,10 +1707,9 @@ struct EmotesTextSoundMeta { static DB2Meta const* Instance() { - static char const* types = "hbbbi"; + static char const* types = "bbbih"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 5, 0xC036C616, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x6DFAF9BC, types, arraySizes, 4); return &instance; } }; @@ -1814,8 +1720,7 @@ struct EnvironmentalDamageMeta { static char const* types = "hb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint8(0) }; - static DB2Meta instance(-1, 2, 0xC4552C14, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xC4552C14, types, arraySizes, -1); return &instance; } }; @@ -1824,10 +1729,9 @@ struct ExhaustionMeta { static DB2Meta const* Instance() { - static char const* types = "ifffsfsi"; + static char const* types = "ssiffffi"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[8] = { uint32(0), float(0), float(0), float(0), "", float(0), "", uint32(0) }; - static DB2Meta instance(7, 8, 0x6A883A15, types, arraySizes, fieldDefaults); + static DB2Meta instance(7, 8, 0xE6E16045, types, arraySizes, -1); return &instance; } }; @@ -1836,10 +1740,9 @@ struct FactionMeta { static DB2Meta const* Instance() { - 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, 0x4208D7B7, types, arraySizes, fieldDefaults); + static char const* types = "lssiifihhhhhbbbb"; + static uint8 const arraySizes[16] = { 4, 1, 1, 1, 4, 2, 4, 1, 4, 4, 1, 1, 2, 1, 1, 1 }; + static DB2Meta instance(3, 16, 0x6BFE8737, types, arraySizes, -1); return &instance; } }; @@ -1848,10 +1751,9 @@ struct FactionGroupMeta { static DB2Meta const* Instance() { - static char const* types = "ssbii"; - static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { "", "", uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 5, 0x66A05B13, types, arraySizes, fieldDefaults); + static char const* types = "ssibii"; + static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; + static DB2Meta instance(2, 6, 0x7A7F9A51, types, arraySizes, -1); return &instance; } }; @@ -1862,8 +1764,7 @@ struct FactionTemplateMeta { static char const* types = "hhhhbbb"; static uint8 const arraySizes[7] = { 1, 1, 4, 4, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 7, 0x6F1D2135, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 7, 0x6F1D2135, types, arraySizes, -1); return &instance; } }; @@ -1874,8 +1775,7 @@ struct FootprintTexturesMeta { 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, 0xFD6FF285, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xFD6FF285, types, arraySizes, -1); return &instance; } }; @@ -1886,8 +1786,7 @@ struct FootstepTerrainLookupMeta { static char const* types = "hbii"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 4, 0x454895AE, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x454895AE, types, arraySizes, -1); return &instance; } }; @@ -1898,8 +1797,7 @@ struct FriendshipRepReactionMeta { static char const* types = "shb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { "", uint16(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0x9C412E5B, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x9C412E5B, types, arraySizes, 2); return &instance; } }; @@ -1908,10 +1806,9 @@ struct FriendshipReputationMeta { static DB2Meta const* Instance() { - static char const* types = "ishi"; + static char const* types = "sihi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), "", uint16(0), uint32(0) }; - static DB2Meta instance(3, 4, 0x9F78AAE7, types, arraySizes, fieldDefaults); + static DB2Meta instance(3, 4, 0x406EE0AB, types, arraySizes, -1); return &instance; } }; @@ -1922,8 +1819,7 @@ struct FullScreenEffectMeta { static char const* types = "fffffffffffffffffffffffiiii"; static uint8 const arraySizes[27] = { 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[27] = { 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), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 27, 0x5CBF1D1B, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 27, 0x5CBF1D1B, types, arraySizes, -1); return &instance; } }; @@ -1934,8 +1830,7 @@ struct GMSurveyAnswersMeta { static char const* types = "sbi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint32(0) }; - static DB2Meta instance(-1, 3, 0x422747F6, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x422747F6, types, arraySizes, 2); return &instance; } }; @@ -1946,8 +1841,7 @@ struct GMSurveyCurrentSurveyMeta { static char const* types = "b"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { uint8(0) }; - static DB2Meta instance(-1, 1, 0x617205BF, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x617205BF, types, arraySizes, -1); return &instance; } }; @@ -1958,8 +1852,7 @@ struct GMSurveyQuestionsMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0x9D852FDC, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x9D852FDC, types, arraySizes, -1); return &instance; } }; @@ -1970,8 +1863,7 @@ struct GMSurveySurveysMeta { static char const* types = "b"; static uint8 const arraySizes[1] = { 15 }; - static DB2FieldDefault const fieldDefaults[1] = { uint8(0) }; - static DB2Meta instance(-1, 1, 0x17FEF812, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x17FEF812, types, arraySizes, -1); return &instance; } }; @@ -1981,9 +1873,8 @@ struct GameObjectArtKitMeta static DB2Meta const* Instance() { static char const* types = "ii"; - static uint8 const arraySizes[2] = { 3, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint32(0) }; - static DB2Meta instance(-1, 2, 0x9C443105, types, arraySizes, fieldDefaults); + static uint8 const arraySizes[2] = { 1, 3 }; + static DB2Meta instance(-1, 2, 0x6F65BC41, types, arraySizes, -1); return &instance; } }; @@ -1994,8 +1885,7 @@ struct GameObjectDiffAnimMapMeta { static char const* types = "hbbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x684E2497, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x89A617CF, types, arraySizes, 3); return &instance; } }; @@ -2006,8 +1896,7 @@ struct GameObjectDisplayInfoMeta { static char const* types = "ifffh"; static uint8 const arraySizes[5] = { 1, 6, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { uint32(0), float(0), float(0), float(0), uint16(0) }; - static DB2Meta instance(-1, 5, 0x9F2098D1, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x9F2098D1, types, arraySizes, -1); return &instance; } }; @@ -2018,8 +1907,7 @@ struct GameObjectDisplayInfoXSoundKitMeta { static char const* types = "bii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 3, 0x4BBA66F2, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x4BBA66F2, types, arraySizes, 2); return &instance; } }; @@ -2028,10 +1916,9 @@ struct GameObjectsMeta { static DB2Meta const* Instance() { - static char const* types = "fffishhhhbbi"; - static uint8 const arraySizes[12] = { 3, 4, 1, 8, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0xD7382943, types, arraySizes, fieldDefaults); + static char const* types = "sfffihhhhbbi"; + static uint8 const arraySizes[12] = { 1, 3, 4, 1, 8, 1, 1, 1, 1, 1, 1, 1 }; + static DB2Meta instance(11, 12, 0x597E8643, types, arraySizes, 5); return &instance; } }; @@ -2042,8 +1929,7 @@ struct GameTipsMeta { static char const* types = "shhb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x547E3F0F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x547E3F0F, types, arraySizes, -1); return &instance; } }; @@ -2054,8 +1940,7 @@ struct GarrAbilityMeta { static char const* types = "ssihhbbi"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[8] = { "", "", uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(7, 8, 0x5DF95DBD, types, arraySizes, fieldDefaults); + static DB2Meta instance(7, 8, 0x5DF95DBD, types, arraySizes, -1); return &instance; } }; @@ -2066,8 +1951,7 @@ struct GarrAbilityCategoryMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1); return &instance; } }; @@ -2078,8 +1962,7 @@ 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 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, 0xE6A6CB99, types, arraySizes, fieldDefaults); + static DB2Meta instance(11, 12, 0xE6A6CB99, types, arraySizes, 4); return &instance; } }; @@ -2088,10 +1971,9 @@ struct GarrBuildingMeta { static DB2Meta const* Instance() { - static char const* types = "iissssihhhhhhhhbbbbbbiii"; + static char const* types = "ssssiiihhhhhhhhbbbbbbiii"; 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 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, 0x04EFAE46, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 24, 0x200F9858, types, arraySizes, -1); return &instance; } }; @@ -2102,8 +1984,7 @@ struct GarrBuildingDoodadSetMeta { static char const* types = "bbbbb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 5, 0x2A861C7F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x2A861C7F, types, arraySizes, -1); return &instance; } }; @@ -2114,8 +1995,7 @@ struct GarrBuildingPlotInstMeta { static char const* types = "fhhbi"; static uint8 const arraySizes[5] = { 2, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { float(0), uint16(0), uint16(0), uint8(0), uint32(0) }; - static DB2Meta instance(4, 5, 0xF45B6227, types, arraySizes, fieldDefaults); + static DB2Meta instance(4, 5, 0xF45B6227, types, arraySizes, 3); return &instance; } }; @@ -2126,8 +2006,7 @@ struct GarrClassSpecMeta { static char const* types = "ssshhbbi"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[8] = { "", "", "", uint16(0), uint16(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(7, 8, 0x194CD478, types, arraySizes, fieldDefaults); + static DB2Meta instance(7, 8, 0x194CD478, types, arraySizes, -1); return &instance; } }; @@ -2136,10 +2015,9 @@ struct GarrClassSpecPlayerCondMeta { static DB2Meta const* Instance() { - static char const* types = "isbiii"; + static char const* types = "sibiii"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { uint32(0), "", uint8(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 6, 0xEA6BB116, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 6, 0x06936172, types, arraySizes, -1); return &instance; } }; @@ -2148,10 +2026,9 @@ struct GarrEncounterMeta { static DB2Meta const* Instance() { - static char const* types = "isffiii"; + static char const* types = "siffiii"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { uint32(0), "", float(0), float(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(5, 7, 0x14C54596, types, arraySizes, fieldDefaults); + static DB2Meta instance(5, 7, 0x63EF121A, types, arraySizes, -1); return &instance; } }; @@ -2160,10 +2037,9 @@ struct GarrEncounterSetXEncounterMeta { 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, 0x18E38A05, types, arraySizes, fieldDefaults); + static char const* types = "iii"; + static uint8 const arraySizes[3] = { 1, 1, 1 }; + static DB2Meta instance(0, 3, 0x3AA64423, types, arraySizes, 2); return &instance; } }; @@ -2172,10 +2048,9 @@ struct GarrEncounterXMechanicMeta { static DB2Meta const* Instance() { - static char const* types = "hbb"; + static char const* types = "bbh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0x3617EB8F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x97080E17, types, arraySizes, 2); return &instance; } }; @@ -2184,10 +2059,9 @@ struct GarrFollItemSetMemberMeta { static DB2Meta const* Instance() { - static char const* types = "ihhb"; + static char const* types = "ihbh"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0xE9BF4537, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0xCA1C4CBF, types, arraySizes, 3); return &instance; } }; @@ -2198,8 +2072,7 @@ struct GarrFollSupportSpellMeta { static char const* types = "iibi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 4, 0xB7DBA2D1, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0xB7DBA2D1, types, arraySizes, 3); return &instance; } }; @@ -2208,10 +2081,9 @@ struct GarrFollowerMeta { static DB2Meta const* Instance() { - static char const* types = "iissiiiishhhhhhbbbbbbbbbbbbbbbbi"; + static char const* types = "sssiiiiiihhhhhhbbbbbbbbbbbbbbbbi"; 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, 0x8826280C, types, arraySizes, fieldDefaults); + static DB2Meta instance(31, 32, 0xAAB75E04, types, arraySizes, -1); return &instance; } }; @@ -2222,8 +2094,7 @@ struct GarrFollowerLevelXPMeta { static char const* types = "hhbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x1ED485E2, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x1ED485E2, types, arraySizes, -1); return &instance; } }; @@ -2234,8 +2105,7 @@ struct GarrFollowerQualityMeta { static char const* types = "ihbbbbi"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 7, 0xAFF4CF7E, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 7, 0xAFF4CF7E, types, arraySizes, -1); return &instance; } }; @@ -2246,8 +2116,7 @@ struct GarrFollowerSetXFollowerMeta { 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, 0xB085A2BB, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xDB0E0A17, types, arraySizes, 1); return &instance; } }; @@ -2258,8 +2127,7 @@ struct GarrFollowerTypeMeta { static char const* types = "hbbbbbb"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 7, 0xD676FBC0, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 7, 0xD676FBC0, types, arraySizes, -1); return &instance; } }; @@ -2268,10 +2136,9 @@ struct GarrFollowerUICreatureMeta { static DB2Meta const* Instance() { - static char const* types = "ifhbbb"; + static char const* types = "ifbbbh"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { uint32(0), float(0), uint16(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 6, 0xC7F756E0, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 6, 0x7E275E96, types, arraySizes, 5); return &instance; } }; @@ -2280,10 +2147,9 @@ struct GarrFollowerXAbilityMeta { static DB2Meta const* Instance() { - static char const* types = "hhb"; + static char const* types = "hbh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0xBBD924E3, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x996447F1, types, arraySizes, 2); return &instance; } }; @@ -2294,8 +2160,7 @@ struct GarrItemLevelUpgradeDataMeta { 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, 0x069F44E5, types, arraySizes, fieldDefaults); + static DB2Meta instance(0, 5, 0x069F44E5, types, arraySizes, -1); return &instance; } }; @@ -2306,8 +2171,7 @@ struct GarrMechanicMeta { static char const* types = "fbi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { float(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 3, 0xAB49DA61, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xAB49DA61, types, arraySizes, -1); return &instance; } }; @@ -2318,8 +2182,7 @@ struct GarrMechanicSetXMechanicMeta { static char const* types = "bii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(1, 3, 0x59514F7B, types, arraySizes, fieldDefaults); + static DB2Meta instance(1, 3, 0x59514F7B, types, arraySizes, 2); return &instance; } }; @@ -2330,8 +2193,7 @@ struct GarrMechanicTypeMeta { static char const* types = "ssibi"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { "", "", uint32(0), uint8(0), uint32(0) }; - static DB2Meta instance(4, 5, 0x6FEA569F, types, arraySizes, fieldDefaults); + static DB2Meta instance(4, 5, 0x6FEA569F, types, arraySizes, -1); return &instance; } }; @@ -2340,10 +2202,9 @@ struct GarrMissionMeta { static DB2Meta const* Instance() { - static char const* types = "iisssffhhhbbbbbbbbbiiiiiiiiii"; + static char const* types = "sssiiffhhhbbbbbbbbbiiiiiiiiii"; 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 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, 0xAC978C1E, types, arraySizes, fieldDefaults); + static DB2Meta instance(19, 29, 0xDDD70490, types, arraySizes, 28); return &instance; } }; @@ -2354,8 +2215,7 @@ struct GarrMissionTextureMeta { static char const* types = "fh"; static uint8 const arraySizes[2] = { 2, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0x3071301C, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x3071301C, types, arraySizes, -1); return &instance; } }; @@ -2366,8 +2226,7 @@ struct GarrMissionTypeMeta { static char const* types = "shh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { "", uint16(0), uint16(0) }; - static DB2Meta instance(-1, 3, 0xA289655E, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xA289655E, types, arraySizes, -1); return &instance; } }; @@ -2378,8 +2237,7 @@ struct GarrMissionXEncounterMeta { static char const* types = "biiii"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(1, 5, 0xA5D54AAC, types, arraySizes, fieldDefaults); + static DB2Meta instance(1, 5, 0xBCB016C6, types, arraySizes, 4); return &instance; } }; @@ -2390,8 +2248,7 @@ struct GarrMissionXFollowerMeta { 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, 0x1FE8A08D, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x1EBABA29, types, arraySizes, 2); return &instance; } }; @@ -2402,8 +2259,7 @@ struct GarrMssnBonusAbilityMeta { static char const* types = "fihbb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { float(0), uint32(0), uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 5, 0x35F5AE92, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x35F5AE92, types, arraySizes, -1); return &instance; } }; @@ -2414,8 +2270,7 @@ struct GarrPlotMeta { static char const* types = "siibbbi"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 2 }; - static DB2FieldDefault const fieldDefaults[7] = { "", uint32(0), uint32(0), uint8(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 7, 0x56A5C664, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 7, 0xE12049E0, types, arraySizes, -1); return &instance; } }; @@ -2426,8 +2281,7 @@ struct GarrPlotBuildingMeta { 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, 0x3F77A6FA, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x3F77A6FA, types, arraySizes, -1); return &instance; } }; @@ -2438,8 +2292,7 @@ struct GarrPlotInstanceMeta { static char const* types = "sb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) }; - static DB2Meta instance(-1, 2, 0xB708BB37, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xB708BB37, types, arraySizes, -1); return &instance; } }; @@ -2450,8 +2303,7 @@ struct GarrPlotUICategoryMeta { static char const* types = "sb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) }; - static DB2Meta instance(-1, 2, 0xA94645EE, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xA94645EE, types, arraySizes, -1); return &instance; } }; @@ -2462,8 +2314,7 @@ struct GarrSiteLevelMeta { static char const* types = "fhhhhhbbb"; static uint8 const arraySizes[9] = { 2, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0xD3979C38, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 9, 0xD3979C38, types, arraySizes, -1); return &instance; } }; @@ -2474,8 +2325,7 @@ struct GarrSiteLevelPlotInstMeta { static char const* types = "fhbb"; static uint8 const arraySizes[4] = { 2, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { float(0), uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0xC4E74201, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0xC4E74201, types, arraySizes, 1); return &instance; } }; @@ -2484,10 +2334,9 @@ struct GarrSpecializationMeta { static DB2Meta const* Instance() { - static char const* types = "ifssbbb"; - static uint8 const arraySizes[7] = { 1, 2, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { uint32(0), float(0), "", "", uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 7, 0x155E1CD7, types, arraySizes, fieldDefaults); + static char const* types = "ssifbbb"; + static uint8 const arraySizes[7] = { 1, 1, 1, 2, 1, 1, 1 }; + static DB2Meta instance(-1, 7, 0x797A0F2F, types, arraySizes, -1); return &instance; } }; @@ -2498,8 +2347,7 @@ struct GarrStringMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0xE1C08C0C, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0xE1C08C0C, types, arraySizes, -1); return &instance; } }; @@ -2508,10 +2356,9 @@ struct GarrTalentMeta { static DB2Meta const* Instance() { - static char const* types = "issibbbiiiiiiiiiiiii"; + static char const* types = "ssiibbbiiiiiiiiiiiii"; 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 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, 0xFA331244, types, arraySizes, fieldDefaults); + static DB2Meta instance(7, 20, 0x53D5FD16, types, arraySizes, 8); return &instance; } }; @@ -2522,8 +2369,7 @@ struct GarrTalentTreeMeta { static char const* types = "hbbii"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 5, 0x676CBC04, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x676CBC04, types, arraySizes, -1); return &instance; } }; @@ -2534,8 +2380,7 @@ struct GarrTypeMeta { static char const* types = "iiiii"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 2 }; - static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 5, 0x06CD7733, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x7C52F3B7, types, arraySizes, -1); return &instance; } }; @@ -2546,8 +2391,7 @@ struct GarrUiAnimClassInfoMeta { static char const* types = "fbbiii"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { float(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 6, 0xDBF4633D, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 6, 0xDBF4633D, types, arraySizes, -1); return &instance; } }; @@ -2558,8 +2402,7 @@ 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 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, 0x44B9C1DE, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 13, 0x44B9C1DE, types, arraySizes, -1); return &instance; } }; @@ -2570,8 +2413,7 @@ struct GemPropertiesMeta { static char const* types = "ihh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint16(0) }; - static DB2Meta instance(-1, 3, 0x84558CAB, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x84558CAB, types, arraySizes, -1); return &instance; } }; @@ -2582,8 +2424,7 @@ struct GlobalStringsMeta { static char const* types = "ssb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { "", "", uint8(0) }; - static DB2Meta instance(-1, 3, 0x2CA3EA1E, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x2CA3EA1E, types, arraySizes, -1); return &instance; } }; @@ -2594,8 +2435,7 @@ struct GlyphBindableSpellMeta { static char const* types = "ih"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0xEA228DFA, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xEA228DFA, types, arraySizes, 1); return &instance; } }; @@ -2606,8 +2446,7 @@ struct GlyphExclusiveCategoryMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0xFE598FCD, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0xFE598FCD, types, arraySizes, -1); return &instance; } }; @@ -2618,8 +2457,7 @@ struct GlyphPropertiesMeta { static char const* types = "ihbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0xD0046829, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0xD0046829, types, arraySizes, -1); return &instance; } }; @@ -2630,8 +2468,7 @@ struct GlyphRequiredSpecMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0x72D23C7C, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xDD6481CE, types, arraySizes, 1); return &instance; } }; @@ -2642,8 +2479,7 @@ struct GroundEffectDoodadMeta { static char const* types = "ffbi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { float(0), float(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 4, 0x0376B2D6, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x0376B2D6, types, arraySizes, -1); return &instance; } }; @@ -2654,8 +2490,7 @@ struct GroundEffectTextureMeta { static char const* types = "hbbi"; static uint8 const arraySizes[4] = { 4, 4, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 4, 0x84549F0A, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x84549F0A, types, arraySizes, -1); return &instance; } }; @@ -2666,8 +2501,7 @@ 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 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, 0x3EF2F3BD, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 14, 0x3EF2F3BD, types, arraySizes, -1); return &instance; } }; @@ -2678,8 +2512,7 @@ struct GroupFinderActivityGrpMeta { static char const* types = "sb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) }; - static DB2Meta instance(-1, 2, 0xC9458196, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xC9458196, types, arraySizes, -1); return &instance; } }; @@ -2690,8 +2523,7 @@ struct GroupFinderCategoryMeta { static char const* types = "sbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0x9213552F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x9213552F, types, arraySizes, -1); return &instance; } }; @@ -2702,8 +2534,7 @@ struct GuildColorBackgroundMeta { static char const* types = "bbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0xCC0CEFF1, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xCC0CEFF1, types, arraySizes, -1); return &instance; } }; @@ -2714,8 +2545,7 @@ struct GuildColorBorderMeta { static char const* types = "bbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0xCC0CEFF1, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xCC0CEFF1, types, arraySizes, -1); return &instance; } }; @@ -2726,8 +2556,7 @@ struct GuildColorEmblemMeta { static char const* types = "bbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0xCC0CEFF1, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xCC0CEFF1, types, arraySizes, -1); return &instance; } }; @@ -2738,8 +2567,7 @@ struct GuildPerkSpellsMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; - static DB2Meta instance(-1, 1, 0xC15D6E9F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0xC15D6E9F, types, arraySizes, -1); return &instance; } }; @@ -2748,10 +2576,9 @@ struct HeirloomMeta { static DB2Meta const* Instance() { - static char const* types = "isiiiihbbi"; + static char const* types = "siiiiihbbi"; static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 3, 3, 1, 1, 1 }; - 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, 0x72B50997, types, arraySizes, fieldDefaults); + static DB2Meta instance(9, 10, 0x36887C6F, types, arraySizes, -1); return &instance; } }; @@ -2762,8 +2589,7 @@ struct HelmetAnimScalingMeta { 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, 0x9B1A0142, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xB9EC1058, types, arraySizes, 2); return &instance; } }; @@ -2774,8 +2600,7 @@ struct HelmetGeosetVisDataMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 9 }; - static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; - static DB2Meta instance(-1, 1, 0x3B38D999, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x3B38D999, types, arraySizes, -1); return &instance; } }; @@ -2786,8 +2611,7 @@ struct HighlightColorMeta { static char const* types = "iiibb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint32(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 5, 0x5FADC5D3, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x5FADC5D3, types, arraySizes, -1); return &instance; } }; @@ -2798,8 +2622,7 @@ struct HolidayDescriptionsMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0x92A95550, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x92A95550, types, arraySizes, -1); return &instance; } }; @@ -2810,8 +2633,7 @@ struct HolidayNamesMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1); return &instance; } }; @@ -2822,8 +2644,7 @@ struct HolidaysMeta { static char const* types = "iihhbbbbbiii"; static uint8 const arraySizes[12] = { 1, 16, 10, 1, 1, 10, 1, 1, 1, 1, 1, 3 }; - 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), uint32(0) }; - static DB2Meta instance(0, 12, 0x06B8E478, types, arraySizes, fieldDefaults); + static DB2Meta instance(0, 12, 0x7C3E60FC, types, arraySizes, -1); return &instance; } }; @@ -2834,8 +2655,7 @@ struct HotfixMeta { 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, 0x3747930B, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x3747930B, types, arraySizes, -1); return &instance; } }; @@ -2846,8 +2666,7 @@ struct ImportPriceArmorMeta { static char const* types = "ffff"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { float(0), float(0), float(0), float(0) }; - static DB2Meta instance(-1, 4, 0x1F7A850F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x1F7A850F, types, arraySizes, -1); return &instance; } }; @@ -2858,8 +2677,7 @@ struct ImportPriceQualityMeta { static char const* types = "f"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { float(0) }; - static DB2Meta instance(-1, 1, 0x6F64793D, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x6F64793D, types, arraySizes, -1); return &instance; } }; @@ -2870,8 +2688,7 @@ struct ImportPriceShieldMeta { static char const* types = "f"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { float(0) }; - static DB2Meta instance(-1, 1, 0x6F64793D, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x6F64793D, types, arraySizes, -1); return &instance; } }; @@ -2882,8 +2699,7 @@ struct ImportPriceWeaponMeta { static char const* types = "f"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { float(0) }; - static DB2Meta instance(-1, 1, 0x6F64793D, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x6F64793D, types, arraySizes, -1); return &instance; } }; @@ -2894,8 +2710,7 @@ struct InvasionClientDataMeta { static char const* types = "sfiiiiiiii"; static uint8 const arraySizes[10] = { 1, 2, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0x3781B0B1, types, arraySizes, fieldDefaults); + static DB2Meta instance(2, 10, 0x4C93379F, types, arraySizes, 9); return &instance; } }; @@ -2906,8 +2721,7 @@ struct ItemMeta { static char const* types = "ibbbbbbb"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0x0DFCC83D, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 8, 0x0DFCC83D, types, arraySizes, -1); return &instance; } }; @@ -2918,8 +2732,7 @@ struct ItemAppearanceMeta { static char const* types = "iiib"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint32(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x06D35A59, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x06D35A59, types, arraySizes, -1); return &instance; } }; @@ -2930,8 +2743,7 @@ struct ItemAppearanceXUiCameraMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0x67747E15, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x67747E15, types, arraySizes, -1); return &instance; } }; @@ -2942,8 +2754,7 @@ struct ItemArmorQualityMeta { static char const* types = "fh"; static uint8 const arraySizes[2] = { 7, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0x85642CC0, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x85642CC0, types, arraySizes, -1); return &instance; } }; @@ -2954,8 +2765,7 @@ struct ItemArmorShieldMeta { static char const* types = "fh"; static uint8 const arraySizes[2] = { 7, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, -1); return &instance; } }; @@ -2966,8 +2776,7 @@ struct ItemArmorTotalMeta { static char const* types = "ffffh"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), float(0), float(0), uint16(0) }; - static DB2Meta instance(-1, 5, 0x45C396DD, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x45C396DD, types, arraySizes, -1); return &instance; } }; @@ -2978,8 +2787,7 @@ struct ItemBagFamilyMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1); return &instance; } }; @@ -2989,9 +2797,8 @@ struct ItemBonusMeta static DB2Meta const* Instance() { static char const* types = "ihbb"; - static uint8 const arraySizes[4] = { 2, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0xE12FB1A0, types, arraySizes, fieldDefaults); + static uint8 const arraySizes[4] = { 3, 1, 1, 1 }; + static DB2Meta instance(-1, 4, 0xE12FB1A0, types, arraySizes, 1); return &instance; } }; @@ -3002,8 +2809,7 @@ struct ItemBonusListLevelDeltaMeta { static char const* types = "hi"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint32(0) }; - static DB2Meta instance(1, 2, 0xDFBF5AC9, types, arraySizes, fieldDefaults); + static DB2Meta instance(1, 2, 0xDFBF5AC9, types, arraySizes, -1); return &instance; } }; @@ -3012,10 +2818,9 @@ struct ItemBonusTreeNodeMeta { static DB2Meta const* Instance() { - static char const* types = "hhhhb"; + static char const* types = "hhhbh"; 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, 0x6149BC4B, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x84FE93B7, types, arraySizes, 4); return &instance; } }; @@ -3024,10 +2829,9 @@ struct ItemChildEquipmentMeta { static DB2Meta const* Instance() { - static char const* types = "iib"; + static char const* types = "ibi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0x2B093C6A, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xB6940674, types, arraySizes, 2); return &instance; } }; @@ -3036,10 +2840,9 @@ struct ItemClassMeta { static DB2Meta const* Instance() { - static char const* types = "fsbb"; + static char const* types = "sfbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { float(0), "", uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x5B68FDD8, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0xA1E4663C, types, arraySizes, -1); return &instance; } }; @@ -3050,8 +2853,7 @@ struct ItemContextPickerEntryMeta { static char const* types = "bbiiii"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 6, 0xFDCFF5E7, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 6, 0x4A6DF90B, types, arraySizes, 5); return &instance; } }; @@ -3062,8 +2864,7 @@ struct ItemCurrencyCostMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; - static DB2Meta instance(-1, 1, 0xE2FF5688, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0xE2FF5688, types, arraySizes, 0); return &instance; } }; @@ -3074,8 +2875,7 @@ struct ItemDamageAmmoMeta { static char const* types = "fh"; static uint8 const arraySizes[2] = { 7, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, -1); return &instance; } }; @@ -3086,8 +2886,7 @@ struct ItemDamageOneHandMeta { static char const* types = "fh"; static uint8 const arraySizes[2] = { 7, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, -1); return &instance; } }; @@ -3098,8 +2897,7 @@ struct ItemDamageOneHandCasterMeta { static char const* types = "fh"; static uint8 const arraySizes[2] = { 7, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, -1); return &instance; } }; @@ -3110,8 +2908,7 @@ struct ItemDamageTwoHandMeta { static char const* types = "fh"; static uint8 const arraySizes[2] = { 7, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, -1); return &instance; } }; @@ -3122,8 +2919,7 @@ struct ItemDamageTwoHandCasterMeta { static char const* types = "fh"; static uint8 const arraySizes[2] = { 7, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, -1); return &instance; } }; @@ -3132,10 +2928,9 @@ struct ItemDisenchantLootMeta { static DB2Meta const* Instance() { - static char const* types = "hhhbbb"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 6, 0xD77FF753, types, arraySizes, fieldDefaults); + static char const* types = "hhhbbbb"; + static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; + static DB2Meta instance(-1, 7, 0xC0D926CC, types, arraySizes, 6); return &instance; } }; @@ -3145,9 +2940,8 @@ struct ItemDisplayInfoMeta static DB2Meta const* Instance() { static char const* types = "iiiiiiiiiiiiiii"; - static uint8 const arraySizes[15] = { 2, 2, 4, 4, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0x989BCDC7, types, arraySizes, fieldDefaults); + static uint8 const arraySizes[15] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 2 }; + static DB2Meta instance(-1, 15, 0x99606089, types, arraySizes, -1); return &instance; } }; @@ -3156,10 +2950,9 @@ struct ItemDisplayInfoMaterialResMeta { static DB2Meta const* Instance() { - static char const* types = "iib"; + static char const* types = "ibi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0x0B36789F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xDEE4ED7B, types, arraySizes, 2); return &instance; } }; @@ -3170,8 +2963,7 @@ struct ItemDisplayXUiCameraMeta { static char const* types = "ih"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0xE57737B2, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xE57737B2, types, arraySizes, -1); return &instance; } }; @@ -3180,10 +2972,9 @@ struct ItemEffectMeta { static DB2Meta const* Instance() { - static char const* types = "iiiihhhbb"; + static char const* types = "iiihhhbbi"; 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), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 9, 0x56F0AE0C, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 9, 0xA390FA40, types, arraySizes, 8); return &instance; } }; @@ -3194,8 +2985,7 @@ struct ItemExtendedCostMeta { static char const* types = "iihhhbbbbb"; static uint8 const arraySizes[10] = { 5, 5, 5, 1, 5, 1, 1, 1, 1, 1 }; - 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, 0xC31F4DEF, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 10, 0xC31F4DEF, types, arraySizes, -1); return &instance; } }; @@ -3206,8 +2996,7 @@ struct ItemGroupSoundsMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 4 }; - static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; - static DB2Meta instance(-1, 1, 0x66A967E2, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0xDC2EE466, types, arraySizes, -1); return &instance; } }; @@ -3218,8 +3007,7 @@ struct ItemLevelSelectorMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0x8143060E, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x8143060E, types, arraySizes, -1); return &instance; } }; @@ -3228,10 +3016,9 @@ struct ItemLevelSelectorQualityMeta { static DB2Meta const* Instance() { - static char const* types = "ihb"; + static char const* types = "ibh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0xD6F9A05B, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xB7174A51, types, arraySizes, 2); return &instance; } }; @@ -3242,8 +3029,7 @@ struct ItemLevelSelectorQualitySetMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0x20055BA8, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x20055BA8, types, arraySizes, -1); return &instance; } }; @@ -3254,8 +3040,7 @@ struct ItemLimitCategoryMeta { static char const* types = "sbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0xB6BB188D, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xB6BB188D, types, arraySizes, -1); return &instance; } }; @@ -3266,8 +3051,7 @@ struct ItemLimitCategoryConditionMeta { static char const* types = "bii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 3, 0x9F1DFE83, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xDE8EAD49, types, arraySizes, 2); return &instance; } }; @@ -3276,10 +3060,9 @@ struct ItemModifiedAppearanceMeta { static DB2Meta const* Instance() { - static char const* types = "ihbbbi"; + static char const* types = "iibhbb"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(5, 6, 0x9F3061BB, types, arraySizes, fieldDefaults); + static DB2Meta instance(1, 6, 0xE64FD18B, types, arraySizes, 0); return &instance; } }; @@ -3290,8 +3073,7 @@ struct ItemModifiedAppearanceExtraMeta { static char const* types = "iibbb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 5, 0x77212236, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x77212236, types, arraySizes, -1); return &instance; } }; @@ -3302,8 +3084,7 @@ struct ItemNameDescriptionMeta { static char const* types = "si"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { "", uint32(0) }; - static DB2Meta instance(-1, 2, 0x16760BD4, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x16760BD4, types, arraySizes, -1); return &instance; } }; @@ -3314,8 +3095,7 @@ struct ItemPetFoodMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0xE4923C1F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0xE4923C1F, types, arraySizes, -1); return &instance; } }; @@ -3326,8 +3106,7 @@ struct ItemPriceBaseMeta { static char const* types = "ffh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { float(0), float(0), uint16(0) }; - static DB2Meta instance(-1, 3, 0x4BD234D7, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x4BD234D7, types, arraySizes, -1); return &instance; } }; @@ -3338,8 +3117,7 @@ struct ItemRandomPropertiesMeta { static char const* types = "sh"; static uint8 const arraySizes[2] = { 1, 5 }; - static DB2FieldDefault const fieldDefaults[2] = { "", uint16(0) }; - static DB2Meta instance(-1, 2, 0xB67375F8, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xB67375F8, types, arraySizes, -1); return &instance; } }; @@ -3350,8 +3128,7 @@ struct ItemRandomSuffixMeta { static char const* types = "shh"; static uint8 const arraySizes[3] = { 1, 5, 5 }; - static DB2FieldDefault const fieldDefaults[3] = { "", uint16(0), uint16(0) }; - static DB2Meta instance(-1, 3, 0x95CAB825, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x95CAB825, types, arraySizes, -1); return &instance; } }; @@ -3362,8 +3139,7 @@ struct ItemRangedDisplayInfoMeta { 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, 0x687A28D1, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x687A28D1, types, arraySizes, -1); return &instance; } }; @@ -3372,10 +3148,9 @@ struct ItemSearchNameMeta { static DB2Meta const* Instance() { - static char const* types = "isiihbbbihbhhi"; - static uint8 const arraySizes[14] = { 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[14] = { uint32(0), "", uint32(0), uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0), uint16(0), uint8(0), uint16(0), uint16(0), uint32(0) }; - static DB2Meta instance(0, 14, 0x4DB151B2, types, arraySizes, fieldDefaults); + static char const* types = "lsiihbbbhbihhi"; + static uint8 const arraySizes[14] = { 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2Meta instance(2, 14, 0x2D4B72FA, types, arraySizes, -1); return &instance; } }; @@ -3386,8 +3161,7 @@ struct ItemSetMeta { static char const* types = "sihii"; static uint8 const arraySizes[5] = { 1, 17, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { "", uint32(0), uint16(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 5, 0x847FF58A, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x847FF58A, types, arraySizes, -1); return &instance; } }; @@ -3396,10 +3170,9 @@ struct ItemSetSpellMeta { static DB2Meta const* Instance() { - static char const* types = "ihhb"; + static char const* types = "ihbh"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0xF65DE520, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0xF65D0AF8, types, arraySizes, 3); return &instance; } }; @@ -3408,10 +3181,9 @@ struct ItemSparseMeta { static DB2Meta const* Instance() { - static char const* types = "iffiiiiiiiiffsssssififhhhhhhhhhhhhhhhhhhhhhhhbbbbbbbbbbbbbbbbbbb"; - static uint8 const arraySizes[64] = { 4, 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, 0xBB5BF754, types, arraySizes, fieldDefaults); + static char const* types = "lsssssiffiiiiiiiffififhhhhhhhhhhhhhhhhhhhhhhhbbbbbbbbbbbbbbbbbbb"; + static uint8 const arraySizes[64] = { 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 10, 10, 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 DB2Meta instance(-1, 64, 0x4007DE16, types, arraySizes, -1); return &instance; } }; @@ -3422,8 +3194,7 @@ struct ItemSpecMeta { static char const* types = "hbbbbb"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 6, 0xB17B7986, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 6, 0xB17B7986, types, arraySizes, 3); return &instance; } }; @@ -3432,10 +3203,9 @@ struct ItemSpecOverrideMeta { static DB2Meta const* Instance() { - static char const* types = "ih"; + static char const* types = "hi"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0xC7350ADE, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xE499CD2A, types, arraySizes, 1); return &instance; } }; @@ -3446,8 +3216,7 @@ struct ItemSubClassMeta { static char const* types = "sshbbbbbbb"; static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0xDAD92A67, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 10, 0xDAD92A67, types, arraySizes, 3); return &instance; } }; @@ -3456,10 +3225,9 @@ struct ItemSubClassMaskMeta { static DB2Meta const* Instance() { - static char const* types = "isb"; + 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, 0x2A8488C0, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xFC1DA850, types, arraySizes, -1); return &instance; } }; @@ -3470,8 +3238,7 @@ struct ItemUpgradeMeta { static char const* types = "ihhbb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint16(0), uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 5, 0x8F3A4137, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x8F3A4137, types, arraySizes, -1); return &instance; } }; @@ -3482,8 +3249,7 @@ struct ItemVisualsMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 5 }; - static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; - static DB2Meta instance(-1, 1, 0xBDE42406, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x485EA782, types, arraySizes, -1); return &instance; } }; @@ -3492,10 +3258,9 @@ struct ItemXBonusTreeMeta { static DB2Meta const* Instance() { - static char const* types = "ih"; + static char const* types = "hi"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0xED7A617B, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x87C4B605, types, arraySizes, 1); return &instance; } }; @@ -3504,10 +3269,9 @@ struct JournalEncounterMeta { static DB2Meta const* Instance() { - 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, 0x5B5D5FCF, types, arraySizes, fieldDefaults); + static char const* types = "ssfhhhhbbii"; + static uint8 const arraySizes[11] = { 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2Meta instance(-1, 11, 0x2935A0FD, types, arraySizes, -1); return &instance; } }; @@ -3516,10 +3280,9 @@ struct JournalEncounterCreatureMeta { static DB2Meta const* Instance() { - static char const* types = "iisshbi"; - static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint32(0), "", "", uint16(0), uint8(0), uint32(0) }; - static DB2Meta instance(6, 7, 0x07522050, types, arraySizes, fieldDefaults); + static char const* types = "ssiiihbi"; + static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2Meta instance(7, 8, 0x22C79A42, types, arraySizes, 5); return &instance; } }; @@ -3530,8 +3293,7 @@ struct JournalEncounterItemMeta { static char const* types = "ihbbbi"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(5, 6, 0x39230FF9, types, arraySizes, fieldDefaults); + static DB2Meta instance(5, 6, 0x39230FF9, types, arraySizes, 1); return &instance; } }; @@ -3540,10 +3302,9 @@ struct JournalEncounterSectionMeta { static DB2Meta const* Instance() { - 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 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, 0x8C84A73F, types, arraySizes, fieldDefaults); + static char const* types = "ssiiiihhhhhhbbb"; + 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, 0x13E56B12, types, arraySizes, -1); return &instance; } }; @@ -3552,10 +3313,9 @@ struct JournalEncounterXDifficultyMeta { static DB2Meta const* Instance() { - static char const* types = "hb"; + static char const* types = "bh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint8(0) }; - static DB2Meta instance(-1, 2, 0x929953A2, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x321FD542, types, arraySizes, 1); return &instance; } }; @@ -3566,8 +3326,7 @@ struct JournalEncounterXMapLocMeta { static char const* types = "fbiiii"; static uint8 const arraySizes[6] = { 2, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { float(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 6, 0x93A7D7CA, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 6, 0x430540E4, types, arraySizes, 5); return &instance; } }; @@ -3576,10 +3335,9 @@ struct JournalInstanceMeta { static DB2Meta const* Instance() { - static char const* types = "iiiisshhbbi"; + static char const* types = "ssiiiihhbbi"; 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), uint32(0), "", "", uint16(0), uint16(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(10, 11, 0xA1C4D1E5, types, arraySizes, fieldDefaults); + static DB2Meta instance(10, 11, 0x1691CC3D, types, arraySizes, -1); return &instance; } }; @@ -3588,10 +3346,9 @@ struct JournalItemXDifficultyMeta { static DB2Meta const* Instance() { - static char const* types = "hb"; + static char const* types = "bh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint8(0) }; - static DB2Meta instance(-1, 2, 0x3F2D52A1, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x60D9CA15, types, arraySizes, 1); return &instance; } }; @@ -3600,10 +3357,9 @@ struct JournalSectionXDifficultyMeta { static DB2Meta const* Instance() { - static char const* types = "hb"; + static char const* types = "bh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint8(0) }; - static DB2Meta instance(-1, 2, 0xCCC4BEB7, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x243822A7, types, arraySizes, 1); return &instance; } }; @@ -3614,8 +3370,7 @@ struct JournalTierMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0x8046B23F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x8046B23F, types, arraySizes, -1); return &instance; } }; @@ -3626,8 +3381,7 @@ struct JournalTierXInstanceMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0x9C4F4D2A, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x9C4F4D2A, types, arraySizes, 0); return &instance; } }; @@ -3638,8 +3392,7 @@ struct KeychainMeta { static char const* types = "b"; static uint8 const arraySizes[1] = { 32 }; - static DB2FieldDefault const fieldDefaults[1] = { uint8(0) }; - static DB2Meta instance(-1, 1, 0x5B214E82, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x5B214E82, types, arraySizes, -1); return &instance; } }; @@ -3650,8 +3403,7 @@ struct KeystoneAffixMeta { static char const* types = "ssi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { "", "", uint32(0) }; - static DB2Meta instance(-1, 3, 0x1BCB46AA, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x1BCB46AA, types, arraySizes, -1); return &instance; } }; @@ -3660,10 +3412,9 @@ struct LFGDungeonExpansionMeta { static DB2Meta const* Instance() { - static char const* types = "hhbbbii"; + static char const* types = "hbbbiih"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 7, 0x190E71CD, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 7, 0xB41DEA61, types, arraySizes, 6); return &instance; } }; @@ -3674,8 +3425,7 @@ struct LFGDungeonGroupMeta { static char const* types = "shbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x724D58E7, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x724D58E7, types, arraySizes, -1); return &instance; } }; @@ -3684,10 +3434,9 @@ struct LFGDungeonsMeta { static DB2Meta const* Instance() { - static char const* types = "sisfhhhhhhhhhbbbbbbbbbbbbbbbbbiii"; + static char const* types = "ssifhhhhhhhhhbbbbbbbbbbbbbbbbbiii"; static uint8 const arraySizes[33] = { 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 DB2FieldDefault const fieldDefaults[33] = { "", 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), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 33, 0x3E611AC0, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 33, 0xF02081A0, types, arraySizes, -1); return &instance; } }; @@ -3696,10 +3445,9 @@ struct LFGRoleRequirementMeta { static DB2Meta const* Instance() { - static char const* types = "hbi"; + static char const* types = "bih"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 3, 0x0F8A6D6D, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x7EB8A359, types, arraySizes, 2); return &instance; } }; @@ -3710,8 +3458,7 @@ struct LanguageWordsMeta { static char const* types = "sb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) }; - static DB2Meta instance(-1, 2, 0xC15912BD, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xC15912BD, types, arraySizes, -1); return &instance; } }; @@ -3722,8 +3469,7 @@ struct LanguagesMeta { static char const* types = "si"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { "", uint32(0) }; - static DB2Meta instance(1, 2, 0x6FA5D0C4, types, arraySizes, fieldDefaults); + static DB2Meta instance(1, 2, 0x6FA5D0C4, types, arraySizes, -1); return &instance; } }; @@ -3732,10 +3478,9 @@ struct LfgDungeonsGroupingMapMeta { static DB2Meta const* Instance() { - static char const* types = "hhb"; + static char const* types = "hbh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0xA7288E14, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x8CB35C50, types, arraySizes, 2); return &instance; } }; @@ -3746,8 +3491,7 @@ struct LightMeta { static char const* types = "fffhh"; static uint8 const arraySizes[5] = { 3, 1, 1, 1, 8 }; - static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), float(0), uint16(0), uint16(0) }; - static DB2Meta instance(-1, 5, 0x25025A13, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x25025A13, types, arraySizes, -1); return &instance; } }; @@ -3758,8 +3502,7 @@ 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 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, 0x98BC17CE, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 35, 0x2D2BA7FA, types, arraySizes, 34); return &instance; } }; @@ -3770,8 +3513,7 @@ struct LightParamsMeta { static char const* types = "ffffffhbbbi"; static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1 }; - 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, 0xF67DE2AF, types, arraySizes, fieldDefaults); + static DB2Meta instance(10, 11, 0xF67DE2AF, types, arraySizes, -1); return &instance; } }; @@ -3782,8 +3524,7 @@ struct LightSkyboxMeta { static char const* types = "siib"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { "", uint32(0), uint32(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x8817C02C, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x8817C02C, types, arraySizes, -1); return &instance; } }; @@ -3794,8 +3535,7 @@ struct LiquidMaterialMeta { 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, 0x62BE0340, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x62BE0340, types, arraySizes, -1); return &instance; } }; @@ -3806,8 +3546,7 @@ struct LiquidObjectMeta { static char const* types = "ffhbb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 5, 0xACC168A6, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0xACC168A6, types, arraySizes, -1); return &instance; } }; @@ -3816,10 +3555,9 @@ struct LiquidTypeMeta { static DB2Meta const* Instance() { - 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 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, 0xBBB8B593, types, arraySizes, fieldDefaults); + static char const* types = "ssifffffifihhbbbbbi"; + static uint8 const arraySizes[19] = { 1, 6, 1, 1, 1, 1, 1, 1, 2, 18, 4, 1, 1, 1, 1, 1, 1, 6, 1 }; + static DB2Meta instance(-1, 19, 0x3313BBF3, types, arraySizes, -1); return &instance; } }; @@ -3830,8 +3568,7 @@ struct LoadingScreenTaxiSplinesMeta { static char const* types = "ffhhb"; static uint8 const arraySizes[5] = { 10, 10, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), uint16(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 5, 0x4D6292C3, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x4D6292C3, types, arraySizes, -1); return &instance; } }; @@ -3842,8 +3579,7 @@ struct LoadingScreensMeta { 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, 0x99C0EB78, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x99C0EB78, types, arraySizes, -1); return &instance; } }; @@ -3854,8 +3590,7 @@ struct LocaleMeta { static char const* types = "ibbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x592AE13B, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x592AE13B, types, arraySizes, -1); return &instance; } }; @@ -3866,8 +3601,7 @@ struct LocationMeta { static char const* types = "ff"; static uint8 const arraySizes[2] = { 3, 3 }; - static DB2FieldDefault const fieldDefaults[2] = { float(0), float(0) }; - static DB2Meta instance(-1, 2, 0xBBC1BE7A, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xBBC1BE7A, types, arraySizes, -1); return &instance; } }; @@ -3878,8 +3612,7 @@ struct LockMeta { static char const* types = "ihbb"; static uint8 const arraySizes[4] = { 8, 8, 8, 8 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0xDAC7F42F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0xDAC7F42F, types, arraySizes, -1); return &instance; } }; @@ -3890,8 +3623,7 @@ struct LockTypeMeta { static char const* types = "ssssi"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { "", "", "", "", uint32(0) }; - static DB2Meta instance(4, 5, 0xCD5E1D2F, types, arraySizes, fieldDefaults); + static DB2Meta instance(4, 5, 0xCD5E1D2F, types, arraySizes, -1); return &instance; } }; @@ -3902,8 +3634,7 @@ 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 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, 0x543C0D56, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 18, 0x543C0D56, types, arraySizes, -1); return &instance; } }; @@ -3914,8 +3645,7 @@ struct MailTemplateMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0x25C8D6CC, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x25C8D6CC, types, arraySizes, -1); return &instance; } }; @@ -3926,8 +3656,7 @@ struct ManagedWorldStateMeta { 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, 0xBA06FC33, types, arraySizes, fieldDefaults); + static DB2Meta instance(9, 10, 0xBA06FC33, types, arraySizes, -1); return &instance; } }; @@ -3938,8 +3667,7 @@ struct ManagedWorldStateBuffMeta { 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, 0x8649A3CF, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x6D201DC7, types, arraySizes, 3); return &instance; } }; @@ -3950,8 +3678,7 @@ struct ManagedWorldStateInputMeta { 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, 0x0FC1A9B0, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x0FC1A9B0, types, arraySizes, -1); return &instance; } }; @@ -3962,8 +3689,7 @@ struct ManifestInterfaceActionIconMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; - static DB2Meta instance(0, 1, 0x6A529F37, types, arraySizes, fieldDefaults); + static DB2Meta instance(0, 1, 0x6A529F37, types, arraySizes, -1); return &instance; } }; @@ -3974,8 +3700,7 @@ struct ManifestInterfaceDataMeta { static char const* types = "ss"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { "", "" }; - static DB2Meta instance(-1, 2, 0x9E5F4C99, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x9E5F4C99, types, arraySizes, -1); return &instance; } }; @@ -3986,8 +3711,7 @@ struct ManifestInterfaceItemIconMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; - static DB2Meta instance(0, 1, 0x6A529F37, types, arraySizes, fieldDefaults); + static DB2Meta instance(0, 1, 0x6A529F37, types, arraySizes, -1); return &instance; } }; @@ -3998,8 +3722,7 @@ struct ManifestInterfaceTOCDataMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0x6F7D397D, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x6F7D397D, types, arraySizes, -1); return &instance; } }; @@ -4010,8 +3733,7 @@ struct ManifestMP3Meta { static char const* types = "i"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; - static DB2Meta instance(0, 1, 0x6A529F37, types, arraySizes, fieldDefaults); + static DB2Meta instance(0, 1, 0x6A529F37, types, arraySizes, -1); return &instance; } }; @@ -4020,10 +3742,9 @@ struct MapMeta { static DB2Meta const* Instance() { - 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, 0xA37A2830, types, arraySizes, fieldDefaults); + static char const* types = "ssssssiffhhhhhhhbbbbb"; + static uint8 const arraySizes[21] = { 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2Meta instance(-1, 21, 0xF568DF12, types, arraySizes, -1); return &instance; } }; @@ -4032,10 +3753,9 @@ struct MapCelestialBodyMeta { static DB2Meta const* Instance() { - static char const* types = "hhi"; + static char const* types = "hih"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint32(0) }; - static DB2Meta instance(-1, 3, 0xB0E40E66, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xBDE1C11C, types, arraySizes, 2); return &instance; } }; @@ -4044,10 +3764,9 @@ struct MapChallengeModeMeta { static DB2Meta const* Instance() { - static char const* types = "ishhb"; + static char const* types = "sihhb"; 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, 0xE3D5F2E2, types, arraySizes, fieldDefaults); + static DB2Meta instance(1, 5, 0xC5261662, types, arraySizes, 2); return &instance; } }; @@ -4056,10 +3775,9 @@ struct MapDifficultyMeta { static DB2Meta const* Instance() { - static char const* types = "shbbbbbbi"; + static char const* types = "sbbbbbbih"; static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[9] = { "", uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 9, 0x910C00B6, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 9, 0x2B3B759E, types, arraySizes, 8); return &instance; } }; @@ -4070,8 +3788,7 @@ struct MapDifficultyXConditionMeta { static char const* types = "siii"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { "", uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 4, 0x68BB0796, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x5F5D7102, types, arraySizes, 3); return &instance; } }; @@ -4082,8 +3799,7 @@ struct MapLoadingScreenMeta { static char const* types = "ffiii"; static uint8 const arraySizes[5] = { 2, 2, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 5, 0xB7D5DEDE, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0xBBE57FE4, types, arraySizes, 4); return &instance; } }; @@ -4092,10 +3808,9 @@ struct MarketingPromotionsXLocaleMeta { static DB2Meta const* Instance() { - static char const* types = "iiiisbb"; + static char const* types = "siiiibb"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint32(0), uint32(0), uint32(0), "", uint8(0), uint8(0) }; - static DB2Meta instance(-1, 7, 0xD0976347, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 7, 0x80362F57, types, arraySizes, -1); return &instance; } }; @@ -4106,8 +3821,7 @@ struct MaterialMeta { static char const* types = "biii"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint8(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 4, 0x0BC8C134, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x0BC8C134, types, arraySizes, -1); return &instance; } }; @@ -4118,8 +3832,7 @@ struct MinorTalentMeta { 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, 0xF4C9681A, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xAAEF0DF8, types, arraySizes, 2); return &instance; } }; @@ -4130,8 +3843,7 @@ struct MissileTargetingMeta { static char const* types = "fffffffffiii"; static uint8 const arraySizes[12] = { 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2 }; - static DB2FieldDefault const fieldDefaults[12] = { float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 12, 0xAD7FCC9A, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 12, 0x2305491E, types, arraySizes, -1); return &instance; } }; @@ -4142,8 +3854,7 @@ struct ModelAnimCloakDampeningMeta { 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, 0x5DF8E3B9, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x839B4263, types, arraySizes, 2); return &instance; } }; @@ -4154,8 +3865,7 @@ struct ModelFileDataMeta { static char const* types = "bii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(1, 3, 0xA395EB50, types, arraySizes, fieldDefaults); + static DB2Meta instance(1, 3, 0xA395EB50, types, arraySizes, 2); return &instance; } }; @@ -4164,10 +3874,9 @@ struct ModelRibbonQualityMeta { static DB2Meta const* Instance() { - static char const* types = "ib"; + static char const* types = "bi"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint8(0) }; - static DB2Meta instance(-1, 2, 0x28B1E809, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x38F764D9, types, arraySizes, 1); return &instance; } }; @@ -4178,8 +3887,7 @@ struct ModifierTreeMeta { static char const* types = "iiibbbb"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint32(0), uint32(0), uint8(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 7, 0x7718AFC2, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 7, 0x7718AFC2, types, arraySizes, -1); return &instance; } }; @@ -4188,10 +3896,9 @@ struct MountMeta { static DB2Meta const* Instance() { - static char const* types = "isssfhhbiii"; + static char const* types = "sssifhhbiii"; static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0x753464AB, types, arraySizes, fieldDefaults); + static DB2Meta instance(8, 11, 0x4D812F19, types, arraySizes, -1); return &instance; } }; @@ -4202,8 +3909,7 @@ struct MountCapabilityMeta { static char const* types = "iihhhbii"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0xB0D11D52, types, arraySizes, fieldDefaults); + static DB2Meta instance(6, 8, 0xB0D11D52, types, arraySizes, -1); return &instance; } }; @@ -4214,8 +3920,7 @@ struct MountTypeXCapabilityMeta { static char const* types = "hhb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0xA34A8445, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xA34A8445, types, arraySizes, 0); return &instance; } }; @@ -4226,8 +3931,7 @@ struct MountXDisplayMeta { 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, 0x77A58808, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xD59B9FE4, types, arraySizes, 2); return &instance; } }; @@ -4238,8 +3942,7 @@ struct MovieMeta { static char const* types = "iibb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0xF3E9AE3B, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0xF3E9AE3B, types, arraySizes, -1); return &instance; } }; @@ -4250,8 +3953,7 @@ struct MovieFileDataMeta { static char const* types = "h"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { uint16(0) }; - static DB2Meta instance(-1, 1, 0xAA16D59F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0xAA16D59F, types, arraySizes, -1); return &instance; } }; @@ -4260,10 +3962,9 @@ struct MovieVariationMeta { static DB2Meta const* Instance() { - static char const* types = "ihi"; + static char const* types = "iih"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint32(0) }; - static DB2Meta instance(-1, 3, 0x5340E226, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x3BFD250E, types, arraySizes, 2); return &instance; } }; @@ -4272,10 +3973,9 @@ struct NPCModelItemSlotDisplayInfoMeta { static DB2Meta const* Instance() { - static char const* types = "iib"; + static char const* types = "ibi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0x3890D0A8, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x11D16204, types, arraySizes, 2); return &instance; } }; @@ -4286,8 +3986,7 @@ struct NPCSoundsMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 4 }; - static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; - static DB2Meta instance(-1, 1, 0xDCB396EF, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x672E1A6B, types, arraySizes, -1); return &instance; } }; @@ -4298,8 +3997,7 @@ struct NameGenMeta { static char const* types = "sbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0x2EF936CD, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x2EF936CD, types, arraySizes, -1); return &instance; } }; @@ -4310,8 +4008,7 @@ struct NamesProfanityMeta { static char const* types = "sb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) }; - static DB2Meta instance(-1, 2, 0xDFB56E0E, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xDFB56E0E, types, arraySizes, -1); return &instance; } }; @@ -4322,8 +4019,7 @@ struct NamesReservedMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0xE4923C1F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0xE4923C1F, types, arraySizes, -1); return &instance; } }; @@ -4334,8 +4030,7 @@ struct NamesReservedLocaleMeta { static char const* types = "sb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) }; - static DB2Meta instance(-1, 2, 0xC1403093, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xC1403093, types, arraySizes, -1); return &instance; } }; @@ -4346,8 +4041,7 @@ struct ObjectEffectMeta { static char const* types = "fhbbbbii"; static uint8 const arraySizes[8] = { 3, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[8] = { float(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 8, 0x6A0CF743, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 8, 0x6A0CF743, types, arraySizes, -1); return &instance; } }; @@ -4358,8 +4052,7 @@ struct ObjectEffectModifierMeta { static char const* types = "fbbb"; static uint8 const arraySizes[4] = { 4, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { float(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0xA482B053, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0xA482B053, types, arraySizes, -1); return &instance; } }; @@ -4370,8 +4063,7 @@ struct ObjectEffectPackageElemMeta { static char const* types = "hhh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint16(0) }; - static DB2Meta instance(-1, 3, 0x8CF043E5, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x8CF043E5, types, arraySizes, -1); return &instance; } }; @@ -4382,8 +4074,7 @@ struct OutlineEffectMeta { static char const* types = "fiiiii"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { float(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 6, 0x466B2BC4, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 6, 0x466B2BC4, types, arraySizes, -1); return &instance; } }; @@ -4394,8 +4085,7 @@ struct OverrideSpellDataMeta { static char const* types = "iib"; static uint8 const arraySizes[3] = { 10, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0x9417628C, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x9417628C, types, arraySizes, -1); return &instance; } }; @@ -4406,8 +4096,7 @@ struct PVPBracketTypesMeta { static char const* types = "bi"; static uint8 const arraySizes[2] = { 1, 4 }; - static DB2FieldDefault const fieldDefaults[2] = { uint8(0), uint32(0) }; - static DB2Meta instance(-1, 2, 0xF1DB623F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x7C55E5BB, types, arraySizes, -1); return &instance; } }; @@ -4416,10 +4105,9 @@ struct PVPDifficultyMeta { static DB2Meta const* Instance() { - static char const* types = "hbbb"; + static char const* types = "bbbh"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0xDFC4C4EF, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x970B5E15, types, arraySizes, 3); return &instance; } }; @@ -4430,8 +4118,7 @@ struct PVPItemMeta { static char const* types = "ib"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint8(0) }; - static DB2Meta instance(-1, 2, 0xBD449801, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xBD449801, types, arraySizes, -1); return &instance; } }; @@ -4442,8 +4129,7 @@ struct PageTextMaterialMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1); return &instance; } }; @@ -4454,8 +4140,7 @@ struct PaperDollItemFrameMeta { static char const* types = "sbi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint32(0) }; - static DB2Meta instance(-1, 3, 0x66B0597E, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x66B0597E, types, arraySizes, -1); return &instance; } }; @@ -4466,8 +4151,7 @@ struct ParagonReputationMeta { 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, 0xD7712F98, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xD7712F98, types, arraySizes, 2); return &instance; } }; @@ -4478,8 +4162,7 @@ struct ParticleColorMeta { static char const* types = "iii"; static uint8 const arraySizes[3] = { 3, 3, 3 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 3, 0x1576D1E1, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x1576D1E1, types, arraySizes, -1); return &instance; } }; @@ -4490,8 +4173,7 @@ struct PathMeta { static char const* types = "bbbbbbb"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 7, 0x5017579F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 7, 0x5017579F, types, arraySizes, -1); return &instance; } }; @@ -4502,8 +4184,7 @@ struct PathNodeMeta { static char const* types = "iihh"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint16(0), uint16(0) }; - static DB2Meta instance(0, 4, 0x76615830, types, arraySizes, fieldDefaults); + static DB2Meta instance(0, 4, 0x76615830, types, arraySizes, -1); return &instance; } }; @@ -4514,8 +4195,7 @@ struct PathNodePropertyMeta { static char const* types = "hhbii"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { uint16(0), uint16(0), uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(3, 5, 0x92C03009, types, arraySizes, fieldDefaults); + static DB2Meta instance(3, 5, 0x92C03009, types, arraySizes, -1); return &instance; } }; @@ -4526,8 +4206,7 @@ struct PathPropertyMeta { static char const* types = "ihbi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint8(0), uint32(0) }; - static DB2Meta instance(3, 4, 0x3D29C266, types, arraySizes, fieldDefaults); + static DB2Meta instance(3, 4, 0x3D29C266, types, arraySizes, -1); return &instance; } }; @@ -4538,8 +4217,7 @@ struct PhaseMeta { static char const* types = "h"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { uint16(0) }; - static DB2Meta instance(-1, 1, 0x0043219C, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x0043219C, types, arraySizes, -1); return &instance; } }; @@ -4550,8 +4228,7 @@ 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 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, 0x85ACB830, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 13, 0x85ACB830, types, arraySizes, -1); return &instance; } }; @@ -4562,8 +4239,7 @@ struct PhaseXPhaseGroupMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0x66517AF6, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x66517AF6, types, arraySizes, 1); return &instance; } }; @@ -4572,10 +4248,9 @@ struct PlayerConditionMeta { static DB2Meta const* Instance() { - static char const* types = "iiiishhhhhhhhhbbbbbbiiiiiiiiihhbbibbihbibbbbiiiiibihbbbiiiihibbbbbbbhiiihhbbbbbii"; - static uint8 const arraySizes[81] = { 1, 1, 2, 4, 1, 4, 4, 4, 4, 4, 4, 2, 4, 4, 1, 3, 4, 4, 4, 4, 1, 3, 4, 4, 4, 4, 4, 6, 2, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[81] = { 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), 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), uint16(0), uint16(0), uint8(255), uint8(255), uint32(0), uint8(0), uint8(0), uint32(0), uint16(0), uint8(0), uint32(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint8(0), uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint16(0), uint32(0), uint8(255), uint8(255), uint8(255), uint8(255), uint8(0), uint8(0), uint8(0), uint16(0), uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint8(255), uint8(255), uint8(255), uint8(0), uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(0, 81, 0x9C80F621, types, arraySizes, fieldDefaults); + static char const* types = "lsibhhibbibbihbibbbbiiiiibihbbbiiiihibbbbbbbhiiihhbbbbbiihhhibhhhiiihiibhbbihiiii"; + static uint8 const arraySizes[81] = { 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 3, 3, 4, 4, 4, 4, 4, 4, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, 2 }; + static DB2Meta instance(2, 81, 0x5B3DA113, types, arraySizes, -1); return &instance; } }; @@ -4586,8 +4261,7 @@ struct PositionerMeta { static char const* types = "fhbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { float(0), uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0xE830F1B1, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0xE830F1B1, types, arraySizes, -1); return &instance; } }; @@ -4598,8 +4272,7 @@ struct PositionerStateMeta { static char const* types = "fbiiiiii"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0x6C975DF4, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 8, 0x6C975DF4, types, arraySizes, -1); return &instance; } }; @@ -4610,8 +4283,7 @@ struct PositionerStateEntryMeta { static char const* types = "ffhhhhbbbbi"; 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), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 11, 0x667ED965, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 11, 0x667ED965, types, arraySizes, -1); return &instance; } }; @@ -4622,8 +4294,7 @@ struct PowerDisplayMeta { static char const* types = "sbbbb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { "", uint8(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 5, 0xFD152E5B, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0xFD152E5B, types, arraySizes, -1); return &instance; } }; @@ -4634,8 +4305,7 @@ 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 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, 0x0C3844E1, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 12, 0x0C3844E1, types, arraySizes, -1); return &instance; } }; @@ -4644,10 +4314,9 @@ struct PrestigeLevelInfoMeta { static DB2Meta const* Instance() { - static char const* types = "isbb"; + static char const* types = "sibb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), "", uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x1BCDA661, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0xA7B2D559, types, arraySizes, -1); return &instance; } }; @@ -4658,8 +4327,7 @@ struct PvpRewardMeta { 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, 0x72F4C016, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x72F4C016, types, arraySizes, -1); return &instance; } }; @@ -4670,8 +4338,7 @@ struct PvpScalingEffectMeta { 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, 0x52121A41, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x52121A41, types, arraySizes, 1); return &instance; } }; @@ -4682,8 +4349,7 @@ struct PvpScalingEffectTypeMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1); return &instance; } }; @@ -4692,10 +4358,9 @@ struct PvpTalentMeta { static DB2Meta const* Instance() { - static char const* types = "iisiiiiiii"; + static char const* types = "siiiiiiiii"; 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) }; - static DB2Meta instance(-1, 10, 0xD3A8CFAC, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 10, 0x6EB51740, types, arraySizes, -1); return &instance; } }; @@ -4706,8 +4371,7 @@ struct PvpTalentUnlockMeta { 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, 0x465C83BC, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x465C83BC, types, arraySizes, -1); return &instance; } }; @@ -4718,8 +4382,7 @@ struct QuestFactionRewardMeta { static char const* types = "h"; static uint8 const arraySizes[1] = { 10 }; - static DB2FieldDefault const fieldDefaults[1] = { uint16(0) }; - static DB2Meta instance(-1, 1, 0xB0E02541, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0xB0E02541, types, arraySizes, -1); return &instance; } }; @@ -4730,8 +4393,7 @@ struct QuestFeedbackEffectMeta { static char const* types = "ihbbbb"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 6, 0x89D55A27, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 6, 0x89D55A27, types, arraySizes, -1); return &instance; } }; @@ -4742,8 +4404,7 @@ struct QuestInfoMeta { static char const* types = "shbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x4F45F445, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x4F45F445, types, arraySizes, -1); return &instance; } }; @@ -4754,8 +4415,7 @@ struct QuestLineMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0x8046B23F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x8046B23F, types, arraySizes, -1); return &instance; } }; @@ -4766,8 +4426,7 @@ struct QuestLineXQuestMeta { static char const* types = "hhb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0x8FA4A9C7, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x8FA4A9C7, types, arraySizes, -1); return &instance; } }; @@ -4778,8 +4437,7 @@ struct QuestMoneyRewardMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 10 }; - static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; - static DB2Meta instance(-1, 1, 0x86397302, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x86397302, types, arraySizes, -1); return &instance; } }; @@ -4788,10 +4446,9 @@ struct QuestObjectiveMeta { static DB2Meta const* Instance() { - static char const* types = "iishbbbb"; + static char const* types = "siibbbbh"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[8] = { uint32(0), uint32(0), "", uint16(0), uint8(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 8, 0x7F5AB0E6, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 8, 0xDD995180, types, arraySizes, 7); return &instance; } }; @@ -4802,8 +4459,7 @@ struct QuestPOIBlobMeta { static char const* types = "ihhbbiii"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0xEC15976E, types, arraySizes, fieldDefaults); + static DB2Meta instance(0, 8, 0xEC15976E, types, arraySizes, 2); return &instance; } }; @@ -4812,10 +4468,9 @@ struct QuestPOIPointMeta { static DB2Meta const* Instance() { - static char const* types = "ihh"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint16(0) }; - static DB2Meta instance(-1, 3, 0xDBF83463, types, arraySizes, fieldDefaults); + static char const* types = "ihhi"; + static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; + static DB2Meta instance(0, 4, 0x8CF2B119, types, arraySizes, 3); return &instance; } }; @@ -4826,8 +4481,7 @@ struct QuestPackageItemMeta { static char const* types = "ihbi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 4, 0xCF9401CF, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0xCF9401CF, types, arraySizes, -1); return &instance; } }; @@ -4838,8 +4492,7 @@ struct QuestSortMeta { static char const* types = "sb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) }; - static DB2Meta instance(-1, 2, 0xAD7072C6, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xAD7072C6, types, arraySizes, -1); return &instance; } }; @@ -4850,8 +4503,7 @@ struct QuestV2Meta { static char const* types = "h"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { uint16(0) }; - static DB2Meta instance(-1, 1, 0x70495C9B, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x70495C9B, types, arraySizes, -1); return &instance; } }; @@ -4860,10 +4512,9 @@ struct QuestV2CliTaskMeta { static DB2Meta const* Instance() { - 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 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, 0xC02750A8, types, arraySizes, fieldDefaults); + static char const* types = "lssihhhhhhbbbbbbbbbbiiii"; + static uint8 const arraySizes[24] = { 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2Meta instance(20, 24, 0x3F026A14, types, arraySizes, -1); return &instance; } }; @@ -4874,8 +4525,7 @@ struct QuestXGroupActivityMeta { 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, 0x06CC45D3, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x06CC45D3, types, arraySizes, -1); return &instance; } }; @@ -4886,8 +4536,7 @@ struct QuestXPMeta { static char const* types = "h"; static uint8 const arraySizes[1] = { 10 }; - static DB2FieldDefault const fieldDefaults[1] = { uint16(0) }; - static DB2Meta instance(-1, 1, 0xCB76B4C0, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0xCB76B4C0, types, arraySizes, -1); return &instance; } }; @@ -4898,8 +4547,7 @@ struct RandPropPointsMeta { static char const* types = "iii"; static uint8 const arraySizes[3] = { 5, 5, 5 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 3, 0x97178218, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x4E2C0BCC, types, arraySizes, -1); return &instance; } }; @@ -4910,8 +4558,7 @@ struct RelicSlotTierRequirementMeta { static char const* types = "ibb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0x129FCC09, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x129FCC09, types, arraySizes, -1); return &instance; } }; @@ -4922,8 +4569,7 @@ struct RelicTalentMeta { static char const* types = "hbiii"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { uint16(0), uint8(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 5, 0x7A5963FD, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x7A5963FD, types, arraySizes, -1); return &instance; } }; @@ -4934,8 +4580,7 @@ struct ResearchBranchMeta { static char const* types = "sihbii"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { "", uint32(0), uint16(0), uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 6, 0x58A3876E, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 6, 0x58A3876E, types, arraySizes, -1); return &instance; } }; @@ -4946,8 +4591,7 @@ struct ResearchFieldMeta { static char const* types = "sbi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint32(0) }; - static DB2Meta instance(2, 3, 0x85868B9F, types, arraySizes, fieldDefaults); + static DB2Meta instance(2, 3, 0x85868B9F, types, arraySizes, -1); return &instance; } }; @@ -4958,8 +4602,7 @@ struct ResearchProjectMeta { static char const* types = "ssihbbiii"; static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[9] = { "", "", uint32(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(6, 9, 0xB1CAB80B, types, arraySizes, fieldDefaults); + static DB2Meta instance(6, 9, 0xB1CAB80B, types, arraySizes, -1); return &instance; } }; @@ -4968,10 +4611,9 @@ struct ResearchSiteMeta { static DB2Meta const* Instance() { - static char const* types = "ishi"; + static char const* types = "sihi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), "", uint16(0), uint32(0) }; - static DB2Meta instance(-1, 4, 0x49F5E523, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x25F7DCC7, types, arraySizes, -1); return &instance; } }; @@ -4982,8 +4624,7 @@ struct ResistancesMeta { static char const* types = "sbi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint32(0) }; - static DB2Meta instance(-1, 3, 0xA3EAE5AE, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xA3EAE5AE, types, arraySizes, -1); return &instance; } }; @@ -4994,8 +4635,7 @@ struct RewardPackMeta { static char const* types = "ifbbii"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { uint32(0), float(0), uint8(0), uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 6, 0xDB6CC0AB, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 6, 0xDB6CC0AB, types, arraySizes, -1); return &instance; } }; @@ -5006,8 +4646,7 @@ struct RewardPackXCurrencyTypeMeta { 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, 0x261C4B12, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x217E6712, types, arraySizes, 2); return &instance; } }; @@ -5018,8 +4657,7 @@ struct RewardPackXItemMeta { 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, 0x05A73EB9, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x74F6B9BD, types, arraySizes, 2); return &instance; } }; @@ -5030,8 +4668,7 @@ struct RibbonQualityMeta { static char const* types = "fffbi"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), float(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 5, 0xC75DAEA8, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0xC75DAEA8, types, arraySizes, -1); return &instance; } }; @@ -5042,8 +4679,29 @@ struct RulesetItemUpgradeMeta { static char const* types = "ih"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0xFB641AE0, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xFB641AE0, types, arraySizes, -1); + return &instance; + } +}; + +struct SDReplacementModelMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "i"; + static uint8 const arraySizes[1] = { 1 }; + static DB2Meta instance(-1, 1, 0xE1F906C2, types, arraySizes, -1); + return &instance; + } +}; + +struct SandboxScalingMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "iii"; + static uint8 const arraySizes[3] = { 1, 1, 1 }; + static DB2Meta instance(-1, 3, 0x5200B7F5, types, arraySizes, -1); return &instance; } }; @@ -5054,8 +4712,7 @@ struct ScalingStatDistributionMeta { static char const* types = "hii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 3, 0xDED48286, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xDED48286, types, arraySizes, -1); return &instance; } }; @@ -5066,8 +4723,7 @@ struct ScenarioMeta { static char const* types = "shbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0xD052232A, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0xD052232A, types, arraySizes, -1); return &instance; } }; @@ -5078,8 +4734,7 @@ struct ScenarioEventEntryMeta { static char const* types = "hb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint8(0) }; - static DB2Meta instance(-1, 2, 0x02E80455, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x02E80455, types, arraySizes, -1); return &instance; } }; @@ -5090,8 +4745,7 @@ struct ScenarioStepMeta { static char const* types = "sshhhbbii"; static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[9] = { "", "", uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 9, 0x201B0EFC, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 9, 0x201B0EFC, types, arraySizes, 2); return &instance; } }; @@ -5100,10 +4754,20 @@ struct SceneScriptMeta { static DB2Meta const* Instance() { - static char const* types = "sshh"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { "", "", uint16(0), uint16(0) }; - static DB2Meta instance(-1, 4, 0xE4E6FCEA, types, arraySizes, fieldDefaults); + static char const* types = "hh"; + static uint8 const arraySizes[2] = { 1, 1 }; + static DB2Meta instance(-1, 2, 0xC694B81E, types, arraySizes, -1); + return &instance; + } +}; + +struct SceneScriptGlobalTextMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "ss"; + static uint8 const arraySizes[2] = { 1, 1 }; + static DB2Meta instance(-1, 2, 0xB9F8FDF1, types, arraySizes, -1); return &instance; } }; @@ -5114,8 +4778,7 @@ struct SceneScriptPackageMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1); return &instance; } }; @@ -5126,8 +4789,18 @@ struct SceneScriptPackageMemberMeta { static char const* types = "hhhb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint16(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x787A715F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x787A715F, types, arraySizes, 0); + return &instance; + } +}; + +struct SceneScriptTextMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "ss"; + static uint8 const arraySizes[2] = { 1, 1 }; + static DB2Meta instance(-1, 2, 0xB9F8FDF1, types, arraySizes, -1); return &instance; } }; @@ -5138,8 +4811,7 @@ struct ScheduledIntervalMeta { 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(-1, 5, 0x5DD2FF46, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x5DD2FF46, types, arraySizes, -1); return &instance; } }; @@ -5150,8 +4822,7 @@ struct ScheduledWorldStateMeta { static char const* types = "iiiiiiii"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0xFCB13A6A, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 8, 0xFCB13A6A, types, arraySizes, 0); return &instance; } }; @@ -5162,8 +4833,7 @@ struct ScheduledWorldStateGroupMeta { 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(-1, 5, 0x21F6EE03, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x21F6EE03, types, arraySizes, -1); return &instance; } }; @@ -5174,8 +4844,7 @@ struct ScheduledWorldStateXUniqCatMeta { 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, 0x5DB3F9E9, types, arraySizes, fieldDefaults); + static DB2Meta instance(0, 3, 0x7EFF57FD, types, arraySizes, 2); return &instance; } }; @@ -5186,8 +4855,7 @@ 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 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, 0x4D5B91C5, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 12, 0x4D5B91C5, types, arraySizes, -1); return &instance; } }; @@ -5198,8 +4866,7 @@ struct ScreenLocationMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1); return &instance; } }; @@ -5210,8 +4877,7 @@ struct SeamlessSiteMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; - static DB2Meta instance(-1, 1, 0xBFE7B9D3, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0xBFE7B9D3, types, arraySizes, 0); return &instance; } }; @@ -5222,8 +4888,7 @@ struct ServerMessagesMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0x1C7A1347, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x1C7A1347, types, arraySizes, -1); return &instance; } }; @@ -5234,8 +4899,7 @@ struct ShadowyEffectMeta { static char const* types = "iifffffffbbii"; 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), 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, 13, 0xE909BB18, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 13, 0xE909BB18, types, arraySizes, -1); return &instance; } }; @@ -5246,8 +4910,7 @@ struct SkillLineMeta { static char const* types = "ssshbbii"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[8] = { "", "", "", uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 8, 0x3F7E88AF, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 8, 0x3F7E88AF, types, arraySizes, -1); return &instance; } }; @@ -5256,10 +4919,9 @@ struct SkillLineAbilityMeta { static DB2Meta const* Instance() { - static char const* types = "iiihhhhhhbbbi"; - 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), 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, 0xE59C4EFF, types, arraySizes, fieldDefaults); + static char const* types = "liiihhhhhbihbb"; + static uint8 const arraySizes[14] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2Meta instance(1, 14, 0x97B5A653, types, arraySizes, 4); return &instance; } }; @@ -5268,10 +4930,9 @@ struct SkillRaceClassInfoMeta { static DB2Meta const* Instance() { - static char const* types = "ihhhbbi"; + static char const* types = "lhhhbbi"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 7, 0xC4FCD85C, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 7, 0x9752C2CE, types, arraySizes, 1); return &instance; } }; @@ -5281,9 +4942,8 @@ struct SoundAmbienceMeta static DB2Meta const* Instance() { static char const* types = "biii"; - static uint8 const arraySizes[4] = { 1, 2, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint8(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 4, 0xD2E3B919, types, arraySizes, fieldDefaults); + static uint8 const arraySizes[4] = { 1, 1, 1, 2 }; + static DB2Meta instance(-1, 4, 0xB073D4B5, types, arraySizes, -1); return &instance; } }; @@ -5292,10 +4952,9 @@ struct SoundAmbienceFlavorMeta { static DB2Meta const* Instance() { - static char const* types = "hii"; + static char const* types = "iih"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 3, 0x7BA44719, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x2C58D929, types, arraySizes, 2); return &instance; } }; @@ -5304,10 +4963,9 @@ struct SoundBusMeta { static DB2Meta const* Instance() { - static char const* types = "fhbbbbbi"; + static char const* types = "fbbbbbih"; 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, 0xD0CEAF42, types, arraySizes, fieldDefaults); + static DB2Meta instance(6, 8, 0xB2ACDE2A, types, arraySizes, 7); return &instance; } }; @@ -5318,8 +4976,7 @@ struct SoundBusOverrideMeta { 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, 0x6D887F48, types, arraySizes, fieldDefaults); + static DB2Meta instance(0, 7, 0x6D887F48, types, arraySizes, 5); return &instance; } }; @@ -5330,8 +4987,7 @@ struct SoundEmitterPillPointsMeta { static char const* types = "fh"; static uint8 const arraySizes[2] = { 3, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0x41FCF15B, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x41FCF15B, types, arraySizes, 1); return &instance; } }; @@ -5340,10 +4996,9 @@ struct SoundEmittersMeta { static DB2Meta const* Instance() { - static char const* types = "ffshhhbbbiii"; - static uint8 const arraySizes[12] = { 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0x93877AA8, types, arraySizes, fieldDefaults); + static char const* types = "sffhhbbbiiih"; + static uint8 const arraySizes[12] = { 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2Meta instance(8, 12, 0x55A3B17E, types, arraySizes, 11); return &instance; } }; @@ -5354,8 +5009,7 @@ struct SoundEnvelopeMeta { static char const* types = "iihhhbi"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint32(0), uint16(0), uint16(0), uint16(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 7, 0x5B78031C, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 7, 0x5B78031C, types, arraySizes, 0); return &instance; } }; @@ -5366,8 +5020,7 @@ struct SoundFilterMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1); return &instance; } }; @@ -5378,8 +5031,7 @@ struct SoundFilterElemMeta { static char const* types = "fbb"; static uint8 const arraySizes[3] = { 9, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { float(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0x68075C77, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xE17AC589, types, arraySizes, 2); return &instance; } }; @@ -5390,8 +5042,7 @@ struct SoundKitMeta { static char const* types = "ifffhhbbbfffffhb"; static uint8 const arraySizes[16] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[16] = { uint32(0), float(0), float(0), float(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), float(0), float(0), float(0), float(0), float(0), uint16(0), uint8(0) }; - static DB2Meta instance(0, 16, 0x0E9CB7AE, types, arraySizes, fieldDefaults); + static DB2Meta instance(0, 16, 0x0E9CB7AE, types, arraySizes, -1); return &instance; } }; @@ -5402,8 +5053,7 @@ struct SoundKitAdvancedMeta { static char const* types = "ifffffiifbiiiiiiiiiibffffbhffiiibbiiiiii"; static uint8 const arraySizes[40] = { 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, 1 }; - static DB2FieldDefault const fieldDefaults[40] = { uint32(0), float(0), float(0), float(0), float(0), float(0), uint32(0), uint32(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), uint8(0), float(1), float(360), float(360), float(0), uint8(0), uint16(0), float(1), float(1), uint32(0), uint32(0), uint32(0), uint8(0), uint8(0), uint32(4294967295), uint32(4294967295), uint32(0), uint32(4294967295), uint32(4294967295), uint32(0) }; - static DB2Meta instance(0, 40, 0x73F6F023, types, arraySizes, fieldDefaults); + static DB2Meta instance(0, 40, 0x73F6F023, types, arraySizes, -1); return &instance; } }; @@ -5414,8 +5064,7 @@ struct SoundKitChildMeta { 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, 0x2827A3B5, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x2827A3B5, types, arraySizes, 0); return &instance; } }; @@ -5424,10 +5073,9 @@ struct SoundKitEntryMeta { static DB2Meta const* Instance() { - static char const* types = "ifbi"; + static char const* types = "iibf"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), float(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 4, 0x15A38197, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x6ED6E26F, types, arraySizes, 0); return &instance; } }; @@ -5438,8 +5086,7 @@ struct SoundKitFallbackMeta { 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, 0xB1A5106F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xB1A5106F, types, arraySizes, -1); return &instance; } }; @@ -5450,8 +5097,7 @@ struct SoundKitNameMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1); return &instance; } }; @@ -5462,8 +5108,7 @@ struct SoundOverrideMeta { static char const* types = "hhhb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint16(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0xFB7643F6, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0xFB7643F6, types, arraySizes, -1); return &instance; } }; @@ -5474,8 +5119,7 @@ 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 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, 0x85F218A4, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 23, 0x85F218A4, types, arraySizes, -1); return &instance; } }; @@ -5484,10 +5128,9 @@ struct SourceInfoMeta { static DB2Meta const* Instance() { - static char const* types = "isbb"; + static char const* types = "sbbi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), "", uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0xC3DF4AF7, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x7C214135, types, arraySizes, 3); return &instance; } }; @@ -5498,8 +5141,7 @@ struct SpamMessagesMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0x0D4BA7E7, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x0D4BA7E7, types, arraySizes, -1); return &instance; } }; @@ -5508,10 +5150,9 @@ struct SpecializationSpellsMeta { static DB2Meta const* Instance() { - static char const* types = "iishbi"; + static char const* types = "siihbi"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint32(0), "", uint16(0), uint8(0), uint32(0) }; - static DB2Meta instance(5, 6, 0x2E72326F, types, arraySizes, fieldDefaults); + static DB2Meta instance(5, 6, 0xAE3436F3, types, arraySizes, 3); return &instance; } }; @@ -5520,10 +5161,9 @@ struct SpellMeta { static DB2Meta const* Instance() { - static char const* types = "ssssiii"; - static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { "", "", "", "", uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(5, 7, 0x9BB9B426, types, arraySizes, fieldDefaults); + static char const* types = "ssss"; + static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; + static DB2Meta instance(-1, 4, 0x2273DFFF, types, arraySizes, -1); return &instance; } }; @@ -5534,8 +5174,7 @@ struct SpellActionBarPrefMeta { static char const* types = "ih"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0x1EF80B2B, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x1EF80B2B, types, arraySizes, -1); return &instance; } }; @@ -5546,8 +5185,7 @@ struct SpellActivationOverlayMeta { static char const* types = "iiifibbi"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 4, 1, 1, 1 }; - 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, 0x23568FC7, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 8, 0x23568FC7, types, arraySizes, -1); return &instance; } }; @@ -5556,10 +5194,9 @@ struct SpellAuraOptionsMeta { static DB2Meta const* Instance() { - static char const* types = "iiiihhbb"; + static char const* types = "iiihhbbi"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[8] = { uint32(0), uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 8, 0xC49556EF, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 8, 0xE05BE94F, types, arraySizes, 7); return &instance; } }; @@ -5568,10 +5205,9 @@ struct SpellAuraRestrictionsMeta { static DB2Meta const* Instance() { - static char const* types = "iiiiibbbbb"; + static char const* types = "iiiibbbbbi"; 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), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 10, 0x898F50ED, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 10, 0x7CDF3311, types, arraySizes, 9); return &instance; } }; @@ -5582,8 +5218,7 @@ struct SpellAuraVisXChrSpecMeta { static char const* types = "hh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) }; - static DB2Meta instance(-1, 2, 0x197FF5DC, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xA65B6A4A, types, arraySizes, 1); return &instance; } }; @@ -5592,10 +5227,9 @@ struct SpellAuraVisibilityMeta { static DB2Meta const* Instance() { - static char const* types = "ibbi"; + static char const* types = "bbii"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(3, 4, 0x037158AE, types, arraySizes, fieldDefaults); + static DB2Meta instance(2, 4, 0xA549F79C, types, arraySizes, 3); return &instance; } }; @@ -5606,8 +5240,7 @@ struct SpellCastTimesMeta { static char const* types = "iih"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint16(0) }; - static DB2Meta instance(-1, 3, 0x4129C6A4, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x4129C6A4, types, arraySizes, -1); return &instance; } }; @@ -5618,8 +5251,7 @@ struct SpellCastingRequirementsMeta { static char const* types = "ihhhbbb"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 7, 0xD8B56E5D, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 7, 0xD8B56E5D, types, arraySizes, -1); return &instance; } }; @@ -5628,10 +5260,9 @@ struct SpellCategoriesMeta { static DB2Meta const* Instance() { - static char const* types = "ihhhbbbbb"; + static char const* types = "hhhbbbbbi"; static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0xC6ACBEE2, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 9, 0x14E916CC, types, arraySizes, 8); return &instance; } }; @@ -5642,8 +5273,7 @@ struct SpellCategoryMeta { static char const* types = "sibbbi"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { "", uint32(0), uint8(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 6, 0xEA60E384, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 6, 0xEA60E384, types, arraySizes, -1); return &instance; } }; @@ -5654,8 +5284,7 @@ struct SpellChainEffectsMeta { static char const* types = "fffiiffffffffffffffffffffffffffffffffffiffffhhhhbbbbbbbbbbii"; static uint8 const arraySizes[60] = { 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, 1, 1, 1, 1, 11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 }; - static DB2FieldDefault const fieldDefaults[60] = { 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), 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), uint32(0) }; - static DB2Meta instance(-1, 60, 0xC4156FED, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 60, 0x4E8FF369, types, arraySizes, -1); return &instance; } }; @@ -5666,8 +5295,7 @@ struct SpellClassOptionsMeta { static char const* types = "iibi"; static uint8 const arraySizes[4] = { 1, 4, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 4, 0x80FBD67A, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x80FBD67A, types, arraySizes, -1); return &instance; } }; @@ -5676,10 +5304,9 @@ struct SpellCooldownsMeta { static DB2Meta const* Instance() { - static char const* types = "iiiib"; + static char const* types = "iiibi"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint32(0), uint32(0), uint8(0) }; - static DB2Meta instance(-1, 5, 0x4A02FB86, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0xCA8D8B3C, types, arraySizes, 4); return &instance; } }; @@ -5690,8 +5317,7 @@ struct SpellDescriptionVariablesMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0xA8EDE75B, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0xA8EDE75B, types, arraySizes, -1); return &instance; } }; @@ -5702,8 +5328,7 @@ struct SpellDispelTypeMeta { static char const* types = "ssbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { "", "", uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0xE9DDA799, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0xE9DDA799, types, arraySizes, -1); return &instance; } }; @@ -5714,8 +5339,7 @@ struct SpellDurationMeta { 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, 0x0D6C9082, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x0D6C9082, types, arraySizes, -1); return &instance; } }; @@ -5724,10 +5348,9 @@ struct SpellEffectMeta { static DB2Meta const* Instance() { - 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, 0xCE7E4237, types, arraySizes, fieldDefaults); + static char const* types = "iiiiiififfiiiiffififfffffiiiii"; + static uint8 const arraySizes[30] = { 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, 4, 2, 2, 2, 1 }; + static DB2Meta instance(0, 30, 0x3244098B, types, arraySizes, 29); return &instance; } }; @@ -5738,32 +5361,7 @@ struct SpellEffectEmissionMeta { static char const* types = "ffhb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { float(0), float(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0xC6E61A9B, types, arraySizes, fieldDefaults); - return &instance; - } -}; - -struct SpellEffectGroupSizeMeta -{ - static DB2Meta const* Instance() - { - static char const* types = "if"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint32(0), float(0) }; - static DB2Meta instance(-1, 2, 0x9FCB13EB, types, arraySizes, fieldDefaults); - return &instance; - } -}; - -struct SpellEffectScalingMeta -{ - static DB2Meta const* Instance() - { - static char const* types = "fffi"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { float(0), float(0), float(0), uint32(0) }; - static DB2Meta instance(-1, 4, 0x0F1677CB, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0xC6E61A9B, types, arraySizes, -1); return &instance; } }; @@ -5774,8 +5372,7 @@ struct SpellEquippedItemsMeta { static char const* types = "iiib"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint32(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0xCE628176, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0xCE628176, types, arraySizes, -1); return &instance; } }; @@ -5784,10 +5381,9 @@ struct SpellFlyoutMeta { static DB2Meta const* Instance() { - static char const* types = "issbii"; + static char const* types = "lssbii"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { uint32(0), "", "", uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 6, 0x6E55E113, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 6, 0x437671BD, types, arraySizes, -1); return &instance; } }; @@ -5798,8 +5394,7 @@ struct SpellFlyoutItemMeta { static char const* types = "ibb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0xD091F5DD, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xF86ADE09, types, arraySizes, 2); return &instance; } }; @@ -5810,8 +5405,7 @@ struct SpellFocusObjectMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1); return &instance; } }; @@ -5820,10 +5414,9 @@ struct SpellInterruptsMeta { static DB2Meta const* Instance() { - static char const* types = "iiihb"; - static uint8 const arraySizes[5] = { 1, 2, 2, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint32(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 5, 0xD543CC04, types, arraySizes, fieldDefaults); + static char const* types = "bhiii"; + static uint8 const arraySizes[5] = { 1, 1, 2, 2, 1 }; + static DB2Meta instance(-1, 5, 0x2FA8EA94, types, arraySizes, 4); return &instance; } }; @@ -5832,10 +5425,9 @@ struct SpellItemEnchantmentMeta { static DB2Meta const* Instance() { - 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 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, 0x48ACBC6C, types, arraySizes, fieldDefaults); + static char const* types = "sifiihhhhhhbbbbbbbi"; + static uint8 const arraySizes[19] = { 1, 3, 3, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1 }; + static DB2Meta instance(-1, 19, 0x80DEA734, types, arraySizes, -1); return &instance; } }; @@ -5844,10 +5436,9 @@ struct SpellItemEnchantmentConditionMeta { static DB2Meta const* Instance() { - static char const* types = "bbbbbi"; + static char const* types = "ibbbbb"; static uint8 const arraySizes[6] = { 5, 5, 5, 5, 5, 5 }; - static DB2FieldDefault const fieldDefaults[6] = { uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 6, 0xFEBEF5E5, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 6, 0xB9C16961, types, arraySizes, -1); return &instance; } }; @@ -5856,10 +5447,9 @@ struct SpellKeyboundOverrideMeta { static DB2Meta const* Instance() { - static char const* types = "isb"; + 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, 0x8AC16F04, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x6ECA16FC, types, arraySizes, -1); return &instance; } }; @@ -5870,8 +5460,7 @@ struct SpellLabelMeta { 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, 0x3FC49F7C, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x68E44736, types, arraySizes, 1); return &instance; } }; @@ -5882,8 +5471,7 @@ struct SpellLearnSpellMeta { 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, 0x153EBA26, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x153EBA26, types, arraySizes, -1); return &instance; } }; @@ -5892,10 +5480,9 @@ struct SpellLevelsMeta { static DB2Meta const* Instance() { - static char const* types = "ihhhbb"; + static char const* types = "hhhbbi"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 6, 0x9F5C2D61, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 6, 0x9E7D1CCD, types, arraySizes, 5); return &instance; } }; @@ -5906,8 +5493,7 @@ struct SpellMechanicMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0xF2075D8C, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0xF2075D8C, types, arraySizes, -1); return &instance; } }; @@ -5916,22 +5502,9 @@ struct SpellMiscMeta { static DB2Meta const* Instance() { - static char const* types = "iffhhhbii"; - static uint8 const arraySizes[9] = { 14, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0x4DF9B9DB, types, arraySizes, fieldDefaults); - return &instance; - } -}; - -struct SpellMiscDifficultyMeta -{ - static DB2Meta const* Instance() - { - static char const* types = "ibi"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint8(0), uint32(0) }; - static DB2Meta instance(2, 3, 0xE8AD116F, types, arraySizes, fieldDefaults); + static char const* types = "hhhbififbii"; + static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 14, 1 }; + static DB2Meta instance(-1, 11, 0xCDC114D5, types, arraySizes, 10); return &instance; } }; @@ -5942,8 +5515,7 @@ 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 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, 0x1D35645E, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 15, 0x1D35645E, types, arraySizes, -1); return &instance; } }; @@ -5954,8 +5526,7 @@ struct SpellMissileMotionMeta { static char const* types = "ssbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { "", "", uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x6B78A45B, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x6B78A45B, types, arraySizes, -1); return &instance; } }; @@ -5964,10 +5535,9 @@ struct SpellPowerMeta { static DB2Meta const* Instance() { - static char const* types = "iiffifbbiiiiii"; + static char const* types = "iffifbbiiiiiii"; static uint8 const arraySizes[14] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0xA2D2A8CE, types, arraySizes, fieldDefaults); + static DB2Meta instance(7, 14, 0x8E5E46EC, types, arraySizes, 13); return &instance; } }; @@ -5978,8 +5548,7 @@ struct SpellPowerDifficultyMeta { static char const* types = "bbi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(2, 3, 0x74714FF7, types, arraySizes, fieldDefaults); + static DB2Meta instance(2, 3, 0x74714FF7, types, arraySizes, -1); return &instance; } }; @@ -5990,8 +5559,7 @@ struct SpellProceduralEffectMeta { static char const* types = "fbi"; static uint8 const arraySizes[3] = { 4, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { float(0), uint8(0), uint32(0) }; - static DB2Meta instance(2, 3, 0x3E47F4EF, types, arraySizes, fieldDefaults); + static DB2Meta instance(2, 3, 0x3E47F4EF, types, arraySizes, -1); return &instance; } }; @@ -6002,8 +5570,7 @@ struct SpellProcsPerMinuteMeta { static char const* types = "fb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { float(0), uint8(0) }; - static DB2Meta instance(-1, 2, 0x4BC1931B, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x4BC1931B, types, arraySizes, -1); return &instance; } }; @@ -6012,10 +5579,9 @@ struct SpellProcsPerMinuteModMeta { static DB2Meta const* Instance() { - static char const* types = "fhhb"; + static char const* types = "fhbh"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { float(0), uint16(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x57D7949F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x2503C18B, types, arraySizes, 3); return &instance; } }; @@ -6026,8 +5592,7 @@ struct SpellRadiusMeta { static char const* types = "ffff"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { float(0), float(0), float(0), float(0) }; - static DB2Meta instance(-1, 4, 0xC12E5C90, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0xC12E5C90, types, arraySizes, -1); return &instance; } }; @@ -6036,10 +5601,9 @@ struct SpellRangeMeta { static DB2Meta const* Instance() { - static char const* types = "ffssb"; - static uint8 const arraySizes[5] = { 2, 2, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), "", "", uint8(0) }; - static DB2Meta instance(-1, 5, 0x1A6155F2, types, arraySizes, fieldDefaults); + static char const* types = "ssffb"; + static uint8 const arraySizes[5] = { 1, 1, 2, 2, 1 }; + static DB2Meta instance(-1, 5, 0xDE2E3F8E, types, arraySizes, -1); return &instance; } }; @@ -6050,8 +5614,7 @@ struct SpellReagentsMeta { static char const* types = "iih"; static uint8 const arraySizes[3] = { 1, 8, 8 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint16(0) }; - static DB2Meta instance(-1, 3, 0x0463C688, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x0463C688, types, arraySizes, -1); return &instance; } }; @@ -6062,8 +5625,7 @@ struct SpellReagentsCurrencyMeta { static char const* types = "ihh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint16(0) }; - static DB2Meta instance(-1, 3, 0x90A5E5D2, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x90A5E5D2, types, arraySizes, 0); return &instance; } }; @@ -6074,8 +5636,7 @@ struct SpellScalingMeta { static char const* types = "ihiii"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint16(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 5, 0xF67A5719, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0xF67A5719, types, arraySizes, -1); return &instance; } }; @@ -6086,8 +5647,7 @@ struct SpellShapeshiftMeta { static char const* types = "iiib"; static uint8 const arraySizes[4] = { 1, 2, 2, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint32(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0xA461C24D, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0xA461C24D, types, arraySizes, -1); return &instance; } }; @@ -6098,8 +5658,7 @@ struct SpellShapeshiftFormMeta { 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, 0x99DC58DF, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 10, 0x130819AF, types, arraySizes, -1); return &instance; } }; @@ -6110,8 +5669,7 @@ struct SpellSpecialUnitEffectMeta { static char const* types = "hi"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint32(0) }; - static DB2Meta instance(-1, 2, 0x76989615, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x76989615, types, arraySizes, -1); return &instance; } }; @@ -6120,10 +5678,9 @@ struct SpellTargetRestrictionsMeta { static DB2Meta const* Instance() { - static char const* types = "iffihbbi"; + static char const* types = "ffihbbii"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0x973D298C, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 8, 0x7B330026, types, arraySizes, 7); return &instance; } }; @@ -6134,8 +5691,7 @@ struct SpellTotemsMeta { static char const* types = "iih"; static uint8 const arraySizes[3] = { 1, 2, 2 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint16(0) }; - static DB2Meta instance(-1, 3, 0xEC0C4866, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xEC0C4866, types, arraySizes, -1); return &instance; } }; @@ -6144,10 +5700,9 @@ struct SpellVisualMeta { static DB2Meta const* Instance() { - static char const* types = "ffbbiiihiiihiii"; - static uint8 const arraySizes[15] = { 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[15] = { float(0), float(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint16(0), uint32(0), uint32(0), uint32(0), uint16(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(4, 15, 0xAC810A44, types, arraySizes, fieldDefaults); + static char const* types = "ffihbbiiiihiii"; + static uint8 const arraySizes[14] = { 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2Meta instance(-1, 14, 0x1C1301D2, types, arraySizes, -1); return &instance; } }; @@ -6158,8 +5713,7 @@ struct SpellVisualAnimMeta { static char const* types = "hhh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint16(0) }; - static DB2Meta instance(-1, 3, 0x0ABD7A19, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x0ABD7A19, types, arraySizes, -1); return &instance; } }; @@ -6170,8 +5724,7 @@ struct SpellVisualColorEffectMeta { static char const* types = "fifhhhhhbbi"; static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0x7E5B2E66, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 11, 0x7E5B2E66, types, arraySizes, -1); return &instance; } }; @@ -6182,8 +5735,7 @@ struct SpellVisualEffectNameMeta { static char const* types = "ffffffiiibiii"; static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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), uint32(0) }; - static DB2Meta instance(-1, 13, 0xB930A934, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 13, 0xB930A934, types, arraySizes, -1); return &instance; } }; @@ -6194,8 +5746,7 @@ struct SpellVisualEventMeta { static char const* types = "iiiiiiiii"; 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), uint32(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 9, 0x487A650E, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 9, 0xAE75BC3C, types, arraySizes, 8); return &instance; } }; @@ -6204,10 +5755,9 @@ struct SpellVisualKitMeta { static DB2Meta const* Instance() { - static char const* types = "iifihh"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint32(0), float(0), uint32(0), uint16(0), uint16(0) }; - static DB2Meta instance(0, 6, 0xDB2F70FE, types, arraySizes, fieldDefaults); + static char const* types = "ifihh"; + static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; + static DB2Meta instance(-1, 5, 0xDC04F488, types, arraySizes, -1); return &instance; } }; @@ -6218,8 +5768,7 @@ struct SpellVisualKitAreaModelMeta { static char const* types = "ifffhb"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { uint32(0), float(0), float(0), float(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 6, 0xBE76E593, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 6, 0xBE76E593, types, arraySizes, -1); return &instance; } }; @@ -6230,8 +5779,7 @@ struct SpellVisualKitEffectMeta { 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, 0xD7C9ED1B, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xB78084B7, types, arraySizes, 2); return &instance; } }; @@ -6240,10 +5788,9 @@ struct SpellVisualKitModelAttachMeta { static DB2Meta const* Instance() { - 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 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, 0xAB81ACCD, types, arraySizes, fieldDefaults); + static char const* types = "ffihbbhffffffffhhhhifi"; + static uint8 const arraySizes[22] = { 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2Meta instance(2, 22, 0xBCE18649, types, arraySizes, 21); return &instance; } }; @@ -6252,10 +5799,20 @@ struct SpellVisualMissileMeta { static DB2Meta const* Instance() { - static char const* types = "iiiffhhhhhhbbiii"; + static char const* types = "iiiffhhhhhbbiiih"; static uint8 const arraySizes[16] = { 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0xDC228F29, types, arraySizes, fieldDefaults); + static DB2Meta instance(12, 16, 0x00BA67A5, types, arraySizes, 15); + return &instance; + } +}; + +struct SpellXDescriptionVariablesMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "ii"; + static uint8 const arraySizes[2] = { 1, 1 }; + static DB2Meta instance(-1, 2, 0xB08E6876, types, arraySizes, -1); return &instance; } }; @@ -6264,10 +5821,9 @@ struct SpellXSpellVisualMeta { static DB2Meta const* Instance() { - static char const* types = "iiifhhhhiibbb"; + static char const* types = "iifhhhhiibbbi"; 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, 0x427CDF5C, types, arraySizes, fieldDefaults); + static DB2Meta instance(1, 13, 0x4F4B8A2A, types, arraySizes, 12); return &instance; } }; @@ -6278,8 +5834,7 @@ struct StartupFilesMeta { 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, 0x51FEBBB5, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x51FEBBB5, types, arraySizes, -1); return &instance; } }; @@ -6290,8 +5845,7 @@ struct Startup_StringsMeta { static char const* types = "ss"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { "", "" }; - static DB2Meta instance(-1, 2, 0xF8CDDEE7, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xF8CDDEE7, types, arraySizes, -1); return &instance; } }; @@ -6302,8 +5856,7 @@ struct StationeryMeta { static char const* types = "bii"; static uint8 const arraySizes[3] = { 1, 1, 2 }; - static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 3, 0xAB713E39, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x20F6BABD, types, arraySizes, -1); return &instance; } }; @@ -6314,8 +5867,7 @@ struct SummonPropertiesMeta { 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(-1, 5, 0xFB8338FC, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0xFB8338FC, types, arraySizes, -1); return &instance; } }; @@ -6326,8 +5878,7 @@ struct TactKeyMeta { static char const* types = "b"; static uint8 const arraySizes[1] = { 16 }; - static DB2FieldDefault const fieldDefaults[1] = { uint8(0) }; - static DB2Meta instance(-1, 1, 0xF0F98B62, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0xF0F98B62, types, arraySizes, -1); return &instance; } }; @@ -6338,8 +5889,7 @@ struct TactKeyLookupMeta { static char const* types = "b"; static uint8 const arraySizes[1] = { 8 }; - static DB2FieldDefault const fieldDefaults[1] = { uint8(0) }; - static DB2Meta instance(-1, 1, 0x3C1AC92A, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x3C1AC92A, types, arraySizes, -1); return &instance; } }; @@ -6348,10 +5898,9 @@ struct TalentMeta { static DB2Meta const* Instance() { - static char const* types = "iishbbbbb"; + static char const* types = "siihbbbbb"; static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 2, 1 }; - 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, 0x21A2F524, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 9, 0xE8850B48, types, arraySizes, -1); return &instance; } }; @@ -6360,10 +5909,9 @@ struct TaxiNodesMeta { static DB2Meta const* Instance() { - static char const* types = "fsifffhhhbii"; - static uint8 const arraySizes[12] = { 3, 1, 2, 2, 1, 2, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[12] = { float(0), "", uint32(0), float(0), float(0), float(0), uint16(0), uint16(0), uint16(0), uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 12, 0xC47A8C7F, types, arraySizes, fieldDefaults); + static char const* types = "sfifffhhhbii"; + static uint8 const arraySizes[12] = { 1, 3, 2, 2, 1, 2, 1, 1, 1, 1, 1, 1 }; + static DB2Meta instance(-1, 12, 0xB46C6A8B, types, arraySizes, -1); return &instance; } }; @@ -6374,8 +5922,7 @@ struct TaxiPathMeta { static char const* types = "hhii"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint16(0), uint32(0), uint32(0) }; - static DB2Meta instance(2, 4, 0xF44E2BF5, types, arraySizes, fieldDefaults); + static DB2Meta instance(2, 4, 0xF44E2BF5, types, arraySizes, 0); return &instance; } }; @@ -6386,8 +5933,7 @@ struct TaxiPathNodeMeta { static char const* types = "fhhbibihh"; static uint8 const arraySizes[9] = { 3, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[9] = { float(0), uint16(0), uint16(0), uint8(0), uint32(0), uint8(0), uint32(0), uint16(0), uint16(0) }; - static DB2Meta instance(4, 9, 0xD38E8C01, types, arraySizes, fieldDefaults); + static DB2Meta instance(4, 9, 0xD38E8C01, types, arraySizes, 1); return &instance; } }; @@ -6398,8 +5944,7 @@ struct TerrainMaterialMeta { static char const* types = "bii"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 3, 0x19D9496F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x19D9496F, types, arraySizes, -1); return &instance; } }; @@ -6410,8 +5955,7 @@ struct TerrainTypeMeta { static char const* types = "shhbb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { "", uint16(0), uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 5, 0x4FE20345, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x4FE20345, types, arraySizes, -1); return &instance; } }; @@ -6422,8 +5966,7 @@ struct TerrainTypeSoundsMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0xE4923C1F, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0xE4923C1F, types, arraySizes, -1); return &instance; } }; @@ -6434,8 +5977,7 @@ struct TextureBlendSetMeta { static char const* types = "ifffffbbbb"; static uint8 const arraySizes[10] = { 3, 3, 3, 3, 3, 4, 1, 1, 1, 1 }; - 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, 0xA2323E0C, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 10, 0xA2323E0C, types, arraySizes, -1); return &instance; } }; @@ -6444,10 +5986,9 @@ struct TextureFileDataMeta { static DB2Meta const* Instance() { - static char const* types = "ibi"; + static char const* types = "iib"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint8(0), uint32(0) }; - static DB2Meta instance(2, 3, 0xF7A606B0, types, arraySizes, fieldDefaults); + static DB2Meta instance(0, 3, 0xE0790D00, types, arraySizes, 1); return &instance; } }; @@ -6458,8 +5999,7 @@ struct TotemCategoryMeta { 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, 0x20B9177A, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x20B9177A, types, arraySizes, -1); return &instance; } }; @@ -6468,10 +6008,9 @@ struct ToyMeta { static DB2Meta const* Instance() { - static char const* types = "isbbi"; + static char const* types = "sibbi"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { uint32(0), "", uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(4, 5, 0x01D29F62, types, arraySizes, fieldDefaults); + static DB2Meta instance(4, 5, 0x5409C5EA, types, arraySizes, -1); return &instance; } }; @@ -6482,8 +6021,7 @@ struct TradeSkillCategoryMeta { static char const* types = "shhhb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { "", uint16(0), uint16(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 5, 0x5D3ADD4D, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x5D3ADD4D, types, arraySizes, -1); return &instance; } }; @@ -6494,8 +6032,7 @@ struct TradeSkillItemMeta { static char const* types = "hb"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint8(0) }; - static DB2Meta instance(-1, 2, 0xFDE283DA, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xFDE283DA, types, arraySizes, -1); return &instance; } }; @@ -6506,8 +6043,7 @@ struct TransformMatrixMeta { static char const* types = "fffff"; static uint8 const arraySizes[5] = { 3, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), float(0), float(0), float(0) }; - static DB2Meta instance(-1, 5, 0xB6A2C431, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0xB6A2C431, types, arraySizes, -1); return &instance; } }; @@ -6518,8 +6054,7 @@ struct TransmogHolidayMeta { 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, 0xB420EB18, types, arraySizes, fieldDefaults); + static DB2Meta instance(0, 2, 0xB420EB18, types, arraySizes, -1); return &instance; } }; @@ -6530,8 +6065,7 @@ struct TransmogSetMeta { 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, 0xBEDFD7D1, types, arraySizes, fieldDefaults); + static DB2Meta instance(4, 10, 0xBEDFD7D1, types, arraySizes, 1); return &instance; } }; @@ -6542,8 +6076,7 @@ struct TransmogSetGroupMeta { static char const* types = "si"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { "", uint32(0) }; - static DB2Meta instance(1, 2, 0xCD072FE5, types, arraySizes, fieldDefaults); + static DB2Meta instance(1, 2, 0xCD072FE5, types, arraySizes, -1); return &instance; } }; @@ -6554,8 +6087,7 @@ struct TransmogSetItemMeta { 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(0, 4, 0x0E96B3A2, types, arraySizes, fieldDefaults); + static DB2Meta instance(0, 4, 0x0E96B3A2, types, arraySizes, 1); return &instance; } }; @@ -6564,10 +6096,9 @@ struct TransportAnimationMeta { static DB2Meta const* Instance() { - static char const* types = "iifb"; - static uint8 const arraySizes[4] = { 1, 1, 3, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), float(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x16B8A693, types, arraySizes, fieldDefaults); + static char const* types = "ifbi"; + static uint8 const arraySizes[4] = { 1, 3, 1, 1 }; + static DB2Meta instance(-1, 4, 0x099987ED, types, arraySizes, 3); return &instance; } }; @@ -6578,8 +6109,7 @@ struct TransportPhysicsMeta { static char const* types = "ffffffffff"; static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0x2C1FB208, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 10, 0x2C1FB208, types, arraySizes, -1); return &instance; } }; @@ -6588,10 +6118,9 @@ struct TransportRotationMeta { static DB2Meta const* Instance() { - static char const* types = "iif"; - static uint8 const arraySizes[3] = { 1, 1, 4 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), float(0) }; - static DB2Meta instance(-1, 3, 0xAFA270A9, types, arraySizes, fieldDefaults); + static char const* types = "ifi"; + static uint8 const arraySizes[3] = { 1, 4, 1 }; + static DB2Meta instance(-1, 3, 0x72035AA9, types, arraySizes, 2); return &instance; } }; @@ -6602,8 +6131,7 @@ struct TrophyMeta { static char const* types = "shbi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 4, 0xE16151C5, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0xE16151C5, types, arraySizes, -1); return &instance; } }; @@ -6614,8 +6142,7 @@ struct UIExpansionDisplayInfoMeta { 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, 0x73DFDEC5, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x73DFDEC5, types, arraySizes, -1); return &instance; } }; @@ -6626,8 +6153,7 @@ struct UIExpansionDisplayInfoIconMeta { 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, 0x331022F2, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x331022F2, types, arraySizes, -1); return &instance; } }; @@ -6638,8 +6164,7 @@ struct UiCamFbackTransmogChrRaceMeta { static char const* types = "hbbbb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { uint16(0), uint8(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 5, 0x9FB4CC78, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x9FB4CC78, types, arraySizes, -1); return &instance; } }; @@ -6650,8 +6175,7 @@ struct UiCamFbackTransmogWeaponMeta { static char const* types = "hbbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x020890B7, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x020890B7, types, arraySizes, -1); return &instance; } }; @@ -6662,8 +6186,7 @@ struct UiCameraMeta { static char const* types = "sfffhbbbi"; static uint8 const arraySizes[9] = { 1, 3, 3, 3, 1, 1, 1, 1, 1 }; - 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, 0xCA6C98D4, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 9, 0xCA6C98D4, types, arraySizes, -1); return &instance; } }; @@ -6674,8 +6197,7 @@ struct UiCameraTypeMeta { 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, 0x644732AE, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x644732AE, types, arraySizes, -1); return &instance; } }; @@ -6686,8 +6208,7 @@ struct UiMapPOIMeta { static char const* types = "ifiihhi"; static uint8 const arraySizes[7] = { 1, 3, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { uint32(0), float(0), uint32(0), uint32(0), uint16(0), uint16(0), uint32(0) }; - static DB2Meta instance(6, 7, 0x559E1F11, types, arraySizes, fieldDefaults); + static DB2Meta instance(6, 7, 0x559E1F11, types, arraySizes, -1); return &instance; } }; @@ -6698,8 +6219,7 @@ struct UiModelSceneMeta { 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, 0xA7D62B8A, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xA7D62B8A, types, arraySizes, -1); return &instance; } }; @@ -6710,8 +6230,7 @@ struct UiModelSceneActorMeta { 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, 0xBB10B7E3, types, arraySizes, fieldDefaults); + static DB2Meta instance(7, 10, 0x679AC95F, types, arraySizes, 9); return &instance; } }; @@ -6722,8 +6241,7 @@ struct UiModelSceneActorDisplayMeta { 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, 0x6137F4BE, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x6137F4BE, types, arraySizes, -1); return &instance; } }; @@ -6734,8 +6252,7 @@ struct UiModelSceneCameraMeta { 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, 0xC58AA5EC, types, arraySizes, fieldDefaults); + static DB2Meta instance(14, 16, 0xC58AA5EC, types, arraySizes, 15); return &instance; } }; @@ -6746,8 +6263,7 @@ struct UiTextureAtlasMeta { static char const* types = "ihh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint16(0) }; - static DB2Meta instance(-1, 3, 0x9879592A, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x9879592A, types, arraySizes, -1); return &instance; } }; @@ -6756,10 +6272,9 @@ struct UiTextureAtlasMemberMeta { static DB2Meta const* Instance() { - static char const* types = "ishhhhhb"; + static char const* types = "sihhhhhb"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[8] = { uint32(0), "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0) }; - static DB2Meta instance(0, 8, 0xE851561B, types, arraySizes, fieldDefaults); + static DB2Meta instance(1, 8, 0x81E2055F, types, arraySizes, -1); return &instance; } }; @@ -6770,8 +6285,7 @@ struct UiTextureKitMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0x2C7E0372, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x2C7E0372, types, arraySizes, -1); return &instance; } }; @@ -6782,8 +6296,7 @@ struct UnitBloodMeta { static char const* types = "iiiiii"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 6, 0x4689A9A0, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 6, 0x4689A9A0, types, arraySizes, -1); return &instance; } }; @@ -6794,8 +6307,7 @@ struct UnitBloodLevelsMeta { static char const* types = "b"; static uint8 const arraySizes[1] = { 3 }; - static DB2FieldDefault const fieldDefaults[1] = { uint8(0) }; - static DB2Meta instance(-1, 1, 0x31A6BD58, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x31A6BD58, types, arraySizes, -1); return &instance; } }; @@ -6806,8 +6318,7 @@ struct UnitConditionMeta { static char const* types = "ibbb"; static uint8 const arraySizes[4] = { 8, 1, 8, 8 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x62802D9C, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x62802D9C, types, arraySizes, -1); return &instance; } }; @@ -6816,10 +6327,9 @@ struct UnitPowerBarMeta { static DB2Meta const* Instance() { - 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 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, 0x3D064961, types, arraySizes, fieldDefaults); + static char const* types = "ssssffiiffhhbbii"; + static uint8 const arraySizes[16] = { 1, 1, 1, 1, 1, 1, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2Meta instance(-1, 16, 0x626C94CD, types, arraySizes, -1); return &instance; } }; @@ -6830,8 +6340,7 @@ struct UnitTestMeta { 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, 0x63B4527B, types, arraySizes, fieldDefaults); + static DB2Meta instance(2, 5, 0x63B4527B, types, arraySizes, -1); return &instance; } }; @@ -6842,8 +6351,7 @@ struct VehicleMeta { static char const* types = "ifffffffffffhhhbbi"; static uint8 const arraySizes[18] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, 3, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[18] = { uint32(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), uint32(0) }; - static DB2Meta instance(-1, 18, 0x1606C582, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 18, 0x1606C582, types, arraySizes, -1); return &instance; } }; @@ -6854,8 +6362,7 @@ 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 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, 0x242E0ECD, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 61, 0x242E0ECD, types, arraySizes, -1); return &instance; } }; @@ -6864,10 +6371,9 @@ struct VehicleUIIndSeatMeta { static DB2Meta const* Instance() { - static char const* types = "ffhb"; + static char const* types = "ffbh"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { float(0), float(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x9FB4704E, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x5F688502, types, arraySizes, 3); return &instance; } }; @@ -6878,8 +6384,7 @@ struct VehicleUIIndicatorMeta { static char const* types = "i"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { uint32(0) }; - static DB2Meta instance(-1, 1, 0x68486100, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0x68486100, types, arraySizes, -1); return &instance; } }; @@ -6888,10 +6393,9 @@ struct VignetteMeta { static DB2Meta const* Instance() { - static char const* types = "sffbiii"; + static char const* types = "sffiiii"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { "", float(0), float(0), uint8(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 7, 0xBCCA6581, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 7, 0x52E3B381, types, arraySizes, -1); return &instance; } }; @@ -6902,8 +6406,7 @@ struct VirtualAttachmentMeta { static char const* types = "sh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { "", uint16(0) }; - static DB2Meta instance(-1, 2, 0xEC767C57, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0xEC767C57, types, arraySizes, -1); return &instance; } }; @@ -6914,8 +6417,7 @@ struct VirtualAttachmentCustomizationMeta { static char const* types = "ihh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint16(0) }; - static DB2Meta instance(-1, 3, 0xC354C931, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xC354C931, types, arraySizes, -1); return &instance; } }; @@ -6926,8 +6428,7 @@ struct VocalUISoundsMeta { static char const* types = "bbbi"; static uint8 const arraySizes[4] = { 1, 1, 1, 2 }; - static DB2FieldDefault const fieldDefaults[4] = { uint8(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 4, 0x62CE4C2D, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0xED48CFA9, types, arraySizes, -1); return &instance; } }; @@ -6936,10 +6437,9 @@ struct WMOAreaTableMeta { static DB2Meta const* Instance() { - static char const* types = "ishhhhhhhbbbbii"; + static char const* types = "sihhhhhhbbbbiih"; static uint8 const arraySizes[15] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0x5FA51AD5, types, arraySizes, fieldDefaults); + static DB2Meta instance(12, 15, 0x4616C893, types, arraySizes, 14); return &instance; } }; @@ -6948,10 +6448,9 @@ struct WMOMinimapTextureMeta { static DB2Meta const* Instance() { - static char const* types = "ihhbb"; + static char const* types = "ihbbh"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint16(0), uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 5, 0x307398B8, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0x8F4AE3C0, types, arraySizes, 4); return &instance; } }; @@ -6962,8 +6461,7 @@ struct WbAccessControlListMeta { static char const* types = "shbbb"; static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[5] = { "", uint16(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 5, 0xBE044710, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 5, 0xBE044710, types, arraySizes, -1); return &instance; } }; @@ -6974,8 +6472,7 @@ struct WbCertWhitelistMeta { static char const* types = "sbbb"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { "", uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 4, 0x01D13030, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x01D13030, types, arraySizes, -1); return &instance; } }; @@ -6986,8 +6483,7 @@ struct WeaponImpactSoundsMeta { static char const* types = "bbbiiii"; static uint8 const arraySizes[7] = { 1, 1, 1, 11, 11, 11, 11 }; - static DB2FieldDefault const fieldDefaults[7] = { uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 7, 0xF0A4FF52, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 7, 0x774C043A, types, arraySizes, -1); return &instance; } }; @@ -6998,8 +6494,7 @@ struct WeaponSwingSounds2Meta { static char const* types = "bbi"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 3, 0xD45347C3, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xD45347C3, types, arraySizes, -1); return &instance; } }; @@ -7010,8 +6505,7 @@ struct WeaponTrailMeta { static char const* types = "ifffiffff"; static uint8 const arraySizes[9] = { 1, 1, 1, 1, 3, 3, 3, 3, 3 }; - 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, 0x49754C60, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 9, 0x49754C60, types, arraySizes, -1); return &instance; } }; @@ -7022,8 +6516,7 @@ struct WeaponTrailModelDefMeta { static char const* types = "ihh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint16(0) }; - static DB2Meta instance(-1, 3, 0x1A914DD2, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x7DE7C508, types, arraySizes, 2); return &instance; } }; @@ -7032,10 +6525,9 @@ struct WeaponTrailParamMeta { static DB2Meta const* Instance() { - static char const* types = "fffffhbbbb"; + static char const* types = "fffffbbbbh"; static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0xD8440BEE, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 10, 0x9B0F7200, types, arraySizes, 9); return &instance; } }; @@ -7046,8 +6538,7 @@ struct WeatherMeta { static char const* types = "ffffffffhbbbii"; static uint8 const arraySizes[14] = { 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - 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), uint32(0) }; - static DB2Meta instance(-1, 14, 0x7C160B07, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 14, 0x7C160B07, types, arraySizes, -1); return &instance; } }; @@ -7058,8 +6549,7 @@ struct WindSettingsMeta { static char const* types = "fffffffffb"; static uint8 const arraySizes[10] = { 1, 3, 1, 1, 3, 1, 3, 1, 1, 1 }; - 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, 0x5308550C, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 10, 0x5308550C, types, arraySizes, -1); return &instance; } }; @@ -7070,8 +6560,7 @@ struct WorldBossLockoutMeta { static char const* types = "sh"; static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { "", uint16(0) }; - static DB2Meta instance(-1, 2, 0x4D7103A0, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 2, 0x4D7103A0, types, arraySizes, -1); return &instance; } }; @@ -7082,8 +6571,7 @@ struct WorldChunkSoundsMeta { static char const* types = "hbbbbb"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 6, 0xD06AA126, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 6, 0xD06AA126, types, arraySizes, -1); return &instance; } }; @@ -7094,8 +6582,7 @@ struct WorldEffectMeta { static char const* types = "ihbbii"; static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 6, 0x2E9B9BFD, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 6, 0x2E9B9BFD, types, arraySizes, -1); return &instance; } }; @@ -7106,8 +6593,7 @@ struct WorldElapsedTimerMeta { static char const* types = "sbb"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0x6C026FDE, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x6C026FDE, types, arraySizes, -1); return &instance; } }; @@ -7118,8 +6604,7 @@ struct WorldMapAreaMeta { static char const* types = "sffffihhhhhbbbbii"; 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] = { "", float(0), float(0), float(0), float(0), uint32(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, 0xC7E90019, types, arraySizes, fieldDefaults); + static DB2Meta instance(15, 17, 0xC7E90019, types, arraySizes, -1); return &instance; } }; @@ -7130,8 +6615,7 @@ struct WorldMapContinentMeta { static char const* types = "ffffhhbbbbb"; static uint8 const arraySizes[11] = { 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0x8F75E077, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 11, 0x8F75E077, types, arraySizes, -1); return &instance; } }; @@ -7140,10 +6624,9 @@ struct WorldMapOverlayMeta { static DB2Meta const* Instance() { - 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, 0x0D2DACAF, types, arraySizes, fieldDefaults); + static char const* types = "sihhiiiiiiiiii"; + static uint8 const arraySizes[14] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4 }; + static DB2Meta instance(1, 14, 0xDC4B6AF3, types, arraySizes, 4); return &instance; } }; @@ -7154,8 +6637,7 @@ struct WorldMapTransformsMeta { static char const* types = "fffhhhhhbi"; static uint8 const arraySizes[10] = { 6, 2, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[10] = { float(0), float(0), float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 10, 0x99FB4B71, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 10, 0x99FB4B71, types, arraySizes, 3); return &instance; } }; @@ -7164,10 +6646,9 @@ struct WorldSafeLocsMeta { static DB2Meta const* Instance() { - static char const* types = "ffsh"; - static uint8 const arraySizes[4] = { 3, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { float(0), float(0), "", uint16(0) }; - static DB2Meta instance(-1, 4, 0x72C9D0E4, types, arraySizes, fieldDefaults); + static char const* types = "sffh"; + static uint8 const arraySizes[4] = { 1, 3, 1, 1 }; + static DB2Meta instance(-1, 4, 0x605EA8A6, types, arraySizes, 3); return &instance; } }; @@ -7178,8 +6659,7 @@ struct WorldStateExpressionMeta { static char const* types = "s"; static uint8 const arraySizes[1] = { 1 }; - static DB2FieldDefault const fieldDefaults[1] = { "" }; - static DB2Meta instance(-1, 1, 0xA69C9812, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 1, 0xA69C9812, types, arraySizes, -1); return &instance; } }; @@ -7190,8 +6670,7 @@ struct WorldStateUIMeta { static char const* types = "ssssshhhhhhbbbiii"; static uint8 const arraySizes[17] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[17] = { "", "", "", "", "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(14, 17, 0x70808977, types, arraySizes, fieldDefaults); + static DB2Meta instance(14, 17, 0x70808977, types, arraySizes, 5); return &instance; } }; @@ -7202,8 +6681,7 @@ struct WorldStateZoneSoundsMeta { static char const* types = "ihhhhhhb"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - 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, 0xB9572D3D, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 8, 0xB9572D3D, types, arraySizes, -1); return &instance; } }; @@ -7214,8 +6692,7 @@ struct World_PVP_AreaMeta { static char const* types = "hhhhhbb"; static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[7] = { uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 7, 0x6FBBF76B, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 7, 0x6FBBF76B, types, arraySizes, -1); return &instance; } }; @@ -7226,8 +6703,7 @@ struct ZoneIntroMusicTableMeta { static char const* types = "shbi"; static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 4, 0x1F8417ED, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x1F8417ED, types, arraySizes, -1); return &instance; } }; @@ -7238,8 +6714,7 @@ struct ZoneLightMeta { static char const* types = "shh"; static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { "", uint16(0), uint16(0) }; - static DB2Meta instance(-1, 3, 0x3C11F38B, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0x3C11F38B, types, arraySizes, -1); return &instance; } }; @@ -7248,10 +6723,9 @@ struct ZoneLightPointMeta { static DB2Meta const* Instance() { - static char const* types = "fhb"; + static char const* types = "fbh"; static uint8 const arraySizes[3] = { 2, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { float(0), uint16(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0x692C5B90, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 3, 0xEF93DC50, types, arraySizes, 2); return &instance; } }; @@ -7262,8 +6736,18 @@ struct ZoneMusicMeta { static char const* types = "siii"; static uint8 const arraySizes[4] = { 1, 2, 2, 2 }; - static DB2FieldDefault const fieldDefaults[4] = { "", uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 4, 0x28A5B6A9, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 4, 0x9E2B332D, types, arraySizes, -1); + return &instance; + } +}; + +struct ZoneStoryMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "iibi"; + static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; + static DB2Meta instance(-1, 4, 0xEE16D6F3, types, arraySizes, 3); return &instance; } }; diff --git a/src/server/game/DataStores/DB2Stores.cpp b/src/server/game/DataStores/DB2Stores.cpp index afdca6dbbe0..ff6c7acced8 100644 --- a/src/server/game/DataStores/DB2Stores.cpp +++ b/src/server/game/DataStores/DB2Stores.cpp @@ -193,11 +193,14 @@ DB2Storage<RandPropPointsEntry> sRandPropPointsStore("RandPropPo DB2Storage<RewardPackEntry> sRewardPackStore("RewardPack.db2", RewardPackLoadInfo::Instance()); DB2Storage<RewardPackXItemEntry> sRewardPackXItemStore("RewardPackXItem.db2", RewardPackXItemLoadInfo::Instance()); DB2Storage<RulesetItemUpgradeEntry> sRulesetItemUpgradeStore("RulesetItemUpgrade.db2", RulesetItemUpgradeLoadInfo::Instance()); +DB2Storage<SandboxScalingEntry> sSandboxScalingStore("SandboxScaling.db2", SandboxScalingLoadInfo::Instance()); DB2Storage<ScalingStatDistributionEntry> sScalingStatDistributionStore("ScalingStatDistribution.db2", ScalingStatDistributionLoadInfo::Instance()); DB2Storage<ScenarioEntry> sScenarioStore("Scenario.db2", ScenarioLoadInfo::Instance()); DB2Storage<ScenarioStepEntry> sScenarioStepStore("ScenarioStep.db2", ScenarioStepLoadInfo::Instance()); DB2Storage<SceneScriptEntry> sSceneScriptStore("SceneScript.db2", SceneScriptLoadInfo::Instance()); +DB2Storage<SceneScriptGlobalTextEntry> sSceneScriptGlobalTextStore("SceneScriptGlobalText.db2", SceneScriptGlobalTextLoadInfo::Instance()); DB2Storage<SceneScriptPackageEntry> sSceneScriptPackageStore("SceneScriptPackage.db2", SceneScriptPackageLoadInfo::Instance()); +DB2Storage<SceneScriptTextEntry> sSceneScriptTextStore("SceneScriptText.db2", SceneScriptTextLoadInfo::Instance()); DB2Storage<SkillLineEntry> sSkillLineStore("SkillLine.db2", SkillLineLoadInfo::Instance()); DB2Storage<SkillLineAbilityEntry> sSkillLineAbilityStore("SkillLineAbility.db2", SkillLineAbilityLoadInfo::Instance()); DB2Storage<SkillRaceClassInfoEntry> sSkillRaceClassInfoStore("SkillRaceClassInfo.db2", SkillRaceClassInfoLoadInfo::Instance()); @@ -214,7 +217,6 @@ DB2Storage<SpellClassOptionsEntry> sSpellClassOptionsStore("SpellCl DB2Storage<SpellCooldownsEntry> sSpellCooldownsStore("SpellCooldowns.db2", SpellCooldownsLoadInfo::Instance()); DB2Storage<SpellDurationEntry> sSpellDurationStore("SpellDuration.db2", SpellDurationLoadInfo::Instance()); DB2Storage<SpellEffectEntry> sSpellEffectStore("SpellEffect.db2", SpellEffectLoadInfo::Instance()); -DB2Storage<SpellEffectScalingEntry> sSpellEffectScalingStore("SpellEffectScaling.db2", SpellEffectScalingLoadInfo::Instance()); DB2Storage<SpellEquippedItemsEntry> sSpellEquippedItemsStore("SpellEquippedItems.db2", SpellEquippedItemsLoadInfo::Instance()); DB2Storage<SpellFocusObjectEntry> sSpellFocusObjectStore("SpellFocusObject.db2", SpellFocusObjectLoadInfo::Instance()); DB2Storage<SpellInterruptsEntry> sSpellInterruptsStore("SpellInterrupts.db2", SpellInterruptsLoadInfo::Instance()); @@ -393,7 +395,9 @@ inline void LoadDB2(uint32& availableDb2Locales, DB2StoreProblemList& errlist, S for (std::size_t i = loadInfo->Meta->HasIndexFieldInData() ? 0 : 1; i < loadInfo->FieldCount; ++i) ourMetaString += char(std::tolower(loadInfo->Fields[i].Type)); - ASSERT(clientMetaString == ourMetaString, "C++ structure fields %s do not match generated types from the client %s", ourMetaString.c_str(), clientMetaString.c_str()); + ASSERT(clientMetaString == ourMetaString, + "%s C++ structure fields %s do not match generated types from the client %s", + storage->GetFileName().c_str(), ourMetaString.c_str(), clientMetaString.c_str()); // compatibility format and C++ structure sizes ASSERT(loadInfo->Meta->GetRecordSize() == sizeof(T), @@ -614,11 +618,14 @@ void DB2Manager::LoadStores(std::string const& dataPath, uint32 defaultLocale) LOAD_DB2(sRewardPackStore); LOAD_DB2(sRewardPackXItemStore); LOAD_DB2(sRulesetItemUpgradeStore); + LOAD_DB2(sSandboxScalingStore); LOAD_DB2(sScalingStatDistributionStore); LOAD_DB2(sScenarioStore); LOAD_DB2(sScenarioStepStore); LOAD_DB2(sSceneScriptStore); + LOAD_DB2(sSceneScriptGlobalTextStore); LOAD_DB2(sSceneScriptPackageStore); + LOAD_DB2(sSceneScriptTextStore); LOAD_DB2(sSkillLineStore); LOAD_DB2(sSkillLineAbilityStore); LOAD_DB2(sSkillRaceClassInfoStore); @@ -635,7 +642,6 @@ void DB2Manager::LoadStores(std::string const& dataPath, uint32 defaultLocale) LOAD_DB2(sSpellCooldownsStore); LOAD_DB2(sSpellDurationStore); LOAD_DB2(sSpellEffectStore); - LOAD_DB2(sSpellEffectScalingStore); LOAD_DB2(sSpellEquippedItemsStore); LOAD_DB2(sSpellFocusObjectStore); LOAD_DB2(sSpellInterruptsStore); @@ -749,6 +755,7 @@ void DB2Manager::LoadStores(std::string const& dataPath, uint32 defaultLocale) if (_powersByClass[power->ClassID][j] != MAX_POWERS) ++index; + ASSERT(power->ClassID < MAX_CLASSES); ASSERT(power->PowerType < MAX_POWERS); _powersByClass[power->ClassID][power->PowerType] = index; } @@ -1085,13 +1092,13 @@ void DB2Manager::LoadStores(std::string const& dataPath, uint32 defaultLocale) } // Check loaded DB2 files proper version - if (!sAreaTableStore.LookupEntry(9333) || // last area added in 7.3.2 (25480) - !sCharTitlesStore.LookupEntry(518) || // last char title added in 7.3.2 (25480) - !sGemPropertiesStore.LookupEntry(3632) || // last gem property added in 7.3.2 (25480) - !sItemStore.LookupEntry(155880) || // last item added in 7.3.2 (25480) - !sItemExtendedCostStore.LookupEntry(6255) || // last item extended cost added in 7.3.2 (25480) - !sMapStore.LookupEntry(1817) || // last map added in 7.3.2 (25480) - !sSpellStore.LookupEntry(259088)) // last spell added in 7.3.2 (25480) + if (!sAreaTableStore.LookupEntry(9531) || // last area added in 7.3.5 (25996) + !sCharTitlesStore.LookupEntry(522) || // last char title added in 7.3.5 (25996) + !sGemPropertiesStore.LookupEntry(3632) || // last gem property added in 7.3.5 (25996) + !sItemStore.LookupEntry(157831) || // last item added in 7.3.5 (25996) + !sItemExtendedCostStore.LookupEntry(6300) || // last item extended cost added in 7.3.5 (25996) + !sMapStore.LookupEntry(1903) || // last map added in 7.3.5 (25996) + !sSpellStore.LookupEntry(263166)) // last spell added in 7.3.5 (25996) { TC_LOG_ERROR("misc", "You have _outdated_ DB2 files. Please extract correct versions from current using client."); exit(1); @@ -1970,7 +1977,7 @@ SkillRaceClassInfoEntry const* DB2Manager::GetSkillRaceClassInfo(uint32 skill, u auto bounds = _skillRaceClassInfoBySkill.equal_range(skill); for (auto itr = bounds.first; itr != bounds.second; ++itr) { - if (itr->second->RaceMask && !(itr->second->RaceMask & (1 << (race - 1)))) + if (itr->second->RaceMask && !(itr->second->RaceMask & (UI64LIT(1) << (race - 1)))) continue; if (itr->second->ClassMask && !(itr->second->ClassMask & (1 << (class_ - 1)))) continue; diff --git a/src/server/game/DataStores/DB2Stores.h b/src/server/game/DataStores/DB2Stores.h index d0e8112969f..773e2a97894 100644 --- a/src/server/game/DataStores/DB2Stores.h +++ b/src/server/game/DataStores/DB2Stores.h @@ -151,11 +151,11 @@ TC_GAME_API extern DB2Storage<QuestSortEntry> sQuestSortSt TC_GAME_API extern DB2Storage<QuestXPEntry> sQuestXPStore; TC_GAME_API extern DB2Storage<RandPropPointsEntry> sRandPropPointsStore; TC_GAME_API extern DB2Storage<RewardPackEntry> sRewardPackStore; +TC_GAME_API extern DB2Storage<SandboxScalingEntry> sSandboxScalingStore; TC_GAME_API extern DB2Storage<ScalingStatDistributionEntry> sScalingStatDistributionStore; TC_GAME_API extern DB2Storage<ScenarioEntry> sScenarioStore; TC_GAME_API extern DB2Storage<ScenarioStepEntry> sScenarioStepStore; TC_GAME_API extern DB2Storage<SkillLineEntry> sSkillLineStore; -TC_GAME_API extern DB2Storage<SceneScriptEntry> sSceneScriptStore; TC_GAME_API extern DB2Storage<SceneScriptPackageEntry> sSceneScriptPackageStore; TC_GAME_API extern DB2Storage<SkillLineAbilityEntry> sSkillLineAbilityStore; TC_GAME_API extern DB2Storage<SkillRaceClassInfoEntry> sSkillRaceClassInfoStore; @@ -171,7 +171,6 @@ TC_GAME_API extern DB2Storage<SpellClassOptionsEntry> sSpellClassO TC_GAME_API extern DB2Storage<SpellCooldownsEntry> sSpellCooldownsStore; TC_GAME_API extern DB2Storage<SpellDurationEntry> sSpellDurationStore; TC_GAME_API extern DB2Storage<SpellEffectEntry> sSpellEffectStore; -TC_GAME_API extern DB2Storage<SpellEffectScalingEntry> sSpellEffectScalingStore; TC_GAME_API extern DB2Storage<SpellEquippedItemsEntry> sSpellEquippedItemsStore; TC_GAME_API extern DB2Storage<SpellFocusObjectEntry> sSpellFocusObjectStore; TC_GAME_API extern DB2Storage<SpellInterruptsEntry> sSpellInterruptsStore; diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h index 85fff1accd7..b45c0fb74ed 100644 --- a/src/server/game/DataStores/DB2Structure.h +++ b/src/server/game/DataStores/DB2Structure.h @@ -30,8 +30,8 @@ struct AchievementEntry { LocalizedString* Title; LocalizedString* Description; - uint32 Flags; LocalizedString* Reward; + uint32 Flags; int16 MapID; // -1 = none 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; @@ -56,17 +56,17 @@ struct AnimKitEntry struct AreaGroupMemberEntry { uint32 ID; - uint16 AreaGroupID; uint16 AreaID; + uint16 AreaGroupID; }; struct AreaTableEntry { uint32 ID; - uint32 Flags[2]; char const* ZoneName; - float AmbientMultiplier; LocalizedString* AreaName; + uint32 Flags[2]; + float AmbientMultiplier; uint16 MapID; uint16 ParentAreaID; int16 AreaBit; @@ -161,11 +161,11 @@ struct ArtifactAppearanceSetEntry LocalizedString* Name2; uint16 UiCameraID; uint16 AltHandUICameraID; - uint8 ArtifactID; uint8 DisplayIndex; uint8 AttachmentPoint; uint8 Flags; uint32 ID; + uint8 ArtifactID; }; struct ArtifactCategoryEntry @@ -204,9 +204,9 @@ struct ArtifactPowerRankEntry uint32 ID; uint32 SpellID; float Value; - uint16 ArtifactPowerID; uint16 Unknown; uint8 Rank; + uint16 ArtifactPowerID; }; struct ArtifactQuestXPEntry @@ -261,17 +261,17 @@ struct BattlePetBreedStateEntry { uint32 ID; int16 Value; - uint8 BreedID; uint8 State; + uint8 BreedID; }; struct BattlePetSpeciesEntry { + LocalizedString* SourceText; + LocalizedString* Description; uint32 CreatureID; uint32 IconFileID; uint32 SummonSpellID; - LocalizedString* SourceText; - LocalizedString* Description; uint16 Flags; uint8 PetType; int8 Source; @@ -284,18 +284,18 @@ struct BattlePetSpeciesStateEntry { uint32 ID; int32 Value; - uint16 SpeciesID; uint8 State; + uint16 SpeciesID; }; struct BattlemasterListEntry { uint32 ID; LocalizedString* Name; - uint32 IconFileDataID; LocalizedString* GameType; LocalizedString* ShortDescription; LocalizedString* LongDescription; + uint32 IconFileDataID; int16 MapID[16]; uint16 HolidayWorldState; uint16 PlayerConditionID; @@ -322,8 +322,8 @@ struct BroadcastTextEntry uint16 UnkEmoteID; uint8 Language; uint8 Type; - uint32 SoundID[2]; uint32 PlayerConditionID; + uint32 SoundID[2]; }; struct CharacterFacialHairStylesEntry @@ -362,11 +362,11 @@ struct CharStartOutfitEntry uint32 ID; int32 ItemID[MAX_OUTFIT_ITEMS]; uint32 PetDisplayID; // Pet Model ID for starting pet - uint8 RaceID; uint8 ClassID; uint8 GenderID; uint8 OutfitID; uint8 PetFamilyID; // Pet Family Entry for starting pet + uint8 RaceID; }; struct CharTitlesEntry @@ -381,9 +381,9 @@ struct CharTitlesEntry struct ChatChannelsEntry { uint32 ID; - uint32 Flags; LocalizedString* Name; LocalizedString* Shortcut; + uint32 Flags; uint8 FactionGroup; }; @@ -398,6 +398,7 @@ struct ChrClassesEntry uint32 SelectScreenFileDataID; uint32 IconFileDataID; uint32 LowResScreenFileDataID; + uint32 StartingLevel; uint16 Flags; uint16 CinematicSequenceID; uint16 DefaultSpec; @@ -413,28 +414,28 @@ struct ChrClassesEntry struct ChrClassesXPowerTypesEntry { uint32 ID; - uint8 ClassID; uint8 PowerType; + uint8 ClassID; }; struct ChrRacesEntry { - uint32 ID; - uint32 Flags; - uint32 MaleDisplayID; - uint32 FemaleDisplayID; char const* ClientPrefix; char const* ClientFileString; LocalizedString* Name; LocalizedString* NameFemale; - LocalizedString* NameMale; - char const* FacialHairCustomization[2]; - char const* HairCustomization; + LocalizedString* LowercaseName; + LocalizedString* LowercaseNameFemale; + uint32 Flags; + uint32 MaleDisplayID; + uint32 FemaleDisplayID; uint32 CreateScreenFileDataID; uint32 SelectScreenFileDataID; float MaleCustomizeOffset[3]; float FemaleCustomizeOffset[3]; uint32 LowResScreenFileDataID; + uint32 StartingLevel; + uint32 UIDisplayOrder; uint16 FactionID; uint16 ResSicknessSpellID; uint16 SplashSoundID; @@ -449,8 +450,12 @@ struct ChrRacesEntry uint8 NeutralRaceID; uint8 ItemAppearanceFrameRaceID; uint8 CharComponentTexLayoutHiResID; + uint32 ID; uint32 HighResMaleDisplayID; uint32 HighResFemaleDisplayID; + uint32 HeritageArmorAchievementID; + uint32 MaleCorpseBonesModelFileDataID; + uint32 FemaleCorpseBonesModelFileDataID; uint32 AlteredFormTransitionSpellVisualID[3]; uint32 AlteredFormTransitionSpellVisualKitID[3]; }; @@ -459,10 +464,10 @@ struct ChrRacesEntry struct ChrSpecializationEntry { - uint32 MasterySpellID[MAX_MASTERY_SPELLS]; LocalizedString* Name; LocalizedString* Name2; LocalizedString* Description; + uint32 MasterySpellID[MAX_MASTERY_SPELLS]; uint8 ClassID; uint8 OrderIndex; uint8 PetTalentType; @@ -518,7 +523,6 @@ struct CreatureDisplayInfoEntry uint8 Flags; int8 Gender; uint32 ExtendedDisplayInfoID; - uint32 TextureVariation[3]; uint32 PortraitTextureFileDataID; uint8 CreatureModelAlpha; uint16 SoundID; @@ -533,6 +537,7 @@ struct CreatureDisplayInfoEntry uint32 StateSpellVisualKitID; float InstanceOtherPlayerPetScale; // scale of not own player pets inside dungeons/raids/scenarios uint32 MountSpellVisualKitID; + uint32 TextureVariation[3]; }; struct CreatureDisplayInfoExtraEntry @@ -555,9 +560,9 @@ struct CreatureDisplayInfoExtraEntry struct CreatureFamilyEntry { uint32 ID; + LocalizedString* Name; float MinScale; float MaxScale; - LocalizedString* Name; uint32 IconFileDataID; uint16 SkillLine[2]; uint16 PetFoodMask; @@ -754,8 +759,8 @@ struct CriteriaEntry struct CriteriaTreeEntry { uint32 ID; - uint32 Amount; LocalizedString* Description; + uint32 Amount; uint16 Flags; uint8 Operator; uint32 CriteriaID; @@ -767,10 +772,10 @@ struct CurrencyTypesEntry { uint32 ID; LocalizedString* Name; + LocalizedString* Description; uint32 MaxQty; uint32 MaxEarnablePerWeek; uint32 Flags; - LocalizedString* Description; uint8 CategoryID; uint8 SpellCategory; uint8 Quality; @@ -868,10 +873,10 @@ struct DurabilityQualityEntry struct EmotesEntry { uint32 ID; + int64 RaceMask; char const* EmoteSlashCommand; uint32 SpellVisualKitID; uint32 EmoteFlags; - int32 RaceMask; uint16 AnimID; uint8 EmoteSpecProc; uint32 EmoteSpecProcParam; @@ -889,22 +894,22 @@ struct EmotesTextEntry struct EmotesTextSoundEntry { uint32 ID; - uint16 EmotesTextId; uint8 RaceId; uint8 SexId; uint8 ClassId; uint32 SoundId; + uint16 EmotesTextId; }; struct FactionEntry { + uint64 ReputationRaceMask[4]; + LocalizedString* Name; + LocalizedString* Description; uint32 ID; - uint32 ReputationRaceMask[4]; int32 ReputationBase[4]; float ParentFactionModIn; // Faction gains incoming rep * ParentFactionModIn float ParentFactionModOut; // Faction outputs rep * ParentFactionModOut as spillover reputation - LocalizedString* Name; - LocalizedString* Description; uint32 ReputationMax[4]; int16 ReputationIndex; uint16 ReputationClassMask[4]; @@ -984,6 +989,7 @@ struct FactionTemplateEntry struct GameObjectsEntry { + LocalizedString* Name; DBCPosition3D Position; float RotationX; float RotationY; @@ -991,7 +997,6 @@ struct GameObjectsEntry float RotationW; float Size; int32 Data[8]; - LocalizedString* Name; uint16 MapID; uint16 DisplayID; uint16 PhaseID; @@ -1027,12 +1032,12 @@ struct GarrAbilityEntry struct GarrBuildingEntry { uint32 ID; - uint32 HordeGameObjectID; - uint32 AllianceGameObjectID; LocalizedString* NameAlliance; LocalizedString* NameHorde; LocalizedString* Description; LocalizedString* Tooltip; + uint32 HordeGameObjectID; + uint32 AllianceGameObjectID; uint32 IconFileDataID; uint16 CostCurrencyID; uint16 HordeTexPrefixKitID; @@ -1076,15 +1081,15 @@ struct GarrClassSpecEntry struct GarrFollowerEntry { - uint32 HordeCreatureID; - uint32 AllianceCreatureID; LocalizedString* HordeSourceText; LocalizedString* AllianceSourceText; + LocalizedString* Name; + uint32 HordeCreatureID; + uint32 AllianceCreatureID; uint32 HordePortraitIconID; uint32 AlliancePortraitIconID; uint32 HordeAddedBroadcastTextID; uint32 AllianceAddedBroadcastTextID; - LocalizedString* Name; uint16 HordeGarrFollItemSetID; uint16 AllianceGarrFollItemSetID; uint16 ItemLevelWeapon; @@ -1113,9 +1118,9 @@ struct GarrFollowerEntry struct GarrFollowerXAbilityEntry { uint32 ID; - uint16 GarrFollowerID; uint16 GarrAbilityID; uint8 FactionIndex; + uint16 GarrFollowerID; }; struct GarrPlotEntry @@ -1195,8 +1200,8 @@ struct GlyphPropertiesEntry struct GlyphRequiredSpecEntry { uint32 ID; - uint16 GlyphPropertiesID; uint16 ChrSpecializationID; + uint16 GlyphPropertiesID; }; struct GuildColorBackgroundEntry @@ -1231,8 +1236,8 @@ struct GuildPerkSpellsEntry struct HeirloomEntry { - uint32 ItemID; LocalizedString* SourceText; + uint32 ItemID; uint32 OldItem[2]; uint32 NextDifficultyItemID; uint32 UpgradeItemID[3]; @@ -1341,7 +1346,7 @@ struct ItemBagFamilyEntry struct ItemBonusEntry { uint32 ID; - int32 Value[2]; + int32 Value[3]; uint16 BonusListID; uint8 Type; uint8 Index; @@ -1356,26 +1361,26 @@ struct ItemBonusListLevelDeltaEntry struct ItemBonusTreeNodeEntry { uint32 ID; - uint16 BonusTreeID; uint16 SubTreeID; uint16 BonusListID; uint16 ItemLevelSelectorID; uint8 BonusTreeModID; + uint16 BonusTreeID; }; struct ItemChildEquipmentEntry { uint32 ID; - uint32 ItemID; uint32 AltItemID; uint8 AltEquipmentSlot; + uint32 ItemID; }; struct ItemClassEntry { uint32 ID; - float PriceMod; LocalizedString* Name; + float PriceMod; uint8 OldEnumValue; uint8 Flags; }; @@ -1427,15 +1432,15 @@ struct ItemDisenchantLootEntry uint16 MinItemLevel; uint16 MaxItemLevel; uint16 RequiredDisenchantSkill; - uint8 ItemClass; int8 ItemSubClass; uint8 ItemQuality; + int8 Expansion; + uint8 ItemClass; }; struct ItemEffectEntry { uint32 ID; - uint32 ItemID; uint32 SpellID; int32 Cooldown; int32 CategoryCooldown; @@ -1444,6 +1449,7 @@ struct ItemEffectEntry uint16 ChrSpecializationID; uint8 OrderIndex; uint8 Trigger; + uint32 ItemID; }; #define MAX_ITEM_EXT_COST_ITEMS 5 @@ -1475,8 +1481,8 @@ struct ItemLevelSelectorQualityEntry { uint32 ID; uint32 ItemBonusListID; - uint16 ItemLevelSelectorQualitySetID; uint8 Quality; + uint16 ItemLevelSelectorQualitySetID; }; struct ItemLevelSelectorQualitySetEntry @@ -1497,11 +1503,11 @@ struct ItemLimitCategoryEntry struct ItemModifiedAppearanceEntry { uint32 ItemID; - uint16 AppearanceID; + uint32 ID; uint8 AppearanceModID; + uint16 AppearanceID; uint8 Index; uint8 SourceType; - uint32 ID; }; struct ItemPriceBaseEntry @@ -1531,17 +1537,17 @@ struct ItemRandomSuffixEntry struct ItemSearchNameEntry { - uint32 ID; + uint64 AllowableRace; LocalizedString* Name; + uint32 ID; uint32 Flags[3]; - uint32 AllowableRace; uint16 ItemLevel; uint8 Quality; uint8 RequiredExpansion; uint8 RequiredLevel; - int32 AllowableClass; uint16 RequiredReputationFaction; uint8 RequiredReputationRank; + int32 AllowableClass; uint16 RequiredSkill; uint16 RequiredSkillRank; uint32 RequiredSpell; @@ -1563,32 +1569,32 @@ struct ItemSetSpellEntry { uint32 ID; uint32 SpellID; - uint16 ItemSetID; uint16 ChrSpecID; uint8 Threshold; + uint16 ItemSetID; }; struct ItemSparseEntry { uint32 ID; + int64 AllowableRace; + LocalizedString* Name; + LocalizedString* Name2; + LocalizedString* Name3; + LocalizedString* Name4; + LocalizedString* Description; uint32 Flags[MAX_ITEM_PROTO_FLAGS]; float Unk1; float Unk2; uint32 BuyCount; uint32 BuyPrice; uint32 SellPrice; - int32 AllowableRace; uint32 RequiredSpell; uint32 MaxCount; uint32 Stackable; int32 ItemStatAllocation[MAX_ITEM_PROTO_STATS]; float ItemStatSocketCostMultiplier[MAX_ITEM_PROTO_STATS]; float RangedModRange; - LocalizedString* Name; - LocalizedString* Name2; - LocalizedString* Name3; - LocalizedString* Name4; - LocalizedString* Description; uint32 BagFamily; float ArmorDamageModifier; uint32 Duration; @@ -1651,8 +1657,8 @@ struct ItemSpecEntry struct ItemSpecOverrideEntry { uint32 ID; - uint32 ItemID; uint16 SpecID; + uint32 ItemID; }; struct ItemUpgradeEntry @@ -1668,8 +1674,8 @@ struct ItemUpgradeEntry struct ItemXBonusTreeEntry { uint32 ID; - uint32 ItemID; uint16 BonusTreeID; + uint32 ItemID; }; #define KEYCHAIN_SIZE 32 @@ -1684,8 +1690,8 @@ struct LFGDungeonsEntry { uint32 ID; LocalizedString* Name; - uint32 Flags; LocalizedString* Description; + uint32 Flags; float MinItemLevel; uint16 MaxLevel; uint16 TargetLevelMax; @@ -1735,13 +1741,13 @@ struct LiquidTypeEntry { uint32 ID; LocalizedString* Name; + char const* Texture[6]; uint32 SpellID; float MaxDarkenDepth; float FogDarkenIntensity; float AmbDarkenIntensity; float DirDarkenIntensity; float ParticleScale; - char const* Texture[6]; uint32 Color[2]; float Float[18]; uint32 Int[4]; @@ -1776,14 +1782,14 @@ struct MapEntry { uint32 ID; char* Directory; - uint32 Flags[2]; - float MinimapIconScale; - DBCPosition2D CorpsePos; // entrance coordinates in ghost mode (in most cases = normal entrance) LocalizedString* MapName; LocalizedString* MapDescription0; // Horde LocalizedString* MapDescription1; // Alliance LocalizedString* ShortDescription; LocalizedString* LongDescription; + uint32 Flags[2]; + float MinimapIconScale; + DBCPosition2D CorpsePos; // entrance coordinates in ghost mode (in most cases = normal entrance) uint16 AreaTableID; uint16 LoadingScreenID; int16 CorpseMapID; // map_id of entrance map in ghost mode (continent always and in most cases = normal entrance) @@ -1833,7 +1839,6 @@ struct MapDifficultyEntry { uint32 ID; LocalizedString* Message_lang; // m_message_lang (text showed when transfer to map failed) - uint16 MapID; uint8 DifficultyID; uint8 RaidDurationType; // 1 means daily reset, 2 means weekly uint8 MaxPlayers; // m_maxPlayers some heroic versions have 0 when expected same amount as in normal version @@ -1841,6 +1846,7 @@ struct MapDifficultyEntry uint8 Flags; uint8 ItemBonusTreeModID; uint32 Context; + uint16 MapID; uint32 GetRaidDuration() const { @@ -1865,10 +1871,10 @@ struct ModifierTreeEntry struct MountEntry { - uint32 SpellId; LocalizedString* Name; LocalizedString* Description; LocalizedString* SourceDescription; + uint32 SpellId; float CameraPivotMultiplier; uint16 MountTypeId; uint16 Flags; @@ -1901,9 +1907,9 @@ struct MountTypeXCapabilityEntry struct MountXDisplayEntry { uint32 ID; - uint32 MountID; uint32 DisplayID; uint32 PlayerConditionID; + uint32 MountID; }; struct MovieEntry @@ -1968,43 +1974,19 @@ struct PhaseXPhaseGroupEntry struct PlayerConditionEntry { - uint32 ID; - uint32 RaceMask; - uint32 Time[2]; - uint32 AuraSpellID[4]; + int64 RaceMask; LocalizedString* FailureDescription; - uint16 SkillID[4]; - int16 MinSkill[4]; - int16 MaxSkill[4]; - uint16 PrevQuestID[4]; - uint16 CurrQuestID[4]; - uint16 CurrentCompletedQuestID[4]; - uint16 Explored[2]; - uint16 Achievement[4]; - uint16 AreaID[4]; + uint32 ID; uint8 Flags; - uint8 MinReputation[3]; - uint8 AuraCount[4]; - uint8 LfgStatus[4]; - uint8 LfgCompare[4]; - uint8 CurrencyCount[4]; - int32 ClassMask; - uint32 MinFactionID[3]; - uint32 SpellID[4]; - uint32 ItemID[4]; - uint32 ItemCount[4]; - uint32 LfgValue[4]; - uint32 CurrencyID[4]; - uint32 QuestKillMonster[6]; - int32 MovementFlags[2]; uint16 MinLevel; uint16 MaxLevel; + int32 ClassMask; int8 Gender; int8 NativeGender; uint32 SkillLogic; uint8 LanguageID; uint8 MinLanguage; - uint32 MaxLanguage; + int32 MaxLanguage; uint16 MaxFactionID; uint8 MaxReputation; uint32 ReputationLogic; @@ -2038,17 +2020,41 @@ struct PlayerConditionEntry uint8 PhaseUseFlags; uint16 PhaseID; uint32 PhaseGroupID; - uint32 MinAvgItemLevel; - uint32 MaxAvgItemLevel; + int32 MinAvgItemLevel; + int32 MaxAvgItemLevel; uint16 MinAvgEquippedItemLevel; uint16 MaxAvgEquippedItemLevel; int8 ChrSpecializationIndex; int8 ChrSpecializationRole; int8 PowerType; - int8 PowerTypeComp; - int8 PowerTypeValue; + uint8 PowerTypeComp; + uint8 PowerTypeValue; uint32 ModifierTreeID; - uint32 MainHandItemSubclassMask; + int32 MainHandItemSubclassMask; + uint16 SkillID[4]; + uint16 MinSkill[4]; + uint16 MaxSkill[4]; + uint32 MinFactionID[3]; + uint8 MinReputation[3]; + uint16 PrevQuestID[4]; + uint16 CurrQuestID[4]; + uint16 CurrentCompletedQuestID[4]; + int32 SpellID[4]; + int32 ItemID[4]; + uint32 ItemCount[4]; + uint16 Explored[2]; + uint32 Time[2]; + uint32 AuraSpellID[4]; + uint8 AuraCount[4]; + uint16 Achievement[4]; + uint8 LfgStatus[4]; + uint8 LfgCompare[4]; + uint32 LfgValue[4]; + uint16 AreaID[4]; + uint32 CurrencyID[4]; + uint32 CurrencyCount[4]; + uint32 QuestKillMonster[6]; + int32 MovementFlags[2]; }; struct PowerDisplayEntry @@ -2081,8 +2087,8 @@ struct PowerTypeEntry struct PrestigeLevelInfoEntry { uint32 ID; - uint32 IconID; LocalizedString* PrestigeText; + uint32 IconID; uint8 PrestigeLevel; uint8 Flags; @@ -2092,10 +2098,10 @@ struct PrestigeLevelInfoEntry struct PVPDifficultyEntry { uint32 ID; - uint16 MapID; uint8 BracketID; uint8 MinLevel; uint8 MaxLevel; + uint16 MapID; // helpers BattlegroundBracketId GetBracketId() const { return BattlegroundBracketId(BracketID); } @@ -2172,8 +2178,8 @@ struct RewardPackXItemEntry { uint32 ID; uint32 ItemID; - uint32 RewardPackID; uint32 Amount; + uint32 RewardPackID; }; struct RulesetItemUpgradeEntry @@ -2183,6 +2189,14 @@ struct RulesetItemUpgradeEntry uint16 ItemUpgradeID; }; +struct SandboxScalingEntry +{ + uint32 ID; + uint32 MinLevel; + uint32 MaxLevel; + uint32 Flags; +}; + struct ScalingStatDistributionEntry { uint32 ID; @@ -2223,18 +2237,30 @@ struct ScenarioStepEntry struct SceneScriptEntry { uint32 ID; - char const* Name; - char const* Script; uint16 PrevScriptId; uint16 NextScriptId; }; +struct SceneScriptGlobalTextEntry +{ + uint32 ID; + char const* Name; + char const* Script; +}; + struct SceneScriptPackageEntry { uint32 ID; char const* Name; }; +struct SceneScriptTextEntry +{ + uint32 ID; + char const* Name; + char const* Script; +}; + struct SkillLineEntry { uint32 ID; @@ -2250,26 +2276,26 @@ struct SkillLineEntry struct SkillLineAbilityEntry { + uint64 RaceMask; uint32 ID; uint32 SpellID; - uint32 RaceMask; uint32 SupercedesSpell; uint16 SkillLine; - uint16 MinSkillLineRank; uint16 TrivialSkillLineRankHigh; uint16 TrivialSkillLineRankLow; uint16 UniqueBit; uint16 TradeSkillCategoryID; - uint8 AcquireMethod; uint8 NumSkillUps; - uint8 Unknown703; int32 ClassMask; + uint16 MinSkillLineRank; + uint8 AcquireMethod; + uint8 Flags; }; struct SkillRaceClassInfoEntry { uint32 ID; - int32 RaceMask; + int64 RaceMask; uint16 SkillID; uint16 Flags; uint16 SkillTierID; @@ -2300,9 +2326,9 @@ struct SoundKitEntry struct SpecializationSpellsEntry { + LocalizedString* Description; uint32 SpellID; uint32 OverridesSpellID; - LocalizedString* Description; uint16 SpecID; uint8 OrderIndex; uint32 ID; @@ -2310,19 +2336,16 @@ struct SpecializationSpellsEntry struct SpellEntry { + uint32 ID; LocalizedString* Name; LocalizedString* NameSubtext; LocalizedString* Description; LocalizedString* AuraDescription; - uint32 MiscID; - uint32 ID; - uint32 DescriptionVariablesID; }; struct SpellAuraOptionsEntry { uint32 ID; - uint32 SpellID; uint32 ProcCharges; uint32 ProcTypeMask; uint32 ProcCategoryRecovery; @@ -2330,12 +2353,12 @@ struct SpellAuraOptionsEntry uint16 SpellProcsPerMinuteID; uint8 DifficultyID; uint8 ProcChance; + uint32 SpellID; }; struct SpellAuraRestrictionsEntry { uint32 ID; - uint32 SpellID; uint32 CasterAuraSpell; uint32 TargetAuraSpell; uint32 ExcludeCasterAuraSpell; @@ -2345,6 +2368,7 @@ struct SpellAuraRestrictionsEntry uint8 TargetAuraState; uint8 ExcludeCasterAuraState; uint8 ExcludeTargetAuraState; + uint32 SpellID; }; struct SpellCastTimesEntry @@ -2370,7 +2394,6 @@ struct SpellCastingRequirementsEntry struct SpellCategoriesEntry { uint32 ID; - uint32 SpellID; uint16 Category; uint16 StartRecoveryCategory; uint16 ChargeCategory; @@ -2379,6 +2402,7 @@ struct SpellCategoriesEntry uint8 DispelType; uint8 Mechanic; uint8 PreventionType; + uint32 SpellID; }; struct SpellCategoryEntry @@ -2404,11 +2428,11 @@ struct SpellClassOptionsEntry struct SpellCooldownsEntry { uint32 ID; - uint32 SpellID; uint32 CategoryRecoveryTime; uint32 RecoveryTime; uint32 StartRecoveryTime; uint8 DifficultyID; + uint32 SpellID; }; struct SpellDurationEntry @@ -2421,18 +2445,11 @@ struct SpellDurationEntry struct SpellEffectEntry { - flag128 EffectSpellClassMask; uint32 ID; - uint32 SpellID; uint32 Effect; - uint32 EffectAura; int32 EffectBasePoints; uint32 EffectIndex; - int32 EffectMiscValue; - int32 EffectMiscValueB; - uint32 EffectRadiusIndex; - uint32 EffectRadiusMaxIndex; - uint32 ImplicitTarget[2]; + uint32 EffectAura; uint32 DifficultyID; float EffectAmplitude; uint32 EffectAuraPeriod; @@ -2449,15 +2466,17 @@ struct SpellEffectEntry uint32 EffectAttributes; float BonusCoefficientFromAP; float PvPMultiplier; -}; - -struct SpellEffectScalingEntry -{ - uint32 ID; float Coefficient; float Variance; float ResourceCoefficient; - uint32 SpellEffectID; + float GroupSizeCoefficient; + flag128 EffectSpellClassMask; + int32 EffectMiscValue; + int32 EffectMiscValueB; + uint32 EffectRadiusIndex; + uint32 EffectRadiusMaxIndex; + uint32 ImplicitTarget[2]; + uint32 SpellID; }; struct SpellEquippedItemsEntry @@ -2478,11 +2497,11 @@ struct SpellFocusObjectEntry struct SpellInterruptsEntry { uint32 ID; - uint32 SpellID; + uint8 DifficultyID; + uint16 InterruptFlags; uint32 AuraInterruptFlags[MAX_SPELL_AURA_INTERRUPT_FLAGS]; uint32 ChannelInterruptFlags[MAX_SPELL_AURA_INTERRUPT_FLAGS]; - uint16 InterruptFlags; - uint8 DifficultyID; + uint32 SpellID; }; #define MAX_ITEM_ENCHANTMENT_EFFECTS 3 @@ -2490,8 +2509,8 @@ struct SpellInterruptsEntry struct SpellItemEnchantmentEntry { uint32 ID; - uint32 EffectSpellID[MAX_ITEM_ENCHANTMENT_EFFECTS]; LocalizedString* Name; + uint32 EffectSpellID[MAX_ITEM_ENCHANTMENT_EFFECTS]; float EffectScalingPoints[MAX_ITEM_ENCHANTMENT_EFFECTS]; uint32 TransmogCost; uint32 TextureFileDataID; @@ -2514,12 +2533,12 @@ struct SpellItemEnchantmentEntry struct SpellItemEnchantmentConditionEntry { uint32 ID; + uint32 LTOperand[5]; uint8 LTOperandType[5]; uint8 Operator[5]; uint8 RTOperandType[5]; uint8 RTOperand[5]; uint8 Logic[5]; - uint32 LTOperand[5]; }; struct SpellLearnSpellEntry @@ -2533,17 +2552,26 @@ struct SpellLearnSpellEntry struct SpellLevelsEntry { uint32 ID; - uint32 SpellID; uint16 BaseLevel; uint16 MaxLevel; uint16 SpellLevel; uint8 DifficultyID; uint8 MaxUsableLevel; + uint32 SpellID; }; struct SpellMiscEntry { uint32 ID; + uint16 CastingTimeIndex; + uint16 DurationIndex; + uint16 RangeIndex; + uint8 SchoolMask; + uint32 IconFileDataID; + float Speed; + uint32 ActiveIconFileDataID; + float MultistrikeSpeedMod; + uint8 DifficultyID; uint32 Attributes; uint32 AttributesEx; uint32 AttributesExB; @@ -2558,19 +2586,11 @@ struct SpellMiscEntry uint32 AttributesExK; uint32 AttributesExL; uint32 AttributesExM; - float Speed; - float MultistrikeSpeedMod; - uint16 CastingTimeIndex; - uint16 DurationIndex; - uint16 RangeIndex; - uint8 SchoolMask; - uint32 IconFileDataID; - uint32 ActiveIconFileDataID; + uint32 SpellID; }; struct SpellPowerEntry { - uint32 SpellID; int32 ManaCost; float ManaCostPercentage; float ManaCostPercentagePerSecond; @@ -2585,6 +2605,7 @@ struct SpellPowerEntry // only SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL, SPELL_EFFECT_WEAPON_PERCENT_DAMAGE, SPELL_EFFECT_WEAPON_DAMAGE, SPELL_EFFECT_NORMALIZED_WEAPON_DMG uint32 PowerDisplayID; uint32 UnitPowerBarID; + uint32 SpellID; }; struct SpellPowerDifficultyEntry @@ -2606,8 +2627,8 @@ struct SpellProcsPerMinuteModEntry uint32 ID; float Coeff; uint16 Param; - uint16 SpellProcsPerMinuteID; uint8 Type; + uint16 SpellProcsPerMinuteID; }; struct SpellRadiusEntry @@ -2622,12 +2643,12 @@ struct SpellRadiusEntry struct SpellRangeEntry { uint32 ID; + LocalizedString* DisplayName; + LocalizedString* DisplayNameShort; float MinRangeHostile; float MinRangeFriend; float MaxRangeHostile; float MaxRangeFriend; - LocalizedString* DisplayName; - LocalizedString* DisplayNameShort; uint8 Flags; }; @@ -2680,7 +2701,6 @@ struct SpellShapeshiftFormEntry struct SpellTargetRestrictionsEntry { uint32 ID; - uint32 SpellID; float ConeAngle; float Width; uint32 Targets; @@ -2688,6 +2708,7 @@ struct SpellTargetRestrictionsEntry uint8 DifficultyID; uint8 MaxAffectedTargets; uint32 MaxTargetLevel; + uint32 SpellID; }; #define MAX_SPELL_TOTEMS 2 @@ -2702,7 +2723,6 @@ struct SpellTotemsEntry struct SpellXSpellVisualEntry { - uint32 SpellID; uint32 SpellVisualID; uint32 ID; float Chance; @@ -2715,6 +2735,7 @@ struct SpellXSpellVisualEntry uint8 Flags; uint8 DifficultyID; uint8 Priority; + uint32 SpellID; }; struct SummonPropertiesEntry @@ -2738,9 +2759,9 @@ struct TactKeyEntry struct TalentEntry { uint32 ID; + LocalizedString* Description; uint32 SpellID; uint32 OverridesSpellID; - LocalizedString* Description; uint16 SpecID; uint8 TierID; uint8 ColumnIndex; @@ -2752,8 +2773,8 @@ struct TalentEntry struct TaxiNodesEntry { uint32 ID; - DBCPosition3D Pos; LocalizedString* Name; + DBCPosition3D Pos; uint32 MountCreatureID[2]; DBCPosition2D MapOffset; float Unk730; @@ -2797,8 +2818,8 @@ struct TotemCategoryEntry struct ToyEntry { - uint32 ItemID; LocalizedString* Description; + uint32 ItemID; uint8 Flags; uint8 CategoryFilter; uint32 ID; @@ -2841,34 +2862,34 @@ struct TransmogSetItemEntry struct TransportAnimationEntry { uint32 ID; - uint32 TransportID; uint32 TimeIndex; DBCPosition3D Pos; uint8 SequenceID; + uint32 TransportID; }; struct TransportRotationEntry { uint32 ID; - uint32 TransportID; uint32 TimeIndex; float X; float Y; float Z; float W; + uint32 TransportID; }; struct UnitPowerBarEntry { uint32 ID; - float RegenerationPeace; - float RegenerationCombat; - uint32 FileDataID[6]; - uint32 Color[6]; LocalizedString* Name; LocalizedString* Cost; LocalizedString* OutOfError; LocalizedString* ToolTip; + float RegenerationPeace; + float RegenerationCombat; + uint32 FileDataID[6]; + uint32 Color[6]; float StartInset; float EndInset; uint16 StartPower; @@ -2985,9 +3006,8 @@ struct VehicleSeatEntry struct WMOAreaTableEntry { - int32 WMOGroupID; // used in group WMO LocalizedString* AreaName; - int16 WMOID; // used in root WMO + int32 WMOGroupID; // used in group WMO uint16 AmbienceID; uint16 ZoneMusic; uint16 IntroSound; @@ -3000,6 +3020,7 @@ struct WMOAreaTableEntry uint8 Flags; uint32 ID; uint32 UWZoneMusic; + int16 WMOID; // used in root WMO }; struct WorldEffectEntry @@ -3038,8 +3059,8 @@ struct WorldMapAreaEntry struct WorldMapOverlayEntry { - uint32 ID; char const* TextureName; + uint32 ID; uint16 TextureWidth; uint16 TextureHeight; uint32 MapAreaID; // idx in WorldMapArea.dbc @@ -3073,9 +3094,9 @@ struct WorldMapTransformsEntry struct WorldSafeLocsEntry { uint32 ID; + LocalizedString* AreaName; DBCPosition3D Loc; float Facing; - LocalizedString* AreaName; uint16 MapID; }; diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h index 7f86f5c3d70..31fdaaa7bff 100644 --- a/src/server/game/DataStores/DBCEnums.h +++ b/src/server/game/DataStores/DBCEnums.h @@ -155,7 +155,7 @@ enum ArtifactPowerFlag : uint8 ARTIFACT_POWER_FLAG_DONT_COUNT_FIRST_BONUS_RANK = 0x10, }; -#define BATTLE_PET_SPECIES_MAX_ID 2137 +#define BATTLE_PET_SPECIES_MAX_ID 2164 enum ChrSpecializationFlag { @@ -245,6 +245,7 @@ enum CriteriaAdditionalCondition //CRITERIA_ADDITIONAL_CONDITION_UNK86 = 86, // Some external event id //CRITERIA_ADDITIONAL_CONDITION_UNK87 = 87, // Achievement id CRITERIA_ADDITIONAL_CONDITION_BATTLE_PET_SPECIES = 91, + CRITERIA_ADDITIONAL_CONDITION_EXPANSION = 92, CRITERIA_ADDITIONAL_CONDITION_GARRISON_FOLLOWER_ENTRY = 144, CRITERIA_ADDITIONAL_CONDITION_GARRISON_FOLLOWER_QUALITY = 145, CRITERIA_ADDITIONAL_CONDITION_GARRISON_FOLLOWER_LEVEL = 146, @@ -493,7 +494,7 @@ enum CriteriaTypes : uint8 CRITERIA_TYPE_RELIC_TALENT_UNLOCKED = 211 }; -#define CRITERIA_TYPE_TOTAL 212 +#define CRITERIA_TYPE_TOTAL 213 enum CriteriaTreeFlags : uint16 { @@ -729,7 +730,8 @@ enum ItemBonusType ITEM_BONUS_ITEM_LEVEL_CAN_INCREASE = 14, // Displays a + next to item level indicating it can warforge ITEM_BONUS_RANDOM_ENCHANTMENT = 15, // Responsible for showing "<Random additional stats>" or "+%d Rank Random Minor Trait" in the tooltip before item is obtained ITEM_BONUS_BONDING = 16, - ITEM_BONUS_RELIC_TYPE = 17 + ITEM_BONUS_RELIC_TYPE = 17, + ITEM_BONUS_OVERRIDE_REQUIRED_LEVEL = 18 }; enum ItemLimitCategoryMode @@ -887,7 +889,7 @@ enum SpellShapeshiftFormFlags SHAPESHIFT_FORM_PREVENT_EMOTE_SOUNDS = 0x1000 }; -#define TaxiMaskSize 253 +#define TaxiMaskSize 258 typedef std::array<uint8, TaxiMaskSize> TaxiMask; enum TotemCategoryType diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp index 231433ec2b7..f013ca1e0a1 100644 --- a/src/server/game/Entities/Item/Item.cpp +++ b/src/server/game/Entities/Item/Item.cpp @@ -1821,158 +1821,168 @@ bool Item::CanTransmogrifyItemWithItem(Item const* item, ItemModifiedAppearanceE return true; } -// used by mail items, transmog cost, stationeryinfo and others -uint32 Item::GetSellPrice(ItemTemplate const* proto, bool& normalSellPrice) +uint32 Item::GetBuyPrice(Player const* owner, bool& standardPrice) const { - normalSellPrice = true; + return Item::GetBuyPrice(GetTemplate(), GetQuality(), GetItemLevel(owner), standardPrice); +} + +uint32 Item::GetBuyPrice(ItemTemplate const* proto, uint32 quality, uint32 itemLevel, bool& standardPrice) +{ + standardPrice = false; if (proto->GetFlags2() & ITEM_FLAG2_OVERRIDE_GOLD_COST) - { return proto->GetBuyPrice(); - } - else - { - ImportPriceQualityEntry const* qualityPrice = sImportPriceQualityStore.LookupEntry(proto->GetQuality() + 1); - ItemPriceBaseEntry const* basePrice = sItemPriceBaseStore.LookupEntry(proto->GetBaseItemLevel()); - if (!qualityPrice || !basePrice) - return 0; + ImportPriceQualityEntry const* qualityPrice = sImportPriceQualityStore.LookupEntry(quality + 1); + if (!qualityPrice) + return 0; - float qualityFactor = qualityPrice->Factor; - float baseFactor = 0.0f; + ItemPriceBaseEntry const* basePrice = sItemPriceBaseStore.LookupEntry(itemLevel); + if (!basePrice) + return 0; - uint32 inventoryType = proto->GetInventoryType(); + float qualityFactor = qualityPrice->Factor; + float baseFactor = 0.0f; - if (inventoryType == INVTYPE_WEAPON || - inventoryType == INVTYPE_2HWEAPON || - inventoryType == INVTYPE_WEAPONMAINHAND || - inventoryType == INVTYPE_WEAPONOFFHAND || - inventoryType == INVTYPE_RANGED || - inventoryType == INVTYPE_THROWN || - inventoryType == INVTYPE_RANGEDRIGHT) - baseFactor = basePrice->WeaponFactor; - else - baseFactor = basePrice->ArmorFactor; + uint32 inventoryType = proto->GetInventoryType(); - if (inventoryType == INVTYPE_ROBE) - inventoryType = INVTYPE_CHEST; + if (inventoryType == INVTYPE_WEAPON || + inventoryType == INVTYPE_2HWEAPON || + inventoryType == INVTYPE_WEAPONMAINHAND || + inventoryType == INVTYPE_WEAPONOFFHAND || + inventoryType == INVTYPE_RANGED || + inventoryType == INVTYPE_THROWN || + inventoryType == INVTYPE_RANGEDRIGHT) + baseFactor = basePrice->WeaponFactor; + else + baseFactor = basePrice->ArmorFactor; - float typeFactor = 0.0f; - int8 weapType = -1; + if (inventoryType == INVTYPE_ROBE) + inventoryType = INVTYPE_CHEST; - switch (inventoryType) - { - case INVTYPE_HEAD: - case INVTYPE_SHOULDERS: - case INVTYPE_CHEST: - case INVTYPE_WAIST: - case INVTYPE_LEGS: - case INVTYPE_FEET: - case INVTYPE_WRISTS: - case INVTYPE_HANDS: - case INVTYPE_CLOAK: - { - ImportPriceArmorEntry const* armorPrice = sImportPriceArmorStore.LookupEntry(inventoryType); - if (!armorPrice) - return 0; + if (proto->GetClass() == ITEM_CLASS_GEM && proto->GetSubClass() == ITEM_SUBCLASS_GEM_ARTIFACT_RELIC) + { + inventoryType = INVTYPE_WEAPON; + baseFactor = basePrice->WeaponFactor / 3.0f; + } - switch (proto->GetSubClass()) - { - case ITEM_SUBCLASS_ARMOR_MISCELLANEOUS: - case ITEM_SUBCLASS_ARMOR_CLOTH: - typeFactor = armorPrice->ClothFactor; - break; - case ITEM_SUBCLASS_ARMOR_LEATHER: - typeFactor = armorPrice->LeatherFactor; - break; - case ITEM_SUBCLASS_ARMOR_MAIL: - typeFactor = armorPrice->MailFactor; - break; - case ITEM_SUBCLASS_ARMOR_PLATE: - typeFactor = armorPrice->PlateFactor; - break; - default: - return 0; - } + float typeFactor = 0.0f; + int8 weapType = -1; - break; - } - case INVTYPE_SHIELD: - { - ImportPriceShieldEntry const* shieldPrice = sImportPriceShieldStore.LookupEntry(1); // it only has two rows, it's unclear which is the one used - if (!shieldPrice) - return 0; + switch (inventoryType) + { + case INVTYPE_HEAD: + case INVTYPE_NECK: + case INVTYPE_SHOULDERS: + case INVTYPE_CHEST: + case INVTYPE_WAIST: + case INVTYPE_LEGS: + case INVTYPE_FEET: + case INVTYPE_WRISTS: + case INVTYPE_HANDS: + case INVTYPE_FINGER: + case INVTYPE_TRINKET: + case INVTYPE_CLOAK: + case INVTYPE_HOLDABLE: + { + ImportPriceArmorEntry const* armorPrice = sImportPriceArmorStore.LookupEntry(inventoryType); + if (!armorPrice) + return 0; - typeFactor = shieldPrice->Factor; - break; + switch (proto->GetSubClass()) + { + case ITEM_SUBCLASS_ARMOR_MISCELLANEOUS: + case ITEM_SUBCLASS_ARMOR_CLOTH: + typeFactor = armorPrice->ClothFactor; + break; + case ITEM_SUBCLASS_ARMOR_LEATHER: + typeFactor = armorPrice->LeatherFactor; + break; + case ITEM_SUBCLASS_ARMOR_MAIL: + typeFactor = armorPrice->MailFactor; + break; + case ITEM_SUBCLASS_ARMOR_PLATE: + typeFactor = armorPrice->PlateFactor; + break; + default: + typeFactor = 1.0f; + break; } - case INVTYPE_WEAPONMAINHAND: - weapType = 0; - break; - case INVTYPE_WEAPONOFFHAND: - weapType = 1; - break; - case INVTYPE_WEAPON: - weapType = 2; - break; - case INVTYPE_2HWEAPON: - weapType = 3; - break; - case INVTYPE_RANGED: - case INVTYPE_RANGEDRIGHT: - case INVTYPE_RELIC: - weapType = 4; - break; - default: - return proto->GetBuyPrice(); - } - if (weapType != -1) + break; + } + case INVTYPE_SHIELD: { - ImportPriceWeaponEntry const* weaponPrice = sImportPriceWeaponStore.LookupEntry(weapType + 1); - if (!weaponPrice) + ImportPriceShieldEntry const* shieldPrice = sImportPriceShieldStore.LookupEntry(2); + if (!shieldPrice) return 0; - typeFactor = weaponPrice->Factor; + typeFactor = shieldPrice->Factor; + break; } + case INVTYPE_WEAPONMAINHAND: + weapType = 0; + break; + case INVTYPE_WEAPONOFFHAND: + weapType = 1; + break; + case INVTYPE_WEAPON: + weapType = 2; + break; + case INVTYPE_2HWEAPON: + weapType = 3; + break; + case INVTYPE_RANGED: + case INVTYPE_RANGEDRIGHT: + case INVTYPE_RELIC: + weapType = 4; + break; + default: + return proto->GetBuyPrice(); + } + + if (weapType != -1) + { + ImportPriceWeaponEntry const* weaponPrice = sImportPriceWeaponStore.LookupEntry(weapType + 1); + if (!weaponPrice) + return 0; - normalSellPrice = false; - return uint32(qualityFactor * proto->GetUnk1() * proto->GetUnk2() * typeFactor * baseFactor); + typeFactor = weaponPrice->Factor; } + + standardPrice = false; + return uint32(proto->GetUnk2() * typeFactor * baseFactor * qualityFactor * proto->GetUnk1()); } -uint32 Item::GetSpecialPrice(ItemTemplate const* proto, uint32 minimumPrice /*= 10000*/) +uint32 Item::GetSellPrice(Player const* owner) const { - uint32 cost = 0; + return Item::GetSellPrice(GetTemplate(), GetQuality(), GetItemLevel(owner)); +} +uint32 Item::GetSellPrice(ItemTemplate const* proto, uint32 quality, uint32 itemLevel) +{ if (proto->GetFlags2() & ITEM_FLAG2_OVERRIDE_GOLD_COST) - cost = proto->GetSellPrice(); + return proto->GetSellPrice(); else { - bool normalPrice; - cost = Item::GetSellPrice(proto, normalPrice); + bool standardPrice; + uint32 cost = Item::GetBuyPrice(proto, quality, itemLevel, standardPrice); - if (!normalPrice) + if (standardPrice) { - if (proto->GetBuyCount() <= 1) + if (ItemClassEntry const* classEntry = sDB2Manager.GetItemClassByOldEnum(proto->GetClass())) { - ItemClassEntry const* classEntry = sDB2Manager.GetItemClassByOldEnum(proto->GetClass()); - if (classEntry) - cost *= classEntry->PriceMod; - else - cost = 0; + uint32 buyCount = std::max(proto->GetBuyCount(), 1u); + return cost * classEntry->PriceMod / buyCount; } - else - cost /= 4 * proto->GetBuyCount(); + + return 0; } else - cost = proto->GetSellPrice(); + return proto->GetSellPrice(); } - if (cost < minimumPrice) - cost = minimumPrice; - - return cost; + return 0; } void Item::ItemContainerSaveLootToDB() @@ -2165,29 +2175,37 @@ void Item::ItemContainerDeleteLootMoneyAndLootItemsFromDB() uint32 Item::GetItemLevel(Player const* owner) const { - ItemTemplate const* stats = GetTemplate(); - if (!stats) + return Item::GetItemLevel(GetTemplate(), _bonusData, owner->getLevel(), GetModifier(ITEM_MODIFIER_SCALING_STAT_DISTRIBUTION_FIXED_LEVEL), GetModifier(ITEM_MODIFIER_UPGRADE_ID)); +} + +uint32 Item::GetItemLevel(ItemTemplate const* itemTemplate, BonusData const& bonusData, uint32 level, uint32 fixedLevel, uint32 upgradeId) +{ + if (!itemTemplate) return MIN_ITEM_LEVEL; - uint32 itemLevel = stats->GetBaseItemLevel(); - if (ScalingStatDistributionEntry const* ssd = sScalingStatDistributionStore.LookupEntry(GetScalingStatDistribution())) + uint32 itemLevel = itemTemplate->GetBaseItemLevel(); + if (ScalingStatDistributionEntry const* ssd = sScalingStatDistributionStore.LookupEntry(bonusData.ScalingStatDistribution)) { - uint32 level = owner->getLevel(); - if (uint32 fixedLevel = GetModifier(ITEM_MODIFIER_SCALING_STAT_DISTRIBUTION_FIXED_LEVEL)) + if (fixedLevel) level = fixedLevel; else level = std::min(std::max(level, ssd->MinLevel), ssd->MaxLevel); + + if (SandboxScalingEntry const* sandbox = sSandboxScalingStore.LookupEntry(bonusData.SandboxScalingId)) + if ((sandbox->Flags & 2 || sandbox->MinLevel || sandbox->MaxLevel) && !(sandbox->Flags & 4)) + level = std::min(std::max(level, sandbox->MinLevel), sandbox->MaxLevel); + if (uint32 heirloomIlvl = uint32(sDB2Manager.GetCurveValueAt(ssd->ItemLevelCurveID, level))) itemLevel = heirloomIlvl; } - itemLevel += _bonusData.ItemLevelBonus; + itemLevel += bonusData.ItemLevelBonus; - if (ItemUpgradeEntry const* upgrade = sItemUpgradeStore.LookupEntry(GetModifier(ITEM_MODIFIER_UPGRADE_ID))) + if (ItemUpgradeEntry const* upgrade = sItemUpgradeStore.LookupEntry(upgradeId)) itemLevel += upgrade->ItemLevelBonus; for (uint32 i = 0; i < MAX_ITEM_PROTO_SOCKETS; ++i) - itemLevel += _bonusData.GemItemLevelBonus[i]; + itemLevel += bonusData.GemItemLevelBonus[i]; return std::min(std::max(itemLevel, uint32(MIN_ITEM_LEVEL)), uint32(MAX_ITEM_LEVEL)); } @@ -2208,6 +2226,48 @@ int32 Item::GetItemStatValue(uint32 index, Player const* owner) const return _bonusData.ItemStatValue[index]; } +ItemDisenchantLootEntry const* Item::GetDisenchantLoot(Player const* owner) const +{ + return Item::GetDisenchantLoot(GetTemplate(), GetQuality(), GetItemLevel(owner)); +} + +ItemDisenchantLootEntry const* Item::GetDisenchantLoot(ItemTemplate const* itemTemplate, uint32 quality, uint32 itemLevel) +{ + if (itemTemplate->GetFlags() & (ITEM_FLAG_CONJURED | ITEM_FLAG_NO_DISENCHANT) || itemTemplate->GetBonding() == BIND_QUEST) + return nullptr; + + if (itemTemplate->GetArea() || itemTemplate->GetMap() || itemTemplate->GetMaxStackSize() > 1) + return nullptr; + + if (!Item::GetSellPrice(itemTemplate, quality, itemLevel) && !sDB2Manager.HasItemCurrencyCost(itemTemplate->GetId())) + return nullptr; + + uint32 itemClass = itemTemplate->GetClass(); + int8 itemSubClass = itemTemplate->GetSubClass(); + uint8 expansion = itemTemplate->GetRequiredExpansion(); + for (ItemDisenchantLootEntry const* disenchant : sItemDisenchantLootStore) + { + if (disenchant->ItemClass != itemClass) + continue; + + if (disenchant->ItemSubClass >= 0 && itemSubClass) + continue; + + if (disenchant->ItemQuality != quality) + continue; + + if (disenchant->MinItemLevel > itemLevel || disenchant->MaxItemLevel < itemLevel) + continue; + + if (disenchant->Expansion != -2 && disenchant->Expansion != expansion) + continue; + + return disenchant; + } + + return nullptr; +} + uint32 Item::GetDisplayId(Player const* owner) const { ItemModifier transmogModifier = ITEM_MODIFIER_TRANSMOG_APPEARANCE_ALL_SPECS; @@ -2506,6 +2566,7 @@ void BonusData::Initialize(ItemTemplate const* proto) AppearanceModID = 0; RepairCostMultiplier = 1.0f; ScalingStatDistribution = proto->GetScalingStatDistribution(); + SandboxScalingId = 0; RelicType = -1; HasItemLevelBonus = false; @@ -2529,7 +2590,7 @@ void BonusData::Initialize(WorldPackets::Item::ItemInstance const& itemInstance) AddBonus(bonus->Type, bonus->Value); } -void BonusData::AddBonus(uint32 type, int32 const (&values)[2]) +void BonusData::AddBonus(uint32 type, int32 const (&values)[3]) { switch (type) { @@ -2591,6 +2652,7 @@ void BonusData::AddBonus(uint32 type, int32 const (&values)[2]) if (values[1] < _state.ScalingStatDistributionPriority) { ScalingStatDistribution = static_cast<uint32>(values[0]); + SandboxScalingId = static_cast<uint32>(values[2]); _state.ScalingStatDistributionPriority = values[1]; } break; @@ -2600,5 +2662,8 @@ void BonusData::AddBonus(uint32 type, int32 const (&values)[2]) case ITEM_BONUS_RELIC_TYPE: RelicType = values[0]; break; + case ITEM_BONUS_OVERRIDE_REQUIRED_LEVEL: + RequiredLevel = values[0]; + break; } } diff --git a/src/server/game/Entities/Item/Item.h b/src/server/game/Entities/Item/Item.h index 770fd73cdeb..210a3df1918 100644 --- a/src/server/game/Entities/Item/Item.h +++ b/src/server/game/Entities/Item/Item.h @@ -86,6 +86,8 @@ struct BonusData uint32 AppearanceModID; float RepairCostMultiplier; uint32 ScalingStatDistribution; + uint32 SandboxScalingId; + uint32 DisenchantLootId; uint32 GemItemLevelBonus[MAX_ITEM_PROTO_SOCKETS]; int32 GemRelicType[MAX_ITEM_PROTO_SOCKETS]; uint16 GemRelicRankBonus[MAX_ITEM_PROTO_SOCKETS]; @@ -94,7 +96,7 @@ struct BonusData void Initialize(ItemTemplate const* proto); void Initialize(WorldPackets::Item::ItemInstance const& itemInstance); - void AddBonus(uint32 type, int32 const (&values)[2]); + void AddBonus(uint32 type, int32 const (&values)[3]); private: struct @@ -260,6 +262,7 @@ class TC_GAME_API Item : public Object bool IsRangedWeapon() const { return GetTemplate()->IsRangedWeapon(); } uint32 GetQuality() const { return _bonusData.Quality; } uint32 GetItemLevel(Player const* owner) const; + static uint32 GetItemLevel(ItemTemplate const* itemTemplate, BonusData const& bonusData, uint32 level, uint32 fixedLevel, uint32 upgradeId); int32 GetRequiredLevel() const { return _bonusData.RequiredLevel; } int32 GetItemStatType(uint32 index) const { ASSERT(index < MAX_ITEM_PROTO_STATS); return _bonusData.ItemStatType[index]; } int32 GetItemStatValue(uint32 index, Player const* owner) const; @@ -272,6 +275,8 @@ class TC_GAME_API Item : public Object ItemModifiedAppearanceEntry const* GetItemModifiedAppearance() const; float GetRepairCostMultiplier() const { return _bonusData.RepairCostMultiplier; } uint32 GetScalingStatDistribution() const { return _bonusData.ScalingStatDistribution; } + ItemDisenchantLootEntry const* GetDisenchantLoot(Player const* owner) const; + static ItemDisenchantLootEntry const* GetDisenchantLoot(ItemTemplate const* itemTemplate, uint32 quality, uint32 itemLevel); // Item Refund system void SetNotRefundable(Player* owner, bool changestate = true, SQLTransaction* trans = nullptr, bool addToCollection = true); @@ -303,15 +308,16 @@ class TC_GAME_API Item : public Object bool HasStats() const; static bool HasStats(WorldPackets::Item::ItemInstance const& itemInstance, BonusData const* bonus); static bool CanTransmogrifyItemWithItem(Item const* item, ItemModifiedAppearanceEntry const* itemModifiedAppearance); - static uint32 GetSpecialPrice(ItemTemplate const* proto, uint32 minimumPrice = 10000); - uint32 GetSpecialPrice(uint32 minimumPrice = 10000) const { return Item::GetSpecialPrice(GetTemplate(), minimumPrice); } + uint32 GetBuyPrice(Player const* owner, bool& standardPrice) const; + static uint32 GetBuyPrice(ItemTemplate const* proto, uint32 quality, uint32 itemLevel, bool& standardPrice); + uint32 GetSellPrice(Player const* owner) const; + static uint32 GetSellPrice(ItemTemplate const* proto, uint32 quality, uint32 itemLevel); uint32 GetVisibleEntry(Player const* owner) const; uint16 GetVisibleAppearanceModId(Player const* owner) const; uint32 GetVisibleEnchantmentId(Player const* owner) const; uint16 GetVisibleItemVisual(Player const* owner) const; - static uint32 GetSellPrice(ItemTemplate const* proto, bool& success); uint32 GetModifier(ItemModifier modifier) const; void SetModifier(ItemModifier modifier, uint32 value); diff --git a/src/server/game/Entities/Item/ItemTemplate.h b/src/server/game/Entities/Item/ItemTemplate.h index ae0d995de9f..89a20ab6459 100644 --- a/src/server/game/Entities/Item/ItemTemplate.h +++ b/src/server/game/Entities/Item/ItemTemplate.h @@ -721,7 +721,7 @@ struct TC_GAME_API ItemTemplate uint32 GetSellPrice() const { return ExtendedData->SellPrice; } InventoryType GetInventoryType() const { return InventoryType(ExtendedData->InventoryType); } int32 GetAllowableClass() const { return ExtendedData->AllowableClass; } - int32 GetAllowableRace() const { return ExtendedData->AllowableRace; } + int64 GetAllowableRace() const { return ExtendedData->AllowableRace; } uint32 GetBaseItemLevel() const { return ExtendedData->ItemLevel; } int32 GetBaseRequiredLevel() const { return ExtendedData->RequiredLevel; } uint32 GetRequiredSkill() const { return ExtendedData->RequiredSkill; } @@ -760,14 +760,13 @@ struct TC_GAME_API ItemTemplate HolidayIds GetHolidayID() const { return HolidayIds(ExtendedData->HolidayID); } float GetStatScalingFactor() const { return ExtendedData->StatScalingFactor; } uint8 GetArtifactID() const { return ExtendedData->ArtifactID; } + uint8 GetRequiredExpansion() const { return ExtendedData->RequiredExpansion; } uint32 MaxDurability; std::vector<ItemEffectEntry const*> Effects; // extra fields, not part of db2 files uint32 ScriptId; - uint32 DisenchantID; - uint32 RequiredDisenchantSkill; uint32 FoodType; uint32 MinMoneyLoot; uint32 MaxMoneyLoot; diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 47aaec14608..5c28e7b72bb 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -8363,7 +8363,7 @@ void Player::SendLoot(ObjectGuid guid, LootType loot_type, bool aeLooting/* = fa switch (loot_type) { case LOOT_DISENCHANTING: - loot->FillLoot(item->GetTemplate()->DisenchantID, LootTemplates_Disenchant, this, true); + loot->FillLoot(ASSERT_NOTNULL(item->GetDisenchantLoot(this))->ID, LootTemplates_Disenchant, this, true); break; case LOOT_PROSPECTING: loot->FillLoot(item->GetEntry(), LootTemplates_Prospecting, this, true); @@ -18194,7 +18194,7 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder) float bubble0 = 0.031f; //speed collect rest bonus in offline, in logout, in tavern, city (section/in hour) float bubble1 = 0.125f; - float bubble = fields[32].GetUInt8() > 0 + float bubble = fields[33].GetUInt8() > 0 ? bubble1 * sWorld->getRate(RATE_REST_OFFLINE_IN_TAVERN_OR_CITY) : bubble0 * sWorld->getRate(RATE_REST_OFFLINE_IN_WILDERNESS); @@ -24044,7 +24044,7 @@ void Player::LearnQuestRewardedSpells() void Player::LearnSkillRewardedSpells(uint32 skillId, uint32 skillValue) { - uint32 raceMask = getRaceMask(); + uint64 raceMask = getRaceMask(); uint32 classMask = getClassMask(); for (uint32 j = 0; j < sSkillLineAbilityStore.GetNumRows(); ++j) { diff --git a/src/server/game/Entities/Player/PlayerTaxi.cpp b/src/server/game/Entities/Player/PlayerTaxi.cpp index 9499f2e0bc0..7a7f8d8533c 100644 --- a/src/server/game/Entities/Player/PlayerTaxi.cpp +++ b/src/server/game/Entities/Player/PlayerTaxi.cpp @@ -31,7 +31,7 @@ void PlayerTaxi::InitTaxiNodesForLevel(uint32 race, uint32 chrClass, uint8 level { case CLASS_DEATH_KNIGHT: { - for (uint8 i = 0; i < TaxiMaskSize; ++i) + for (std::size_t i = 0; i < TaxiMaskSize; ++i) m_taximask[i] |= sOldContinentsNodesMask[i] & factionMask[i]; break; } @@ -99,7 +99,7 @@ void PlayerTaxi::LoadTaxiMask(std::string const &data) { Tokenizer tokens(data, ' '); - uint8 index = 0; + std::size_t index = 0; for (Tokenizer::const_iterator iter = tokens.begin(); index < TaxiMaskSize && iter != tokens.end(); ++iter, ++index) { // load and set bits only for existing taxi nodes @@ -189,7 +189,7 @@ uint32 PlayerTaxi::GetCurrentTaxiPath() const std::ostringstream& operator<<(std::ostringstream& ss, PlayerTaxi const& taxi) { - for (uint8 i = 0; i < TaxiMaskSize; ++i) + for (std::size_t i = 0; i < TaxiMaskSize; ++i) ss << uint32(taxi.m_taximask[i]) << ' '; return ss; } diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index b31e46473ab..ae560ca6321 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -3127,7 +3127,10 @@ Aura* Unit::_TryStackingOrRefreshingExistingAura(SpellInfo const* newAura, uint3 if (castItem) { castItemGuid = castItem->GetGUID(); - castItemLevel = castItem->GetItemLevel(castItem->GetOwner()); + if (Player* owner = castItem->GetOwner()) + castItemLevel = int32(castItem->GetItemLevel(owner)); + else if (castItem->GetOwnerGUID() == caster->GetGUID()) + castItemLevel = int32(castItem->GetItemLevel(caster->ToPlayer())); } // find current aura from spell and change it's stackamount, or refresh it's duration diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index 41a091c36e4..c26427f1587 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -1008,7 +1008,7 @@ class TC_GAME_API Unit : public WorldObject uint8 GetLevelForTarget(WorldObject const* /*target*/) const override { return getLevel(); } void SetLevel(uint8 lvl); uint8 getRace() const { return GetByteValue(UNIT_FIELD_BYTES_0, UNIT_BYTES_0_OFFSET_RACE); } - uint32 getRaceMask() const { return 1 << (getRace()-1); } + uint64 getRaceMask() const { return UI64LIT(1) << (getRace() - 1); } uint8 getClass() const { return GetByteValue(UNIT_FIELD_BYTES_0, UNIT_BYTES_0_OFFSET_CLASS); } uint32 getClassMask() const { return 1 << (getClass()-1); } uint8 getGender() const { return GetByteValue(UNIT_FIELD_BYTES_0, UNIT_BYTES_0_OFFSET_GENDER); } diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 9bd7d5c107d..cbafb647347 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -2579,47 +2579,6 @@ uint32 FillMaxDurability(uint32 itemClass, uint32 itemSubClass, uint32 inventory return 5 * uint32(round(18.0f * qualityMultipliers[quality] * weaponMultipliers[itemSubClass] * levelPenalty)); }; -void FillDisenchantFields(uint32* disenchantID, uint32* requiredDisenchantSkill, ItemTemplate const& itemTemplate) -{ - *disenchantID = 0; - *(int32*)requiredDisenchantSkill = -1; - if ((itemTemplate.GetFlags() & (ITEM_FLAG_CONJURED | ITEM_FLAG_NO_DISENCHANT)) || - itemTemplate.GetBonding() == BIND_QUEST || itemTemplate.GetArea() || itemTemplate.GetMap() || - itemTemplate.GetMaxStackSize() > 1 || - itemTemplate.GetQuality() < ITEM_QUALITY_UNCOMMON || itemTemplate.GetQuality() > ITEM_QUALITY_EPIC || - !(itemTemplate.GetClass() == ITEM_CLASS_ARMOR || itemTemplate.GetClass() == ITEM_CLASS_WEAPON) || - !(Item::GetSpecialPrice(&itemTemplate) || sDB2Manager.HasItemCurrencyCost(itemTemplate.GetId()))) - return; - - for (uint32 i = 0; i < sItemDisenchantLootStore.GetNumRows(); ++i) - { - ItemDisenchantLootEntry const* disenchant = sItemDisenchantLootStore.LookupEntry(i); - if (!disenchant) - continue; - - if (disenchant->ItemClass == itemTemplate.GetClass() && - disenchant->ItemQuality == itemTemplate.GetQuality() && - disenchant->MinItemLevel <= itemTemplate.GetBaseItemLevel() && - disenchant->MaxItemLevel >= itemTemplate.GetBaseItemLevel()) - { - if (i == 60 || i == 61) // epic item disenchant ilvl range 66-99 (classic) - { - if (itemTemplate.GetBaseRequiredLevel() > 60 || itemTemplate.GetRequiredSkillRank() > 300) - continue; // skip to epic item disenchant ilvl range 90-199 (TBC) - } - else if (i == 66 || i == 67) // epic item disenchant ilvl range 90-199 (TBC) - { - if (itemTemplate.GetBaseRequiredLevel() <= 60 || (itemTemplate.GetRequiredSkill() && itemTemplate.GetRequiredSkillRank() <= 300)) - continue; - } - - *disenchantID = i; - *requiredDisenchantSkill = disenchant->RequiredDisenchantSkill; - return; - } - } -} - struct ItemSpecStats { uint32 ItemType; @@ -2848,7 +2807,6 @@ void ObjectMgr::LoadItemTemplates() itemTemplate.MaxDurability = FillMaxDurability(db2Data->Class, db2Data->SubClass, sparse->InventoryType, sparse->Quality, sparse->ItemLevel); itemTemplate.ScriptId = 0; - FillDisenchantFields(&itemTemplate.DisenchantID, &itemTemplate.RequiredDisenchantSkill, itemTemplate); itemTemplate.FoodType = 0; itemTemplate.MinMoneyLoot = 0; itemTemplate.MaxMoneyLoot = 0; @@ -3417,7 +3375,7 @@ void ObjectMgr::LoadPlayerInfo() for (SkillRaceClassInfoEntry const* rcInfo : sSkillRaceClassInfoStore) if (rcInfo->Availability == 1) for (uint32 raceIndex = RACE_HUMAN; raceIndex < MAX_RACES; ++raceIndex) - if (rcInfo->RaceMask == -1 || ((1 << (raceIndex - 1)) & rcInfo->RaceMask)) + if (rcInfo->RaceMask == -1 || ((UI64LIT(1) << (raceIndex - 1)) & rcInfo->RaceMask)) for (uint32 classIndex = CLASS_WARRIOR; classIndex < MAX_CLASSES; ++classIndex) if (rcInfo->ClassMask == -1 || ((1 << (classIndex - 1)) & rcInfo->ClassMask)) if (PlayerInfo* info = _playerInfo[raceIndex][classIndex]) @@ -8237,8 +8195,8 @@ int32 ObjectMgr::GetBaseReputationOf(FactionEntry const* factionEntry, uint8 rac if (!factionEntry) return 0; - uint32 raceMask = (1 << (race - 1)); - uint32 classMask = (1 << (playerClass-1)); + uint64 raceMask = UI64LIT(1) << (race - 1); + uint32 classMask = 1 << (playerClass - 1); for (int i = 0; i < 4; i++) { diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp index 18b0bdbc901..9ecd0d8b68f 100644 --- a/src/server/game/Groups/Group.cpp +++ b/src/server/game/Groups/Group.cpp @@ -26,6 +26,7 @@ #include "GameObject.h" #include "GroupMgr.h" #include "InstanceSaveMgr.h" +#include "Item.h" #include "LFGMgr.h" #include "Log.h" #include "LootMgr.h" @@ -879,7 +880,11 @@ void Group::SendLootStartRollToPlayer(uint32 countDown, uint32 mapId, Player* p, startLootRoll.Method = GetLootMethod(); r.FillPacket(startLootRoll.Item); - p->GetSession()->SendPacket(startLootRoll.Write()); + if (ItemDisenchantLootEntry const* disenchant = r.GetItemDisenchantLoot(p)) + if (m_maxEnchantingLevel >= disenchant->RequiredDisenchantSkill) + startLootRoll.ValidRolls |= ROLL_FLAG_TYPE_DISENCHANT; + + p->SendDirectMessage(startLootRoll.Write()); } void Group::SendLootRoll(ObjectGuid playerGuid, int32 rollNumber, uint8 rollType, Roll const& roll) const @@ -1021,9 +1026,6 @@ void Group::GroupLoot(Loot* loot, WorldObject* lootedObject) { r->setLoot(loot); r->itemSlot = itemSlot; - if (item->DisenchantID && m_maxEnchantingLevel >= item->RequiredDisenchantSkill) - r->rollVoteMask |= ROLL_FLAG_TYPE_DISENCHANT; - if (item->GetFlags2() & ITEM_FLAG2_CAN_ONLY_ROLL_GREED) r->rollVoteMask &= ~ROLL_FLAG_TYPE_NEED; @@ -1344,14 +1346,16 @@ void Group::CountTheRoll(Rolls::iterator rollI) ItemTemplate const* pProto = sObjectMgr->GetItemTemplate(roll->itemid); player->UpdateCriteria(CRITERIA_TYPE_CAST_SPELL, 13262); // Disenchant + ItemDisenchantLootEntry const* disenchant = ASSERT_NOTNULL(roll->GetItemDisenchantLoot(player)); + ItemPosCountVec dest; InventoryResult msg = player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, roll->itemid, item->count); if (msg == EQUIP_ERR_OK) - player->AutoStoreLoot(pProto->DisenchantID, LootTemplates_Disenchant, true); + player->AutoStoreLoot(disenchant->ID, LootTemplates_Disenchant, true); else // If the player's inventory is full, send the disenchant result in a mail. { Loot loot; - loot.FillLoot(pProto->DisenchantID, LootTemplates_Disenchant, player, true); + loot.FillLoot(disenchant->ID, LootTemplates_Disenchant, player, true); uint32 max_slot = loot.GetMaxSlotInLootFor(player); for (uint32 i = 0; i < max_slot; ++i) @@ -1888,6 +1892,22 @@ void Roll::FillPacket(WorldPackets::Loot::LootItemData& lootItem) const } } +ItemDisenchantLootEntry const* Roll::GetItemDisenchantLoot(Player const* player) const +{ + if (LootItem const* lootItemInSlot = (*this)->GetItemInSlot(itemSlot)) + { + WorldPackets::Item::ItemInstance itemInstance; + itemInstance.Initialize(*lootItemInSlot); + + BonusData bonusData; + bonusData.Initialize(itemInstance); + + ItemTemplate const* itemTemplate = sObjectMgr->GetItemTemplate(itemid); + uint32 itemLevel = Item::GetItemLevel(itemTemplate, bonusData, player->getLevel(), 0, lootItemInSlot->upgradeId); + return Item::GetDisenchantLoot(itemTemplate, bonusData.Quality, itemLevel); + } +} + void Group::SetDungeonDifficultyID(Difficulty difficulty) { m_dungeonDifficulty = difficulty; diff --git a/src/server/game/Groups/Group.h b/src/server/game/Groups/Group.h index cdfc7186e64..b0b2e11d47e 100644 --- a/src/server/game/Groups/Group.h +++ b/src/server/game/Groups/Group.h @@ -178,6 +178,7 @@ class Roll : public LootValidatorRef Loot* getLoot(); void targetObjectBuildLink() override; void FillPacket(WorldPackets::Loot::LootItemData& lootItem) const; + ItemDisenchantLootEntry const* GetItemDisenchantLoot(Player const* player) const; uint32 itemid; ItemRandomEnchantmentId itemRandomPropId; diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 2edd9d71b9b..a7342644a46 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -2001,7 +2001,7 @@ void WorldSession::HandleCharRaceOrFactionChangeCallback(std::shared_ptr<WorldPa // this doesn't seem to be 100% blizzlike... but it can't really be helped. std::ostringstream taximaskstream; TaxiMask const& factionMask = newTeamId == TEAM_HORDE ? sHordeTaxiNodesMask : sAllianceTaxiNodesMask; - for (uint8 i = 0; i < TaxiMaskSize; ++i) + for (std::size_t i = 0; i < TaxiMaskSize; ++i) { // i = (315 - 1) / 8 = 39 // m = 1 << ((315 - 1) % 8) = 4 diff --git a/src/server/game/Handlers/TransmogrificationHandler.cpp b/src/server/game/Handlers/TransmogrificationHandler.cpp index 252c485b083..e8382ee8fb5 100644 --- a/src/server/game/Handlers/TransmogrificationHandler.cpp +++ b/src/server/game/Handlers/TransmogrificationHandler.cpp @@ -94,7 +94,7 @@ void WorldSession::HandleTransmogrifyItems(WorldPackets::Transmogrification::Tra bindAppearances.push_back(transmogItem.ItemModifiedAppearanceID); // add cost - cost += itemTransmogrified->GetSpecialPrice(); + cost += itemTransmogrified->GetSellPrice(_player); } else resetAppearanceItems.push_back(itemTransmogrified); diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 1bcd86a4a03..b46627b80d3 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -131,17 +131,17 @@ enum Gender enum Races { RACE_NONE = 0, - RACE_HUMAN = 1, - RACE_ORC = 2, - RACE_DWARF = 3, - RACE_NIGHTELF = 4, - RACE_UNDEAD_PLAYER = 5, - RACE_TAUREN = 6, - RACE_GNOME = 7, - RACE_TROLL = 8, - RACE_GOBLIN = 9, - RACE_BLOODELF = 10, - RACE_DRAENEI = 11, + RACE_HUMAN = 1, + RACE_ORC = 2, + RACE_DWARF = 3, + RACE_NIGHTELF = 4, + RACE_UNDEAD_PLAYER = 5, + RACE_TAUREN = 6, + RACE_GNOME = 7, + RACE_TROLL = 8, + RACE_GOBLIN = 9, + RACE_BLOODELF = 10, + RACE_DRAENEI = 11, //RACE_FEL_ORC = 12, //RACE_NAGA = 13, //RACE_BROKEN = 14, @@ -152,15 +152,19 @@ enum Races //RACE_TAUNKA = 19, //RACE_NORTHREND_SKELETON = 20, //RACE_ICE_TROLL = 21, - RACE_WORGEN = 22, + RACE_WORGEN = 22, //RACE_GILNEAN = 23 - RACE_PANDAREN_NEUTRAL = 24, - RACE_PANDAREN_ALLIANCE = 25, - RACE_PANDAREN_HORDE = 26 + RACE_PANDAREN_NEUTRAL = 24, + RACE_PANDAREN_ALLIANCE = 25, + RACE_PANDAREN_HORDE = 26, + RACE_NIGHTBORNE = 27, + RACE_HIGHMOUNTAIN_TAUREN = 28, + RACE_VOID_ELF = 29, + RACE_LIGHTFORGED_DRAENEI = 30 }; // max+1 for player race -#define MAX_RACES 27 +#define MAX_RACES 31 #define RACEMASK_ALL_PLAYABLE \ ((1<<(RACE_HUMAN-1)) | \ @@ -177,7 +181,11 @@ enum Races (1<<(RACE_WORGEN-1)) | \ (1<<(RACE_PANDAREN_NEUTRAL-1)) |\ (1<<(RACE_PANDAREN_ALLIANCE-1)) |\ - (1<<(RACE_PANDAREN_HORDE-1))) + (1<<(RACE_PANDAREN_HORDE-1))|\ + (1<<(RACE_NIGHTBORNE-1))|\ + (1<<(RACE_HIGHMOUNTAIN_TAUREN-1))|\ + (1<<(RACE_VOID_ELF-1))|\ + (1<<(RACE_LIGHTFORGED_DRAENEI-1))) #define RACEMASK_NEUTRAL (1<<(RACE_PANDAREN_NEUTRAL-1)) @@ -188,7 +196,9 @@ enum Races (1<<(RACE_GNOME-1)) | \ (1<<(RACE_DRAENEI-1)) | \ (1<<(RACE_WORGEN-1)) | \ - (1<<(RACE_PANDAREN_ALLIANCE-1))) + (1<<(RACE_PANDAREN_ALLIANCE-1)) |\ + (1<<(RACE_VOID_ELF-1)) |\ + (1<<(RACE_LIGHTFORGED_DRAENEI-1))) #define RACEMASK_HORDE RACEMASK_ALL_PLAYABLE & ~RACEMASK_ALLIANCE diff --git a/src/server/game/Reputation/ReputationMgr.cpp b/src/server/game/Reputation/ReputationMgr.cpp index 261813ca3a5..99d13d2ed71 100644 --- a/src/server/game/Reputation/ReputationMgr.cpp +++ b/src/server/game/Reputation/ReputationMgr.cpp @@ -93,7 +93,7 @@ int32 ReputationMgr::GetBaseReputation(FactionEntry const* factionEntry) const if (!factionEntry) return 0; - uint32 raceMask = _player->getRaceMask(); + uint64 raceMask = _player->getRaceMask(); uint32 classMask = _player->getClassMask(); for (int i=0; i < 4; i++) { @@ -152,7 +152,7 @@ uint32 ReputationMgr::GetDefaultStateFlags(FactionEntry const* factionEntry) con if (!factionEntry) return 0; - uint32 raceMask = _player->getRaceMask(); + uint64 raceMask = _player->getRaceMask(); uint32 classMask = _player->getClassMask(); for (int i=0; i < 4; i++) { diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index d132fa50d07..47f43ad532c 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -6540,30 +6540,23 @@ SpellCastResult Spell::CheckItems(uint32* param1 /*= nullptr*/, uint32* param2 / break; case SPELL_EFFECT_DISENCHANT: { - if (!m_targets.GetItemTarget()) + Item const* item = m_targets.GetItemTarget(); + if (!item) return SPELL_FAILED_CANT_BE_DISENCHANTED; // prevent disenchanting in trade slot - if (m_targets.GetItemTarget()->GetOwnerGUID() != m_caster->GetGUID()) + if (item->GetOwnerGUID() != m_caster->GetGUID()) return SPELL_FAILED_CANT_BE_DISENCHANTED; - ItemTemplate const* itemProto = m_targets.GetItemTarget()->GetTemplate(); + ItemTemplate const* itemProto = item->GetTemplate(); if (!itemProto) return SPELL_FAILED_CANT_BE_DISENCHANTED; - uint32 item_quality = itemProto->GetQuality(); - // 2.0.x addon: Check player enchanting level against the item disenchanting requirements - uint32 item_disenchantskilllevel = itemProto->RequiredDisenchantSkill; - if (item_disenchantskilllevel == uint32(-1)) + ItemDisenchantLootEntry const* itemDisenchantLoot = item->GetDisenchantLoot(m_caster->ToPlayer()); + if (!itemDisenchantLoot) return SPELL_FAILED_CANT_BE_DISENCHANTED; - if (item_disenchantskilllevel > player->GetSkillValue(SKILL_ENCHANTING)) + if (itemDisenchantLoot->RequiredDisenchantSkill > player->GetSkillValue(SKILL_ENCHANTING)) return SPELL_FAILED_LOW_CASTLEVEL; - if (item_quality > 4 || item_quality < 2) - return SPELL_FAILED_CANT_BE_DISENCHANTED; - if (itemProto->GetClass() != ITEM_CLASS_WEAPON && itemProto->GetClass() != ITEM_CLASS_ARMOR) - return SPELL_FAILED_CANT_BE_DISENCHANTED; - if (!itemProto->DisenchantID) - return SPELL_FAILED_CANT_BE_DISENCHANTED; break; } case SPELL_EFFECT_PROSPECTING: diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index eaab7d32b80..18c5a9607b5 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -3857,9 +3857,6 @@ void Spell::EffectDisEnchant(SpellEffIndex /*effIndex*/) if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT_TARGET) return; - if (!itemTarget || !itemTarget->GetTemplate()->DisenchantID) - return; - if (Player* caster = m_caster->ToPlayer()) { caster->UpdateCraftSkill(m_spellInfo->Id); diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index 6e35465bc42..e19f8c730ee 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -369,7 +369,7 @@ SpellImplicitTargetInfo::StaticData SpellImplicitTargetInfo::_data[TOTAL_SPELL_ {TARGET_OBJECT_TYPE_DEST, TARGET_REFERENCE_TYPE_CASTER, TARGET_SELECT_CATEGORY_DEFAULT, TARGET_CHECK_DEFAULT, TARGET_DIR_RANDOM}, // 149 }; -SpellEffectInfo::SpellEffectInfo(SpellEffectScalingEntry const* spellEffectScaling, SpellInfo const* spellInfo, uint8 effIndex, SpellEffectEntry const* _effect) +SpellEffectInfo::SpellEffectInfo(SpellInfo const* spellInfo, uint8 effIndex, SpellEffectEntry const* _effect) { _spellInfo = spellInfo; EffectIndex = _effect ? _effect->EffectIndex : effIndex; @@ -396,11 +396,10 @@ SpellEffectInfo::SpellEffectInfo(SpellEffectScalingEntry const* spellEffectScali TriggerSpell = _effect ? _effect->EffectTriggerSpell : 0; SpellClassMask = _effect ? _effect->EffectSpellClassMask : flag128(); BonusCoefficientFromAP = _effect ? _effect->BonusCoefficientFromAP : 0.0f; + Scaling.Coefficient = _effect->Coefficient; + Scaling.Variance = _effect->Variance; + Scaling.ResourceCoefficient = _effect->ResourceCoefficient; ImplicitTargetConditions = NULL; - - Scaling.Coefficient = spellEffectScaling ? spellEffectScaling->Coefficient : 0.0f; - Scaling.Variance = spellEffectScaling ? spellEffectScaling->Variance : 0.0f; - Scaling.ResourceCoefficient = spellEffectScaling ? spellEffectScaling->ResourceCoefficient : 0.0f; } bool SpellEffectInfo::IsEffect() const @@ -985,26 +984,19 @@ SpellEffectInfo::StaticData SpellEffectInfo::_data[TOTAL_SPELL_EFFECTS] = {EFFECT_IMPLICIT_TARGET_EXPLICIT, TARGET_OBJECT_TYPE_UNIT}, // 255 SPELL_EFFECT_LEARN_TRANSMOG_SET }; -SpellInfo::SpellInfo(SpellInfoLoadHelper const& data, SpellEffectEntryMap const& effectsMap, SpellVisualMap&& visuals, - std::unordered_map<uint32, SpellEffectScalingEntry const*> const& effectScaling) +SpellInfo::SpellInfo(SpellInfoLoadHelper const& data, SpellEffectEntryMap const& effectsMap, SpellVisualMap&& visuals) : _hasPowerDifficultyData(false) { Id = data.Entry->ID; - // SpellDifficultyEntry for (SpellEffectEntryMap::value_type const& itr : effectsMap) { SpellEffectEntryVector const& effects = itr.second; _effects[itr.first].resize(effects.size()); for (size_t i = 0; i < effects.size(); ++i) - { if (SpellEffectEntry const* effect = effects[i]) - { - auto scalingItr = effectScaling.find(effect->ID); - _effects[itr.first][effect->EffectIndex] = new SpellEffectInfo(scalingItr != effectScaling.end() ? scalingItr->second : nullptr, this, effect->EffectIndex, effect); - } - } + _effects[itr.first][effect->EffectIndex] = new SpellEffectInfo(this, effect->EffectIndex, effect); } SpellName = data.Entry->Name; diff --git a/src/server/game/Spells/SpellInfo.h b/src/server/game/Spells/SpellInfo.h index d4fce54c087..49baa6c7bbd 100644 --- a/src/server/game/Spells/SpellInfo.h +++ b/src/server/game/Spells/SpellInfo.h @@ -355,7 +355,7 @@ public: RealPointsPerLevel(0), BasePoints(0), PointsPerResource(0), Amplitude(0), ChainAmplitude(0), BonusCoefficient(0), MiscValue(0), MiscValueB(0), Mechanic(MECHANIC_NONE), PositionFacing(0), RadiusEntry(NULL), ChainTargets(0), ItemType(0), TriggerSpell(0), BonusCoefficientFromAP(0.0f), ImplicitTargetConditions(NULL) { } - SpellEffectInfo(SpellEffectScalingEntry const* spellEffectScaling, SpellInfo const* spellInfo, uint8 effIndex, SpellEffectEntry const* effect); + SpellEffectInfo(SpellInfo const* spellInfo, uint8 effIndex, SpellEffectEntry const* effect); bool IsEffect() const; bool IsEffect(SpellEffectName effectName) const; @@ -517,8 +517,7 @@ class TC_GAME_API SpellInfo uint32 ExplicitTargetMask; SpellChainNode const* ChainEntry; - SpellInfo(SpellInfoLoadHelper const& data, SpellEffectEntryMap const& effectsMap, SpellVisualMap&& visuals, - std::unordered_map<uint32, SpellEffectScalingEntry const*> const& effectScaling); + SpellInfo(SpellInfoLoadHelper const& data, SpellEffectEntryMap const& effectsMap, SpellVisualMap&& visuals); ~SpellInfo(); uint32 GetCategory() const; diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 33f1fdbc66a..279e8c5e546 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -2203,7 +2203,6 @@ void SpellMgr::LoadSpellInfoStore() std::unordered_map<uint32, SpellEffectEntryMap> effectsBySpell; std::unordered_map<uint32, SpellVisualMap> visualsBySpell; - std::unordered_map<uint32, SpellEffectScalingEntry const*> spellEffectScallingByEffectId; for (SpellEffectEntry const* effect : sSpellEffectStore) { @@ -2242,9 +2241,6 @@ void SpellMgr::LoadSpellInfoStore() if (!cooldowns->DifficultyID) // TODO: implement loadData[cooldowns->SpellID].Cooldowns = cooldowns; - for (SpellEffectScalingEntry const* spellEffectScaling : sSpellEffectScalingStore) - spellEffectScallingByEffectId[spellEffectScaling->SpellEffectID] = spellEffectScaling; - for (SpellEquippedItemsEntry const* equippedItems : sSpellEquippedItemsStore) loadData[equippedItems->SpellID].EquippedItems = equippedItems; @@ -2256,6 +2252,10 @@ void SpellMgr::LoadSpellInfoStore() if (!levels->DifficultyID) // TODO: implement loadData[levels->SpellID].Levels = levels; + for (SpellMiscEntry const* misc : sSpellMiscStore) + if (!misc->DifficultyID) + loadData[misc->SpellID].Misc = misc; + for (SpellReagentsEntry const* reagents : sSpellReagentsStore) loadData[reagents->SpellID].Reagents = reagents; @@ -2280,8 +2280,7 @@ void SpellMgr::LoadSpellInfoStore() if (SpellEntry const* spellEntry = sSpellStore.LookupEntry(i)) { loadData[i].Entry = spellEntry; - loadData[i].Misc = sSpellMiscStore.LookupEntry(spellEntry->MiscID); - mSpellInfoMap[i] = new SpellInfo(loadData[i], effectsBySpell[i], std::move(visualsBySpell[i]), spellEffectScallingByEffectId); + mSpellInfoMap[i] = new SpellInfo(loadData[i], effectsBySpell[i], std::move(visualsBySpell[i])); } } |