diff options
author | Shauren <shauren.trinity@gmail.com> | 2022-12-26 14:18:19 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-12-26 14:18:19 +0100 |
commit | 49cef90ddb3615cd0265c421766be1eccb41df6b (patch) | |
tree | fcbbded8e695dc47ef9a160eb4968653a9988c5b | |
parent | 37b2eb5a6f80a5aaa30ad178557a1c8ef0855534 (diff) |
Core/DataStores: More constexpr in DB2 metadata
-rw-r--r-- | src/server/game/DataStores/DB2LoadInfo.h | 10500 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2Metadata.h | 21663 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2Stores.cpp | 648 |
3 files changed, 14559 insertions, 18252 deletions
diff --git a/src/server/game/DataStores/DB2LoadInfo.h b/src/server/game/DataStores/DB2LoadInfo.h index 6fa74823672..cd2098622ca 100644 --- a/src/server/game/DataStores/DB2LoadInfo.h +++ b/src/server/game/DataStores/DB2LoadInfo.h @@ -26,7213 +26,6253 @@ struct AchievementLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Description" }, - { false, FT_STRING, "Title" }, - { false, FT_STRING, "Reward" }, - { false, FT_INT, "ID" }, - { true, FT_SHORT, "InstanceID" }, - { true, FT_BYTE, "Faction" }, - { true, FT_SHORT, "Supercedes" }, - { true, FT_SHORT, "Category" }, - { true, FT_BYTE, "MinimumCriteria" }, - { true, FT_BYTE, "Points" }, - { true, FT_INT, "Flags" }, - { true, FT_SHORT, "UiOrder" }, - { true, FT_INT, "IconFileID" }, - { true, FT_INT, "RewardItemID" }, - { false, FT_INT, "CriteriaTree" }, - { true, FT_SHORT, "SharesCriteria" }, - { true, FT_INT, "CovenantID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), AchievementMeta::Instance(), HOTFIX_SEL_ACHIEVEMENT); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[17] = + { + { false, FT_STRING, "Description" }, + { false, FT_STRING, "Title" }, + { false, FT_STRING, "Reward" }, + { false, FT_INT, "ID" }, + { true, FT_SHORT, "InstanceID" }, + { true, FT_BYTE, "Faction" }, + { true, FT_SHORT, "Supercedes" }, + { true, FT_SHORT, "Category" }, + { true, FT_BYTE, "MinimumCriteria" }, + { true, FT_BYTE, "Points" }, + { true, FT_INT, "Flags" }, + { true, FT_SHORT, "UiOrder" }, + { true, FT_INT, "IconFileID" }, + { true, FT_INT, "RewardItemID" }, + { false, FT_INT, "CriteriaTree" }, + { true, FT_SHORT, "SharesCriteria" }, + { true, FT_INT, "CovenantID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 17, &AchievementMeta::Instance, HOTFIX_SEL_ACHIEVEMENT }; }; struct AchievementCategoryLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Name" }, - { false, FT_INT, "ID" }, - { true, FT_SHORT, "Parent" }, - { true, FT_BYTE, "UiOrder" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), Achievement_CategoryMeta::Instance(), HOTFIX_SEL_ACHIEVEMENT_CATEGORY); - return &loadInfo; - } + { false, FT_STRING, "Name" }, + { false, FT_INT, "ID" }, + { true, FT_SHORT, "Parent" }, + { true, FT_BYTE, "UiOrder" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &Achievement_CategoryMeta::Instance, HOTFIX_SEL_ACHIEVEMENT_CATEGORY }; }; struct AdventureJournalLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { false, FT_STRING, "Description" }, - { false, FT_STRING, "ButtonText" }, - { false, FT_STRING, "RewardDescription" }, - { false, FT_STRING, "ContinueDescription" }, - { false, FT_BYTE, "Type" }, - { false, FT_INT, "PlayerConditionID" }, - { true, FT_INT, "Flags" }, - { false, FT_BYTE, "ButtonActionType" }, - { true, FT_INT, "TextureFileDataID" }, - { false, FT_SHORT, "LfgDungeonID" }, - { true, FT_INT, "QuestID" }, - { false, FT_SHORT, "BattleMasterListID" }, - { false, FT_BYTE, "PriorityMin" }, - { false, FT_BYTE, "PriorityMax" }, - { true, FT_INT, "ItemID" }, - { false, FT_INT, "ItemQuantity" }, - { false, FT_SHORT, "CurrencyType" }, - { false, FT_INT, "CurrencyQuantity" }, - { false, FT_SHORT, "UiMapID" }, - { false, FT_INT, "BonusPlayerConditionID1" }, - { false, FT_INT, "BonusPlayerConditionID2" }, - { false, FT_BYTE, "BonusValue1" }, - { false, FT_BYTE, "BonusValue2" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), AdventureJournalMeta::Instance(), HOTFIX_SEL_ADVENTURE_JOURNAL); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[25] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_STRING, "Description" }, + { false, FT_STRING, "ButtonText" }, + { false, FT_STRING, "RewardDescription" }, + { false, FT_STRING, "ContinueDescription" }, + { false, FT_BYTE, "Type" }, + { false, FT_INT, "PlayerConditionID" }, + { true, FT_INT, "Flags" }, + { false, FT_BYTE, "ButtonActionType" }, + { true, FT_INT, "TextureFileDataID" }, + { false, FT_SHORT, "LfgDungeonID" }, + { true, FT_INT, "QuestID" }, + { false, FT_SHORT, "BattleMasterListID" }, + { false, FT_BYTE, "PriorityMin" }, + { false, FT_BYTE, "PriorityMax" }, + { true, FT_INT, "ItemID" }, + { false, FT_INT, "ItemQuantity" }, + { false, FT_SHORT, "CurrencyType" }, + { false, FT_INT, "CurrencyQuantity" }, + { false, FT_SHORT, "UiMapID" }, + { false, FT_INT, "BonusPlayerConditionID1" }, + { false, FT_INT, "BonusPlayerConditionID2" }, + { false, FT_BYTE, "BonusValue1" }, + { false, FT_BYTE, "BonusValue2" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 25, &AdventureJournalMeta::Instance, HOTFIX_SEL_ADVENTURE_JOURNAL }; }; struct AdventureMapPoiLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Title" }, - { false, FT_STRING, "Description" }, - { false, FT_FLOAT, "WorldPositionX" }, - { false, FT_FLOAT, "WorldPositionY" }, - { true, FT_BYTE, "Type" }, - { false, FT_INT, "PlayerConditionID" }, - { false, FT_INT, "QuestID" }, - { false, FT_INT, "LfgDungeonID" }, - { true, FT_INT, "RewardItemID" }, - { false, FT_INT, "UiTextureAtlasMemberID" }, - { false, FT_INT, "UiTextureKitID" }, - { true, FT_INT, "MapID" }, - { false, FT_INT, "AreaTableID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), AdventureMapPOIMeta::Instance(), HOTFIX_SEL_ADVENTURE_MAP_POI); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[14] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "Title" }, + { false, FT_STRING, "Description" }, + { false, FT_FLOAT, "WorldPositionX" }, + { false, FT_FLOAT, "WorldPositionY" }, + { true, FT_BYTE, "Type" }, + { false, FT_INT, "PlayerConditionID" }, + { false, FT_INT, "QuestID" }, + { false, FT_INT, "LfgDungeonID" }, + { true, FT_INT, "RewardItemID" }, + { false, FT_INT, "UiTextureAtlasMemberID" }, + { false, FT_INT, "UiTextureKitID" }, + { true, FT_INT, "MapID" }, + { false, FT_INT, "AreaTableID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 14, &AdventureMapPOIMeta::Instance, HOTFIX_SEL_ADVENTURE_MAP_POI }; }; struct AnimationDataLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[6] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "Fallback" }, - { false, FT_BYTE, "BehaviorTier" }, - { true, FT_INT, "BehaviorID" }, - { true, FT_INT, "Flags1" }, - { true, FT_INT, "Flags2" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), AnimationDataMeta::Instance(), HOTFIX_SEL_ANIMATION_DATA); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_SHORT, "Fallback" }, + { false, FT_BYTE, "BehaviorTier" }, + { true, FT_INT, "BehaviorID" }, + { true, FT_INT, "Flags1" }, + { true, FT_INT, "Flags2" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 6, &AnimationDataMeta::Instance, HOTFIX_SEL_ANIMATION_DATA }; }; struct AnimKitLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_INT, "OneShotDuration" }, - { false, FT_SHORT, "OneShotStopAnimKitID" }, - { false, FT_SHORT, "LowDefAnimKitID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), AnimKitMeta::Instance(), HOTFIX_SEL_ANIM_KIT); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_INT, "OneShotDuration" }, + { false, FT_SHORT, "OneShotStopAnimKitID" }, + { false, FT_SHORT, "LowDefAnimKitID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &AnimKitMeta::Instance, HOTFIX_SEL_ANIM_KIT }; }; struct AreaGroupMemberLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "AreaID" }, - { false, FT_INT, "AreaGroupID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), AreaGroupMemberMeta::Instance(), HOTFIX_SEL_AREA_GROUP_MEMBER); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_SHORT, "AreaID" }, + { false, FT_INT, "AreaGroupID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &AreaGroupMemberMeta::Instance, HOTFIX_SEL_AREA_GROUP_MEMBER }; }; struct AreaTableLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING_NOT_LOCALIZED, "ZoneName" }, - { false, FT_STRING, "AreaName" }, - { false, FT_SHORT, "ContinentID" }, - { false, FT_SHORT, "ParentAreaID" }, - { true, FT_SHORT, "AreaBit" }, - { false, FT_BYTE, "SoundProviderPref" }, - { false, FT_BYTE, "SoundProviderPrefUnderwater" }, - { false, FT_SHORT, "AmbienceID" }, - { false, FT_SHORT, "UwAmbience" }, - { false, FT_SHORT, "ZoneMusic" }, - { false, FT_SHORT, "UwZoneMusic" }, - { false, FT_SHORT, "IntroSound" }, - { false, FT_INT, "UwIntroSound" }, - { false, FT_BYTE, "FactionGroupMask" }, - { false, FT_FLOAT, "AmbientMultiplier" }, - { false, FT_BYTE, "MountFlags" }, - { true, FT_SHORT, "PvpCombatWorldStateID" }, - { false, FT_BYTE, "WildBattlePetLevelMin" }, - { false, FT_BYTE, "WildBattlePetLevelMax" }, - { false, FT_BYTE, "WindSettingsID" }, - { true, FT_INT, "ContentTuningID" }, - { true, FT_INT, "Flags1" }, - { true, FT_INT, "Flags2" }, - { false, FT_SHORT, "LiquidTypeID1" }, - { false, FT_SHORT, "LiquidTypeID2" }, - { false, FT_SHORT, "LiquidTypeID3" }, - { false, FT_SHORT, "LiquidTypeID4" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), AreaTableMeta::Instance(), HOTFIX_SEL_AREA_TABLE); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[28] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING_NOT_LOCALIZED, "ZoneName" }, + { false, FT_STRING, "AreaName" }, + { false, FT_SHORT, "ContinentID" }, + { false, FT_SHORT, "ParentAreaID" }, + { true, FT_SHORT, "AreaBit" }, + { false, FT_BYTE, "SoundProviderPref" }, + { false, FT_BYTE, "SoundProviderPrefUnderwater" }, + { false, FT_SHORT, "AmbienceID" }, + { false, FT_SHORT, "UwAmbience" }, + { false, FT_SHORT, "ZoneMusic" }, + { false, FT_SHORT, "UwZoneMusic" }, + { false, FT_SHORT, "IntroSound" }, + { false, FT_INT, "UwIntroSound" }, + { false, FT_BYTE, "FactionGroupMask" }, + { false, FT_FLOAT, "AmbientMultiplier" }, + { false, FT_BYTE, "MountFlags" }, + { true, FT_SHORT, "PvpCombatWorldStateID" }, + { false, FT_BYTE, "WildBattlePetLevelMin" }, + { false, FT_BYTE, "WildBattlePetLevelMax" }, + { false, FT_BYTE, "WindSettingsID" }, + { true, FT_INT, "ContentTuningID" }, + { true, FT_INT, "Flags1" }, + { true, FT_INT, "Flags2" }, + { false, FT_SHORT, "LiquidTypeID1" }, + { false, FT_SHORT, "LiquidTypeID2" }, + { false, FT_SHORT, "LiquidTypeID3" }, + { false, FT_SHORT, "LiquidTypeID4" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 28, &AreaTableMeta::Instance, HOTFIX_SEL_AREA_TABLE }; }; struct AreaTriggerLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_FLOAT, "PosX" }, - { false, FT_FLOAT, "PosY" }, - { false, FT_FLOAT, "PosZ" }, - { false, FT_INT, "ID" }, - { true, FT_SHORT, "ContinentID" }, - { true, FT_BYTE, "PhaseUseFlags" }, - { true, FT_SHORT, "PhaseID" }, - { true, FT_SHORT, "PhaseGroupID" }, - { false, FT_FLOAT, "Radius" }, - { false, FT_FLOAT, "BoxLength" }, - { false, FT_FLOAT, "BoxWidth" }, - { false, FT_FLOAT, "BoxHeight" }, - { false, FT_FLOAT, "BoxYaw" }, - { true, FT_BYTE, "ShapeType" }, - { true, FT_SHORT, "ShapeID" }, - { true, FT_SHORT, "AreaTriggerActionSetID" }, - { true, FT_BYTE, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), AreaTriggerMeta::Instance(), HOTFIX_SEL_AREA_TRIGGER); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[17] = + { + { false, FT_FLOAT, "PosX" }, + { false, FT_FLOAT, "PosY" }, + { false, FT_FLOAT, "PosZ" }, + { false, FT_INT, "ID" }, + { true, FT_SHORT, "ContinentID" }, + { true, FT_BYTE, "PhaseUseFlags" }, + { true, FT_SHORT, "PhaseID" }, + { true, FT_SHORT, "PhaseGroupID" }, + { false, FT_FLOAT, "Radius" }, + { false, FT_FLOAT, "BoxLength" }, + { false, FT_FLOAT, "BoxWidth" }, + { false, FT_FLOAT, "BoxHeight" }, + { false, FT_FLOAT, "BoxYaw" }, + { true, FT_BYTE, "ShapeType" }, + { true, FT_SHORT, "ShapeID" }, + { true, FT_SHORT, "AreaTriggerActionSetID" }, + { true, FT_BYTE, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 17, &AreaTriggerMeta::Instance, HOTFIX_SEL_AREA_TRIGGER }; }; struct ArmorLocationLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[6] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "Clothmodifier" }, - { false, FT_FLOAT, "Leathermodifier" }, - { false, FT_FLOAT, "Chainmodifier" }, - { false, FT_FLOAT, "Platemodifier" }, - { false, FT_FLOAT, "Modifier" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ArmorLocationMeta::Instance(), HOTFIX_SEL_ARMOR_LOCATION); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "Clothmodifier" }, + { false, FT_FLOAT, "Leathermodifier" }, + { false, FT_FLOAT, "Chainmodifier" }, + { false, FT_FLOAT, "Platemodifier" }, + { false, FT_FLOAT, "Modifier" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 6, &ArmorLocationMeta::Instance, HOTFIX_SEL_ARMOR_LOCATION }; }; struct ArtifactLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Name" }, - { false, FT_INT, "ID" }, - { false, FT_SHORT, "UiTextureKitID" }, - { true, FT_INT, "UiNameColor" }, - { true, FT_INT, "UiBarOverlayColor" }, - { true, FT_INT, "UiBarBackgroundColor" }, - { false, FT_SHORT, "ChrSpecializationID" }, - { false, FT_BYTE, "Flags" }, - { false, FT_BYTE, "ArtifactCategoryID" }, - { false, FT_INT, "UiModelSceneID" }, - { false, FT_INT, "SpellVisualKitID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ArtifactMeta::Instance(), HOTFIX_SEL_ARTIFACT); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[11] = + { + { false, FT_STRING, "Name" }, + { false, FT_INT, "ID" }, + { false, FT_SHORT, "UiTextureKitID" }, + { true, FT_INT, "UiNameColor" }, + { true, FT_INT, "UiBarOverlayColor" }, + { true, FT_INT, "UiBarBackgroundColor" }, + { false, FT_SHORT, "ChrSpecializationID" }, + { false, FT_BYTE, "Flags" }, + { false, FT_BYTE, "ArtifactCategoryID" }, + { false, FT_INT, "UiModelSceneID" }, + { false, FT_INT, "SpellVisualKitID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 11, &ArtifactMeta::Instance, HOTFIX_SEL_ARTIFACT }; }; struct ArtifactAppearanceLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Name" }, - { false, FT_INT, "ID" }, - { false, FT_SHORT, "ArtifactAppearanceSetID" }, - { false, FT_BYTE, "DisplayIndex" }, - { false, FT_INT, "UnlockPlayerConditionID" }, - { false, FT_BYTE, "ItemAppearanceModifierID" }, - { true, FT_INT, "UiSwatchColor" }, - { false, FT_FLOAT, "UiModelSaturation" }, - { false, FT_FLOAT, "UiModelOpacity" }, - { false, FT_BYTE, "OverrideShapeshiftFormID" }, - { false, FT_INT, "OverrideShapeshiftDisplayID" }, - { false, FT_INT, "UiItemAppearanceID" }, - { false, FT_INT, "UiAltItemAppearanceID" }, - { false, FT_BYTE, "Flags" }, - { false, FT_SHORT, "UiCameraID" }, - { false, FT_INT, "UsablePlayerConditionID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ArtifactAppearanceMeta::Instance(), HOTFIX_SEL_ARTIFACT_APPEARANCE); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[16] = + { + { false, FT_STRING, "Name" }, + { false, FT_INT, "ID" }, + { false, FT_SHORT, "ArtifactAppearanceSetID" }, + { false, FT_BYTE, "DisplayIndex" }, + { false, FT_INT, "UnlockPlayerConditionID" }, + { false, FT_BYTE, "ItemAppearanceModifierID" }, + { true, FT_INT, "UiSwatchColor" }, + { false, FT_FLOAT, "UiModelSaturation" }, + { false, FT_FLOAT, "UiModelOpacity" }, + { false, FT_BYTE, "OverrideShapeshiftFormID" }, + { false, FT_INT, "OverrideShapeshiftDisplayID" }, + { false, FT_INT, "UiItemAppearanceID" }, + { false, FT_INT, "UiAltItemAppearanceID" }, + { false, FT_BYTE, "Flags" }, + { false, FT_SHORT, "UiCameraID" }, + { false, FT_INT, "UsablePlayerConditionID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 16, &ArtifactAppearanceMeta::Instance, HOTFIX_SEL_ARTIFACT_APPEARANCE }; }; struct ArtifactAppearanceSetLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Name" }, - { false, FT_STRING, "Description" }, - { false, FT_INT, "ID" }, - { false, FT_BYTE, "DisplayIndex" }, - { false, FT_SHORT, "UiCameraID" }, - { false, FT_SHORT, "AltHandUICameraID" }, - { true, FT_BYTE, "ForgeAttachmentOverride" }, - { false, FT_BYTE, "Flags" }, - { false, FT_INT, "ArtifactID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ArtifactAppearanceSetMeta::Instance(), HOTFIX_SEL_ARTIFACT_APPEARANCE_SET); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[9] = + { + { false, FT_STRING, "Name" }, + { false, FT_STRING, "Description" }, + { false, FT_INT, "ID" }, + { false, FT_BYTE, "DisplayIndex" }, + { false, FT_SHORT, "UiCameraID" }, + { false, FT_SHORT, "AltHandUICameraID" }, + { true, FT_BYTE, "ForgeAttachmentOverride" }, + { false, FT_BYTE, "Flags" }, + { false, FT_INT, "ArtifactID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 9, &ArtifactAppearanceSetMeta::Instance, HOTFIX_SEL_ARTIFACT_APPEARANCE_SET }; }; struct ArtifactCategoryLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_SHORT, "XpMultCurrencyID" }, - { true, FT_SHORT, "XpMultCurveID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ArtifactCategoryMeta::Instance(), HOTFIX_SEL_ARTIFACT_CATEGORY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_SHORT, "XpMultCurrencyID" }, + { true, FT_SHORT, "XpMultCurveID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &ArtifactCategoryMeta::Instance, HOTFIX_SEL_ARTIFACT_CATEGORY }; }; struct ArtifactPowerLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[8] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_FLOAT, "DisplayPosX" }, - { false, FT_FLOAT, "DisplayPosY" }, - { false, FT_INT, "ID" }, - { false, FT_BYTE, "ArtifactID" }, - { false, FT_BYTE, "MaxPurchasableRank" }, - { true, FT_INT, "Label" }, - { false, FT_BYTE, "Flags" }, - { false, FT_BYTE, "Tier" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ArtifactPowerMeta::Instance(), HOTFIX_SEL_ARTIFACT_POWER); - return &loadInfo; - } + { false, FT_FLOAT, "DisplayPosX" }, + { false, FT_FLOAT, "DisplayPosY" }, + { false, FT_INT, "ID" }, + { false, FT_BYTE, "ArtifactID" }, + { false, FT_BYTE, "MaxPurchasableRank" }, + { true, FT_INT, "Label" }, + { false, FT_BYTE, "Flags" }, + { false, FT_BYTE, "Tier" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 8, &ArtifactPowerMeta::Instance, HOTFIX_SEL_ARTIFACT_POWER }; }; struct ArtifactPowerLinkLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "PowerA" }, - { false, FT_SHORT, "PowerB" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ArtifactPowerLinkMeta::Instance(), HOTFIX_SEL_ARTIFACT_POWER_LINK); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_SHORT, "PowerA" }, + { false, FT_SHORT, "PowerB" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &ArtifactPowerLinkMeta::Instance, HOTFIX_SEL_ARTIFACT_POWER_LINK }; }; struct ArtifactPowerPickerLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[2] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_INT, "PlayerConditionID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ArtifactPowerPickerMeta::Instance(), HOTFIX_SEL_ARTIFACT_POWER_PICKER); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_INT, "PlayerConditionID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 2, &ArtifactPowerPickerMeta::Instance, HOTFIX_SEL_ARTIFACT_POWER_PICKER }; }; struct ArtifactPowerRankLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[6] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "RankIndex" }, - { true, FT_INT, "SpellID" }, - { false, FT_SHORT, "ItemBonusListID" }, - { false, FT_FLOAT, "AuraPointsOverride" }, - { false, FT_INT, "ArtifactPowerID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ArtifactPowerRankMeta::Instance(), HOTFIX_SEL_ARTIFACT_POWER_RANK); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_BYTE, "RankIndex" }, + { true, FT_INT, "SpellID" }, + { false, FT_SHORT, "ItemBonusListID" }, + { false, FT_FLOAT, "AuraPointsOverride" }, + { false, FT_INT, "ArtifactPowerID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 6, &ArtifactPowerRankMeta::Instance, HOTFIX_SEL_ARTIFACT_POWER_RANK }; }; struct ArtifactQuestXpLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_INT, "Difficulty1" }, - { false, FT_INT, "Difficulty2" }, - { false, FT_INT, "Difficulty3" }, - { false, FT_INT, "Difficulty4" }, - { false, FT_INT, "Difficulty5" }, - { false, FT_INT, "Difficulty6" }, - { false, FT_INT, "Difficulty7" }, - { false, FT_INT, "Difficulty8" }, - { false, FT_INT, "Difficulty9" }, - { false, FT_INT, "Difficulty10" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ArtifactQuestXPMeta::Instance(), HOTFIX_SEL_ARTIFACT_QUEST_XP); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[11] = + { + { false, FT_INT, "ID" }, + { false, FT_INT, "Difficulty1" }, + { false, FT_INT, "Difficulty2" }, + { false, FT_INT, "Difficulty3" }, + { false, FT_INT, "Difficulty4" }, + { false, FT_INT, "Difficulty5" }, + { false, FT_INT, "Difficulty6" }, + { false, FT_INT, "Difficulty7" }, + { false, FT_INT, "Difficulty8" }, + { false, FT_INT, "Difficulty9" }, + { false, FT_INT, "Difficulty10" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 11, &ArtifactQuestXPMeta::Instance, HOTFIX_SEL_ARTIFACT_QUEST_XP }; }; struct ArtifactTierLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[6] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_INT, "ArtifactTier" }, - { false, FT_INT, "MaxNumTraits" }, - { false, FT_INT, "MaxArtifactKnowledge" }, - { false, FT_INT, "KnowledgePlayerCondition" }, - { false, FT_INT, "MinimumEmpowerKnowledge" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ArtifactTierMeta::Instance(), HOTFIX_SEL_ARTIFACT_TIER); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_INT, "ArtifactTier" }, + { false, FT_INT, "MaxNumTraits" }, + { false, FT_INT, "MaxArtifactKnowledge" }, + { false, FT_INT, "KnowledgePlayerCondition" }, + { false, FT_INT, "MinimumEmpowerKnowledge" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 6, &ArtifactTierMeta::Instance, HOTFIX_SEL_ARTIFACT_TIER }; }; struct ArtifactUnlockLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[6] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_INT, "PowerID" }, - { false, FT_BYTE, "PowerRank" }, - { false, FT_SHORT, "ItemBonusListID" }, - { false, FT_INT, "PlayerConditionID" }, - { false, FT_INT, "ArtifactID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ArtifactUnlockMeta::Instance(), HOTFIX_SEL_ARTIFACT_UNLOCK); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_INT, "PowerID" }, + { false, FT_BYTE, "PowerRank" }, + { false, FT_SHORT, "ItemBonusListID" }, + { false, FT_INT, "PlayerConditionID" }, + { false, FT_INT, "ArtifactID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 6, &ArtifactUnlockMeta::Instance, HOTFIX_SEL_ARTIFACT_UNLOCK }; }; struct AuctionHouseLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { false, FT_SHORT, "FactionID" }, - { false, FT_BYTE, "DepositRate" }, - { false, FT_BYTE, "ConsignmentRate" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), AuctionHouseMeta::Instance(), HOTFIX_SEL_AUCTION_HOUSE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_SHORT, "FactionID" }, + { false, FT_BYTE, "DepositRate" }, + { false, FT_BYTE, "ConsignmentRate" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &AuctionHouseMeta::Instance, HOTFIX_SEL_AUCTION_HOUSE }; }; struct AzeriteEmpoweredItemLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "ItemID" }, - { false, FT_INT, "AzeriteTierUnlockSetID" }, - { false, FT_INT, "AzeritePowerSetID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), AzeriteEmpoweredItemMeta::Instance(), HOTFIX_SEL_AZERITE_EMPOWERED_ITEM); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "ItemID" }, + { false, FT_INT, "AzeriteTierUnlockSetID" }, + { false, FT_INT, "AzeritePowerSetID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &AzeriteEmpoweredItemMeta::Instance, HOTFIX_SEL_AZERITE_EMPOWERED_ITEM }; }; struct AzeriteEssenceLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { false, FT_STRING, "Description" }, - { true, FT_INT, "SpecSetID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), AzeriteEssenceMeta::Instance(), HOTFIX_SEL_AZERITE_ESSENCE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_STRING, "Description" }, + { true, FT_INT, "SpecSetID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &AzeriteEssenceMeta::Instance, HOTFIX_SEL_AZERITE_ESSENCE }; }; struct AzeriteEssencePowerLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "SourceAlliance" }, - { false, FT_STRING, "SourceHorde" }, - { true, FT_INT, "AzeriteEssenceID" }, - { false, FT_BYTE, "Tier" }, - { true, FT_INT, "MajorPowerDescription" }, - { true, FT_INT, "MinorPowerDescription" }, - { true, FT_INT, "MajorPowerActual" }, - { true, FT_INT, "MinorPowerActual" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), AzeriteEssencePowerMeta::Instance(), HOTFIX_SEL_AZERITE_ESSENCE_POWER); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[9] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "SourceAlliance" }, + { false, FT_STRING, "SourceHorde" }, + { true, FT_INT, "AzeriteEssenceID" }, + { false, FT_BYTE, "Tier" }, + { true, FT_INT, "MajorPowerDescription" }, + { true, FT_INT, "MinorPowerDescription" }, + { true, FT_INT, "MajorPowerActual" }, + { true, FT_INT, "MinorPowerActual" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 9, &AzeriteEssencePowerMeta::Instance, HOTFIX_SEL_AZERITE_ESSENCE_POWER }; }; struct AzeriteItemLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[2] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "ItemID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), AzeriteItemMeta::Instance(), HOTFIX_SEL_AZERITE_ITEM); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "ItemID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 2, &AzeriteItemMeta::Instance, HOTFIX_SEL_AZERITE_ITEM }; }; struct AzeriteItemMilestonePowerLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "RequiredLevel" }, - { true, FT_INT, "AzeritePowerID" }, - { true, FT_INT, "Type" }, - { true, FT_INT, "AutoUnlock" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), AzeriteItemMilestonePowerMeta::Instance(), HOTFIX_SEL_AZERITE_ITEM_MILESTONE_POWER); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "RequiredLevel" }, + { true, FT_INT, "AzeritePowerID" }, + { true, FT_INT, "Type" }, + { true, FT_INT, "AutoUnlock" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &AzeriteItemMilestonePowerMeta::Instance, HOTFIX_SEL_AZERITE_ITEM_MILESTONE_POWER }; }; struct AzeriteKnowledgeMultiplierLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[2] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "Multiplier" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), AzeriteKnowledgeMultiplierMeta::Instance(), HOTFIX_SEL_AZERITE_KNOWLEDGE_MULTIPLIER); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "Multiplier" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 2, &AzeriteKnowledgeMultiplierMeta::Instance, HOTFIX_SEL_AZERITE_KNOWLEDGE_MULTIPLIER }; }; struct AzeriteLevelInfoLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_LONG, "BaseExperienceToNextLevel" }, - { false, FT_LONG, "MinimumExperienceToNextLevel" }, - { true, FT_INT, "ItemLevel" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), AzeriteLevelInfoMeta::Instance(), HOTFIX_SEL_AZERITE_LEVEL_INFO); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_LONG, "BaseExperienceToNextLevel" }, + { false, FT_LONG, "MinimumExperienceToNextLevel" }, + { true, FT_INT, "ItemLevel" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &AzeriteLevelInfoMeta::Instance, HOTFIX_SEL_AZERITE_LEVEL_INFO }; }; struct AzeritePowerLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "SpellID" }, - { true, FT_INT, "ItemBonusListID" }, - { true, FT_INT, "SpecSetID" }, - { true, FT_INT, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), AzeritePowerMeta::Instance(), HOTFIX_SEL_AZERITE_POWER); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "SpellID" }, + { true, FT_INT, "ItemBonusListID" }, + { true, FT_INT, "SpecSetID" }, + { true, FT_INT, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &AzeritePowerMeta::Instance, HOTFIX_SEL_AZERITE_POWER }; }; struct AzeritePowerSetMemberLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[6] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "AzeritePowerSetID" }, - { true, FT_INT, "AzeritePowerID" }, - { true, FT_INT, "Class" }, - { true, FT_BYTE, "Tier" }, - { true, FT_INT, "OrderIndex" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), AzeritePowerSetMemberMeta::Instance(), HOTFIX_SEL_AZERITE_POWER_SET_MEMBER); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "AzeritePowerSetID" }, + { true, FT_INT, "AzeritePowerID" }, + { true, FT_INT, "Class" }, + { true, FT_BYTE, "Tier" }, + { true, FT_INT, "OrderIndex" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 6, &AzeritePowerSetMemberMeta::Instance, HOTFIX_SEL_AZERITE_POWER_SET_MEMBER }; }; struct AzeriteTierUnlockLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "ItemCreationContext" }, - { false, FT_BYTE, "Tier" }, - { false, FT_BYTE, "AzeriteLevel" }, - { false, FT_INT, "AzeriteTierUnlockSetID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), AzeriteTierUnlockMeta::Instance(), HOTFIX_SEL_AZERITE_TIER_UNLOCK); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_BYTE, "ItemCreationContext" }, + { false, FT_BYTE, "Tier" }, + { false, FT_BYTE, "AzeriteLevel" }, + { false, FT_INT, "AzeriteTierUnlockSetID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &AzeriteTierUnlockMeta::Instance, HOTFIX_SEL_AZERITE_TIER_UNLOCK }; }; struct AzeriteTierUnlockSetLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[2] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), AzeriteTierUnlockSetMeta::Instance(), HOTFIX_SEL_AZERITE_TIER_UNLOCK_SET); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 2, &AzeriteTierUnlockSetMeta::Instance, HOTFIX_SEL_AZERITE_TIER_UNLOCK_SET }; }; struct AzeriteUnlockMappingLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[6] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "ItemLevel" }, - { true, FT_INT, "ItemBonusListHead" }, - { true, FT_INT, "ItemBonusListShoulders" }, - { true, FT_INT, "ItemBonusListChest" }, - { false, FT_INT, "AzeriteUnlockMappingSetID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), AzeriteUnlockMappingMeta::Instance(), HOTFIX_SEL_AZERITE_UNLOCK_MAPPING); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "ItemLevel" }, + { true, FT_INT, "ItemBonusListHead" }, + { true, FT_INT, "ItemBonusListShoulders" }, + { true, FT_INT, "ItemBonusListChest" }, + { false, FT_INT, "AzeriteUnlockMappingSetID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 6, &AzeriteUnlockMappingMeta::Instance, HOTFIX_SEL_AZERITE_UNLOCK_MAPPING }; }; struct BankBagSlotPricesLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[2] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_INT, "Cost" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), BankBagSlotPricesMeta::Instance(), HOTFIX_SEL_BANK_BAG_SLOT_PRICES); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_INT, "Cost" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 2, &BankBagSlotPricesMeta::Instance, HOTFIX_SEL_BANK_BAG_SLOT_PRICES }; }; struct BannedAddonsLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING_NOT_LOCALIZED, "Name" }, - { false, FT_STRING_NOT_LOCALIZED, "Version" }, - { false, FT_BYTE, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), BannedAddonsMeta::Instance(), HOTFIX_SEL_BANNED_ADDONS); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING_NOT_LOCALIZED, "Name" }, + { false, FT_STRING_NOT_LOCALIZED, "Version" }, + { false, FT_BYTE, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &BannedAddonsMeta::Instance, HOTFIX_SEL_BANNED_ADDONS }; }; struct BarberShopStyleLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[8] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "DisplayName" }, - { false, FT_STRING, "Description" }, - { false, FT_BYTE, "Type" }, - { false, FT_FLOAT, "CostModifier" }, - { false, FT_BYTE, "Race" }, - { false, FT_BYTE, "Sex" }, - { false, FT_BYTE, "Data" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), BarberShopStyleMeta::Instance(), HOTFIX_SEL_BARBER_SHOP_STYLE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "DisplayName" }, + { false, FT_STRING, "Description" }, + { false, FT_BYTE, "Type" }, + { false, FT_FLOAT, "CostModifier" }, + { false, FT_BYTE, "Race" }, + { false, FT_BYTE, "Sex" }, + { false, FT_BYTE, "Data" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 8, &BarberShopStyleMeta::Instance, HOTFIX_SEL_BARBER_SHOP_STYLE }; }; struct BattlePetBreedQualityLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "MaxQualityRoll" }, - { false, FT_FLOAT, "StateMultiplier" }, - { true, FT_BYTE, "QualityEnum" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), BattlePetBreedQualityMeta::Instance(), HOTFIX_SEL_BATTLE_PET_BREED_QUALITY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "MaxQualityRoll" }, + { false, FT_FLOAT, "StateMultiplier" }, + { true, FT_BYTE, "QualityEnum" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &BattlePetBreedQualityMeta::Instance, HOTFIX_SEL_BATTLE_PET_BREED_QUALITY }; }; struct BattlePetBreedStateLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "BattlePetStateID" }, - { false, FT_SHORT, "Value" }, - { false, FT_INT, "BattlePetBreedID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), BattlePetBreedStateMeta::Instance(), HOTFIX_SEL_BATTLE_PET_BREED_STATE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "BattlePetStateID" }, + { false, FT_SHORT, "Value" }, + { false, FT_INT, "BattlePetBreedID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &BattlePetBreedStateMeta::Instance, HOTFIX_SEL_BATTLE_PET_BREED_STATE }; }; struct BattlePetSpeciesLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Description" }, - { false, FT_STRING, "SourceText" }, - { false, FT_INT, "ID" }, - { true, FT_INT, "CreatureID" }, - { true, FT_INT, "SummonSpellID" }, - { true, FT_INT, "IconFileDataID" }, - { true, FT_BYTE, "PetTypeEnum" }, - { true, FT_INT, "Flags" }, - { true, FT_BYTE, "SourceTypeEnum" }, - { true, FT_INT, "CardUIModelSceneID" }, - { true, FT_INT, "LoadoutUIModelSceneID" }, - { true, FT_INT, "CovenantID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), BattlePetSpeciesMeta::Instance(), HOTFIX_SEL_BATTLE_PET_SPECIES); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[12] = + { + { false, FT_STRING, "Description" }, + { false, FT_STRING, "SourceText" }, + { false, FT_INT, "ID" }, + { true, FT_INT, "CreatureID" }, + { true, FT_INT, "SummonSpellID" }, + { true, FT_INT, "IconFileDataID" }, + { true, FT_BYTE, "PetTypeEnum" }, + { true, FT_INT, "Flags" }, + { true, FT_BYTE, "SourceTypeEnum" }, + { true, FT_INT, "CardUIModelSceneID" }, + { true, FT_INT, "LoadoutUIModelSceneID" }, + { true, FT_INT, "CovenantID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 12, &BattlePetSpeciesMeta::Instance, HOTFIX_SEL_BATTLE_PET_SPECIES }; }; struct BattlePetSpeciesStateLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "BattlePetStateID" }, - { true, FT_INT, "Value" }, - { false, FT_INT, "BattlePetSpeciesID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), BattlePetSpeciesStateMeta::Instance(), HOTFIX_SEL_BATTLE_PET_SPECIES_STATE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_SHORT, "BattlePetStateID" }, + { true, FT_INT, "Value" }, + { false, FT_INT, "BattlePetSpeciesID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &BattlePetSpeciesStateMeta::Instance, HOTFIX_SEL_BATTLE_PET_SPECIES_STATE }; }; struct BattlemasterListLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { false, FT_STRING, "GameType" }, - { false, FT_STRING, "ShortDescription" }, - { false, FT_STRING, "LongDescription" }, - { true, FT_BYTE, "InstanceType" }, - { true, FT_BYTE, "MinLevel" }, - { true, FT_BYTE, "MaxLevel" }, - { true, FT_BYTE, "RatedPlayers" }, - { true, FT_BYTE, "MinPlayers" }, - { true, FT_INT, "MaxPlayers" }, - { true, FT_BYTE, "GroupsAllowed" }, - { true, FT_BYTE, "MaxGroupSize" }, - { true, FT_SHORT, "HolidayWorldState" }, - { true, FT_INT, "Flags" }, - { true, FT_INT, "IconFileDataID" }, - { true, FT_INT, "RequiredPlayerConditionID" }, - { true, FT_SHORT, "MapID1" }, - { true, FT_SHORT, "MapID2" }, - { true, FT_SHORT, "MapID3" }, - { true, FT_SHORT, "MapID4" }, - { true, FT_SHORT, "MapID5" }, - { true, FT_SHORT, "MapID6" }, - { true, FT_SHORT, "MapID7" }, - { true, FT_SHORT, "MapID8" }, - { true, FT_SHORT, "MapID9" }, - { true, FT_SHORT, "MapID10" }, - { true, FT_SHORT, "MapID11" }, - { true, FT_SHORT, "MapID12" }, - { true, FT_SHORT, "MapID13" }, - { true, FT_SHORT, "MapID14" }, - { true, FT_SHORT, "MapID15" }, - { true, FT_SHORT, "MapID16" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), BattlemasterListMeta::Instance(), HOTFIX_SEL_BATTLEMASTER_LIST); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[33] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_STRING, "GameType" }, + { false, FT_STRING, "ShortDescription" }, + { false, FT_STRING, "LongDescription" }, + { true, FT_BYTE, "InstanceType" }, + { true, FT_BYTE, "MinLevel" }, + { true, FT_BYTE, "MaxLevel" }, + { true, FT_BYTE, "RatedPlayers" }, + { true, FT_BYTE, "MinPlayers" }, + { true, FT_INT, "MaxPlayers" }, + { true, FT_BYTE, "GroupsAllowed" }, + { true, FT_BYTE, "MaxGroupSize" }, + { true, FT_SHORT, "HolidayWorldState" }, + { true, FT_INT, "Flags" }, + { true, FT_INT, "IconFileDataID" }, + { true, FT_INT, "RequiredPlayerConditionID" }, + { true, FT_SHORT, "MapID1" }, + { true, FT_SHORT, "MapID2" }, + { true, FT_SHORT, "MapID3" }, + { true, FT_SHORT, "MapID4" }, + { true, FT_SHORT, "MapID5" }, + { true, FT_SHORT, "MapID6" }, + { true, FT_SHORT, "MapID7" }, + { true, FT_SHORT, "MapID8" }, + { true, FT_SHORT, "MapID9" }, + { true, FT_SHORT, "MapID10" }, + { true, FT_SHORT, "MapID11" }, + { true, FT_SHORT, "MapID12" }, + { true, FT_SHORT, "MapID13" }, + { true, FT_SHORT, "MapID14" }, + { true, FT_SHORT, "MapID15" }, + { true, FT_SHORT, "MapID16" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 33, &BattlemasterListMeta::Instance, HOTFIX_SEL_BATTLEMASTER_LIST }; }; struct BroadcastTextLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Text" }, - { false, FT_STRING, "Text1" }, - { false, FT_INT, "ID" }, - { true, FT_INT, "LanguageID" }, - { true, FT_INT, "ConditionID" }, - { false, FT_SHORT, "EmotesID" }, - { false, FT_BYTE, "Flags" }, - { false, FT_INT, "ChatBubbleDurationMs" }, - { true, FT_INT, "VoiceOverPriorityID" }, - { false, FT_INT, "SoundKitID1" }, - { false, FT_INT, "SoundKitID2" }, - { false, FT_SHORT, "EmoteID1" }, - { false, FT_SHORT, "EmoteID2" }, - { false, FT_SHORT, "EmoteID3" }, - { false, FT_SHORT, "EmoteDelay1" }, - { false, FT_SHORT, "EmoteDelay2" }, - { false, FT_SHORT, "EmoteDelay3" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), BroadcastTextMeta::Instance(), HOTFIX_SEL_BROADCAST_TEXT); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[17] = + { + { false, FT_STRING, "Text" }, + { false, FT_STRING, "Text1" }, + { false, FT_INT, "ID" }, + { true, FT_INT, "LanguageID" }, + { true, FT_INT, "ConditionID" }, + { false, FT_SHORT, "EmotesID" }, + { false, FT_BYTE, "Flags" }, + { false, FT_INT, "ChatBubbleDurationMs" }, + { true, FT_INT, "VoiceOverPriorityID" }, + { false, FT_INT, "SoundKitID1" }, + { false, FT_INT, "SoundKitID2" }, + { false, FT_SHORT, "EmoteID1" }, + { false, FT_SHORT, "EmoteID2" }, + { false, FT_SHORT, "EmoteID3" }, + { false, FT_SHORT, "EmoteDelay1" }, + { false, FT_SHORT, "EmoteDelay2" }, + { false, FT_SHORT, "EmoteDelay3" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 17, &BroadcastTextMeta::Instance, HOTFIX_SEL_BROADCAST_TEXT }; }; struct BroadcastTextDurationLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "BroadcastTextID" }, - { true, FT_INT, "Locale" }, - { true, FT_INT, "Duration" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), BroadcastTextDurationMeta::Instance(), HOTFIX_SEL_BROADCAST_TEXT_DURATION); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "BroadcastTextID" }, + { true, FT_INT, "Locale" }, + { true, FT_INT, "Duration" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &BroadcastTextDurationMeta::Instance, HOTFIX_SEL_BROADCAST_TEXT_DURATION }; }; struct CfgRegionsLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[6] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING_NOT_LOCALIZED, "Tag" }, - { false, FT_SHORT, "RegionID" }, - { false, FT_INT, "Raidorigin" }, - { false, FT_BYTE, "RegionGroupMask" }, - { false, FT_INT, "ChallengeOrigin" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), Cfg_RegionsMeta::Instance(), HOTFIX_SEL_CFG_REGIONS); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING_NOT_LOCALIZED, "Tag" }, + { false, FT_SHORT, "RegionID" }, + { false, FT_INT, "Raidorigin" }, + { false, FT_BYTE, "RegionGroupMask" }, + { false, FT_INT, "ChallengeOrigin" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 6, &Cfg_RegionsMeta::Instance, HOTFIX_SEL_CFG_REGIONS }; }; struct CharTitlesLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { false, FT_STRING, "Name1" }, - { true, FT_SHORT, "MaskID" }, - { true, FT_BYTE, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), CharTitlesMeta::Instance(), HOTFIX_SEL_CHAR_TITLES); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_STRING, "Name1" }, + { true, FT_SHORT, "MaskID" }, + { true, FT_BYTE, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &CharTitlesMeta::Instance, HOTFIX_SEL_CHAR_TITLES }; }; struct CharacterLoadoutLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_LONG, "RaceMask" }, - { true, FT_BYTE, "ChrClassID" }, - { true, FT_INT, "Purpose" }, - { true, FT_BYTE, "ItemContext" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), CharacterLoadoutMeta::Instance(), HOTFIX_SEL_CHARACTER_LOADOUT); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_LONG, "RaceMask" }, + { true, FT_BYTE, "ChrClassID" }, + { true, FT_INT, "Purpose" }, + { true, FT_BYTE, "ItemContext" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &CharacterLoadoutMeta::Instance, HOTFIX_SEL_CHARACTER_LOADOUT }; }; struct CharacterLoadoutItemLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "CharacterLoadoutID" }, - { false, FT_INT, "ItemID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), CharacterLoadoutItemMeta::Instance(), HOTFIX_SEL_CHARACTER_LOADOUT_ITEM); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_SHORT, "CharacterLoadoutID" }, + { false, FT_INT, "ItemID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &CharacterLoadoutItemMeta::Instance, HOTFIX_SEL_CHARACTER_LOADOUT_ITEM }; }; struct ChatChannelsLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[6] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { false, FT_STRING, "Shortcut" }, - { true, FT_INT, "Flags" }, - { true, FT_BYTE, "FactionGroup" }, - { true, FT_INT, "Ruleset" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ChatChannelsMeta::Instance(), HOTFIX_SEL_CHAT_CHANNELS); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_STRING, "Shortcut" }, + { true, FT_INT, "Flags" }, + { true, FT_BYTE, "FactionGroup" }, + { true, FT_INT, "Ruleset" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 6, &ChatChannelsMeta::Instance, HOTFIX_SEL_CHAT_CHANNELS }; }; struct ChrClassUiDisplayLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "ChrClassesID" }, - { false, FT_INT, "AdvGuidePlayerConditionID" }, - { false, FT_INT, "SplashPlayerConditionID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ChrClassUIDisplayMeta::Instance(), HOTFIX_SEL_CHR_CLASS_UI_DISPLAY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_BYTE, "ChrClassesID" }, + { false, FT_INT, "AdvGuidePlayerConditionID" }, + { false, FT_INT, "SplashPlayerConditionID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &ChrClassUIDisplayMeta::Instance, HOTFIX_SEL_CHR_CLASS_UI_DISPLAY }; }; struct ChrClassesLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Name" }, - { false, FT_STRING_NOT_LOCALIZED, "Filename" }, - { false, FT_STRING, "NameMale" }, - { false, FT_STRING, "NameFemale" }, - { false, FT_STRING_NOT_LOCALIZED, "PetNameToken" }, - { false, FT_STRING, "Description" }, - { false, FT_STRING, "RoleInfoString" }, - { false, FT_STRING, "DisabledString" }, - { false, FT_STRING, "HyphenatedNameMale" }, - { false, FT_STRING, "HyphenatedNameFemale" }, - { false, FT_INT, "ID" }, - { false, FT_INT, "CreateScreenFileDataID" }, - { false, FT_INT, "SelectScreenFileDataID" }, - { false, FT_INT, "IconFileDataID" }, - { false, FT_INT, "LowResScreenFileDataID" }, - { true, FT_INT, "Flags" }, - { false, FT_INT, "SpellTextureBlobFileDataID" }, - { false, FT_INT, "RolesMask" }, - { false, FT_INT, "ArmorTypeMask" }, - { true, FT_INT, "CharStartKitUnknown901" }, - { true, FT_INT, "MaleCharacterCreationVisualFallback" }, - { true, FT_INT, "MaleCharacterCreationIdleVisualFallback" }, - { true, FT_INT, "FemaleCharacterCreationVisualFallback" }, - { true, FT_INT, "FemaleCharacterCreationIdleVisualFallback" }, - { true, FT_INT, "CharacterCreationIdleGroundVisualFallback" }, - { true, FT_INT, "CharacterCreationGroundVisualFallback" }, - { true, FT_INT, "AlteredFormCharacterCreationIdleVisualFallback" }, - { true, FT_INT, "CharacterCreationAnimLoopWaitTimeMsFallback" }, - { false, FT_SHORT, "CinematicSequenceID" }, - { false, FT_SHORT, "DefaultSpec" }, - { false, FT_BYTE, "PrimaryStatPriority" }, - { false, FT_BYTE, "DisplayPower" }, - { false, FT_BYTE, "RangedAttackPowerPerAgility" }, - { false, FT_BYTE, "AttackPowerPerAgility" }, - { false, FT_BYTE, "AttackPowerPerStrength" }, - { false, FT_BYTE, "SpellClassSet" }, - { false, FT_BYTE, "ClassColorR" }, - { false, FT_BYTE, "ClassColorG" }, - { false, FT_BYTE, "ClassColorB" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ChrClassesMeta::Instance(), HOTFIX_SEL_CHR_CLASSES); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[39] = + { + { false, FT_STRING, "Name" }, + { false, FT_STRING_NOT_LOCALIZED, "Filename" }, + { false, FT_STRING, "NameMale" }, + { false, FT_STRING, "NameFemale" }, + { false, FT_STRING_NOT_LOCALIZED, "PetNameToken" }, + { false, FT_STRING, "Description" }, + { false, FT_STRING, "RoleInfoString" }, + { false, FT_STRING, "DisabledString" }, + { false, FT_STRING, "HyphenatedNameMale" }, + { false, FT_STRING, "HyphenatedNameFemale" }, + { false, FT_INT, "ID" }, + { false, FT_INT, "CreateScreenFileDataID" }, + { false, FT_INT, "SelectScreenFileDataID" }, + { false, FT_INT, "IconFileDataID" }, + { false, FT_INT, "LowResScreenFileDataID" }, + { true, FT_INT, "Flags" }, + { false, FT_INT, "SpellTextureBlobFileDataID" }, + { false, FT_INT, "RolesMask" }, + { false, FT_INT, "ArmorTypeMask" }, + { true, FT_INT, "CharStartKitUnknown901" }, + { true, FT_INT, "MaleCharacterCreationVisualFallback" }, + { true, FT_INT, "MaleCharacterCreationIdleVisualFallback" }, + { true, FT_INT, "FemaleCharacterCreationVisualFallback" }, + { true, FT_INT, "FemaleCharacterCreationIdleVisualFallback" }, + { true, FT_INT, "CharacterCreationIdleGroundVisualFallback" }, + { true, FT_INT, "CharacterCreationGroundVisualFallback" }, + { true, FT_INT, "AlteredFormCharacterCreationIdleVisualFallback" }, + { true, FT_INT, "CharacterCreationAnimLoopWaitTimeMsFallback" }, + { false, FT_SHORT, "CinematicSequenceID" }, + { false, FT_SHORT, "DefaultSpec" }, + { false, FT_BYTE, "PrimaryStatPriority" }, + { false, FT_BYTE, "DisplayPower" }, + { false, FT_BYTE, "RangedAttackPowerPerAgility" }, + { false, FT_BYTE, "AttackPowerPerAgility" }, + { false, FT_BYTE, "AttackPowerPerStrength" }, + { false, FT_BYTE, "SpellClassSet" }, + { false, FT_BYTE, "ClassColorR" }, + { false, FT_BYTE, "ClassColorG" }, + { false, FT_BYTE, "ClassColorB" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 39, &ChrClassesMeta::Instance, HOTFIX_SEL_CHR_CLASSES }; }; struct ChrClassesXPowerTypesLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_BYTE, "PowerType" }, - { false, FT_INT, "ClassID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ChrClassesXPowerTypesMeta::Instance(), HOTFIX_SEL_CHR_CLASSES_X_POWER_TYPES); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_BYTE, "PowerType" }, + { false, FT_INT, "ClassID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &ChrClassesXPowerTypesMeta::Instance, HOTFIX_SEL_CHR_CLASSES_X_POWER_TYPES }; }; struct ChrCustomizationChoiceLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Name" }, - { false, FT_INT, "ID" }, - { true, FT_INT, "ChrCustomizationOptionID" }, - { true, FT_INT, "ChrCustomizationReqID" }, - { true, FT_INT, "ChrCustomizationVisReqID" }, - { false, FT_SHORT, "SortOrder" }, - { false, FT_SHORT, "UiOrderIndex" }, - { true, FT_INT, "Flags" }, - { true, FT_INT, "AddedInPatch" }, - { true, FT_INT, "SwatchColor1" }, - { true, FT_INT, "SwatchColor2" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ChrCustomizationChoiceMeta::Instance(), HOTFIX_SEL_CHR_CUSTOMIZATION_CHOICE); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[11] = + { + { false, FT_STRING, "Name" }, + { false, FT_INT, "ID" }, + { true, FT_INT, "ChrCustomizationOptionID" }, + { true, FT_INT, "ChrCustomizationReqID" }, + { true, FT_INT, "ChrCustomizationVisReqID" }, + { false, FT_SHORT, "SortOrder" }, + { false, FT_SHORT, "UiOrderIndex" }, + { true, FT_INT, "Flags" }, + { true, FT_INT, "AddedInPatch" }, + { true, FT_INT, "SwatchColor1" }, + { true, FT_INT, "SwatchColor2" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 11, &ChrCustomizationChoiceMeta::Instance, HOTFIX_SEL_CHR_CUSTOMIZATION_CHOICE }; }; struct ChrCustomizationDisplayInfoLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "ShapeshiftFormID" }, - { true, FT_INT, "DisplayID" }, - { false, FT_FLOAT, "BarberShopMinCameraDistance" }, - { false, FT_FLOAT, "BarberShopHeightOffset" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ChrCustomizationDisplayInfoMeta::Instance(), HOTFIX_SEL_CHR_CUSTOMIZATION_DISPLAY_INFO); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "ShapeshiftFormID" }, + { true, FT_INT, "DisplayID" }, + { false, FT_FLOAT, "BarberShopMinCameraDistance" }, + { false, FT_FLOAT, "BarberShopHeightOffset" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &ChrCustomizationDisplayInfoMeta::Instance, HOTFIX_SEL_CHR_CUSTOMIZATION_DISPLAY_INFO }; }; struct ChrCustomizationElementLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "ChrCustomizationChoiceID" }, - { true, FT_INT, "RelatedChrCustomizationChoiceID" }, - { true, FT_INT, "ChrCustomizationGeosetID" }, - { true, FT_INT, "ChrCustomizationSkinnedModelID" }, - { true, FT_INT, "ChrCustomizationMaterialID" }, - { true, FT_INT, "ChrCustomizationBoneSetID" }, - { true, FT_INT, "ChrCustomizationCondModelID" }, - { true, FT_INT, "ChrCustomizationDisplayInfoID" }, - { true, FT_INT, "ChrCustItemGeoModifyID" }, - { true, FT_INT, "ChrCustomizationVoiceID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ChrCustomizationElementMeta::Instance(), HOTFIX_SEL_CHR_CUSTOMIZATION_ELEMENT); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[11] = + { + { false, FT_INT, "ID" }, + { true, FT_INT, "ChrCustomizationChoiceID" }, + { true, FT_INT, "RelatedChrCustomizationChoiceID" }, + { true, FT_INT, "ChrCustomizationGeosetID" }, + { true, FT_INT, "ChrCustomizationSkinnedModelID" }, + { true, FT_INT, "ChrCustomizationMaterialID" }, + { true, FT_INT, "ChrCustomizationBoneSetID" }, + { true, FT_INT, "ChrCustomizationCondModelID" }, + { true, FT_INT, "ChrCustomizationDisplayInfoID" }, + { true, FT_INT, "ChrCustItemGeoModifyID" }, + { true, FT_INT, "ChrCustomizationVoiceID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 11, &ChrCustomizationElementMeta::Instance, HOTFIX_SEL_CHR_CUSTOMIZATION_ELEMENT }; }; struct ChrCustomizationOptionLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Name" }, - { false, FT_INT, "ID" }, - { false, FT_SHORT, "SecondaryID" }, - { true, FT_INT, "Flags" }, - { true, FT_INT, "ChrModelID" }, - { true, FT_INT, "SortIndex" }, - { true, FT_INT, "ChrCustomizationCategoryID" }, - { true, FT_INT, "OptionType" }, - { false, FT_FLOAT, "BarberShopCostModifier" }, - { true, FT_INT, "ChrCustomizationID" }, - { true, FT_INT, "ChrCustomizationReqID" }, - { true, FT_INT, "UiOrderIndex" }, - { true, FT_INT, "AddedInPatch" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ChrCustomizationOptionMeta::Instance(), HOTFIX_SEL_CHR_CUSTOMIZATION_OPTION); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[13] = + { + { false, FT_STRING, "Name" }, + { false, FT_INT, "ID" }, + { false, FT_SHORT, "SecondaryID" }, + { true, FT_INT, "Flags" }, + { true, FT_INT, "ChrModelID" }, + { true, FT_INT, "SortIndex" }, + { true, FT_INT, "ChrCustomizationCategoryID" }, + { true, FT_INT, "OptionType" }, + { false, FT_FLOAT, "BarberShopCostModifier" }, + { true, FT_INT, "ChrCustomizationID" }, + { true, FT_INT, "ChrCustomizationReqID" }, + { true, FT_INT, "UiOrderIndex" }, + { true, FT_INT, "AddedInPatch" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 13, &ChrCustomizationOptionMeta::Instance, HOTFIX_SEL_CHR_CUSTOMIZATION_OPTION }; }; struct ChrCustomizationReqLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[8] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "ReqSource" }, - { true, FT_INT, "Flags" }, - { true, FT_INT, "ClassMask" }, - { true, FT_INT, "AchievementID" }, - { true, FT_INT, "QuestID" }, - { true, FT_INT, "OverrideArchive" }, - { true, FT_INT, "ItemModifiedAppearanceID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ChrCustomizationReqMeta::Instance(), HOTFIX_SEL_CHR_CUSTOMIZATION_REQ); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "ReqSource" }, + { true, FT_INT, "Flags" }, + { true, FT_INT, "ClassMask" }, + { true, FT_INT, "AchievementID" }, + { true, FT_INT, "QuestID" }, + { true, FT_INT, "OverrideArchive" }, + { true, FT_INT, "ItemModifiedAppearanceID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 8, &ChrCustomizationReqMeta::Instance, HOTFIX_SEL_CHR_CUSTOMIZATION_REQ }; }; struct ChrCustomizationReqChoiceLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "ChrCustomizationChoiceID" }, - { false, FT_INT, "ChrCustomizationReqID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ChrCustomizationReqChoiceMeta::Instance(), HOTFIX_SEL_CHR_CUSTOMIZATION_REQ_CHOICE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "ChrCustomizationChoiceID" }, + { false, FT_INT, "ChrCustomizationReqID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &ChrCustomizationReqChoiceMeta::Instance, HOTFIX_SEL_CHR_CUSTOMIZATION_REQ_CHOICE }; }; struct ChrModelLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_FLOAT, "FaceCustomizationOffset1" }, - { false, FT_FLOAT, "FaceCustomizationOffset2" }, - { false, FT_FLOAT, "FaceCustomizationOffset3" }, - { false, FT_FLOAT, "CustomizeOffset1" }, - { false, FT_FLOAT, "CustomizeOffset2" }, - { false, FT_FLOAT, "CustomizeOffset3" }, - { false, FT_INT, "ID" }, - { true, FT_BYTE, "Sex" }, - { true, FT_INT, "DisplayID" }, - { true, FT_INT, "CharComponentTextureLayoutID" }, - { true, FT_INT, "Flags" }, - { true, FT_INT, "SkeletonFileDataID" }, - { true, FT_INT, "ModelFallbackChrModelID" }, - { true, FT_INT, "TextureFallbackChrModelID" }, - { true, FT_INT, "HelmVisFallbackChrModelID" }, - { false, FT_FLOAT, "CustomizeScale" }, - { false, FT_FLOAT, "CustomizeFacing" }, - { false, FT_FLOAT, "CameraDistanceOffset" }, - { false, FT_FLOAT, "BarberShopCameraOffsetScale" }, - { false, FT_FLOAT, "BarberShopCameraHeightOffsetScale" }, - { false, FT_FLOAT, "BarberShopCameraRotationOffset" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ChrModelMeta::Instance(), HOTFIX_SEL_CHR_MODEL); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[21] = + { + { false, FT_FLOAT, "FaceCustomizationOffset1" }, + { false, FT_FLOAT, "FaceCustomizationOffset2" }, + { false, FT_FLOAT, "FaceCustomizationOffset3" }, + { false, FT_FLOAT, "CustomizeOffset1" }, + { false, FT_FLOAT, "CustomizeOffset2" }, + { false, FT_FLOAT, "CustomizeOffset3" }, + { false, FT_INT, "ID" }, + { true, FT_BYTE, "Sex" }, + { true, FT_INT, "DisplayID" }, + { true, FT_INT, "CharComponentTextureLayoutID" }, + { true, FT_INT, "Flags" }, + { true, FT_INT, "SkeletonFileDataID" }, + { true, FT_INT, "ModelFallbackChrModelID" }, + { true, FT_INT, "TextureFallbackChrModelID" }, + { true, FT_INT, "HelmVisFallbackChrModelID" }, + { false, FT_FLOAT, "CustomizeScale" }, + { false, FT_FLOAT, "CustomizeFacing" }, + { false, FT_FLOAT, "CameraDistanceOffset" }, + { false, FT_FLOAT, "BarberShopCameraOffsetScale" }, + { false, FT_FLOAT, "BarberShopCameraHeightOffsetScale" }, + { false, FT_FLOAT, "BarberShopCameraRotationOffset" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 21, &ChrModelMeta::Instance, HOTFIX_SEL_CHR_MODEL }; }; struct ChrRaceXChrModelLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "ChrRacesID" }, - { true, FT_INT, "ChrModelID" }, - { true, FT_INT, "Sex" }, - { true, FT_INT, "AllowedTransmogSlots" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ChrRaceXChrModelMeta::Instance(), HOTFIX_SEL_CHR_RACE_X_CHR_MODEL); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "ChrRacesID" }, + { true, FT_INT, "ChrModelID" }, + { true, FT_INT, "Sex" }, + { true, FT_INT, "AllowedTransmogSlots" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &ChrRaceXChrModelMeta::Instance, HOTFIX_SEL_CHR_RACE_X_CHR_MODEL }; }; struct ChrRacesLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING_NOT_LOCALIZED, "ClientPrefix" }, - { false, FT_STRING_NOT_LOCALIZED, "ClientFileString" }, - { false, FT_STRING, "Name" }, - { false, FT_STRING, "NameFemale" }, - { false, FT_STRING, "NameLowercase" }, - { false, FT_STRING, "NameFemaleLowercase" }, - { false, FT_STRING, "LoreName" }, - { false, FT_STRING, "LoreNameFemale" }, - { false, FT_STRING, "LoreNameLower" }, - { false, FT_STRING, "LoreNameLowerFemale" }, - { false, FT_STRING, "LoreDescription" }, - { false, FT_STRING, "ShortName" }, - { false, FT_STRING, "ShortNameFemale" }, - { false, FT_STRING, "ShortNameLower" }, - { false, FT_STRING, "ShortNameLowerFemale" }, - { true, FT_INT, "Flags" }, - { true, FT_INT, "FactionID" }, - { true, FT_INT, "CinematicSequenceID" }, - { true, FT_INT, "ResSicknessSpellID" }, - { true, FT_INT, "SplashSoundID" }, - { true, FT_INT, "Alliance" }, - { true, FT_INT, "RaceRelated" }, - { true, FT_INT, "UnalteredVisualRaceID" }, - { true, FT_INT, "DefaultClassID" }, - { true, FT_INT, "CreateScreenFileDataID" }, - { true, FT_INT, "SelectScreenFileDataID" }, - { true, FT_INT, "NeutralRaceID" }, - { true, FT_INT, "LowResScreenFileDataID" }, - { true, FT_INT, "AlteredFormStartVisualKitID1" }, - { true, FT_INT, "AlteredFormStartVisualKitID2" }, - { true, FT_INT, "AlteredFormStartVisualKitID3" }, - { true, FT_INT, "AlteredFormFinishVisualKitID1" }, - { true, FT_INT, "AlteredFormFinishVisualKitID2" }, - { true, FT_INT, "AlteredFormFinishVisualKitID3" }, - { true, FT_INT, "HeritageArmorAchievementID" }, - { true, FT_INT, "StartingLevel" }, - { true, FT_INT, "UiDisplayOrder" }, - { true, FT_INT, "MaleModelFallbackRaceID" }, - { true, FT_INT, "FemaleModelFallbackRaceID" }, - { true, FT_INT, "MaleTextureFallbackRaceID" }, - { true, FT_INT, "FemaleTextureFallbackRaceID" }, - { true, FT_INT, "PlayableRaceBit" }, - { true, FT_INT, "HelmetAnimScalingRaceID" }, - { true, FT_INT, "TransmogrifyDisabledSlotMask" }, - { true, FT_INT, "UnalteredVisualCustomizationRaceID" }, - { false, FT_FLOAT, "AlteredFormCustomizeOffsetFallback1" }, - { false, FT_FLOAT, "AlteredFormCustomizeOffsetFallback2" }, - { false, FT_FLOAT, "AlteredFormCustomizeOffsetFallback3" }, - { false, FT_FLOAT, "AlteredFormCustomizeRotationFallback" }, - { false, FT_FLOAT, "Unknown910_11" }, - { false, FT_FLOAT, "Unknown910_12" }, - { false, FT_FLOAT, "Unknown910_13" }, - { false, FT_FLOAT, "Unknown910_21" }, - { false, FT_FLOAT, "Unknown910_22" }, - { false, FT_FLOAT, "Unknown910_23" }, - { true, FT_INT, "Unknown1000" }, - { true, FT_BYTE, "BaseLanguage" }, - { true, FT_BYTE, "CreatureType" }, - { true, FT_BYTE, "MaleModelFallbackSex" }, - { true, FT_BYTE, "FemaleModelFallbackSex" }, - { true, FT_BYTE, "MaleTextureFallbackSex" }, - { true, FT_BYTE, "FemaleTextureFallbackSex" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ChrRacesMeta::Instance(), HOTFIX_SEL_CHR_RACES); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[63] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING_NOT_LOCALIZED, "ClientPrefix" }, + { false, FT_STRING_NOT_LOCALIZED, "ClientFileString" }, + { false, FT_STRING, "Name" }, + { false, FT_STRING, "NameFemale" }, + { false, FT_STRING, "NameLowercase" }, + { false, FT_STRING, "NameFemaleLowercase" }, + { false, FT_STRING, "LoreName" }, + { false, FT_STRING, "LoreNameFemale" }, + { false, FT_STRING, "LoreNameLower" }, + { false, FT_STRING, "LoreNameLowerFemale" }, + { false, FT_STRING, "LoreDescription" }, + { false, FT_STRING, "ShortName" }, + { false, FT_STRING, "ShortNameFemale" }, + { false, FT_STRING, "ShortNameLower" }, + { false, FT_STRING, "ShortNameLowerFemale" }, + { true, FT_INT, "Flags" }, + { true, FT_INT, "FactionID" }, + { true, FT_INT, "CinematicSequenceID" }, + { true, FT_INT, "ResSicknessSpellID" }, + { true, FT_INT, "SplashSoundID" }, + { true, FT_INT, "Alliance" }, + { true, FT_INT, "RaceRelated" }, + { true, FT_INT, "UnalteredVisualRaceID" }, + { true, FT_INT, "DefaultClassID" }, + { true, FT_INT, "CreateScreenFileDataID" }, + { true, FT_INT, "SelectScreenFileDataID" }, + { true, FT_INT, "NeutralRaceID" }, + { true, FT_INT, "LowResScreenFileDataID" }, + { true, FT_INT, "AlteredFormStartVisualKitID1" }, + { true, FT_INT, "AlteredFormStartVisualKitID2" }, + { true, FT_INT, "AlteredFormStartVisualKitID3" }, + { true, FT_INT, "AlteredFormFinishVisualKitID1" }, + { true, FT_INT, "AlteredFormFinishVisualKitID2" }, + { true, FT_INT, "AlteredFormFinishVisualKitID3" }, + { true, FT_INT, "HeritageArmorAchievementID" }, + { true, FT_INT, "StartingLevel" }, + { true, FT_INT, "UiDisplayOrder" }, + { true, FT_INT, "MaleModelFallbackRaceID" }, + { true, FT_INT, "FemaleModelFallbackRaceID" }, + { true, FT_INT, "MaleTextureFallbackRaceID" }, + { true, FT_INT, "FemaleTextureFallbackRaceID" }, + { true, FT_INT, "PlayableRaceBit" }, + { true, FT_INT, "HelmetAnimScalingRaceID" }, + { true, FT_INT, "TransmogrifyDisabledSlotMask" }, + { true, FT_INT, "UnalteredVisualCustomizationRaceID" }, + { false, FT_FLOAT, "AlteredFormCustomizeOffsetFallback1" }, + { false, FT_FLOAT, "AlteredFormCustomizeOffsetFallback2" }, + { false, FT_FLOAT, "AlteredFormCustomizeOffsetFallback3" }, + { false, FT_FLOAT, "AlteredFormCustomizeRotationFallback" }, + { false, FT_FLOAT, "Unknown910_11" }, + { false, FT_FLOAT, "Unknown910_12" }, + { false, FT_FLOAT, "Unknown910_13" }, + { false, FT_FLOAT, "Unknown910_21" }, + { false, FT_FLOAT, "Unknown910_22" }, + { false, FT_FLOAT, "Unknown910_23" }, + { true, FT_INT, "Unknown1000" }, + { true, FT_BYTE, "BaseLanguage" }, + { true, FT_BYTE, "CreatureType" }, + { true, FT_BYTE, "MaleModelFallbackSex" }, + { true, FT_BYTE, "FemaleModelFallbackSex" }, + { true, FT_BYTE, "MaleTextureFallbackSex" }, + { true, FT_BYTE, "FemaleTextureFallbackSex" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 63, &ChrRacesMeta::Instance, HOTFIX_SEL_CHR_RACES }; }; struct ChrSpecializationLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Name" }, - { false, FT_STRING, "FemaleName" }, - { false, FT_STRING, "Description" }, - { false, FT_INT, "ID" }, - { true, FT_BYTE, "ClassID" }, - { true, FT_BYTE, "OrderIndex" }, - { true, FT_BYTE, "PetTalentType" }, - { true, FT_BYTE, "Role" }, - { false, FT_INT, "Flags" }, - { true, FT_INT, "SpellIconFileID" }, - { true, FT_BYTE, "PrimaryStatPriority" }, - { true, FT_INT, "AnimReplacements" }, - { true, FT_INT, "MasterySpellID1" }, - { true, FT_INT, "MasterySpellID2" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ChrSpecializationMeta::Instance(), HOTFIX_SEL_CHR_SPECIALIZATION); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[14] = + { + { false, FT_STRING, "Name" }, + { false, FT_STRING, "FemaleName" }, + { false, FT_STRING, "Description" }, + { false, FT_INT, "ID" }, + { true, FT_BYTE, "ClassID" }, + { true, FT_BYTE, "OrderIndex" }, + { true, FT_BYTE, "PetTalentType" }, + { true, FT_BYTE, "Role" }, + { false, FT_INT, "Flags" }, + { true, FT_INT, "SpellIconFileID" }, + { true, FT_BYTE, "PrimaryStatPriority" }, + { true, FT_INT, "AnimReplacements" }, + { true, FT_INT, "MasterySpellID1" }, + { true, FT_INT, "MasterySpellID2" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 14, &ChrSpecializationMeta::Instance, HOTFIX_SEL_CHR_SPECIALIZATION }; }; struct CinematicCameraLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[8] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "OriginX" }, - { false, FT_FLOAT, "OriginY" }, - { false, FT_FLOAT, "OriginZ" }, - { false, FT_INT, "SoundID" }, - { false, FT_FLOAT, "OriginFacing" }, - { false, FT_INT, "FileDataID" }, - { false, FT_INT, "ConversationID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), CinematicCameraMeta::Instance(), HOTFIX_SEL_CINEMATIC_CAMERA); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "OriginX" }, + { false, FT_FLOAT, "OriginY" }, + { false, FT_FLOAT, "OriginZ" }, + { false, FT_INT, "SoundID" }, + { false, FT_FLOAT, "OriginFacing" }, + { false, FT_INT, "FileDataID" }, + { false, FT_INT, "ConversationID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 8, &CinematicCameraMeta::Instance, HOTFIX_SEL_CINEMATIC_CAMERA }; }; struct CinematicSequencesLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_INT, "SoundID" }, - { false, FT_SHORT, "Camera1" }, - { false, FT_SHORT, "Camera2" }, - { false, FT_SHORT, "Camera3" }, - { false, FT_SHORT, "Camera4" }, - { false, FT_SHORT, "Camera5" }, - { false, FT_SHORT, "Camera6" }, - { false, FT_SHORT, "Camera7" }, - { false, FT_SHORT, "Camera8" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), CinematicSequencesMeta::Instance(), HOTFIX_SEL_CINEMATIC_SEQUENCES); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[10] = + { + { false, FT_INT, "ID" }, + { false, FT_INT, "SoundID" }, + { false, FT_SHORT, "Camera1" }, + { false, FT_SHORT, "Camera2" }, + { false, FT_SHORT, "Camera3" }, + { false, FT_SHORT, "Camera4" }, + { false, FT_SHORT, "Camera5" }, + { false, FT_SHORT, "Camera6" }, + { false, FT_SHORT, "Camera7" }, + { false, FT_SHORT, "Camera8" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 10, &CinematicSequencesMeta::Instance, HOTFIX_SEL_CINEMATIC_SEQUENCES }; }; struct ContentTuningLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "Flags" }, - { true, FT_INT, "ExpansionID" }, - { true, FT_INT, "MinLevel" }, - { true, FT_INT, "MaxLevel" }, - { true, FT_INT, "MinLevelType" }, - { true, FT_INT, "MaxLevelType" }, - { true, FT_INT, "TargetLevelDelta" }, - { true, FT_INT, "TargetLevelMaxDelta" }, - { true, FT_INT, "TargetLevelMin" }, - { true, FT_INT, "TargetLevelMax" }, - { true, FT_INT, "MinItemLevel" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ContentTuningMeta::Instance(), HOTFIX_SEL_CONTENT_TUNING); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[12] = + { + { false, FT_INT, "ID" }, + { true, FT_INT, "Flags" }, + { true, FT_INT, "ExpansionID" }, + { true, FT_INT, "MinLevel" }, + { true, FT_INT, "MaxLevel" }, + { true, FT_INT, "MinLevelType" }, + { true, FT_INT, "MaxLevelType" }, + { true, FT_INT, "TargetLevelDelta" }, + { true, FT_INT, "TargetLevelMaxDelta" }, + { true, FT_INT, "TargetLevelMin" }, + { true, FT_INT, "TargetLevelMax" }, + { true, FT_INT, "MinItemLevel" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 12, &ContentTuningMeta::Instance, HOTFIX_SEL_CONTENT_TUNING }; }; struct ContentTuningXExpectedLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "ExpectedStatModID" }, - { true, FT_INT, "MinMythicPlusSeasonID" }, - { true, FT_INT, "MaxMythicPlusSeasonID" }, - { false, FT_INT, "ContentTuningID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ContentTuningXExpectedMeta::Instance(), HOTFIX_SEL_CONTENT_TUNING_X_EXPECTED); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "ExpectedStatModID" }, + { true, FT_INT, "MinMythicPlusSeasonID" }, + { true, FT_INT, "MaxMythicPlusSeasonID" }, + { false, FT_INT, "ContentTuningID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &ContentTuningXExpectedMeta::Instance, HOTFIX_SEL_CONTENT_TUNING_X_EXPECTED }; }; struct ConversationLineLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_INT, "BroadcastTextID" }, - { false, FT_INT, "SpellVisualKitID" }, - { true, FT_INT, "AdditionalDuration" }, - { false, FT_SHORT, "NextConversationLineID" }, - { false, FT_SHORT, "AnimKitID" }, - { false, FT_BYTE, "SpeechType" }, - { false, FT_BYTE, "StartAnimation" }, - { false, FT_BYTE, "EndAnimation" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ConversationLineMeta::Instance(), HOTFIX_SEL_CONVERSATION_LINE); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[9] = + { + { false, FT_INT, "ID" }, + { false, FT_INT, "BroadcastTextID" }, + { false, FT_INT, "SpellVisualKitID" }, + { true, FT_INT, "AdditionalDuration" }, + { false, FT_SHORT, "NextConversationLineID" }, + { false, FT_SHORT, "AnimKitID" }, + { false, FT_BYTE, "SpeechType" }, + { false, FT_BYTE, "StartAnimation" }, + { false, FT_BYTE, "EndAnimation" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 9, &ConversationLineMeta::Instance, HOTFIX_SEL_CONVERSATION_LINE }; }; struct CorruptionEffectsLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "MinCorruption" }, - { true, FT_INT, "Aura" }, - { true, FT_INT, "PlayerConditionID" }, - { true, FT_INT, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), CorruptionEffectsMeta::Instance(), HOTFIX_SEL_CORRUPTION_EFFECTS); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "MinCorruption" }, + { true, FT_INT, "Aura" }, + { true, FT_INT, "PlayerConditionID" }, + { true, FT_INT, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &CorruptionEffectsMeta::Instance, HOTFIX_SEL_CORRUPTION_EFFECTS }; }; struct CreatureDisplayInfoLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "ModelID" }, - { false, FT_SHORT, "SoundID" }, - { true, FT_BYTE, "SizeClass" }, - { false, FT_FLOAT, "CreatureModelScale" }, - { false, FT_BYTE, "CreatureModelAlpha" }, - { false, FT_BYTE, "BloodID" }, - { true, FT_INT, "ExtendedDisplayInfoID" }, - { false, FT_SHORT, "NPCSoundID" }, - { false, FT_SHORT, "ParticleColorID" }, - { true, FT_INT, "PortraitCreatureDisplayInfoID" }, - { true, FT_INT, "PortraitTextureFileDataID" }, - { false, FT_SHORT, "ObjectEffectPackageID" }, - { false, FT_SHORT, "AnimReplacementSetID" }, - { false, FT_BYTE, "Flags" }, - { true, FT_INT, "StateSpellVisualKitID" }, - { false, FT_FLOAT, "PlayerOverrideScale" }, - { false, FT_FLOAT, "PetInstanceScale" }, - { true, FT_BYTE, "UnarmedWeaponType" }, - { true, FT_INT, "MountPoofSpellVisualKitID" }, - { true, FT_INT, "DissolveEffectID" }, - { true, FT_BYTE, "Gender" }, - { true, FT_INT, "DissolveOutEffectID" }, - { true, FT_BYTE, "CreatureModelMinLod" }, - { true, FT_INT, "TextureVariationFileDataID1" }, - { true, FT_INT, "TextureVariationFileDataID2" }, - { true, FT_INT, "TextureVariationFileDataID3" }, - { true, FT_INT, "TextureVariationFileDataID4" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), CreatureDisplayInfoMeta::Instance(), HOTFIX_SEL_CREATURE_DISPLAY_INFO); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[28] = + { + { false, FT_INT, "ID" }, + { false, FT_SHORT, "ModelID" }, + { false, FT_SHORT, "SoundID" }, + { true, FT_BYTE, "SizeClass" }, + { false, FT_FLOAT, "CreatureModelScale" }, + { false, FT_BYTE, "CreatureModelAlpha" }, + { false, FT_BYTE, "BloodID" }, + { true, FT_INT, "ExtendedDisplayInfoID" }, + { false, FT_SHORT, "NPCSoundID" }, + { false, FT_SHORT, "ParticleColorID" }, + { true, FT_INT, "PortraitCreatureDisplayInfoID" }, + { true, FT_INT, "PortraitTextureFileDataID" }, + { false, FT_SHORT, "ObjectEffectPackageID" }, + { false, FT_SHORT, "AnimReplacementSetID" }, + { false, FT_BYTE, "Flags" }, + { true, FT_INT, "StateSpellVisualKitID" }, + { false, FT_FLOAT, "PlayerOverrideScale" }, + { false, FT_FLOAT, "PetInstanceScale" }, + { true, FT_BYTE, "UnarmedWeaponType" }, + { true, FT_INT, "MountPoofSpellVisualKitID" }, + { true, FT_INT, "DissolveEffectID" }, + { true, FT_BYTE, "Gender" }, + { true, FT_INT, "DissolveOutEffectID" }, + { true, FT_BYTE, "CreatureModelMinLod" }, + { true, FT_INT, "TextureVariationFileDataID1" }, + { true, FT_INT, "TextureVariationFileDataID2" }, + { true, FT_INT, "TextureVariationFileDataID3" }, + { true, FT_INT, "TextureVariationFileDataID4" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 28, &CreatureDisplayInfoMeta::Instance, HOTFIX_SEL_CREATURE_DISPLAY_INFO }; }; struct CreatureDisplayInfoExtraLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[7] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_BYTE, "DisplayRaceID" }, - { true, FT_BYTE, "DisplaySexID" }, - { true, FT_BYTE, "DisplayClassID" }, - { true, FT_BYTE, "Flags" }, - { true, FT_INT, "BakeMaterialResourcesID" }, - { true, FT_INT, "HDBakeMaterialResourcesID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), CreatureDisplayInfoExtraMeta::Instance(), HOTFIX_SEL_CREATURE_DISPLAY_INFO_EXTRA); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_BYTE, "DisplayRaceID" }, + { true, FT_BYTE, "DisplaySexID" }, + { true, FT_BYTE, "DisplayClassID" }, + { true, FT_BYTE, "Flags" }, + { true, FT_INT, "BakeMaterialResourcesID" }, + { true, FT_INT, "HDBakeMaterialResourcesID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 7, &CreatureDisplayInfoExtraMeta::Instance, HOTFIX_SEL_CREATURE_DISPLAY_INFO_EXTRA }; }; struct CreatureFamilyLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { false, FT_FLOAT, "MinScale" }, - { true, FT_BYTE, "MinScaleLevel" }, - { false, FT_FLOAT, "MaxScale" }, - { true, FT_BYTE, "MaxScaleLevel" }, - { true, FT_SHORT, "PetFoodMask" }, - { true, FT_BYTE, "PetTalentType" }, - { true, FT_INT, "IconFileID" }, - { true, FT_SHORT, "SkillLine1" }, - { true, FT_SHORT, "SkillLine2" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), CreatureFamilyMeta::Instance(), HOTFIX_SEL_CREATURE_FAMILY); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[11] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_FLOAT, "MinScale" }, + { true, FT_BYTE, "MinScaleLevel" }, + { false, FT_FLOAT, "MaxScale" }, + { true, FT_BYTE, "MaxScaleLevel" }, + { true, FT_SHORT, "PetFoodMask" }, + { true, FT_BYTE, "PetTalentType" }, + { true, FT_INT, "IconFileID" }, + { true, FT_SHORT, "SkillLine1" }, + { true, FT_SHORT, "SkillLine2" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 11, &CreatureFamilyMeta::Instance, HOTFIX_SEL_CREATURE_FAMILY }; }; struct CreatureModelDataLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "GeoBox1" }, - { false, FT_FLOAT, "GeoBox2" }, - { false, FT_FLOAT, "GeoBox3" }, - { false, FT_FLOAT, "GeoBox4" }, - { false, FT_FLOAT, "GeoBox5" }, - { false, FT_FLOAT, "GeoBox6" }, - { false, FT_INT, "Flags" }, - { false, FT_INT, "FileDataID" }, - { false, FT_INT, "BloodID" }, - { false, FT_INT, "FootprintTextureID" }, - { false, FT_FLOAT, "FootprintTextureLength" }, - { false, FT_FLOAT, "FootprintTextureWidth" }, - { false, FT_FLOAT, "FootprintParticleScale" }, - { false, FT_INT, "FoleyMaterialID" }, - { false, FT_INT, "FootstepCameraEffectID" }, - { false, FT_INT, "DeathThudCameraEffectID" }, - { false, FT_INT, "SoundID" }, - { false, FT_INT, "SizeClass" }, - { false, FT_FLOAT, "CollisionWidth" }, - { false, FT_FLOAT, "CollisionHeight" }, - { false, FT_FLOAT, "WorldEffectScale" }, - { false, FT_INT, "CreatureGeosetDataID" }, - { false, FT_FLOAT, "HoverHeight" }, - { false, FT_FLOAT, "AttachedEffectScale" }, - { false, FT_FLOAT, "ModelScale" }, - { false, FT_FLOAT, "MissileCollisionRadius" }, - { false, FT_FLOAT, "MissileCollisionPush" }, - { false, FT_FLOAT, "MissileCollisionRaise" }, - { false, FT_FLOAT, "MountHeight" }, - { false, FT_FLOAT, "OverrideLootEffectScale" }, - { false, FT_FLOAT, "OverrideNameScale" }, - { false, FT_FLOAT, "OverrideSelectionRadius" }, - { false, FT_FLOAT, "TamedPetBaseScale" }, - { true, FT_BYTE, "Unknown820_1" }, - { false, FT_FLOAT, "Unknown820_2" }, - { false, FT_FLOAT, "Unknown820_31" }, - { false, FT_FLOAT, "Unknown820_32" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), CreatureModelDataMeta::Instance(), HOTFIX_SEL_CREATURE_MODEL_DATA); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[38] = + { + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "GeoBox1" }, + { false, FT_FLOAT, "GeoBox2" }, + { false, FT_FLOAT, "GeoBox3" }, + { false, FT_FLOAT, "GeoBox4" }, + { false, FT_FLOAT, "GeoBox5" }, + { false, FT_FLOAT, "GeoBox6" }, + { false, FT_INT, "Flags" }, + { false, FT_INT, "FileDataID" }, + { false, FT_INT, "BloodID" }, + { false, FT_INT, "FootprintTextureID" }, + { false, FT_FLOAT, "FootprintTextureLength" }, + { false, FT_FLOAT, "FootprintTextureWidth" }, + { false, FT_FLOAT, "FootprintParticleScale" }, + { false, FT_INT, "FoleyMaterialID" }, + { false, FT_INT, "FootstepCameraEffectID" }, + { false, FT_INT, "DeathThudCameraEffectID" }, + { false, FT_INT, "SoundID" }, + { false, FT_INT, "SizeClass" }, + { false, FT_FLOAT, "CollisionWidth" }, + { false, FT_FLOAT, "CollisionHeight" }, + { false, FT_FLOAT, "WorldEffectScale" }, + { false, FT_INT, "CreatureGeosetDataID" }, + { false, FT_FLOAT, "HoverHeight" }, + { false, FT_FLOAT, "AttachedEffectScale" }, + { false, FT_FLOAT, "ModelScale" }, + { false, FT_FLOAT, "MissileCollisionRadius" }, + { false, FT_FLOAT, "MissileCollisionPush" }, + { false, FT_FLOAT, "MissileCollisionRaise" }, + { false, FT_FLOAT, "MountHeight" }, + { false, FT_FLOAT, "OverrideLootEffectScale" }, + { false, FT_FLOAT, "OverrideNameScale" }, + { false, FT_FLOAT, "OverrideSelectionRadius" }, + { false, FT_FLOAT, "TamedPetBaseScale" }, + { true, FT_BYTE, "Unknown820_1" }, + { false, FT_FLOAT, "Unknown820_2" }, + { false, FT_FLOAT, "Unknown820_31" }, + { false, FT_FLOAT, "Unknown820_32" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 38, &CreatureModelDataMeta::Instance, HOTFIX_SEL_CREATURE_MODEL_DATA }; }; struct CreatureTypeLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { false, FT_BYTE, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), CreatureTypeMeta::Instance(), HOTFIX_SEL_CREATURE_TYPE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_BYTE, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &CreatureTypeMeta::Instance, HOTFIX_SEL_CREATURE_TYPE }; }; struct CriteriaLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_SHORT, "Type" }, - { true, FT_INT, "Asset" }, - { false, FT_INT, "ModifierTreeId" }, - { false, FT_BYTE, "StartEvent" }, - { true, FT_INT, "StartAsset" }, - { false, FT_SHORT, "StartTimer" }, - { false, FT_BYTE, "FailEvent" }, - { true, FT_INT, "FailAsset" }, - { false, FT_BYTE, "Flags" }, - { true, FT_SHORT, "EligibilityWorldStateID" }, - { true, FT_BYTE, "EligibilityWorldStateValue" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), CriteriaMeta::Instance(), HOTFIX_SEL_CRITERIA); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[12] = + { + { false, FT_INT, "ID" }, + { true, FT_SHORT, "Type" }, + { true, FT_INT, "Asset" }, + { false, FT_INT, "ModifierTreeId" }, + { false, FT_BYTE, "StartEvent" }, + { true, FT_INT, "StartAsset" }, + { false, FT_SHORT, "StartTimer" }, + { false, FT_BYTE, "FailEvent" }, + { true, FT_INT, "FailAsset" }, + { false, FT_BYTE, "Flags" }, + { true, FT_SHORT, "EligibilityWorldStateID" }, + { true, FT_BYTE, "EligibilityWorldStateValue" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 12, &CriteriaMeta::Instance, HOTFIX_SEL_CRITERIA }; }; struct CriteriaTreeLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[8] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Description" }, - { false, FT_INT, "Parent" }, - { false, FT_INT, "Amount" }, - { true, FT_BYTE, "Operator" }, - { false, FT_INT, "CriteriaID" }, - { true, FT_INT, "OrderIndex" }, - { true, FT_INT, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), CriteriaTreeMeta::Instance(), HOTFIX_SEL_CRITERIA_TREE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "Description" }, + { false, FT_INT, "Parent" }, + { false, FT_INT, "Amount" }, + { true, FT_BYTE, "Operator" }, + { false, FT_INT, "CriteriaID" }, + { true, FT_INT, "OrderIndex" }, + { true, FT_INT, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 8, &CriteriaTreeMeta::Instance, HOTFIX_SEL_CRITERIA_TREE }; }; struct CurrencyContainerLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "ContainerName" }, - { false, FT_STRING, "ContainerDescription" }, - { true, FT_INT, "MinAmount" }, - { true, FT_INT, "MaxAmount" }, - { true, FT_INT, "ContainerIconID" }, - { true, FT_INT, "ContainerQuality" }, - { true, FT_INT, "OnLootSpellVisualKitID" }, - { false, FT_INT, "CurrencyTypesID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), CurrencyContainerMeta::Instance(), HOTFIX_SEL_CURRENCY_CONTAINER); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[9] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "ContainerName" }, + { false, FT_STRING, "ContainerDescription" }, + { true, FT_INT, "MinAmount" }, + { true, FT_INT, "MaxAmount" }, + { true, FT_INT, "ContainerIconID" }, + { true, FT_INT, "ContainerQuality" }, + { true, FT_INT, "OnLootSpellVisualKitID" }, + { false, FT_INT, "CurrencyTypesID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 9, &CurrencyContainerMeta::Instance, HOTFIX_SEL_CURRENCY_CONTAINER }; }; struct CurrencyTypesLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { false, FT_STRING, "Description" }, - { true, FT_INT, "CategoryID" }, - { true, FT_INT, "InventoryIconFileID" }, - { false, FT_INT, "SpellWeight" }, - { false, FT_BYTE, "SpellCategory" }, - { false, FT_INT, "MaxQty" }, - { false, FT_INT, "MaxEarnablePerWeek" }, - { true, FT_BYTE, "Quality" }, - { true, FT_INT, "FactionID" }, - { true, FT_INT, "ItemGroupSoundsID" }, - { true, FT_INT, "XpQuestDifficulty" }, - { true, FT_INT, "AwardConditionID" }, - { true, FT_INT, "MaxQtyWorldStateID" }, - { false, FT_INT, "RechargingAmountPerCycle" }, - { false, FT_INT, "RechargingCycleDurationMS" }, - { true, FT_INT, "Flags1" }, - { true, FT_INT, "Flags2" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), CurrencyTypesMeta::Instance(), HOTFIX_SEL_CURRENCY_TYPES); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[19] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_STRING, "Description" }, + { true, FT_INT, "CategoryID" }, + { true, FT_INT, "InventoryIconFileID" }, + { false, FT_INT, "SpellWeight" }, + { false, FT_BYTE, "SpellCategory" }, + { false, FT_INT, "MaxQty" }, + { false, FT_INT, "MaxEarnablePerWeek" }, + { true, FT_BYTE, "Quality" }, + { true, FT_INT, "FactionID" }, + { true, FT_INT, "ItemGroupSoundsID" }, + { true, FT_INT, "XpQuestDifficulty" }, + { true, FT_INT, "AwardConditionID" }, + { true, FT_INT, "MaxQtyWorldStateID" }, + { false, FT_INT, "RechargingAmountPerCycle" }, + { false, FT_INT, "RechargingCycleDurationMS" }, + { true, FT_INT, "Flags1" }, + { true, FT_INT, "Flags2" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 19, &CurrencyTypesMeta::Instance, HOTFIX_SEL_CURRENCY_TYPES }; }; struct CurveLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "Type" }, - { false, FT_BYTE, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), CurveMeta::Instance(), HOTFIX_SEL_CURVE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_BYTE, "Type" }, + { false, FT_BYTE, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &CurveMeta::Instance, HOTFIX_SEL_CURVE }; }; struct CurvePointLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[7] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_FLOAT, "PosX" }, - { false, FT_FLOAT, "PosY" }, - { false, FT_FLOAT, "PreSLSquishPosX" }, - { false, FT_FLOAT, "PreSLSquishPosY" }, - { false, FT_INT, "ID" }, - { false, FT_SHORT, "CurveID" }, - { false, FT_BYTE, "OrderIndex" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), CurvePointMeta::Instance(), HOTFIX_SEL_CURVE_POINT); - return &loadInfo; - } + { false, FT_FLOAT, "PosX" }, + { false, FT_FLOAT, "PosY" }, + { false, FT_FLOAT, "PreSLSquishPosX" }, + { false, FT_FLOAT, "PreSLSquishPosY" }, + { false, FT_INT, "ID" }, + { false, FT_SHORT, "CurveID" }, + { false, FT_BYTE, "OrderIndex" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 7, &CurvePointMeta::Instance, HOTFIX_SEL_CURVE_POINT }; }; struct DestructibleModelDataLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_BYTE, "State0ImpactEffectDoodadSet" }, - { false, FT_BYTE, "State0AmbientDoodadSet" }, - { true, FT_INT, "State1Wmo" }, - { true, FT_BYTE, "State1DestructionDoodadSet" }, - { true, FT_BYTE, "State1ImpactEffectDoodadSet" }, - { false, FT_BYTE, "State1AmbientDoodadSet" }, - { true, FT_INT, "State2Wmo" }, - { true, FT_BYTE, "State2DestructionDoodadSet" }, - { true, FT_BYTE, "State2ImpactEffectDoodadSet" }, - { false, FT_BYTE, "State2AmbientDoodadSet" }, - { true, FT_INT, "State3Wmo" }, - { false, FT_BYTE, "State3InitDoodadSet" }, - { false, FT_BYTE, "State3AmbientDoodadSet" }, - { false, FT_BYTE, "EjectDirection" }, - { false, FT_BYTE, "DoNotHighlight" }, - { true, FT_INT, "State0Wmo" }, - { false, FT_BYTE, "HealEffect" }, - { false, FT_SHORT, "HealEffectSpeed" }, - { true, FT_BYTE, "State0NameSet" }, - { true, FT_BYTE, "State1NameSet" }, - { true, FT_BYTE, "State2NameSet" }, - { true, FT_BYTE, "State3NameSet" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), DestructibleModelDataMeta::Instance(), HOTFIX_SEL_DESTRUCTIBLE_MODEL_DATA); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[23] = + { + { false, FT_INT, "ID" }, + { true, FT_BYTE, "State0ImpactEffectDoodadSet" }, + { false, FT_BYTE, "State0AmbientDoodadSet" }, + { true, FT_INT, "State1Wmo" }, + { true, FT_BYTE, "State1DestructionDoodadSet" }, + { true, FT_BYTE, "State1ImpactEffectDoodadSet" }, + { false, FT_BYTE, "State1AmbientDoodadSet" }, + { true, FT_INT, "State2Wmo" }, + { true, FT_BYTE, "State2DestructionDoodadSet" }, + { true, FT_BYTE, "State2ImpactEffectDoodadSet" }, + { false, FT_BYTE, "State2AmbientDoodadSet" }, + { true, FT_INT, "State3Wmo" }, + { false, FT_BYTE, "State3InitDoodadSet" }, + { false, FT_BYTE, "State3AmbientDoodadSet" }, + { false, FT_BYTE, "EjectDirection" }, + { false, FT_BYTE, "DoNotHighlight" }, + { true, FT_INT, "State0Wmo" }, + { false, FT_BYTE, "HealEffect" }, + { false, FT_SHORT, "HealEffectSpeed" }, + { true, FT_BYTE, "State0NameSet" }, + { true, FT_BYTE, "State1NameSet" }, + { true, FT_BYTE, "State2NameSet" }, + { true, FT_BYTE, "State3NameSet" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 23, &DestructibleModelDataMeta::Instance, HOTFIX_SEL_DESTRUCTIBLE_MODEL_DATA }; }; struct DifficultyLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { false, FT_BYTE, "InstanceType" }, - { false, FT_BYTE, "OrderIndex" }, - { true, FT_BYTE, "OldEnumValue" }, - { false, FT_BYTE, "FallbackDifficultyID" }, - { false, FT_BYTE, "MinPlayers" }, - { false, FT_BYTE, "MaxPlayers" }, - { false, FT_SHORT, "Flags" }, - { false, FT_BYTE, "ItemContext" }, - { false, FT_BYTE, "ToggleDifficultyID" }, - { false, FT_SHORT, "GroupSizeHealthCurveID" }, - { false, FT_SHORT, "GroupSizeDmgCurveID" }, - { false, FT_SHORT, "GroupSizeSpellPointsCurveID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), DifficultyMeta::Instance(), HOTFIX_SEL_DIFFICULTY); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[14] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_BYTE, "InstanceType" }, + { false, FT_BYTE, "OrderIndex" }, + { true, FT_BYTE, "OldEnumValue" }, + { false, FT_BYTE, "FallbackDifficultyID" }, + { false, FT_BYTE, "MinPlayers" }, + { false, FT_BYTE, "MaxPlayers" }, + { false, FT_SHORT, "Flags" }, + { false, FT_BYTE, "ItemContext" }, + { false, FT_BYTE, "ToggleDifficultyID" }, + { false, FT_SHORT, "GroupSizeHealthCurveID" }, + { false, FT_SHORT, "GroupSizeDmgCurveID" }, + { false, FT_SHORT, "GroupSizeSpellPointsCurveID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 14, &DifficultyMeta::Instance, HOTFIX_SEL_DIFFICULTY }; }; struct DungeonEncounterLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Name" }, - { false, FT_INT, "ID" }, - { true, FT_SHORT, "MapID" }, - { true, FT_INT, "DifficultyID" }, - { true, FT_INT, "OrderIndex" }, - { true, FT_INT, "CompleteWorldStateID" }, - { true, FT_BYTE, "Bit" }, - { true, FT_INT, "Flags" }, - { true, FT_INT, "SpellIconFileID" }, - { true, FT_INT, "Faction" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), DungeonEncounterMeta::Instance(), HOTFIX_SEL_DUNGEON_ENCOUNTER); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[10] = + { + { false, FT_STRING, "Name" }, + { false, FT_INT, "ID" }, + { true, FT_SHORT, "MapID" }, + { true, FT_INT, "DifficultyID" }, + { true, FT_INT, "OrderIndex" }, + { true, FT_INT, "CompleteWorldStateID" }, + { true, FT_BYTE, "Bit" }, + { true, FT_INT, "Flags" }, + { true, FT_INT, "SpellIconFileID" }, + { true, FT_INT, "Faction" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 10, &DungeonEncounterMeta::Instance, HOTFIX_SEL_DUNGEON_ENCOUNTER }; }; struct DurabilityCostsLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "WeaponSubClassCost1" }, - { false, FT_SHORT, "WeaponSubClassCost2" }, - { false, FT_SHORT, "WeaponSubClassCost3" }, - { false, FT_SHORT, "WeaponSubClassCost4" }, - { false, FT_SHORT, "WeaponSubClassCost5" }, - { false, FT_SHORT, "WeaponSubClassCost6" }, - { false, FT_SHORT, "WeaponSubClassCost7" }, - { false, FT_SHORT, "WeaponSubClassCost8" }, - { false, FT_SHORT, "WeaponSubClassCost9" }, - { false, FT_SHORT, "WeaponSubClassCost10" }, - { false, FT_SHORT, "WeaponSubClassCost11" }, - { false, FT_SHORT, "WeaponSubClassCost12" }, - { false, FT_SHORT, "WeaponSubClassCost13" }, - { false, FT_SHORT, "WeaponSubClassCost14" }, - { false, FT_SHORT, "WeaponSubClassCost15" }, - { false, FT_SHORT, "WeaponSubClassCost16" }, - { false, FT_SHORT, "WeaponSubClassCost17" }, - { false, FT_SHORT, "WeaponSubClassCost18" }, - { false, FT_SHORT, "WeaponSubClassCost19" }, - { false, FT_SHORT, "WeaponSubClassCost20" }, - { false, FT_SHORT, "WeaponSubClassCost21" }, - { false, FT_SHORT, "ArmorSubClassCost1" }, - { false, FT_SHORT, "ArmorSubClassCost2" }, - { false, FT_SHORT, "ArmorSubClassCost3" }, - { false, FT_SHORT, "ArmorSubClassCost4" }, - { false, FT_SHORT, "ArmorSubClassCost5" }, - { false, FT_SHORT, "ArmorSubClassCost6" }, - { false, FT_SHORT, "ArmorSubClassCost7" }, - { false, FT_SHORT, "ArmorSubClassCost8" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), DurabilityCostsMeta::Instance(), HOTFIX_SEL_DURABILITY_COSTS); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[30] = + { + { false, FT_INT, "ID" }, + { false, FT_SHORT, "WeaponSubClassCost1" }, + { false, FT_SHORT, "WeaponSubClassCost2" }, + { false, FT_SHORT, "WeaponSubClassCost3" }, + { false, FT_SHORT, "WeaponSubClassCost4" }, + { false, FT_SHORT, "WeaponSubClassCost5" }, + { false, FT_SHORT, "WeaponSubClassCost6" }, + { false, FT_SHORT, "WeaponSubClassCost7" }, + { false, FT_SHORT, "WeaponSubClassCost8" }, + { false, FT_SHORT, "WeaponSubClassCost9" }, + { false, FT_SHORT, "WeaponSubClassCost10" }, + { false, FT_SHORT, "WeaponSubClassCost11" }, + { false, FT_SHORT, "WeaponSubClassCost12" }, + { false, FT_SHORT, "WeaponSubClassCost13" }, + { false, FT_SHORT, "WeaponSubClassCost14" }, + { false, FT_SHORT, "WeaponSubClassCost15" }, + { false, FT_SHORT, "WeaponSubClassCost16" }, + { false, FT_SHORT, "WeaponSubClassCost17" }, + { false, FT_SHORT, "WeaponSubClassCost18" }, + { false, FT_SHORT, "WeaponSubClassCost19" }, + { false, FT_SHORT, "WeaponSubClassCost20" }, + { false, FT_SHORT, "WeaponSubClassCost21" }, + { false, FT_SHORT, "ArmorSubClassCost1" }, + { false, FT_SHORT, "ArmorSubClassCost2" }, + { false, FT_SHORT, "ArmorSubClassCost3" }, + { false, FT_SHORT, "ArmorSubClassCost4" }, + { false, FT_SHORT, "ArmorSubClassCost5" }, + { false, FT_SHORT, "ArmorSubClassCost6" }, + { false, FT_SHORT, "ArmorSubClassCost7" }, + { false, FT_SHORT, "ArmorSubClassCost8" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 30, &DurabilityCostsMeta::Instance, HOTFIX_SEL_DURABILITY_COSTS }; }; struct DurabilityQualityLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[2] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "Data" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), DurabilityQualityMeta::Instance(), HOTFIX_SEL_DURABILITY_QUALITY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "Data" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 2, &DurabilityQualityMeta::Instance, HOTFIX_SEL_DURABILITY_QUALITY }; }; struct EmotesLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_LONG, "RaceMask" }, - { false, FT_STRING_NOT_LOCALIZED, "EmoteSlashCommand" }, - { true, FT_INT, "AnimID" }, - { false, FT_INT, "EmoteFlags" }, - { false, FT_BYTE, "EmoteSpecProc" }, - { false, FT_INT, "EmoteSpecProcParam" }, - { false, FT_INT, "EventSoundID" }, - { false, FT_INT, "SpellVisualKitID" }, - { true, FT_INT, "ClassMask" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), EmotesMeta::Instance(), HOTFIX_SEL_EMOTES); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[10] = + { + { false, FT_INT, "ID" }, + { true, FT_LONG, "RaceMask" }, + { false, FT_STRING_NOT_LOCALIZED, "EmoteSlashCommand" }, + { true, FT_INT, "AnimID" }, + { false, FT_INT, "EmoteFlags" }, + { false, FT_BYTE, "EmoteSpecProc" }, + { false, FT_INT, "EmoteSpecProcParam" }, + { false, FT_INT, "EventSoundID" }, + { false, FT_INT, "SpellVisualKitID" }, + { true, FT_INT, "ClassMask" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 10, &EmotesMeta::Instance, HOTFIX_SEL_EMOTES }; }; struct EmotesTextLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING_NOT_LOCALIZED, "Name" }, - { false, FT_SHORT, "EmoteID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), EmotesTextMeta::Instance(), HOTFIX_SEL_EMOTES_TEXT); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING_NOT_LOCALIZED, "Name" }, + { false, FT_SHORT, "EmoteID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &EmotesTextMeta::Instance, HOTFIX_SEL_EMOTES_TEXT }; }; struct EmotesTextSoundLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[6] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "RaceID" }, - { false, FT_BYTE, "ClassID" }, - { false, FT_BYTE, "SexID" }, - { false, FT_INT, "SoundID" }, - { false, FT_INT, "EmotesTextID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), EmotesTextSoundMeta::Instance(), HOTFIX_SEL_EMOTES_TEXT_SOUND); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_BYTE, "RaceID" }, + { false, FT_BYTE, "ClassID" }, + { false, FT_BYTE, "SexID" }, + { false, FT_INT, "SoundID" }, + { false, FT_INT, "EmotesTextID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 6, &EmotesTextSoundMeta::Instance, HOTFIX_SEL_EMOTES_TEXT_SOUND }; }; struct ExpectedStatLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "ExpansionID" }, - { false, FT_FLOAT, "CreatureHealth" }, - { false, FT_FLOAT, "PlayerHealth" }, - { false, FT_FLOAT, "CreatureAutoAttackDps" }, - { false, FT_FLOAT, "CreatureArmor" }, - { false, FT_FLOAT, "PlayerMana" }, - { false, FT_FLOAT, "PlayerPrimaryStat" }, - { false, FT_FLOAT, "PlayerSecondaryStat" }, - { false, FT_FLOAT, "ArmorConstant" }, - { false, FT_FLOAT, "CreatureSpellDamage" }, - { false, FT_INT, "Lvl" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ExpectedStatMeta::Instance(), HOTFIX_SEL_EXPECTED_STAT); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[12] = + { + { false, FT_INT, "ID" }, + { true, FT_INT, "ExpansionID" }, + { false, FT_FLOAT, "CreatureHealth" }, + { false, FT_FLOAT, "PlayerHealth" }, + { false, FT_FLOAT, "CreatureAutoAttackDps" }, + { false, FT_FLOAT, "CreatureArmor" }, + { false, FT_FLOAT, "PlayerMana" }, + { false, FT_FLOAT, "PlayerPrimaryStat" }, + { false, FT_FLOAT, "PlayerSecondaryStat" }, + { false, FT_FLOAT, "ArmorConstant" }, + { false, FT_FLOAT, "CreatureSpellDamage" }, + { false, FT_INT, "Lvl" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 12, &ExpectedStatMeta::Instance, HOTFIX_SEL_EXPECTED_STAT }; }; struct ExpectedStatModLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "CreatureHealthMod" }, - { false, FT_FLOAT, "PlayerHealthMod" }, - { false, FT_FLOAT, "CreatureAutoAttackDPSMod" }, - { false, FT_FLOAT, "CreatureArmorMod" }, - { false, FT_FLOAT, "PlayerManaMod" }, - { false, FT_FLOAT, "PlayerPrimaryStatMod" }, - { false, FT_FLOAT, "PlayerSecondaryStatMod" }, - { false, FT_FLOAT, "ArmorConstantMod" }, - { false, FT_FLOAT, "CreatureSpellDamageMod" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ExpectedStatModMeta::Instance(), HOTFIX_SEL_EXPECTED_STAT_MOD); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[10] = + { + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "CreatureHealthMod" }, + { false, FT_FLOAT, "PlayerHealthMod" }, + { false, FT_FLOAT, "CreatureAutoAttackDPSMod" }, + { false, FT_FLOAT, "CreatureArmorMod" }, + { false, FT_FLOAT, "PlayerManaMod" }, + { false, FT_FLOAT, "PlayerPrimaryStatMod" }, + { false, FT_FLOAT, "PlayerSecondaryStatMod" }, + { false, FT_FLOAT, "ArmorConstantMod" }, + { false, FT_FLOAT, "CreatureSpellDamageMod" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 10, &ExpectedStatModMeta::Instance, HOTFIX_SEL_EXPECTED_STAT_MOD }; }; struct FactionLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_LONG, "ReputationRaceMask1" }, - { true, FT_LONG, "ReputationRaceMask2" }, - { true, FT_LONG, "ReputationRaceMask3" }, - { true, FT_LONG, "ReputationRaceMask4" }, - { false, FT_STRING, "Name" }, - { false, FT_STRING, "Description" }, - { true, FT_SHORT, "ReputationIndex" }, - { false, FT_SHORT, "ParentFactionID" }, - { false, FT_BYTE, "Expansion" }, - { false, FT_INT, "FriendshipRepID" }, - { true, FT_INT, "Flags" }, - { false, FT_SHORT, "ParagonFactionID" }, - { true, FT_INT, "RenownFactionID" }, - { true, FT_INT, "RenownCurrencyID" }, - { true, FT_SHORT, "ReputationClassMask1" }, - { true, FT_SHORT, "ReputationClassMask2" }, - { true, FT_SHORT, "ReputationClassMask3" }, - { true, FT_SHORT, "ReputationClassMask4" }, - { false, FT_SHORT, "ReputationFlags1" }, - { false, FT_SHORT, "ReputationFlags2" }, - { false, FT_SHORT, "ReputationFlags3" }, - { false, FT_SHORT, "ReputationFlags4" }, - { true, FT_INT, "ReputationBase1" }, - { true, FT_INT, "ReputationBase2" }, - { true, FT_INT, "ReputationBase3" }, - { true, FT_INT, "ReputationBase4" }, - { true, FT_INT, "ReputationMax1" }, - { true, FT_INT, "ReputationMax2" }, - { true, FT_INT, "ReputationMax3" }, - { true, FT_INT, "ReputationMax4" }, - { false, FT_FLOAT, "ParentFactionMod1" }, - { false, FT_FLOAT, "ParentFactionMod2" }, - { false, FT_BYTE, "ParentFactionCap1" }, - { false, FT_BYTE, "ParentFactionCap2" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), FactionMeta::Instance(), HOTFIX_SEL_FACTION); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[35] = + { + { false, FT_INT, "ID" }, + { true, FT_LONG, "ReputationRaceMask1" }, + { true, FT_LONG, "ReputationRaceMask2" }, + { true, FT_LONG, "ReputationRaceMask3" }, + { true, FT_LONG, "ReputationRaceMask4" }, + { false, FT_STRING, "Name" }, + { false, FT_STRING, "Description" }, + { true, FT_SHORT, "ReputationIndex" }, + { false, FT_SHORT, "ParentFactionID" }, + { false, FT_BYTE, "Expansion" }, + { false, FT_INT, "FriendshipRepID" }, + { true, FT_INT, "Flags" }, + { false, FT_SHORT, "ParagonFactionID" }, + { true, FT_INT, "RenownFactionID" }, + { true, FT_INT, "RenownCurrencyID" }, + { true, FT_SHORT, "ReputationClassMask1" }, + { true, FT_SHORT, "ReputationClassMask2" }, + { true, FT_SHORT, "ReputationClassMask3" }, + { true, FT_SHORT, "ReputationClassMask4" }, + { false, FT_SHORT, "ReputationFlags1" }, + { false, FT_SHORT, "ReputationFlags2" }, + { false, FT_SHORT, "ReputationFlags3" }, + { false, FT_SHORT, "ReputationFlags4" }, + { true, FT_INT, "ReputationBase1" }, + { true, FT_INT, "ReputationBase2" }, + { true, FT_INT, "ReputationBase3" }, + { true, FT_INT, "ReputationBase4" }, + { true, FT_INT, "ReputationMax1" }, + { true, FT_INT, "ReputationMax2" }, + { true, FT_INT, "ReputationMax3" }, + { true, FT_INT, "ReputationMax4" }, + { false, FT_FLOAT, "ParentFactionMod1" }, + { false, FT_FLOAT, "ParentFactionMod2" }, + { false, FT_BYTE, "ParentFactionCap1" }, + { false, FT_BYTE, "ParentFactionCap2" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 35, &FactionMeta::Instance, HOTFIX_SEL_FACTION }; }; struct FactionTemplateLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "Faction" }, - { false, FT_SHORT, "Flags" }, - { false, FT_BYTE, "FactionGroup" }, - { false, FT_BYTE, "FriendGroup" }, - { false, FT_BYTE, "EnemyGroup" }, - { false, FT_SHORT, "Enemies1" }, - { false, FT_SHORT, "Enemies2" }, - { false, FT_SHORT, "Enemies3" }, - { false, FT_SHORT, "Enemies4" }, - { false, FT_SHORT, "Enemies5" }, - { false, FT_SHORT, "Enemies6" }, - { false, FT_SHORT, "Enemies7" }, - { false, FT_SHORT, "Enemies8" }, - { false, FT_SHORT, "Friend1" }, - { false, FT_SHORT, "Friend2" }, - { false, FT_SHORT, "Friend3" }, - { false, FT_SHORT, "Friend4" }, - { false, FT_SHORT, "Friend5" }, - { false, FT_SHORT, "Friend6" }, - { false, FT_SHORT, "Friend7" }, - { false, FT_SHORT, "Friend8" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), FactionTemplateMeta::Instance(), HOTFIX_SEL_FACTION_TEMPLATE); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[22] = + { + { false, FT_INT, "ID" }, + { false, FT_SHORT, "Faction" }, + { false, FT_SHORT, "Flags" }, + { false, FT_BYTE, "FactionGroup" }, + { false, FT_BYTE, "FriendGroup" }, + { false, FT_BYTE, "EnemyGroup" }, + { false, FT_SHORT, "Enemies1" }, + { false, FT_SHORT, "Enemies2" }, + { false, FT_SHORT, "Enemies3" }, + { false, FT_SHORT, "Enemies4" }, + { false, FT_SHORT, "Enemies5" }, + { false, FT_SHORT, "Enemies6" }, + { false, FT_SHORT, "Enemies7" }, + { false, FT_SHORT, "Enemies8" }, + { false, FT_SHORT, "Friend1" }, + { false, FT_SHORT, "Friend2" }, + { false, FT_SHORT, "Friend3" }, + { false, FT_SHORT, "Friend4" }, + { false, FT_SHORT, "Friend5" }, + { false, FT_SHORT, "Friend6" }, + { false, FT_SHORT, "Friend7" }, + { false, FT_SHORT, "Friend8" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 22, &FactionTemplateMeta::Instance, HOTFIX_SEL_FACTION_TEMPLATE }; }; struct FriendshipRepReactionLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Reaction" }, - { false, FT_INT, "FriendshipRepID" }, - { false, FT_SHORT, "ReactionThreshold" }, - { true, FT_INT, "OverrideColor" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), FriendshipRepReactionMeta::Instance(), HOTFIX_SEL_FRIENDSHIP_REP_REACTION); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "Reaction" }, + { false, FT_INT, "FriendshipRepID" }, + { false, FT_SHORT, "ReactionThreshold" }, + { true, FT_INT, "OverrideColor" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &FriendshipRepReactionMeta::Instance, HOTFIX_SEL_FRIENDSHIP_REP_REACTION }; }; struct FriendshipReputationLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[7] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Description" }, - { false, FT_STRING, "StandingModified" }, - { false, FT_STRING, "StandingChanged" }, - { false, FT_INT, "ID" }, - { true, FT_INT, "FactionID" }, - { true, FT_INT, "TextureFileID" }, - { true, FT_INT, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), FriendshipReputationMeta::Instance(), HOTFIX_SEL_FRIENDSHIP_REPUTATION); - return &loadInfo; - } + { false, FT_STRING, "Description" }, + { false, FT_STRING, "StandingModified" }, + { false, FT_STRING, "StandingChanged" }, + { false, FT_INT, "ID" }, + { true, FT_INT, "FactionID" }, + { true, FT_INT, "TextureFileID" }, + { true, FT_INT, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 7, &FriendshipReputationMeta::Instance, HOTFIX_SEL_FRIENDSHIP_REPUTATION }; }; struct GameobjectArtKitLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "AttachModelFileID" }, - { true, FT_INT, "TextureVariationFileID1" }, - { true, FT_INT, "TextureVariationFileID2" }, - { true, FT_INT, "TextureVariationFileID3" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GameObjectArtKitMeta::Instance(), HOTFIX_SEL_GAMEOBJECT_ART_KIT); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "AttachModelFileID" }, + { true, FT_INT, "TextureVariationFileID1" }, + { true, FT_INT, "TextureVariationFileID2" }, + { true, FT_INT, "TextureVariationFileID3" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &GameObjectArtKitMeta::Instance, HOTFIX_SEL_GAMEOBJECT_ART_KIT }; }; struct GameobjectDisplayInfoLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "GeoBoxMinX" }, - { false, FT_FLOAT, "GeoBoxMinY" }, - { false, FT_FLOAT, "GeoBoxMinZ" }, - { false, FT_FLOAT, "GeoBoxMaxX" }, - { false, FT_FLOAT, "GeoBoxMaxY" }, - { false, FT_FLOAT, "GeoBoxMaxZ" }, - { true, FT_INT, "FileDataID" }, - { true, FT_SHORT, "ObjectEffectPackageID" }, - { false, FT_FLOAT, "OverrideLootEffectScale" }, - { false, FT_FLOAT, "OverrideNameScale" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GameObjectDisplayInfoMeta::Instance(), HOTFIX_SEL_GAMEOBJECT_DISPLAY_INFO); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[11] = + { + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "GeoBoxMinX" }, + { false, FT_FLOAT, "GeoBoxMinY" }, + { false, FT_FLOAT, "GeoBoxMinZ" }, + { false, FT_FLOAT, "GeoBoxMaxX" }, + { false, FT_FLOAT, "GeoBoxMaxY" }, + { false, FT_FLOAT, "GeoBoxMaxZ" }, + { true, FT_INT, "FileDataID" }, + { true, FT_SHORT, "ObjectEffectPackageID" }, + { false, FT_FLOAT, "OverrideLootEffectScale" }, + { false, FT_FLOAT, "OverrideNameScale" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 11, &GameObjectDisplayInfoMeta::Instance, HOTFIX_SEL_GAMEOBJECT_DISPLAY_INFO }; }; struct GameobjectsLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Name" }, - { false, FT_FLOAT, "PosX" }, - { false, FT_FLOAT, "PosY" }, - { false, FT_FLOAT, "PosZ" }, - { false, FT_FLOAT, "Rot1" }, - { false, FT_FLOAT, "Rot2" }, - { false, FT_FLOAT, "Rot3" }, - { false, FT_FLOAT, "Rot4" }, - { false, FT_INT, "ID" }, - { true, FT_INT, "OwnerID" }, - { true, FT_INT, "DisplayID" }, - { false, FT_FLOAT, "Scale" }, - { true, FT_INT, "TypeID" }, - { true, FT_INT, "PhaseUseFlags" }, - { true, FT_INT, "PhaseID" }, - { true, FT_INT, "PhaseGroupID" }, - { true, FT_INT, "PropValue1" }, - { true, FT_INT, "PropValue2" }, - { true, FT_INT, "PropValue3" }, - { true, FT_INT, "PropValue4" }, - { true, FT_INT, "PropValue5" }, - { true, FT_INT, "PropValue6" }, - { true, FT_INT, "PropValue7" }, - { true, FT_INT, "PropValue8" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GameObjectsMeta::Instance(), HOTFIX_SEL_GAMEOBJECTS); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[24] = + { + { false, FT_STRING, "Name" }, + { false, FT_FLOAT, "PosX" }, + { false, FT_FLOAT, "PosY" }, + { false, FT_FLOAT, "PosZ" }, + { false, FT_FLOAT, "Rot1" }, + { false, FT_FLOAT, "Rot2" }, + { false, FT_FLOAT, "Rot3" }, + { false, FT_FLOAT, "Rot4" }, + { false, FT_INT, "ID" }, + { true, FT_INT, "OwnerID" }, + { true, FT_INT, "DisplayID" }, + { false, FT_FLOAT, "Scale" }, + { true, FT_INT, "TypeID" }, + { true, FT_INT, "PhaseUseFlags" }, + { true, FT_INT, "PhaseID" }, + { true, FT_INT, "PhaseGroupID" }, + { true, FT_INT, "PropValue1" }, + { true, FT_INT, "PropValue2" }, + { true, FT_INT, "PropValue3" }, + { true, FT_INT, "PropValue4" }, + { true, FT_INT, "PropValue5" }, + { true, FT_INT, "PropValue6" }, + { true, FT_INT, "PropValue7" }, + { true, FT_INT, "PropValue8" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 24, &GameObjectsMeta::Instance, HOTFIX_SEL_GAMEOBJECTS }; }; struct GarrAbilityLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[8] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { false, FT_STRING, "Description" }, - { false, FT_BYTE, "GarrAbilityCategoryID" }, - { true, FT_BYTE, "GarrFollowerTypeID" }, - { true, FT_INT, "IconFileDataID" }, - { false, FT_SHORT, "FactionChangeGarrAbilityID" }, - { true, FT_INT, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GarrAbilityMeta::Instance(), HOTFIX_SEL_GARR_ABILITY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_STRING, "Description" }, + { false, FT_BYTE, "GarrAbilityCategoryID" }, + { true, FT_BYTE, "GarrFollowerTypeID" }, + { true, FT_INT, "IconFileDataID" }, + { false, FT_SHORT, "FactionChangeGarrAbilityID" }, + { true, FT_INT, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 8, &GarrAbilityMeta::Instance, HOTFIX_SEL_GARR_ABILITY }; }; struct GarrBuildingLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "HordeName" }, - { false, FT_STRING, "AllianceName" }, - { false, FT_STRING, "Description" }, - { false, FT_STRING, "Tooltip" }, - { false, FT_BYTE, "GarrTypeID" }, - { true, FT_BYTE, "BuildingType" }, - { true, FT_INT, "HordeGameObjectID" }, - { true, FT_INT, "AllianceGameObjectID" }, - { true, FT_INT, "GarrSiteID" }, - { false, FT_BYTE, "UpgradeLevel" }, - { true, FT_INT, "BuildSeconds" }, - { false, FT_SHORT, "CurrencyTypeID" }, - { true, FT_INT, "CurrencyQty" }, - { false, FT_SHORT, "HordeUiTextureKitID" }, - { false, FT_SHORT, "AllianceUiTextureKitID" }, - { true, FT_INT, "IconFileDataID" }, - { false, FT_SHORT, "AllianceSceneScriptPackageID" }, - { false, FT_SHORT, "HordeSceneScriptPackageID" }, - { true, FT_INT, "MaxAssignments" }, - { false, FT_BYTE, "ShipmentCapacity" }, - { false, FT_SHORT, "GarrAbilityID" }, - { false, FT_SHORT, "BonusGarrAbilityID" }, - { false, FT_SHORT, "GoldCost" }, - { true, FT_INT, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GarrBuildingMeta::Instance(), HOTFIX_SEL_GARR_BUILDING); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[25] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "HordeName" }, + { false, FT_STRING, "AllianceName" }, + { false, FT_STRING, "Description" }, + { false, FT_STRING, "Tooltip" }, + { false, FT_BYTE, "GarrTypeID" }, + { true, FT_BYTE, "BuildingType" }, + { true, FT_INT, "HordeGameObjectID" }, + { true, FT_INT, "AllianceGameObjectID" }, + { true, FT_INT, "GarrSiteID" }, + { false, FT_BYTE, "UpgradeLevel" }, + { true, FT_INT, "BuildSeconds" }, + { false, FT_SHORT, "CurrencyTypeID" }, + { true, FT_INT, "CurrencyQty" }, + { false, FT_SHORT, "HordeUiTextureKitID" }, + { false, FT_SHORT, "AllianceUiTextureKitID" }, + { true, FT_INT, "IconFileDataID" }, + { false, FT_SHORT, "AllianceSceneScriptPackageID" }, + { false, FT_SHORT, "HordeSceneScriptPackageID" }, + { true, FT_INT, "MaxAssignments" }, + { false, FT_BYTE, "ShipmentCapacity" }, + { false, FT_SHORT, "GarrAbilityID" }, + { false, FT_SHORT, "BonusGarrAbilityID" }, + { false, FT_SHORT, "GoldCost" }, + { true, FT_INT, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 25, &GarrBuildingMeta::Instance, HOTFIX_SEL_GARR_BUILDING }; }; struct GarrBuildingPlotInstLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[6] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_FLOAT, "MapOffsetX" }, - { false, FT_FLOAT, "MapOffsetY" }, - { false, FT_INT, "ID" }, - { false, FT_BYTE, "GarrBuildingID" }, - { false, FT_SHORT, "GarrSiteLevelPlotInstID" }, - { false, FT_SHORT, "UiTextureAtlasMemberID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GarrBuildingPlotInstMeta::Instance(), HOTFIX_SEL_GARR_BUILDING_PLOT_INST); - return &loadInfo; - } + { false, FT_FLOAT, "MapOffsetX" }, + { false, FT_FLOAT, "MapOffsetY" }, + { false, FT_INT, "ID" }, + { false, FT_BYTE, "GarrBuildingID" }, + { false, FT_SHORT, "GarrSiteLevelPlotInstID" }, + { false, FT_SHORT, "UiTextureAtlasMemberID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 6, &GarrBuildingPlotInstMeta::Instance, HOTFIX_SEL_GARR_BUILDING_PLOT_INST }; }; struct GarrClassSpecLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[8] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "ClassSpec" }, - { false, FT_STRING, "ClassSpecMale" }, - { false, FT_STRING, "ClassSpecFemale" }, - { false, FT_SHORT, "UiTextureAtlasMemberID" }, - { false, FT_SHORT, "GarrFollItemSetID" }, - { false, FT_BYTE, "FollowerClassLimit" }, - { true, FT_INT, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GarrClassSpecMeta::Instance(), HOTFIX_SEL_GARR_CLASS_SPEC); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "ClassSpec" }, + { false, FT_STRING, "ClassSpecMale" }, + { false, FT_STRING, "ClassSpecFemale" }, + { false, FT_SHORT, "UiTextureAtlasMemberID" }, + { false, FT_SHORT, "GarrFollItemSetID" }, + { false, FT_BYTE, "FollowerClassLimit" }, + { true, FT_INT, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 8, &GarrClassSpecMeta::Instance, HOTFIX_SEL_GARR_CLASS_SPEC }; }; struct GarrFollowerLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "HordeSourceText" }, - { false, FT_STRING, "AllianceSourceText" }, - { false, FT_STRING, "TitleName" }, - { false, FT_BYTE, "GarrTypeID" }, - { true, FT_BYTE, "GarrFollowerTypeID" }, - { true, FT_INT, "HordeCreatureID" }, - { true, FT_INT, "AllianceCreatureID" }, - { false, FT_BYTE, "HordeGarrFollRaceID" }, - { false, FT_BYTE, "AllianceGarrFollRaceID" }, - { true, FT_INT, "HordeGarrClassSpecID" }, - { true, FT_INT, "AllianceGarrClassSpecID" }, - { true, FT_BYTE, "Quality" }, - { false, FT_BYTE, "FollowerLevel" }, - { false, FT_SHORT, "ItemLevelWeapon" }, - { false, FT_SHORT, "ItemLevelArmor" }, - { true, FT_BYTE, "HordeSourceTypeEnum" }, - { true, FT_BYTE, "AllianceSourceTypeEnum" }, - { true, FT_INT, "HordeIconFileDataID" }, - { true, FT_INT, "AllianceIconFileDataID" }, - { false, FT_SHORT, "HordeGarrFollItemSetID" }, - { false, FT_SHORT, "AllianceGarrFollItemSetID" }, - { false, FT_SHORT, "HordeUITextureKitID" }, - { false, FT_SHORT, "AllianceUITextureKitID" }, - { false, FT_BYTE, "Vitality" }, - { false, FT_BYTE, "HordeFlavorGarrStringID" }, - { false, FT_BYTE, "AllianceFlavorGarrStringID" }, - { false, FT_INT, "HordeSlottingBroadcastTextID" }, - { false, FT_INT, "AllySlottingBroadcastTextID" }, - { false, FT_BYTE, "ChrClassID" }, - { true, FT_INT, "Flags" }, - { false, FT_BYTE, "Gender" }, - { true, FT_INT, "AutoCombatantID" }, - { true, FT_INT, "CovenantID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GarrFollowerMeta::Instance(), HOTFIX_SEL_GARR_FOLLOWER); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[34] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "HordeSourceText" }, + { false, FT_STRING, "AllianceSourceText" }, + { false, FT_STRING, "TitleName" }, + { false, FT_BYTE, "GarrTypeID" }, + { true, FT_BYTE, "GarrFollowerTypeID" }, + { true, FT_INT, "HordeCreatureID" }, + { true, FT_INT, "AllianceCreatureID" }, + { false, FT_BYTE, "HordeGarrFollRaceID" }, + { false, FT_BYTE, "AllianceGarrFollRaceID" }, + { true, FT_INT, "HordeGarrClassSpecID" }, + { true, FT_INT, "AllianceGarrClassSpecID" }, + { true, FT_BYTE, "Quality" }, + { false, FT_BYTE, "FollowerLevel" }, + { false, FT_SHORT, "ItemLevelWeapon" }, + { false, FT_SHORT, "ItemLevelArmor" }, + { true, FT_BYTE, "HordeSourceTypeEnum" }, + { true, FT_BYTE, "AllianceSourceTypeEnum" }, + { true, FT_INT, "HordeIconFileDataID" }, + { true, FT_INT, "AllianceIconFileDataID" }, + { false, FT_SHORT, "HordeGarrFollItemSetID" }, + { false, FT_SHORT, "AllianceGarrFollItemSetID" }, + { false, FT_SHORT, "HordeUITextureKitID" }, + { false, FT_SHORT, "AllianceUITextureKitID" }, + { false, FT_BYTE, "Vitality" }, + { false, FT_BYTE, "HordeFlavorGarrStringID" }, + { false, FT_BYTE, "AllianceFlavorGarrStringID" }, + { false, FT_INT, "HordeSlottingBroadcastTextID" }, + { false, FT_INT, "AllySlottingBroadcastTextID" }, + { false, FT_BYTE, "ChrClassID" }, + { true, FT_INT, "Flags" }, + { false, FT_BYTE, "Gender" }, + { true, FT_INT, "AutoCombatantID" }, + { true, FT_INT, "CovenantID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 34, &GarrFollowerMeta::Instance, HOTFIX_SEL_GARR_FOLLOWER }; }; struct GarrFollowerXAbilityLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "OrderIndex" }, - { false, FT_BYTE, "FactionIndex" }, - { false, FT_SHORT, "GarrAbilityID" }, - { false, FT_INT, "GarrFollowerID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GarrFollowerXAbilityMeta::Instance(), HOTFIX_SEL_GARR_FOLLOWER_X_ABILITY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_BYTE, "OrderIndex" }, + { false, FT_BYTE, "FactionIndex" }, + { false, FT_SHORT, "GarrAbilityID" }, + { false, FT_INT, "GarrFollowerID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &GarrFollowerXAbilityMeta::Instance, HOTFIX_SEL_GARR_FOLLOWER_X_ABILITY }; }; struct GarrMissionLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { false, FT_STRING, "Location" }, - { false, FT_STRING, "Description" }, - { false, FT_FLOAT, "MapPosX" }, - { false, FT_FLOAT, "MapPosY" }, - { false, FT_FLOAT, "WorldPosX" }, - { false, FT_FLOAT, "WorldPosY" }, - { false, FT_BYTE, "GarrTypeID" }, - { false, FT_BYTE, "GarrMissionTypeID" }, - { true, FT_BYTE, "GarrFollowerTypeID" }, - { false, FT_BYTE, "MaxFollowers" }, - { false, FT_INT, "MissionCost" }, - { false, FT_SHORT, "MissionCostCurrencyTypesID" }, - { false, FT_BYTE, "OfferedGarrMissionTextureID" }, - { false, FT_SHORT, "UiTextureKitID" }, - { false, FT_INT, "EnvGarrMechanicID" }, - { true, FT_INT, "EnvGarrMechanicTypeID" }, - { false, FT_INT, "PlayerConditionID" }, - { true, FT_INT, "GarrMissionSetID" }, - { true, FT_BYTE, "TargetLevel" }, - { false, FT_SHORT, "TargetItemLevel" }, - { true, FT_INT, "MissionDuration" }, - { true, FT_INT, "TravelDuration" }, - { false, FT_INT, "OfferDuration" }, - { false, FT_BYTE, "BaseCompletionChance" }, - { false, FT_INT, "BaseFollowerXP" }, - { false, FT_INT, "OvermaxRewardPackID" }, - { false, FT_BYTE, "FollowerDeathChance" }, - { false, FT_INT, "AreaID" }, - { true, FT_INT, "Flags" }, - { false, FT_FLOAT, "AutoMissionScalar" }, - { true, FT_INT, "AutoMissionScalarCurveID" }, - { true, FT_INT, "AutoCombatantEnvCasterID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GarrMissionMeta::Instance(), HOTFIX_SEL_GARR_MISSION); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[34] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_STRING, "Location" }, + { false, FT_STRING, "Description" }, + { false, FT_FLOAT, "MapPosX" }, + { false, FT_FLOAT, "MapPosY" }, + { false, FT_FLOAT, "WorldPosX" }, + { false, FT_FLOAT, "WorldPosY" }, + { false, FT_BYTE, "GarrTypeID" }, + { false, FT_BYTE, "GarrMissionTypeID" }, + { true, FT_BYTE, "GarrFollowerTypeID" }, + { false, FT_BYTE, "MaxFollowers" }, + { false, FT_INT, "MissionCost" }, + { false, FT_SHORT, "MissionCostCurrencyTypesID" }, + { false, FT_BYTE, "OfferedGarrMissionTextureID" }, + { false, FT_SHORT, "UiTextureKitID" }, + { false, FT_INT, "EnvGarrMechanicID" }, + { true, FT_INT, "EnvGarrMechanicTypeID" }, + { false, FT_INT, "PlayerConditionID" }, + { true, FT_INT, "GarrMissionSetID" }, + { true, FT_BYTE, "TargetLevel" }, + { false, FT_SHORT, "TargetItemLevel" }, + { true, FT_INT, "MissionDuration" }, + { true, FT_INT, "TravelDuration" }, + { false, FT_INT, "OfferDuration" }, + { false, FT_BYTE, "BaseCompletionChance" }, + { false, FT_INT, "BaseFollowerXP" }, + { false, FT_INT, "OvermaxRewardPackID" }, + { false, FT_BYTE, "FollowerDeathChance" }, + { false, FT_INT, "AreaID" }, + { true, FT_INT, "Flags" }, + { false, FT_FLOAT, "AutoMissionScalar" }, + { true, FT_INT, "AutoMissionScalarCurveID" }, + { true, FT_INT, "AutoCombatantEnvCasterID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 34, &GarrMissionMeta::Instance, HOTFIX_SEL_GARR_MISSION }; }; struct GarrPlotLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING_NOT_LOCALIZED, "Name" }, - { false, FT_BYTE, "PlotType" }, - { true, FT_INT, "HordeConstructObjID" }, - { true, FT_INT, "AllianceConstructObjID" }, - { false, FT_BYTE, "Flags" }, - { false, FT_BYTE, "UiCategoryID" }, - { false, FT_INT, "UpgradeRequirement1" }, - { false, FT_INT, "UpgradeRequirement2" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GarrPlotMeta::Instance(), HOTFIX_SEL_GARR_PLOT); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[9] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING_NOT_LOCALIZED, "Name" }, + { false, FT_BYTE, "PlotType" }, + { true, FT_INT, "HordeConstructObjID" }, + { true, FT_INT, "AllianceConstructObjID" }, + { false, FT_BYTE, "Flags" }, + { false, FT_BYTE, "UiCategoryID" }, + { false, FT_INT, "UpgradeRequirement1" }, + { false, FT_INT, "UpgradeRequirement2" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 9, &GarrPlotMeta::Instance, HOTFIX_SEL_GARR_PLOT }; }; struct GarrPlotBuildingLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "GarrPlotID" }, - { false, FT_BYTE, "GarrBuildingID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GarrPlotBuildingMeta::Instance(), HOTFIX_SEL_GARR_PLOT_BUILDING); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_BYTE, "GarrPlotID" }, + { false, FT_BYTE, "GarrBuildingID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &GarrPlotBuildingMeta::Instance, HOTFIX_SEL_GARR_PLOT_BUILDING }; }; struct GarrPlotInstanceLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING_NOT_LOCALIZED, "Name" }, - { false, FT_BYTE, "GarrPlotID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GarrPlotInstanceMeta::Instance(), HOTFIX_SEL_GARR_PLOT_INSTANCE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING_NOT_LOCALIZED, "Name" }, + { false, FT_BYTE, "GarrPlotID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &GarrPlotInstanceMeta::Instance, HOTFIX_SEL_GARR_PLOT_INSTANCE }; }; struct GarrSiteLevelLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "TownHallUiPosX" }, - { false, FT_FLOAT, "TownHallUiPosY" }, - { false, FT_INT, "GarrSiteID" }, - { false, FT_BYTE, "GarrLevel" }, - { false, FT_SHORT, "MapID" }, - { false, FT_SHORT, "UpgradeMovieID" }, - { false, FT_SHORT, "UiTextureKitID" }, - { false, FT_BYTE, "MaxBuildingLevel" }, - { false, FT_SHORT, "UpgradeCost" }, - { false, FT_SHORT, "UpgradeGoldCost" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GarrSiteLevelMeta::Instance(), HOTFIX_SEL_GARR_SITE_LEVEL); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[11] = + { + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "TownHallUiPosX" }, + { false, FT_FLOAT, "TownHallUiPosY" }, + { false, FT_INT, "GarrSiteID" }, + { false, FT_BYTE, "GarrLevel" }, + { false, FT_SHORT, "MapID" }, + { false, FT_SHORT, "UpgradeMovieID" }, + { false, FT_SHORT, "UiTextureKitID" }, + { false, FT_BYTE, "MaxBuildingLevel" }, + { false, FT_SHORT, "UpgradeCost" }, + { false, FT_SHORT, "UpgradeGoldCost" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 11, &GarrSiteLevelMeta::Instance, HOTFIX_SEL_GARR_SITE_LEVEL }; }; struct GarrSiteLevelPlotInstLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[6] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "UiMarkerPosX" }, - { false, FT_FLOAT, "UiMarkerPosY" }, - { false, FT_SHORT, "GarrSiteLevelID" }, - { false, FT_BYTE, "GarrPlotInstanceID" }, - { false, FT_BYTE, "UiMarkerSize" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GarrSiteLevelPlotInstMeta::Instance(), HOTFIX_SEL_GARR_SITE_LEVEL_PLOT_INST); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "UiMarkerPosX" }, + { false, FT_FLOAT, "UiMarkerPosY" }, + { false, FT_SHORT, "GarrSiteLevelID" }, + { false, FT_BYTE, "GarrPlotInstanceID" }, + { false, FT_BYTE, "UiMarkerSize" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 6, &GarrSiteLevelPlotInstMeta::Instance, HOTFIX_SEL_GARR_SITE_LEVEL_PLOT_INST }; }; struct GarrTalentTreeLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { false, FT_BYTE, "GarrTypeID" }, - { true, FT_INT, "ClassID" }, - { true, FT_BYTE, "MaxTiers" }, - { true, FT_BYTE, "UiOrder" }, - { true, FT_INT, "Flags" }, - { false, FT_SHORT, "UiTextureKitID" }, - { true, FT_INT, "GarrTalentTreeType" }, - { true, FT_INT, "PlayerConditionID" }, - { false, FT_BYTE, "FeatureTypeIndex" }, - { true, FT_BYTE, "FeatureSubtypeIndex" }, - { true, FT_INT, "CurrencyID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GarrTalentTreeMeta::Instance(), HOTFIX_SEL_GARR_TALENT_TREE); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[13] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_BYTE, "GarrTypeID" }, + { true, FT_INT, "ClassID" }, + { true, FT_BYTE, "MaxTiers" }, + { true, FT_BYTE, "UiOrder" }, + { true, FT_INT, "Flags" }, + { false, FT_SHORT, "UiTextureKitID" }, + { true, FT_INT, "GarrTalentTreeType" }, + { true, FT_INT, "PlayerConditionID" }, + { false, FT_BYTE, "FeatureTypeIndex" }, + { true, FT_BYTE, "FeatureSubtypeIndex" }, + { true, FT_INT, "CurrencyID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 13, &GarrTalentTreeMeta::Instance, HOTFIX_SEL_GARR_TALENT_TREE }; }; struct GemPropertiesLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "EnchantId" }, - { true, FT_INT, "Type" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GemPropertiesMeta::Instance(), HOTFIX_SEL_GEM_PROPERTIES); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_SHORT, "EnchantId" }, + { true, FT_INT, "Type" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &GemPropertiesMeta::Instance, HOTFIX_SEL_GEM_PROPERTIES }; }; struct GlobalCurveLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "CurveID" }, - { true, FT_INT, "Type" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GlobalCurveMeta::Instance(), HOTFIX_SEL_GLOBAL_CURVE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "CurveID" }, + { true, FT_INT, "Type" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &GlobalCurveMeta::Instance, HOTFIX_SEL_GLOBAL_CURVE }; }; struct GlyphBindableSpellLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "SpellID" }, - { false, FT_INT, "GlyphPropertiesID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GlyphBindableSpellMeta::Instance(), HOTFIX_SEL_GLYPH_BINDABLE_SPELL); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "SpellID" }, + { false, FT_INT, "GlyphPropertiesID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &GlyphBindableSpellMeta::Instance, HOTFIX_SEL_GLYPH_BINDABLE_SPELL }; }; struct GlyphPropertiesLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_INT, "SpellID" }, - { false, FT_BYTE, "GlyphType" }, - { false, FT_BYTE, "GlyphExclusiveCategoryID" }, - { true, FT_INT, "SpellIconFileDataID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GlyphPropertiesMeta::Instance(), HOTFIX_SEL_GLYPH_PROPERTIES); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_INT, "SpellID" }, + { false, FT_BYTE, "GlyphType" }, + { false, FT_BYTE, "GlyphExclusiveCategoryID" }, + { true, FT_INT, "SpellIconFileDataID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &GlyphPropertiesMeta::Instance, HOTFIX_SEL_GLYPH_PROPERTIES }; }; struct GlyphRequiredSpecLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "ChrSpecializationID" }, - { false, FT_INT, "GlyphPropertiesID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GlyphRequiredSpecMeta::Instance(), HOTFIX_SEL_GLYPH_REQUIRED_SPEC); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_SHORT, "ChrSpecializationID" }, + { false, FT_INT, "GlyphPropertiesID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &GlyphRequiredSpecMeta::Instance, HOTFIX_SEL_GLYPH_REQUIRED_SPEC }; }; struct GossipNpcOptionLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "GossipNpcOption" }, - { true, FT_INT, "LFGDungeonsID" }, - { true, FT_INT, "TrainerID" }, - { true, FT_INT, "GarrFollowerTypeID" }, - { true, FT_INT, "CharShipmentID" }, - { true, FT_INT, "GarrTalentTreeID" }, - { true, FT_INT, "UiMapID" }, - { true, FT_INT, "UiItemInteractionID" }, - { true, FT_INT, "Unknown_1000_8" }, - { true, FT_INT, "Unknown_1000_9" }, - { true, FT_INT, "CovenantID" }, - { true, FT_INT, "GossipOptionID" }, - { true, FT_INT, "TraitTreeID" }, - { true, FT_INT, "ProfessionID" }, - { true, FT_INT, "Unknown_1002_14" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GossipNPCOptionMeta::Instance(), HOTFIX_SEL_GOSSIP_NPC_OPTION); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[16] = + { + { false, FT_INT, "ID" }, + { true, FT_INT, "GossipNpcOption" }, + { true, FT_INT, "LFGDungeonsID" }, + { true, FT_INT, "TrainerID" }, + { true, FT_INT, "GarrFollowerTypeID" }, + { true, FT_INT, "CharShipmentID" }, + { true, FT_INT, "GarrTalentTreeID" }, + { true, FT_INT, "UiMapID" }, + { true, FT_INT, "UiItemInteractionID" }, + { true, FT_INT, "Unknown_1000_8" }, + { true, FT_INT, "Unknown_1000_9" }, + { true, FT_INT, "CovenantID" }, + { true, FT_INT, "GossipOptionID" }, + { true, FT_INT, "TraitTreeID" }, + { true, FT_INT, "ProfessionID" }, + { true, FT_INT, "Unknown_1002_14" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 16, &GossipNPCOptionMeta::Instance, HOTFIX_SEL_GOSSIP_NPC_OPTION }; }; struct GuildColorBackgroundLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "Red" }, - { false, FT_BYTE, "Blue" }, - { false, FT_BYTE, "Green" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GuildColorBackgroundMeta::Instance(), HOTFIX_SEL_GUILD_COLOR_BACKGROUND); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_BYTE, "Red" }, + { false, FT_BYTE, "Blue" }, + { false, FT_BYTE, "Green" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &GuildColorBackgroundMeta::Instance, HOTFIX_SEL_GUILD_COLOR_BACKGROUND }; }; struct GuildColorBorderLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "Red" }, - { false, FT_BYTE, "Blue" }, - { false, FT_BYTE, "Green" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GuildColorBorderMeta::Instance(), HOTFIX_SEL_GUILD_COLOR_BORDER); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_BYTE, "Red" }, + { false, FT_BYTE, "Blue" }, + { false, FT_BYTE, "Green" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &GuildColorBorderMeta::Instance, HOTFIX_SEL_GUILD_COLOR_BORDER }; }; struct GuildColorEmblemLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "Red" }, - { false, FT_BYTE, "Blue" }, - { false, FT_BYTE, "Green" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GuildColorEmblemMeta::Instance(), HOTFIX_SEL_GUILD_COLOR_EMBLEM); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_BYTE, "Red" }, + { false, FT_BYTE, "Blue" }, + { false, FT_BYTE, "Green" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &GuildColorEmblemMeta::Instance, HOTFIX_SEL_GUILD_COLOR_EMBLEM }; }; struct GuildPerkSpellsLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[2] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "SpellID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), GuildPerkSpellsMeta::Instance(), HOTFIX_SEL_GUILD_PERK_SPELLS); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "SpellID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 2, &GuildPerkSpellsMeta::Instance, HOTFIX_SEL_GUILD_PERK_SPELLS }; }; struct HeirloomLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "SourceText" }, - { false, FT_INT, "ID" }, - { true, FT_INT, "ItemID" }, - { true, FT_INT, "LegacyUpgradedItemID" }, - { true, FT_INT, "StaticUpgradedItemID" }, - { true, FT_BYTE, "SourceTypeEnum" }, - { false, FT_BYTE, "Flags" }, - { true, FT_INT, "LegacyItemID" }, - { true, FT_INT, "UpgradeItemID1" }, - { true, FT_INT, "UpgradeItemID2" }, - { true, FT_INT, "UpgradeItemID3" }, - { true, FT_INT, "UpgradeItemID4" }, - { true, FT_INT, "UpgradeItemID5" }, - { true, FT_INT, "UpgradeItemID6" }, - { false, FT_SHORT, "UpgradeItemBonusListID1" }, - { false, FT_SHORT, "UpgradeItemBonusListID2" }, - { false, FT_SHORT, "UpgradeItemBonusListID3" }, - { false, FT_SHORT, "UpgradeItemBonusListID4" }, - { false, FT_SHORT, "UpgradeItemBonusListID5" }, - { false, FT_SHORT, "UpgradeItemBonusListID6" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), HeirloomMeta::Instance(), HOTFIX_SEL_HEIRLOOM); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[20] = + { + { false, FT_STRING, "SourceText" }, + { false, FT_INT, "ID" }, + { true, FT_INT, "ItemID" }, + { true, FT_INT, "LegacyUpgradedItemID" }, + { true, FT_INT, "StaticUpgradedItemID" }, + { true, FT_BYTE, "SourceTypeEnum" }, + { false, FT_BYTE, "Flags" }, + { true, FT_INT, "LegacyItemID" }, + { true, FT_INT, "UpgradeItemID1" }, + { true, FT_INT, "UpgradeItemID2" }, + { true, FT_INT, "UpgradeItemID3" }, + { true, FT_INT, "UpgradeItemID4" }, + { true, FT_INT, "UpgradeItemID5" }, + { true, FT_INT, "UpgradeItemID6" }, + { false, FT_SHORT, "UpgradeItemBonusListID1" }, + { false, FT_SHORT, "UpgradeItemBonusListID2" }, + { false, FT_SHORT, "UpgradeItemBonusListID3" }, + { false, FT_SHORT, "UpgradeItemBonusListID4" }, + { false, FT_SHORT, "UpgradeItemBonusListID5" }, + { false, FT_SHORT, "UpgradeItemBonusListID6" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 20, &HeirloomMeta::Instance, HOTFIX_SEL_HEIRLOOM }; }; struct HolidaysLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "Region" }, - { false, FT_BYTE, "Looping" }, - { false, FT_INT, "HolidayNameID" }, - { false, FT_INT, "HolidayDescriptionID" }, - { false, FT_BYTE, "Priority" }, - { true, FT_BYTE, "CalendarFilterType" }, - { false, FT_BYTE, "Flags" }, - { false, FT_SHORT, "Duration1" }, - { false, FT_SHORT, "Duration2" }, - { false, FT_SHORT, "Duration3" }, - { false, FT_SHORT, "Duration4" }, - { false, FT_SHORT, "Duration5" }, - { false, FT_SHORT, "Duration6" }, - { false, FT_SHORT, "Duration7" }, - { false, FT_SHORT, "Duration8" }, - { false, FT_SHORT, "Duration9" }, - { false, FT_SHORT, "Duration10" }, - { false, FT_INT, "Date1" }, - { false, FT_INT, "Date2" }, - { false, FT_INT, "Date3" }, - { false, FT_INT, "Date4" }, - { false, FT_INT, "Date5" }, - { false, FT_INT, "Date6" }, - { false, FT_INT, "Date7" }, - { false, FT_INT, "Date8" }, - { false, FT_INT, "Date9" }, - { false, FT_INT, "Date10" }, - { false, FT_INT, "Date11" }, - { false, FT_INT, "Date12" }, - { false, FT_INT, "Date13" }, - { false, FT_INT, "Date14" }, - { false, FT_INT, "Date15" }, - { false, FT_INT, "Date16" }, - { false, FT_INT, "Date17" }, - { false, FT_INT, "Date18" }, - { false, FT_INT, "Date19" }, - { false, FT_INT, "Date20" }, - { false, FT_INT, "Date21" }, - { false, FT_INT, "Date22" }, - { false, FT_INT, "Date23" }, - { false, FT_INT, "Date24" }, - { false, FT_INT, "Date25" }, - { false, FT_INT, "Date26" }, - { false, FT_BYTE, "CalendarFlags1" }, - { false, FT_BYTE, "CalendarFlags2" }, - { false, FT_BYTE, "CalendarFlags3" }, - { false, FT_BYTE, "CalendarFlags4" }, - { false, FT_BYTE, "CalendarFlags5" }, - { false, FT_BYTE, "CalendarFlags6" }, - { false, FT_BYTE, "CalendarFlags7" }, - { false, FT_BYTE, "CalendarFlags8" }, - { false, FT_BYTE, "CalendarFlags9" }, - { false, FT_BYTE, "CalendarFlags10" }, - { true, FT_INT, "TextureFileDataID1" }, - { true, FT_INT, "TextureFileDataID2" }, - { true, FT_INT, "TextureFileDataID3" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), HolidaysMeta::Instance(), HOTFIX_SEL_HOLIDAYS); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[57] = + { + { false, FT_INT, "ID" }, + { false, FT_SHORT, "Region" }, + { false, FT_BYTE, "Looping" }, + { false, FT_INT, "HolidayNameID" }, + { false, FT_INT, "HolidayDescriptionID" }, + { false, FT_BYTE, "Priority" }, + { true, FT_BYTE, "CalendarFilterType" }, + { false, FT_BYTE, "Flags" }, + { false, FT_SHORT, "Duration1" }, + { false, FT_SHORT, "Duration2" }, + { false, FT_SHORT, "Duration3" }, + { false, FT_SHORT, "Duration4" }, + { false, FT_SHORT, "Duration5" }, + { false, FT_SHORT, "Duration6" }, + { false, FT_SHORT, "Duration7" }, + { false, FT_SHORT, "Duration8" }, + { false, FT_SHORT, "Duration9" }, + { false, FT_SHORT, "Duration10" }, + { false, FT_INT, "Date1" }, + { false, FT_INT, "Date2" }, + { false, FT_INT, "Date3" }, + { false, FT_INT, "Date4" }, + { false, FT_INT, "Date5" }, + { false, FT_INT, "Date6" }, + { false, FT_INT, "Date7" }, + { false, FT_INT, "Date8" }, + { false, FT_INT, "Date9" }, + { false, FT_INT, "Date10" }, + { false, FT_INT, "Date11" }, + { false, FT_INT, "Date12" }, + { false, FT_INT, "Date13" }, + { false, FT_INT, "Date14" }, + { false, FT_INT, "Date15" }, + { false, FT_INT, "Date16" }, + { false, FT_INT, "Date17" }, + { false, FT_INT, "Date18" }, + { false, FT_INT, "Date19" }, + { false, FT_INT, "Date20" }, + { false, FT_INT, "Date21" }, + { false, FT_INT, "Date22" }, + { false, FT_INT, "Date23" }, + { false, FT_INT, "Date24" }, + { false, FT_INT, "Date25" }, + { false, FT_INT, "Date26" }, + { false, FT_BYTE, "CalendarFlags1" }, + { false, FT_BYTE, "CalendarFlags2" }, + { false, FT_BYTE, "CalendarFlags3" }, + { false, FT_BYTE, "CalendarFlags4" }, + { false, FT_BYTE, "CalendarFlags5" }, + { false, FT_BYTE, "CalendarFlags6" }, + { false, FT_BYTE, "CalendarFlags7" }, + { false, FT_BYTE, "CalendarFlags8" }, + { false, FT_BYTE, "CalendarFlags9" }, + { false, FT_BYTE, "CalendarFlags10" }, + { true, FT_INT, "TextureFileDataID1" }, + { true, FT_INT, "TextureFileDataID2" }, + { true, FT_INT, "TextureFileDataID3" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 57, &HolidaysMeta::Instance, HOTFIX_SEL_HOLIDAYS }; }; struct ImportPriceArmorLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "ClothModifier" }, - { false, FT_FLOAT, "LeatherModifier" }, - { false, FT_FLOAT, "ChainModifier" }, - { false, FT_FLOAT, "PlateModifier" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ImportPriceArmorMeta::Instance(), HOTFIX_SEL_IMPORT_PRICE_ARMOR); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "ClothModifier" }, + { false, FT_FLOAT, "LeatherModifier" }, + { false, FT_FLOAT, "ChainModifier" }, + { false, FT_FLOAT, "PlateModifier" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &ImportPriceArmorMeta::Instance, HOTFIX_SEL_IMPORT_PRICE_ARMOR }; }; struct ImportPriceQualityLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[2] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "Data" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ImportPriceQualityMeta::Instance(), HOTFIX_SEL_IMPORT_PRICE_QUALITY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "Data" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 2, &ImportPriceQualityMeta::Instance, HOTFIX_SEL_IMPORT_PRICE_QUALITY }; }; struct ImportPriceShieldLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[2] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "Data" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ImportPriceShieldMeta::Instance(), HOTFIX_SEL_IMPORT_PRICE_SHIELD); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "Data" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 2, &ImportPriceShieldMeta::Instance, HOTFIX_SEL_IMPORT_PRICE_SHIELD }; }; struct ImportPriceWeaponLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[2] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "Data" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ImportPriceWeaponMeta::Instance(), HOTFIX_SEL_IMPORT_PRICE_WEAPON); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "Data" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 2, &ImportPriceWeaponMeta::Instance, HOTFIX_SEL_IMPORT_PRICE_WEAPON }; }; struct ItemLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "ClassID" }, - { false, FT_BYTE, "SubclassID" }, - { false, FT_BYTE, "Material" }, - { true, FT_BYTE, "InventoryType" }, - { false, FT_BYTE, "SheatheType" }, - { true, FT_BYTE, "SoundOverrideSubclassID" }, - { true, FT_INT, "IconFileDataID" }, - { false, FT_BYTE, "ItemGroupSoundsID" }, - { true, FT_INT, "ContentTuningID" }, - { true, FT_INT, "ModifiedCraftingReagentItemID" }, - { true, FT_INT, "CraftingQualityID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemMeta::Instance(), HOTFIX_SEL_ITEM); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[12] = + { + { false, FT_INT, "ID" }, + { false, FT_BYTE, "ClassID" }, + { false, FT_BYTE, "SubclassID" }, + { false, FT_BYTE, "Material" }, + { true, FT_BYTE, "InventoryType" }, + { false, FT_BYTE, "SheatheType" }, + { true, FT_BYTE, "SoundOverrideSubclassID" }, + { true, FT_INT, "IconFileDataID" }, + { false, FT_BYTE, "ItemGroupSoundsID" }, + { true, FT_INT, "ContentTuningID" }, + { true, FT_INT, "ModifiedCraftingReagentItemID" }, + { true, FT_INT, "CraftingQualityID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 12, &ItemMeta::Instance, HOTFIX_SEL_ITEM }; }; struct ItemAppearanceLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[6] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "DisplayType" }, - { true, FT_INT, "ItemDisplayInfoID" }, - { true, FT_INT, "DefaultIconFileDataID" }, - { true, FT_INT, "UiOrder" }, - { true, FT_INT, "PlayerConditionID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemAppearanceMeta::Instance(), HOTFIX_SEL_ITEM_APPEARANCE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "DisplayType" }, + { true, FT_INT, "ItemDisplayInfoID" }, + { true, FT_INT, "DefaultIconFileDataID" }, + { true, FT_INT, "UiOrder" }, + { true, FT_INT, "PlayerConditionID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 6, &ItemAppearanceMeta::Instance, HOTFIX_SEL_ITEM_APPEARANCE }; }; struct ItemArmorQualityLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[8] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "Qualitymod1" }, - { false, FT_FLOAT, "Qualitymod2" }, - { false, FT_FLOAT, "Qualitymod3" }, - { false, FT_FLOAT, "Qualitymod4" }, - { false, FT_FLOAT, "Qualitymod5" }, - { false, FT_FLOAT, "Qualitymod6" }, - { false, FT_FLOAT, "Qualitymod7" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemArmorQualityMeta::Instance(), HOTFIX_SEL_ITEM_ARMOR_QUALITY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "Qualitymod1" }, + { false, FT_FLOAT, "Qualitymod2" }, + { false, FT_FLOAT, "Qualitymod3" }, + { false, FT_FLOAT, "Qualitymod4" }, + { false, FT_FLOAT, "Qualitymod5" }, + { false, FT_FLOAT, "Qualitymod6" }, + { false, FT_FLOAT, "Qualitymod7" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 8, &ItemArmorQualityMeta::Instance, HOTFIX_SEL_ITEM_ARMOR_QUALITY }; }; struct ItemArmorShieldLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "Quality1" }, - { false, FT_FLOAT, "Quality2" }, - { false, FT_FLOAT, "Quality3" }, - { false, FT_FLOAT, "Quality4" }, - { false, FT_FLOAT, "Quality5" }, - { false, FT_FLOAT, "Quality6" }, - { false, FT_FLOAT, "Quality7" }, - { false, FT_SHORT, "ItemLevel" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemArmorShieldMeta::Instance(), HOTFIX_SEL_ITEM_ARMOR_SHIELD); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[9] = + { + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "Quality1" }, + { false, FT_FLOAT, "Quality2" }, + { false, FT_FLOAT, "Quality3" }, + { false, FT_FLOAT, "Quality4" }, + { false, FT_FLOAT, "Quality5" }, + { false, FT_FLOAT, "Quality6" }, + { false, FT_FLOAT, "Quality7" }, + { false, FT_SHORT, "ItemLevel" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 9, &ItemArmorShieldMeta::Instance, HOTFIX_SEL_ITEM_ARMOR_SHIELD }; }; struct ItemArmorTotalLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[6] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_SHORT, "ItemLevel" }, - { false, FT_FLOAT, "Cloth" }, - { false, FT_FLOAT, "Leather" }, - { false, FT_FLOAT, "Mail" }, - { false, FT_FLOAT, "Plate" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemArmorTotalMeta::Instance(), HOTFIX_SEL_ITEM_ARMOR_TOTAL); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_SHORT, "ItemLevel" }, + { false, FT_FLOAT, "Cloth" }, + { false, FT_FLOAT, "Leather" }, + { false, FT_FLOAT, "Mail" }, + { false, FT_FLOAT, "Plate" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 6, &ItemArmorTotalMeta::Instance, HOTFIX_SEL_ITEM_ARMOR_TOTAL }; }; struct ItemBagFamilyLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[2] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemBagFamilyMeta::Instance(), HOTFIX_SEL_ITEM_BAG_FAMILY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 2, &ItemBagFamilyMeta::Instance, HOTFIX_SEL_ITEM_BAG_FAMILY }; }; struct ItemBonusLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[8] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "Value1" }, - { true, FT_INT, "Value2" }, - { true, FT_INT, "Value3" }, - { true, FT_INT, "Value4" }, - { false, FT_SHORT, "ParentItemBonusListID" }, - { false, FT_BYTE, "Type" }, - { false, FT_BYTE, "OrderIndex" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemBonusMeta::Instance(), HOTFIX_SEL_ITEM_BONUS); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "Value1" }, + { true, FT_INT, "Value2" }, + { true, FT_INT, "Value3" }, + { true, FT_INT, "Value4" }, + { false, FT_SHORT, "ParentItemBonusListID" }, + { false, FT_BYTE, "Type" }, + { false, FT_BYTE, "OrderIndex" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 8, &ItemBonusMeta::Instance, HOTFIX_SEL_ITEM_BONUS }; }; struct ItemBonusListLevelDeltaLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[2] = { - static constexpr DB2FieldMeta fields[] = - { - { true, FT_SHORT, "ItemLevelDelta" }, - { false, FT_INT, "ID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemBonusListLevelDeltaMeta::Instance(), HOTFIX_SEL_ITEM_BONUS_LIST_LEVEL_DELTA); - return &loadInfo; - } + { true, FT_SHORT, "ItemLevelDelta" }, + { false, FT_INT, "ID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 2, &ItemBonusListLevelDeltaMeta::Instance, HOTFIX_SEL_ITEM_BONUS_LIST_LEVEL_DELTA }; }; struct ItemBonusTreeNodeLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[8] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "ItemContext" }, - { false, FT_SHORT, "ChildItemBonusTreeID" }, - { false, FT_SHORT, "ChildItemBonusListID" }, - { false, FT_SHORT, "ChildItemLevelSelectorID" }, - { true, FT_INT, "ChildItemBonusListGroupID" }, - { true, FT_INT, "IblGroupPointsModSetID" }, - { false, FT_INT, "ParentItemBonusTreeID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemBonusTreeNodeMeta::Instance(), HOTFIX_SEL_ITEM_BONUS_TREE_NODE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_BYTE, "ItemContext" }, + { false, FT_SHORT, "ChildItemBonusTreeID" }, + { false, FT_SHORT, "ChildItemBonusListID" }, + { false, FT_SHORT, "ChildItemLevelSelectorID" }, + { true, FT_INT, "ChildItemBonusListGroupID" }, + { true, FT_INT, "IblGroupPointsModSetID" }, + { false, FT_INT, "ParentItemBonusTreeID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 8, &ItemBonusTreeNodeMeta::Instance, HOTFIX_SEL_ITEM_BONUS_TREE_NODE }; }; struct ItemChildEquipmentLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "ParentItemID" }, - { true, FT_INT, "ChildItemID" }, - { false, FT_BYTE, "ChildItemEquipSlot" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemChildEquipmentMeta::Instance(), HOTFIX_SEL_ITEM_CHILD_EQUIPMENT); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "ParentItemID" }, + { true, FT_INT, "ChildItemID" }, + { false, FT_BYTE, "ChildItemEquipSlot" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &ItemChildEquipmentMeta::Instance, HOTFIX_SEL_ITEM_CHILD_EQUIPMENT }; }; struct ItemClassLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "ClassName" }, - { true, FT_BYTE, "ClassID" }, - { false, FT_FLOAT, "PriceModifier" }, - { false, FT_BYTE, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemClassMeta::Instance(), HOTFIX_SEL_ITEM_CLASS); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "ClassName" }, + { true, FT_BYTE, "ClassID" }, + { false, FT_FLOAT, "PriceModifier" }, + { false, FT_BYTE, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &ItemClassMeta::Instance, HOTFIX_SEL_ITEM_CLASS }; }; struct ItemCurrencyCostLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[2] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "ItemID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemCurrencyCostMeta::Instance(), HOTFIX_SEL_ITEM_CURRENCY_COST); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "ItemID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 2, &ItemCurrencyCostMeta::Instance, HOTFIX_SEL_ITEM_CURRENCY_COST }; }; struct ItemDamageAmmoLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "ItemLevel" }, - { false, FT_FLOAT, "Quality1" }, - { false, FT_FLOAT, "Quality2" }, - { false, FT_FLOAT, "Quality3" }, - { false, FT_FLOAT, "Quality4" }, - { false, FT_FLOAT, "Quality5" }, - { false, FT_FLOAT, "Quality6" }, - { false, FT_FLOAT, "Quality7" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemDamageAmmoMeta::Instance(), HOTFIX_SEL_ITEM_DAMAGE_AMMO); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[9] = + { + { false, FT_INT, "ID" }, + { false, FT_SHORT, "ItemLevel" }, + { false, FT_FLOAT, "Quality1" }, + { false, FT_FLOAT, "Quality2" }, + { false, FT_FLOAT, "Quality3" }, + { false, FT_FLOAT, "Quality4" }, + { false, FT_FLOAT, "Quality5" }, + { false, FT_FLOAT, "Quality6" }, + { false, FT_FLOAT, "Quality7" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 9, &ItemDamageAmmoMeta::Instance, HOTFIX_SEL_ITEM_DAMAGE_AMMO }; }; struct ItemDamageOneHandLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "ItemLevel" }, - { false, FT_FLOAT, "Quality1" }, - { false, FT_FLOAT, "Quality2" }, - { false, FT_FLOAT, "Quality3" }, - { false, FT_FLOAT, "Quality4" }, - { false, FT_FLOAT, "Quality5" }, - { false, FT_FLOAT, "Quality6" }, - { false, FT_FLOAT, "Quality7" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemDamageOneHandMeta::Instance(), HOTFIX_SEL_ITEM_DAMAGE_ONE_HAND); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[9] = + { + { false, FT_INT, "ID" }, + { false, FT_SHORT, "ItemLevel" }, + { false, FT_FLOAT, "Quality1" }, + { false, FT_FLOAT, "Quality2" }, + { false, FT_FLOAT, "Quality3" }, + { false, FT_FLOAT, "Quality4" }, + { false, FT_FLOAT, "Quality5" }, + { false, FT_FLOAT, "Quality6" }, + { false, FT_FLOAT, "Quality7" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 9, &ItemDamageOneHandMeta::Instance, HOTFIX_SEL_ITEM_DAMAGE_ONE_HAND }; }; struct ItemDamageOneHandCasterLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "ItemLevel" }, - { false, FT_FLOAT, "Quality1" }, - { false, FT_FLOAT, "Quality2" }, - { false, FT_FLOAT, "Quality3" }, - { false, FT_FLOAT, "Quality4" }, - { false, FT_FLOAT, "Quality5" }, - { false, FT_FLOAT, "Quality6" }, - { false, FT_FLOAT, "Quality7" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemDamageOneHandCasterMeta::Instance(), HOTFIX_SEL_ITEM_DAMAGE_ONE_HAND_CASTER); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[9] = + { + { false, FT_INT, "ID" }, + { false, FT_SHORT, "ItemLevel" }, + { false, FT_FLOAT, "Quality1" }, + { false, FT_FLOAT, "Quality2" }, + { false, FT_FLOAT, "Quality3" }, + { false, FT_FLOAT, "Quality4" }, + { false, FT_FLOAT, "Quality5" }, + { false, FT_FLOAT, "Quality6" }, + { false, FT_FLOAT, "Quality7" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 9, &ItemDamageOneHandCasterMeta::Instance, HOTFIX_SEL_ITEM_DAMAGE_ONE_HAND_CASTER }; }; struct ItemDamageTwoHandLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "ItemLevel" }, - { false, FT_FLOAT, "Quality1" }, - { false, FT_FLOAT, "Quality2" }, - { false, FT_FLOAT, "Quality3" }, - { false, FT_FLOAT, "Quality4" }, - { false, FT_FLOAT, "Quality5" }, - { false, FT_FLOAT, "Quality6" }, - { false, FT_FLOAT, "Quality7" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemDamageTwoHandMeta::Instance(), HOTFIX_SEL_ITEM_DAMAGE_TWO_HAND); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[9] = + { + { false, FT_INT, "ID" }, + { false, FT_SHORT, "ItemLevel" }, + { false, FT_FLOAT, "Quality1" }, + { false, FT_FLOAT, "Quality2" }, + { false, FT_FLOAT, "Quality3" }, + { false, FT_FLOAT, "Quality4" }, + { false, FT_FLOAT, "Quality5" }, + { false, FT_FLOAT, "Quality6" }, + { false, FT_FLOAT, "Quality7" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 9, &ItemDamageTwoHandMeta::Instance, HOTFIX_SEL_ITEM_DAMAGE_TWO_HAND }; }; struct ItemDamageTwoHandCasterLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "ItemLevel" }, - { false, FT_FLOAT, "Quality1" }, - { false, FT_FLOAT, "Quality2" }, - { false, FT_FLOAT, "Quality3" }, - { false, FT_FLOAT, "Quality4" }, - { false, FT_FLOAT, "Quality5" }, - { false, FT_FLOAT, "Quality6" }, - { false, FT_FLOAT, "Quality7" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemDamageTwoHandCasterMeta::Instance(), HOTFIX_SEL_ITEM_DAMAGE_TWO_HAND_CASTER); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[9] = + { + { false, FT_INT, "ID" }, + { false, FT_SHORT, "ItemLevel" }, + { false, FT_FLOAT, "Quality1" }, + { false, FT_FLOAT, "Quality2" }, + { false, FT_FLOAT, "Quality3" }, + { false, FT_FLOAT, "Quality4" }, + { false, FT_FLOAT, "Quality5" }, + { false, FT_FLOAT, "Quality6" }, + { false, FT_FLOAT, "Quality7" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 9, &ItemDamageTwoHandCasterMeta::Instance, HOTFIX_SEL_ITEM_DAMAGE_TWO_HAND_CASTER }; }; struct ItemDisenchantLootLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[8] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_BYTE, "Subclass" }, - { false, FT_BYTE, "Quality" }, - { false, FT_SHORT, "MinLevel" }, - { false, FT_SHORT, "MaxLevel" }, - { false, FT_SHORT, "SkillRequired" }, - { true, FT_BYTE, "ExpansionID" }, - { false, FT_INT, "Class" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemDisenchantLootMeta::Instance(), HOTFIX_SEL_ITEM_DISENCHANT_LOOT); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_BYTE, "Subclass" }, + { false, FT_BYTE, "Quality" }, + { false, FT_SHORT, "MinLevel" }, + { false, FT_SHORT, "MaxLevel" }, + { false, FT_SHORT, "SkillRequired" }, + { true, FT_BYTE, "ExpansionID" }, + { false, FT_INT, "Class" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 8, &ItemDisenchantLootMeta::Instance, HOTFIX_SEL_ITEM_DISENCHANT_LOOT }; }; struct ItemEffectLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "LegacySlotIndex" }, - { true, FT_BYTE, "TriggerType" }, - { true, FT_SHORT, "Charges" }, - { true, FT_INT, "CoolDownMSec" }, - { true, FT_INT, "CategoryCoolDownMSec" }, - { false, FT_SHORT, "SpellCategoryID" }, - { true, FT_INT, "SpellID" }, - { false, FT_SHORT, "ChrSpecializationID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemEffectMeta::Instance(), HOTFIX_SEL_ITEM_EFFECT); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[9] = + { + { false, FT_INT, "ID" }, + { false, FT_BYTE, "LegacySlotIndex" }, + { true, FT_BYTE, "TriggerType" }, + { true, FT_SHORT, "Charges" }, + { true, FT_INT, "CoolDownMSec" }, + { true, FT_INT, "CategoryCoolDownMSec" }, + { false, FT_SHORT, "SpellCategoryID" }, + { true, FT_INT, "SpellID" }, + { false, FT_SHORT, "ChrSpecializationID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 9, &ItemEffectMeta::Instance, HOTFIX_SEL_ITEM_EFFECT }; }; struct ItemExtendedCostLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "RequiredArenaRating" }, - { true, FT_BYTE, "ArenaBracket" }, - { false, FT_BYTE, "Flags" }, - { false, FT_BYTE, "MinFactionID" }, - { true, FT_INT, "MinReputation" }, - { false, FT_BYTE, "RequiredAchievement" }, - { true, FT_INT, "ItemID1" }, - { true, FT_INT, "ItemID2" }, - { true, FT_INT, "ItemID3" }, - { true, FT_INT, "ItemID4" }, - { true, FT_INT, "ItemID5" }, - { false, FT_SHORT, "ItemCount1" }, - { false, FT_SHORT, "ItemCount2" }, - { false, FT_SHORT, "ItemCount3" }, - { false, FT_SHORT, "ItemCount4" }, - { false, FT_SHORT, "ItemCount5" }, - { false, FT_SHORT, "CurrencyID1" }, - { false, FT_SHORT, "CurrencyID2" }, - { false, FT_SHORT, "CurrencyID3" }, - { false, FT_SHORT, "CurrencyID4" }, - { false, FT_SHORT, "CurrencyID5" }, - { false, FT_INT, "CurrencyCount1" }, - { false, FT_INT, "CurrencyCount2" }, - { false, FT_INT, "CurrencyCount3" }, - { false, FT_INT, "CurrencyCount4" }, - { false, FT_INT, "CurrencyCount5" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemExtendedCostMeta::Instance(), HOTFIX_SEL_ITEM_EXTENDED_COST); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[27] = + { + { false, FT_INT, "ID" }, + { false, FT_SHORT, "RequiredArenaRating" }, + { true, FT_BYTE, "ArenaBracket" }, + { false, FT_BYTE, "Flags" }, + { false, FT_BYTE, "MinFactionID" }, + { true, FT_INT, "MinReputation" }, + { false, FT_BYTE, "RequiredAchievement" }, + { true, FT_INT, "ItemID1" }, + { true, FT_INT, "ItemID2" }, + { true, FT_INT, "ItemID3" }, + { true, FT_INT, "ItemID4" }, + { true, FT_INT, "ItemID5" }, + { false, FT_SHORT, "ItemCount1" }, + { false, FT_SHORT, "ItemCount2" }, + { false, FT_SHORT, "ItemCount3" }, + { false, FT_SHORT, "ItemCount4" }, + { false, FT_SHORT, "ItemCount5" }, + { false, FT_SHORT, "CurrencyID1" }, + { false, FT_SHORT, "CurrencyID2" }, + { false, FT_SHORT, "CurrencyID3" }, + { false, FT_SHORT, "CurrencyID4" }, + { false, FT_SHORT, "CurrencyID5" }, + { false, FT_INT, "CurrencyCount1" }, + { false, FT_INT, "CurrencyCount2" }, + { false, FT_INT, "CurrencyCount3" }, + { false, FT_INT, "CurrencyCount4" }, + { false, FT_INT, "CurrencyCount5" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 27, &ItemExtendedCostMeta::Instance, HOTFIX_SEL_ITEM_EXTENDED_COST }; }; struct ItemLevelSelectorLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "MinItemLevel" }, - { false, FT_SHORT, "ItemLevelSelectorQualitySetID" }, - { false, FT_SHORT, "AzeriteUnlockMappingSet" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemLevelSelectorMeta::Instance(), HOTFIX_SEL_ITEM_LEVEL_SELECTOR); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_SHORT, "MinItemLevel" }, + { false, FT_SHORT, "ItemLevelSelectorQualitySetID" }, + { false, FT_SHORT, "AzeriteUnlockMappingSet" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &ItemLevelSelectorMeta::Instance, HOTFIX_SEL_ITEM_LEVEL_SELECTOR }; }; struct ItemLevelSelectorQualityLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "QualityItemBonusListID" }, - { true, FT_BYTE, "Quality" }, - { false, FT_INT, "ParentILSQualitySetID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemLevelSelectorQualityMeta::Instance(), HOTFIX_SEL_ITEM_LEVEL_SELECTOR_QUALITY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "QualityItemBonusListID" }, + { true, FT_BYTE, "Quality" }, + { false, FT_INT, "ParentILSQualitySetID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &ItemLevelSelectorQualityMeta::Instance, HOTFIX_SEL_ITEM_LEVEL_SELECTOR_QUALITY }; }; struct ItemLevelSelectorQualitySetLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_SHORT, "IlvlRare" }, - { true, FT_SHORT, "IlvlEpic" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemLevelSelectorQualitySetMeta::Instance(), HOTFIX_SEL_ITEM_LEVEL_SELECTOR_QUALITY_SET); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_SHORT, "IlvlRare" }, + { true, FT_SHORT, "IlvlEpic" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &ItemLevelSelectorQualitySetMeta::Instance, HOTFIX_SEL_ITEM_LEVEL_SELECTOR_QUALITY_SET }; }; struct ItemLimitCategoryLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { false, FT_BYTE, "Quantity" }, - { false, FT_BYTE, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemLimitCategoryMeta::Instance(), HOTFIX_SEL_ITEM_LIMIT_CATEGORY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_BYTE, "Quantity" }, + { false, FT_BYTE, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &ItemLimitCategoryMeta::Instance, HOTFIX_SEL_ITEM_LIMIT_CATEGORY }; }; struct ItemLimitCategoryConditionLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_BYTE, "AddQuantity" }, - { false, FT_INT, "PlayerConditionID" }, - { false, FT_INT, "ParentItemLimitCategoryID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemLimitCategoryConditionMeta::Instance(), HOTFIX_SEL_ITEM_LIMIT_CATEGORY_CONDITION); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_BYTE, "AddQuantity" }, + { false, FT_INT, "PlayerConditionID" }, + { false, FT_INT, "ParentItemLimitCategoryID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &ItemLimitCategoryConditionMeta::Instance, HOTFIX_SEL_ITEM_LIMIT_CATEGORY_CONDITION }; }; struct ItemModifiedAppearanceLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[6] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "ItemID" }, - { true, FT_INT, "ItemAppearanceModifierID" }, - { true, FT_INT, "ItemAppearanceID" }, - { true, FT_INT, "OrderIndex" }, - { false, FT_BYTE, "TransmogSourceTypeEnum" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemModifiedAppearanceMeta::Instance(), HOTFIX_SEL_ITEM_MODIFIED_APPEARANCE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "ItemID" }, + { true, FT_INT, "ItemAppearanceModifierID" }, + { true, FT_INT, "ItemAppearanceID" }, + { true, FT_INT, "OrderIndex" }, + { false, FT_BYTE, "TransmogSourceTypeEnum" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 6, &ItemModifiedAppearanceMeta::Instance, HOTFIX_SEL_ITEM_MODIFIED_APPEARANCE }; }; struct ItemModifiedAppearanceExtraLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[6] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "IconFileDataID" }, - { true, FT_INT, "UnequippedIconFileDataID" }, - { false, FT_BYTE, "SheatheType" }, - { true, FT_BYTE, "DisplayWeaponSubclassID" }, - { true, FT_BYTE, "DisplayInventoryType" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemModifiedAppearanceExtraMeta::Instance(), HOTFIX_SEL_ITEM_MODIFIED_APPEARANCE_EXTRA); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "IconFileDataID" }, + { true, FT_INT, "UnequippedIconFileDataID" }, + { false, FT_BYTE, "SheatheType" }, + { true, FT_BYTE, "DisplayWeaponSubclassID" }, + { true, FT_BYTE, "DisplayInventoryType" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 6, &ItemModifiedAppearanceExtraMeta::Instance, HOTFIX_SEL_ITEM_MODIFIED_APPEARANCE_EXTRA }; }; struct ItemNameDescriptionLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Description" }, - { true, FT_INT, "Color" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemNameDescriptionMeta::Instance(), HOTFIX_SEL_ITEM_NAME_DESCRIPTION); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "Description" }, + { true, FT_INT, "Color" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &ItemNameDescriptionMeta::Instance, HOTFIX_SEL_ITEM_NAME_DESCRIPTION }; }; struct ItemPriceBaseLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "ItemLevel" }, - { false, FT_FLOAT, "Armor" }, - { false, FT_FLOAT, "Weapon" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemPriceBaseMeta::Instance(), HOTFIX_SEL_ITEM_PRICE_BASE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_SHORT, "ItemLevel" }, + { false, FT_FLOAT, "Armor" }, + { false, FT_FLOAT, "Weapon" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &ItemPriceBaseMeta::Instance, HOTFIX_SEL_ITEM_PRICE_BASE }; }; struct ItemSearchNameLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_LONG, "AllowableRace" }, - { false, FT_STRING, "Display" }, - { false, FT_BYTE, "OverallQualityID" }, - { true, FT_INT, "ExpansionID" }, - { false, FT_SHORT, "MinFactionID" }, - { true, FT_INT, "MinReputation" }, - { true, FT_INT, "AllowableClass" }, - { true, FT_BYTE, "RequiredLevel" }, - { false, FT_SHORT, "RequiredSkill" }, - { false, FT_SHORT, "RequiredSkillRank" }, - { false, FT_INT, "RequiredAbility" }, - { false, FT_SHORT, "ItemLevel" }, - { true, FT_INT, "Flags1" }, - { true, FT_INT, "Flags2" }, - { true, FT_INT, "Flags3" }, - { true, FT_INT, "Flags4" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemSearchNameMeta::Instance(), HOTFIX_SEL_ITEM_SEARCH_NAME); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[17] = + { + { false, FT_INT, "ID" }, + { true, FT_LONG, "AllowableRace" }, + { false, FT_STRING, "Display" }, + { false, FT_BYTE, "OverallQualityID" }, + { true, FT_INT, "ExpansionID" }, + { false, FT_SHORT, "MinFactionID" }, + { true, FT_INT, "MinReputation" }, + { true, FT_INT, "AllowableClass" }, + { true, FT_BYTE, "RequiredLevel" }, + { false, FT_SHORT, "RequiredSkill" }, + { false, FT_SHORT, "RequiredSkillRank" }, + { false, FT_INT, "RequiredAbility" }, + { false, FT_SHORT, "ItemLevel" }, + { true, FT_INT, "Flags1" }, + { true, FT_INT, "Flags2" }, + { true, FT_INT, "Flags3" }, + { true, FT_INT, "Flags4" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 17, &ItemSearchNameMeta::Instance, HOTFIX_SEL_ITEM_SEARCH_NAME }; }; struct ItemSetLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { false, FT_INT, "SetFlags" }, - { false, FT_INT, "RequiredSkill" }, - { false, FT_SHORT, "RequiredSkillRank" }, - { false, FT_INT, "ItemID1" }, - { false, FT_INT, "ItemID2" }, - { false, FT_INT, "ItemID3" }, - { false, FT_INT, "ItemID4" }, - { false, FT_INT, "ItemID5" }, - { false, FT_INT, "ItemID6" }, - { false, FT_INT, "ItemID7" }, - { false, FT_INT, "ItemID8" }, - { false, FT_INT, "ItemID9" }, - { false, FT_INT, "ItemID10" }, - { false, FT_INT, "ItemID11" }, - { false, FT_INT, "ItemID12" }, - { false, FT_INT, "ItemID13" }, - { false, FT_INT, "ItemID14" }, - { false, FT_INT, "ItemID15" }, - { false, FT_INT, "ItemID16" }, - { false, FT_INT, "ItemID17" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemSetMeta::Instance(), HOTFIX_SEL_ITEM_SET); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[22] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_INT, "SetFlags" }, + { false, FT_INT, "RequiredSkill" }, + { false, FT_SHORT, "RequiredSkillRank" }, + { false, FT_INT, "ItemID1" }, + { false, FT_INT, "ItemID2" }, + { false, FT_INT, "ItemID3" }, + { false, FT_INT, "ItemID4" }, + { false, FT_INT, "ItemID5" }, + { false, FT_INT, "ItemID6" }, + { false, FT_INT, "ItemID7" }, + { false, FT_INT, "ItemID8" }, + { false, FT_INT, "ItemID9" }, + { false, FT_INT, "ItemID10" }, + { false, FT_INT, "ItemID11" }, + { false, FT_INT, "ItemID12" }, + { false, FT_INT, "ItemID13" }, + { false, FT_INT, "ItemID14" }, + { false, FT_INT, "ItemID15" }, + { false, FT_INT, "ItemID16" }, + { false, FT_INT, "ItemID17" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 22, &ItemSetMeta::Instance, HOTFIX_SEL_ITEM_SET }; }; struct ItemSetSpellLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "ChrSpecID" }, - { false, FT_INT, "SpellID" }, - { false, FT_BYTE, "Threshold" }, - { false, FT_INT, "ItemSetID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemSetSpellMeta::Instance(), HOTFIX_SEL_ITEM_SET_SPELL); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_SHORT, "ChrSpecID" }, + { false, FT_INT, "SpellID" }, + { false, FT_BYTE, "Threshold" }, + { false, FT_INT, "ItemSetID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &ItemSetSpellMeta::Instance, HOTFIX_SEL_ITEM_SET_SPELL }; }; struct ItemSparseLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_LONG, "AllowableRace" }, - { false, FT_STRING, "Description" }, - { false, FT_STRING, "Display3" }, - { false, FT_STRING, "Display2" }, - { false, FT_STRING, "Display1" }, - { false, FT_STRING, "Display" }, - { true, FT_INT, "ExpansionID" }, - { false, FT_FLOAT, "DmgVariance" }, - { true, FT_INT, "LimitCategory" }, - { false, FT_INT, "DurationInInventory" }, - { false, FT_FLOAT, "QualityModifier" }, - { false, FT_INT, "BagFamily" }, - { true, FT_INT, "StartQuestID" }, - { true, FT_INT, "LanguageID" }, - { false, FT_FLOAT, "ItemRange" }, - { false, FT_FLOAT, "StatPercentageOfSocket1" }, - { false, FT_FLOAT, "StatPercentageOfSocket2" }, - { false, FT_FLOAT, "StatPercentageOfSocket3" }, - { false, FT_FLOAT, "StatPercentageOfSocket4" }, - { false, FT_FLOAT, "StatPercentageOfSocket5" }, - { false, FT_FLOAT, "StatPercentageOfSocket6" }, - { false, FT_FLOAT, "StatPercentageOfSocket7" }, - { false, FT_FLOAT, "StatPercentageOfSocket8" }, - { false, FT_FLOAT, "StatPercentageOfSocket9" }, - { false, FT_FLOAT, "StatPercentageOfSocket10" }, - { true, FT_INT, "StatPercentEditor1" }, - { true, FT_INT, "StatPercentEditor2" }, - { true, FT_INT, "StatPercentEditor3" }, - { true, FT_INT, "StatPercentEditor4" }, - { true, FT_INT, "StatPercentEditor5" }, - { true, FT_INT, "StatPercentEditor6" }, - { true, FT_INT, "StatPercentEditor7" }, - { true, FT_INT, "StatPercentEditor8" }, - { true, FT_INT, "StatPercentEditor9" }, - { true, FT_INT, "StatPercentEditor10" }, - { true, FT_INT, "Stackable" }, - { true, FT_INT, "MaxCount" }, - { true, FT_INT, "MinReputation" }, - { false, FT_INT, "RequiredAbility" }, - { false, FT_INT, "SellPrice" }, - { false, FT_INT, "BuyPrice" }, - { false, FT_INT, "VendorStackCount" }, - { false, FT_FLOAT, "PriceVariance" }, - { false, FT_FLOAT, "PriceRandomValue" }, - { true, FT_INT, "Flags1" }, - { true, FT_INT, "Flags2" }, - { true, FT_INT, "Flags3" }, - { true, FT_INT, "Flags4" }, - { true, FT_INT, "FactionRelated" }, - { true, FT_INT, "ModifiedCraftingReagentItemID" }, - { true, FT_INT, "ContentTuningID" }, - { true, FT_INT, "PlayerLevelToItemLevelCurveID" }, - { false, FT_SHORT, "ItemNameDescriptionID" }, - { false, FT_SHORT, "RequiredTransmogHoliday" }, - { false, FT_SHORT, "RequiredHoliday" }, - { false, FT_SHORT, "GemProperties" }, - { false, FT_SHORT, "SocketMatchEnchantmentId" }, - { false, FT_SHORT, "TotemCategoryID" }, - { false, FT_SHORT, "InstanceBound" }, - { false, FT_SHORT, "ZoneBound1" }, - { false, FT_SHORT, "ZoneBound2" }, - { false, FT_SHORT, "ItemSet" }, - { false, FT_SHORT, "LockID" }, - { false, FT_SHORT, "PageID" }, - { false, FT_SHORT, "ItemDelay" }, - { false, FT_SHORT, "MinFactionID" }, - { false, FT_SHORT, "RequiredSkillRank" }, - { false, FT_SHORT, "RequiredSkill" }, - { false, FT_SHORT, "ItemLevel" }, - { true, FT_SHORT, "AllowableClass" }, - { false, FT_BYTE, "ArtifactID" }, - { false, FT_BYTE, "SpellWeight" }, - { false, FT_BYTE, "SpellWeightCategory" }, - { false, FT_BYTE, "SocketType1" }, - { false, FT_BYTE, "SocketType2" }, - { false, FT_BYTE, "SocketType3" }, - { false, FT_BYTE, "SheatheType" }, - { false, FT_BYTE, "Material" }, - { false, FT_BYTE, "PageMaterialID" }, - { false, FT_BYTE, "Bonding" }, - { false, FT_BYTE, "DamageDamageType" }, - { true, FT_BYTE, "StatModifierBonusStat1" }, - { true, FT_BYTE, "StatModifierBonusStat2" }, - { true, FT_BYTE, "StatModifierBonusStat3" }, - { true, FT_BYTE, "StatModifierBonusStat4" }, - { true, FT_BYTE, "StatModifierBonusStat5" }, - { true, FT_BYTE, "StatModifierBonusStat6" }, - { true, FT_BYTE, "StatModifierBonusStat7" }, - { true, FT_BYTE, "StatModifierBonusStat8" }, - { true, FT_BYTE, "StatModifierBonusStat9" }, - { true, FT_BYTE, "StatModifierBonusStat10" }, - { false, FT_BYTE, "ContainerSlots" }, - { false, FT_BYTE, "RequiredPVPMedal" }, - { false, FT_BYTE, "RequiredPVPRank" }, - { true, FT_BYTE, "RequiredLevel" }, - { true, FT_BYTE, "InventoryType" }, - { true, FT_BYTE, "OverallQualityID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemSparseMeta::Instance(), HOTFIX_SEL_ITEM_SPARSE); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[98] = + { + { false, FT_INT, "ID" }, + { true, FT_LONG, "AllowableRace" }, + { false, FT_STRING, "Description" }, + { false, FT_STRING, "Display3" }, + { false, FT_STRING, "Display2" }, + { false, FT_STRING, "Display1" }, + { false, FT_STRING, "Display" }, + { true, FT_INT, "ExpansionID" }, + { false, FT_FLOAT, "DmgVariance" }, + { true, FT_INT, "LimitCategory" }, + { false, FT_INT, "DurationInInventory" }, + { false, FT_FLOAT, "QualityModifier" }, + { false, FT_INT, "BagFamily" }, + { true, FT_INT, "StartQuestID" }, + { true, FT_INT, "LanguageID" }, + { false, FT_FLOAT, "ItemRange" }, + { false, FT_FLOAT, "StatPercentageOfSocket1" }, + { false, FT_FLOAT, "StatPercentageOfSocket2" }, + { false, FT_FLOAT, "StatPercentageOfSocket3" }, + { false, FT_FLOAT, "StatPercentageOfSocket4" }, + { false, FT_FLOAT, "StatPercentageOfSocket5" }, + { false, FT_FLOAT, "StatPercentageOfSocket6" }, + { false, FT_FLOAT, "StatPercentageOfSocket7" }, + { false, FT_FLOAT, "StatPercentageOfSocket8" }, + { false, FT_FLOAT, "StatPercentageOfSocket9" }, + { false, FT_FLOAT, "StatPercentageOfSocket10" }, + { true, FT_INT, "StatPercentEditor1" }, + { true, FT_INT, "StatPercentEditor2" }, + { true, FT_INT, "StatPercentEditor3" }, + { true, FT_INT, "StatPercentEditor4" }, + { true, FT_INT, "StatPercentEditor5" }, + { true, FT_INT, "StatPercentEditor6" }, + { true, FT_INT, "StatPercentEditor7" }, + { true, FT_INT, "StatPercentEditor8" }, + { true, FT_INT, "StatPercentEditor9" }, + { true, FT_INT, "StatPercentEditor10" }, + { true, FT_INT, "Stackable" }, + { true, FT_INT, "MaxCount" }, + { true, FT_INT, "MinReputation" }, + { false, FT_INT, "RequiredAbility" }, + { false, FT_INT, "SellPrice" }, + { false, FT_INT, "BuyPrice" }, + { false, FT_INT, "VendorStackCount" }, + { false, FT_FLOAT, "PriceVariance" }, + { false, FT_FLOAT, "PriceRandomValue" }, + { true, FT_INT, "Flags1" }, + { true, FT_INT, "Flags2" }, + { true, FT_INT, "Flags3" }, + { true, FT_INT, "Flags4" }, + { true, FT_INT, "FactionRelated" }, + { true, FT_INT, "ModifiedCraftingReagentItemID" }, + { true, FT_INT, "ContentTuningID" }, + { true, FT_INT, "PlayerLevelToItemLevelCurveID" }, + { false, FT_SHORT, "ItemNameDescriptionID" }, + { false, FT_SHORT, "RequiredTransmogHoliday" }, + { false, FT_SHORT, "RequiredHoliday" }, + { false, FT_SHORT, "GemProperties" }, + { false, FT_SHORT, "SocketMatchEnchantmentId" }, + { false, FT_SHORT, "TotemCategoryID" }, + { false, FT_SHORT, "InstanceBound" }, + { false, FT_SHORT, "ZoneBound1" }, + { false, FT_SHORT, "ZoneBound2" }, + { false, FT_SHORT, "ItemSet" }, + { false, FT_SHORT, "LockID" }, + { false, FT_SHORT, "PageID" }, + { false, FT_SHORT, "ItemDelay" }, + { false, FT_SHORT, "MinFactionID" }, + { false, FT_SHORT, "RequiredSkillRank" }, + { false, FT_SHORT, "RequiredSkill" }, + { false, FT_SHORT, "ItemLevel" }, + { true, FT_SHORT, "AllowableClass" }, + { false, FT_BYTE, "ArtifactID" }, + { false, FT_BYTE, "SpellWeight" }, + { false, FT_BYTE, "SpellWeightCategory" }, + { false, FT_BYTE, "SocketType1" }, + { false, FT_BYTE, "SocketType2" }, + { false, FT_BYTE, "SocketType3" }, + { false, FT_BYTE, "SheatheType" }, + { false, FT_BYTE, "Material" }, + { false, FT_BYTE, "PageMaterialID" }, + { false, FT_BYTE, "Bonding" }, + { false, FT_BYTE, "DamageDamageType" }, + { true, FT_BYTE, "StatModifierBonusStat1" }, + { true, FT_BYTE, "StatModifierBonusStat2" }, + { true, FT_BYTE, "StatModifierBonusStat3" }, + { true, FT_BYTE, "StatModifierBonusStat4" }, + { true, FT_BYTE, "StatModifierBonusStat5" }, + { true, FT_BYTE, "StatModifierBonusStat6" }, + { true, FT_BYTE, "StatModifierBonusStat7" }, + { true, FT_BYTE, "StatModifierBonusStat8" }, + { true, FT_BYTE, "StatModifierBonusStat9" }, + { true, FT_BYTE, "StatModifierBonusStat10" }, + { false, FT_BYTE, "ContainerSlots" }, + { false, FT_BYTE, "RequiredPVPMedal" }, + { false, FT_BYTE, "RequiredPVPRank" }, + { true, FT_BYTE, "RequiredLevel" }, + { true, FT_BYTE, "InventoryType" }, + { true, FT_BYTE, "OverallQualityID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 98, &ItemSparseMeta::Instance, HOTFIX_SEL_ITEM_SPARSE }; }; struct ItemSpecLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[7] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "MinLevel" }, - { false, FT_BYTE, "MaxLevel" }, - { false, FT_BYTE, "ItemType" }, - { false, FT_BYTE, "PrimaryStat" }, - { false, FT_BYTE, "SecondaryStat" }, - { false, FT_SHORT, "SpecializationID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemSpecMeta::Instance(), HOTFIX_SEL_ITEM_SPEC); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_BYTE, "MinLevel" }, + { false, FT_BYTE, "MaxLevel" }, + { false, FT_BYTE, "ItemType" }, + { false, FT_BYTE, "PrimaryStat" }, + { false, FT_BYTE, "SecondaryStat" }, + { false, FT_SHORT, "SpecializationID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 7, &ItemSpecMeta::Instance, HOTFIX_SEL_ITEM_SPEC }; }; struct ItemSpecOverrideLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "SpecID" }, - { false, FT_INT, "ItemID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemSpecOverrideMeta::Instance(), HOTFIX_SEL_ITEM_SPEC_OVERRIDE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_SHORT, "SpecID" }, + { false, FT_INT, "ItemID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &ItemSpecOverrideMeta::Instance, HOTFIX_SEL_ITEM_SPEC_OVERRIDE }; }; struct ItemXBonusTreeLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "ItemBonusTreeID" }, - { false, FT_INT, "ItemID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemXBonusTreeMeta::Instance(), HOTFIX_SEL_ITEM_X_BONUS_TREE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_SHORT, "ItemBonusTreeID" }, + { false, FT_INT, "ItemID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &ItemXBonusTreeMeta::Instance, HOTFIX_SEL_ITEM_X_BONUS_TREE }; }; struct ItemXItemEffectLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "ItemEffectID" }, - { false, FT_INT, "ItemID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ItemXItemEffectMeta::Instance(), HOTFIX_SEL_ITEM_X_ITEM_EFFECT); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "ItemEffectID" }, + { false, FT_INT, "ItemID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &ItemXItemEffectMeta::Instance, HOTFIX_SEL_ITEM_X_ITEM_EFFECT }; }; struct JournalEncounterLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Name" }, - { false, FT_STRING, "Description" }, - { false, FT_FLOAT, "MapX" }, - { false, FT_FLOAT, "MapY" }, - { false, FT_INT, "ID" }, - { false, FT_SHORT, "JournalInstanceID" }, - { false, FT_SHORT, "DungeonEncounterID" }, - { false, FT_INT, "OrderIndex" }, - { false, FT_SHORT, "FirstSectionID" }, - { false, FT_SHORT, "UiMapID" }, - { false, FT_INT, "MapDisplayConditionID" }, - { true, FT_INT, "Flags" }, - { true, FT_BYTE, "DifficultyMask" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), JournalEncounterMeta::Instance(), HOTFIX_SEL_JOURNAL_ENCOUNTER); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[13] = + { + { false, FT_STRING, "Name" }, + { false, FT_STRING, "Description" }, + { false, FT_FLOAT, "MapX" }, + { false, FT_FLOAT, "MapY" }, + { false, FT_INT, "ID" }, + { false, FT_SHORT, "JournalInstanceID" }, + { false, FT_SHORT, "DungeonEncounterID" }, + { false, FT_INT, "OrderIndex" }, + { false, FT_SHORT, "FirstSectionID" }, + { false, FT_SHORT, "UiMapID" }, + { false, FT_INT, "MapDisplayConditionID" }, + { true, FT_INT, "Flags" }, + { true, FT_BYTE, "DifficultyMask" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 13, &JournalEncounterMeta::Instance, HOTFIX_SEL_JOURNAL_ENCOUNTER }; }; struct JournalEncounterSectionLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Title" }, - { false, FT_STRING, "BodyText" }, - { false, FT_SHORT, "JournalEncounterID" }, - { false, FT_BYTE, "OrderIndex" }, - { false, FT_SHORT, "ParentSectionID" }, - { false, FT_SHORT, "FirstChildSectionID" }, - { false, FT_SHORT, "NextSiblingSectionID" }, - { false, FT_BYTE, "Type" }, - { false, FT_INT, "IconCreatureDisplayInfoID" }, - { true, FT_INT, "UiModelSceneID" }, - { true, FT_INT, "SpellID" }, - { true, FT_INT, "IconFileDataID" }, - { true, FT_INT, "Flags" }, - { true, FT_INT, "IconFlags" }, - { true, FT_BYTE, "DifficultyMask" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), JournalEncounterSectionMeta::Instance(), HOTFIX_SEL_JOURNAL_ENCOUNTER_SECTION); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[16] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "Title" }, + { false, FT_STRING, "BodyText" }, + { false, FT_SHORT, "JournalEncounterID" }, + { false, FT_BYTE, "OrderIndex" }, + { false, FT_SHORT, "ParentSectionID" }, + { false, FT_SHORT, "FirstChildSectionID" }, + { false, FT_SHORT, "NextSiblingSectionID" }, + { false, FT_BYTE, "Type" }, + { false, FT_INT, "IconCreatureDisplayInfoID" }, + { true, FT_INT, "UiModelSceneID" }, + { true, FT_INT, "SpellID" }, + { true, FT_INT, "IconFileDataID" }, + { true, FT_INT, "Flags" }, + { true, FT_INT, "IconFlags" }, + { true, FT_BYTE, "DifficultyMask" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 16, &JournalEncounterSectionMeta::Instance, HOTFIX_SEL_JOURNAL_ENCOUNTER_SECTION }; }; struct JournalInstanceLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { false, FT_STRING, "Description" }, - { false, FT_SHORT, "MapID" }, - { true, FT_INT, "BackgroundFileDataID" }, - { true, FT_INT, "ButtonFileDataID" }, - { true, FT_INT, "ButtonSmallFileDataID" }, - { true, FT_INT, "LoreFileDataID" }, - { true, FT_INT, "Flags" }, - { false, FT_SHORT, "AreaID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), JournalInstanceMeta::Instance(), HOTFIX_SEL_JOURNAL_INSTANCE); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[10] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_STRING, "Description" }, + { false, FT_SHORT, "MapID" }, + { true, FT_INT, "BackgroundFileDataID" }, + { true, FT_INT, "ButtonFileDataID" }, + { true, FT_INT, "ButtonSmallFileDataID" }, + { true, FT_INT, "LoreFileDataID" }, + { true, FT_INT, "Flags" }, + { false, FT_SHORT, "AreaID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 10, &JournalInstanceMeta::Instance, HOTFIX_SEL_JOURNAL_INSTANCE }; }; struct JournalTierLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { true, FT_INT, "PlayerConditionID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), JournalTierMeta::Instance(), HOTFIX_SEL_JOURNAL_TIER); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { true, FT_INT, "PlayerConditionID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &JournalTierMeta::Instance, HOTFIX_SEL_JOURNAL_TIER }; }; struct KeychainLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "Key1" }, - { false, FT_BYTE, "Key2" }, - { false, FT_BYTE, "Key3" }, - { false, FT_BYTE, "Key4" }, - { false, FT_BYTE, "Key5" }, - { false, FT_BYTE, "Key6" }, - { false, FT_BYTE, "Key7" }, - { false, FT_BYTE, "Key8" }, - { false, FT_BYTE, "Key9" }, - { false, FT_BYTE, "Key10" }, - { false, FT_BYTE, "Key11" }, - { false, FT_BYTE, "Key12" }, - { false, FT_BYTE, "Key13" }, - { false, FT_BYTE, "Key14" }, - { false, FT_BYTE, "Key15" }, - { false, FT_BYTE, "Key16" }, - { false, FT_BYTE, "Key17" }, - { false, FT_BYTE, "Key18" }, - { false, FT_BYTE, "Key19" }, - { false, FT_BYTE, "Key20" }, - { false, FT_BYTE, "Key21" }, - { false, FT_BYTE, "Key22" }, - { false, FT_BYTE, "Key23" }, - { false, FT_BYTE, "Key24" }, - { false, FT_BYTE, "Key25" }, - { false, FT_BYTE, "Key26" }, - { false, FT_BYTE, "Key27" }, - { false, FT_BYTE, "Key28" }, - { false, FT_BYTE, "Key29" }, - { false, FT_BYTE, "Key30" }, - { false, FT_BYTE, "Key31" }, - { false, FT_BYTE, "Key32" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), KeychainMeta::Instance(), HOTFIX_SEL_KEYCHAIN); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[33] = + { + { false, FT_INT, "ID" }, + { false, FT_BYTE, "Key1" }, + { false, FT_BYTE, "Key2" }, + { false, FT_BYTE, "Key3" }, + { false, FT_BYTE, "Key4" }, + { false, FT_BYTE, "Key5" }, + { false, FT_BYTE, "Key6" }, + { false, FT_BYTE, "Key7" }, + { false, FT_BYTE, "Key8" }, + { false, FT_BYTE, "Key9" }, + { false, FT_BYTE, "Key10" }, + { false, FT_BYTE, "Key11" }, + { false, FT_BYTE, "Key12" }, + { false, FT_BYTE, "Key13" }, + { false, FT_BYTE, "Key14" }, + { false, FT_BYTE, "Key15" }, + { false, FT_BYTE, "Key16" }, + { false, FT_BYTE, "Key17" }, + { false, FT_BYTE, "Key18" }, + { false, FT_BYTE, "Key19" }, + { false, FT_BYTE, "Key20" }, + { false, FT_BYTE, "Key21" }, + { false, FT_BYTE, "Key22" }, + { false, FT_BYTE, "Key23" }, + { false, FT_BYTE, "Key24" }, + { false, FT_BYTE, "Key25" }, + { false, FT_BYTE, "Key26" }, + { false, FT_BYTE, "Key27" }, + { false, FT_BYTE, "Key28" }, + { false, FT_BYTE, "Key29" }, + { false, FT_BYTE, "Key30" }, + { false, FT_BYTE, "Key31" }, + { false, FT_BYTE, "Key32" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 33, &KeychainMeta::Instance, HOTFIX_SEL_KEYCHAIN }; }; struct KeystoneAffixLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Name" }, - { false, FT_STRING, "Description" }, - { false, FT_INT, "ID" }, - { true, FT_INT, "FiledataID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), KeystoneAffixMeta::Instance(), HOTFIX_SEL_KEYSTONE_AFFIX); - return &loadInfo; - } + { false, FT_STRING, "Name" }, + { false, FT_STRING, "Description" }, + { false, FT_INT, "ID" }, + { true, FT_INT, "FiledataID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &KeystoneAffixMeta::Instance, HOTFIX_SEL_KEYSTONE_AFFIX }; }; struct LanguageWordsLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING_NOT_LOCALIZED, "Word" }, - { false, FT_INT, "LanguageID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), LanguageWordsMeta::Instance(), HOTFIX_SEL_LANGUAGE_WORDS); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING_NOT_LOCALIZED, "Word" }, + { false, FT_INT, "LanguageID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &LanguageWordsMeta::Instance, HOTFIX_SEL_LANGUAGE_WORDS }; }; struct LanguagesLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { true, FT_INT, "Flags" }, - { true, FT_INT, "UiTextureKitID" }, - { true, FT_INT, "UiTextureKitElementCount" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), LanguagesMeta::Instance(), HOTFIX_SEL_LANGUAGES); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { true, FT_INT, "Flags" }, + { true, FT_INT, "UiTextureKitID" }, + { true, FT_INT, "UiTextureKitElementCount" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &LanguagesMeta::Instance, HOTFIX_SEL_LANGUAGES }; }; struct LfgDungeonsLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { false, FT_STRING, "Description" }, - { false, FT_BYTE, "TypeID" }, - { true, FT_BYTE, "Subtype" }, - { true, FT_BYTE, "Faction" }, - { true, FT_INT, "IconTextureFileID" }, - { true, FT_INT, "RewardsBgTextureFileID" }, - { true, FT_INT, "PopupBgTextureFileID" }, - { false, FT_BYTE, "ExpansionLevel" }, - { true, FT_SHORT, "MapID" }, - { false, FT_BYTE, "DifficultyID" }, - { false, FT_FLOAT, "MinGear" }, - { false, FT_BYTE, "GroupID" }, - { false, FT_BYTE, "OrderIndex" }, - { false, FT_INT, "RequiredPlayerConditionId" }, - { false, FT_SHORT, "RandomID" }, - { false, FT_SHORT, "ScenarioID" }, - { false, FT_SHORT, "FinalEncounterID" }, - { false, FT_BYTE, "CountTank" }, - { false, FT_BYTE, "CountHealer" }, - { false, FT_BYTE, "CountDamage" }, - { false, FT_BYTE, "MinCountTank" }, - { false, FT_BYTE, "MinCountHealer" }, - { false, FT_BYTE, "MinCountDamage" }, - { false, FT_SHORT, "BonusReputationAmount" }, - { false, FT_SHORT, "MentorItemLevel" }, - { false, FT_BYTE, "MentorCharLevel" }, - { true, FT_INT, "ContentTuningID" }, - { true, FT_INT, "Flags1" }, - { true, FT_INT, "Flags2" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), LFGDungeonsMeta::Instance(), HOTFIX_SEL_LFG_DUNGEONS); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[31] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_STRING, "Description" }, + { false, FT_BYTE, "TypeID" }, + { true, FT_BYTE, "Subtype" }, + { true, FT_BYTE, "Faction" }, + { true, FT_INT, "IconTextureFileID" }, + { true, FT_INT, "RewardsBgTextureFileID" }, + { true, FT_INT, "PopupBgTextureFileID" }, + { false, FT_BYTE, "ExpansionLevel" }, + { true, FT_SHORT, "MapID" }, + { false, FT_BYTE, "DifficultyID" }, + { false, FT_FLOAT, "MinGear" }, + { false, FT_BYTE, "GroupID" }, + { false, FT_BYTE, "OrderIndex" }, + { false, FT_INT, "RequiredPlayerConditionId" }, + { false, FT_SHORT, "RandomID" }, + { false, FT_SHORT, "ScenarioID" }, + { false, FT_SHORT, "FinalEncounterID" }, + { false, FT_BYTE, "CountTank" }, + { false, FT_BYTE, "CountHealer" }, + { false, FT_BYTE, "CountDamage" }, + { false, FT_BYTE, "MinCountTank" }, + { false, FT_BYTE, "MinCountHealer" }, + { false, FT_BYTE, "MinCountDamage" }, + { false, FT_SHORT, "BonusReputationAmount" }, + { false, FT_SHORT, "MentorItemLevel" }, + { false, FT_BYTE, "MentorCharLevel" }, + { true, FT_INT, "ContentTuningID" }, + { true, FT_INT, "Flags1" }, + { true, FT_INT, "Flags2" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 31, &LFGDungeonsMeta::Instance, HOTFIX_SEL_LFG_DUNGEONS }; }; struct LightLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "GameCoordsX" }, - { false, FT_FLOAT, "GameCoordsY" }, - { false, FT_FLOAT, "GameCoordsZ" }, - { false, FT_FLOAT, "GameFalloffStart" }, - { false, FT_FLOAT, "GameFalloffEnd" }, - { true, FT_SHORT, "ContinentID" }, - { false, FT_SHORT, "LightParamsID1" }, - { false, FT_SHORT, "LightParamsID2" }, - { false, FT_SHORT, "LightParamsID3" }, - { false, FT_SHORT, "LightParamsID4" }, - { false, FT_SHORT, "LightParamsID5" }, - { false, FT_SHORT, "LightParamsID6" }, - { false, FT_SHORT, "LightParamsID7" }, - { false, FT_SHORT, "LightParamsID8" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), LightMeta::Instance(), HOTFIX_SEL_LIGHT); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[15] = + { + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "GameCoordsX" }, + { false, FT_FLOAT, "GameCoordsY" }, + { false, FT_FLOAT, "GameCoordsZ" }, + { false, FT_FLOAT, "GameFalloffStart" }, + { false, FT_FLOAT, "GameFalloffEnd" }, + { true, FT_SHORT, "ContinentID" }, + { false, FT_SHORT, "LightParamsID1" }, + { false, FT_SHORT, "LightParamsID2" }, + { false, FT_SHORT, "LightParamsID3" }, + { false, FT_SHORT, "LightParamsID4" }, + { false, FT_SHORT, "LightParamsID5" }, + { false, FT_SHORT, "LightParamsID6" }, + { false, FT_SHORT, "LightParamsID7" }, + { false, FT_SHORT, "LightParamsID8" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 15, &LightMeta::Instance, HOTFIX_SEL_LIGHT }; }; struct LiquidTypeLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING_NOT_LOCALIZED, "Name" }, - { 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_SHORT, "Flags" }, - { false, FT_BYTE, "SoundBank" }, - { false, FT_INT, "SoundID" }, - { false, FT_INT, "SpellID" }, - { false, FT_FLOAT, "MaxDarkenDepth" }, - { false, FT_FLOAT, "FogDarkenIntensity" }, - { false, FT_FLOAT, "AmbDarkenIntensity" }, - { false, FT_FLOAT, "DirDarkenIntensity" }, - { false, FT_SHORT, "LightID" }, - { false, FT_FLOAT, "ParticleScale" }, - { false, FT_BYTE, "ParticleMovement" }, - { false, FT_BYTE, "ParticleTexSlots" }, - { false, FT_BYTE, "MaterialID" }, - { true, FT_INT, "MinimapStaticCol" }, - { false, FT_BYTE, "FrameCountTexture1" }, - { false, FT_BYTE, "FrameCountTexture2" }, - { false, FT_BYTE, "FrameCountTexture3" }, - { false, FT_BYTE, "FrameCountTexture4" }, - { false, FT_BYTE, "FrameCountTexture5" }, - { false, FT_BYTE, "FrameCountTexture6" }, - { true, FT_INT, "Color1" }, - { true, FT_INT, "Color2" }, - { false, FT_FLOAT, "Float1" }, - { false, FT_FLOAT, "Float2" }, - { false, FT_FLOAT, "Float3" }, - { false, FT_FLOAT, "Float4" }, - { false, FT_FLOAT, "Float5" }, - { false, FT_FLOAT, "Float6" }, - { false, FT_FLOAT, "Float7" }, - { false, FT_FLOAT, "Float8" }, - { false, FT_FLOAT, "Float9" }, - { false, FT_FLOAT, "Float10" }, - { false, FT_FLOAT, "Float11" }, - { false, FT_FLOAT, "Float12" }, - { false, FT_FLOAT, "Float13" }, - { false, FT_FLOAT, "Float14" }, - { false, FT_FLOAT, "Float15" }, - { false, FT_FLOAT, "Float16" }, - { false, FT_FLOAT, "Float17" }, - { false, FT_FLOAT, "Float18" }, - { false, FT_INT, "Int1" }, - { false, FT_INT, "Int2" }, - { false, FT_INT, "Int3" }, - { false, FT_INT, "Int4" }, - { false, FT_FLOAT, "Coefficient1" }, - { false, FT_FLOAT, "Coefficient2" }, - { false, FT_FLOAT, "Coefficient3" }, - { false, FT_FLOAT, "Coefficient4" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), LiquidTypeMeta::Instance(), HOTFIX_SEL_LIQUID_TYPE); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[56] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING_NOT_LOCALIZED, "Name" }, + { 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_SHORT, "Flags" }, + { false, FT_BYTE, "SoundBank" }, + { false, FT_INT, "SoundID" }, + { false, FT_INT, "SpellID" }, + { false, FT_FLOAT, "MaxDarkenDepth" }, + { false, FT_FLOAT, "FogDarkenIntensity" }, + { false, FT_FLOAT, "AmbDarkenIntensity" }, + { false, FT_FLOAT, "DirDarkenIntensity" }, + { false, FT_SHORT, "LightID" }, + { false, FT_FLOAT, "ParticleScale" }, + { false, FT_BYTE, "ParticleMovement" }, + { false, FT_BYTE, "ParticleTexSlots" }, + { false, FT_BYTE, "MaterialID" }, + { true, FT_INT, "MinimapStaticCol" }, + { false, FT_BYTE, "FrameCountTexture1" }, + { false, FT_BYTE, "FrameCountTexture2" }, + { false, FT_BYTE, "FrameCountTexture3" }, + { false, FT_BYTE, "FrameCountTexture4" }, + { false, FT_BYTE, "FrameCountTexture5" }, + { false, FT_BYTE, "FrameCountTexture6" }, + { true, FT_INT, "Color1" }, + { true, FT_INT, "Color2" }, + { false, FT_FLOAT, "Float1" }, + { false, FT_FLOAT, "Float2" }, + { false, FT_FLOAT, "Float3" }, + { false, FT_FLOAT, "Float4" }, + { false, FT_FLOAT, "Float5" }, + { false, FT_FLOAT, "Float6" }, + { false, FT_FLOAT, "Float7" }, + { false, FT_FLOAT, "Float8" }, + { false, FT_FLOAT, "Float9" }, + { false, FT_FLOAT, "Float10" }, + { false, FT_FLOAT, "Float11" }, + { false, FT_FLOAT, "Float12" }, + { false, FT_FLOAT, "Float13" }, + { false, FT_FLOAT, "Float14" }, + { false, FT_FLOAT, "Float15" }, + { false, FT_FLOAT, "Float16" }, + { false, FT_FLOAT, "Float17" }, + { false, FT_FLOAT, "Float18" }, + { false, FT_INT, "Int1" }, + { false, FT_INT, "Int2" }, + { false, FT_INT, "Int3" }, + { false, FT_INT, "Int4" }, + { false, FT_FLOAT, "Coefficient1" }, + { false, FT_FLOAT, "Coefficient2" }, + { false, FT_FLOAT, "Coefficient3" }, + { false, FT_FLOAT, "Coefficient4" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 56, &LiquidTypeMeta::Instance, HOTFIX_SEL_LIQUID_TYPE }; }; struct LockLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "Flags" }, - { true, FT_INT, "Index1" }, - { true, FT_INT, "Index2" }, - { true, FT_INT, "Index3" }, - { true, FT_INT, "Index4" }, - { true, FT_INT, "Index5" }, - { true, FT_INT, "Index6" }, - { true, FT_INT, "Index7" }, - { true, FT_INT, "Index8" }, - { false, FT_SHORT, "Skill1" }, - { false, FT_SHORT, "Skill2" }, - { false, FT_SHORT, "Skill3" }, - { false, FT_SHORT, "Skill4" }, - { false, FT_SHORT, "Skill5" }, - { false, FT_SHORT, "Skill6" }, - { false, FT_SHORT, "Skill7" }, - { false, FT_SHORT, "Skill8" }, - { false, FT_BYTE, "Type1" }, - { false, FT_BYTE, "Type2" }, - { false, FT_BYTE, "Type3" }, - { false, FT_BYTE, "Type4" }, - { false, FT_BYTE, "Type5" }, - { false, FT_BYTE, "Type6" }, - { false, FT_BYTE, "Type7" }, - { false, FT_BYTE, "Type8" }, - { false, FT_BYTE, "Action1" }, - { false, FT_BYTE, "Action2" }, - { false, FT_BYTE, "Action3" }, - { false, FT_BYTE, "Action4" }, - { false, FT_BYTE, "Action5" }, - { false, FT_BYTE, "Action6" }, - { false, FT_BYTE, "Action7" }, - { false, FT_BYTE, "Action8" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), LockMeta::Instance(), HOTFIX_SEL_LOCK); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[34] = + { + { false, FT_INT, "ID" }, + { true, FT_INT, "Flags" }, + { true, FT_INT, "Index1" }, + { true, FT_INT, "Index2" }, + { true, FT_INT, "Index3" }, + { true, FT_INT, "Index4" }, + { true, FT_INT, "Index5" }, + { true, FT_INT, "Index6" }, + { true, FT_INT, "Index7" }, + { true, FT_INT, "Index8" }, + { false, FT_SHORT, "Skill1" }, + { false, FT_SHORT, "Skill2" }, + { false, FT_SHORT, "Skill3" }, + { false, FT_SHORT, "Skill4" }, + { false, FT_SHORT, "Skill5" }, + { false, FT_SHORT, "Skill6" }, + { false, FT_SHORT, "Skill7" }, + { false, FT_SHORT, "Skill8" }, + { false, FT_BYTE, "Type1" }, + { false, FT_BYTE, "Type2" }, + { false, FT_BYTE, "Type3" }, + { false, FT_BYTE, "Type4" }, + { false, FT_BYTE, "Type5" }, + { false, FT_BYTE, "Type6" }, + { false, FT_BYTE, "Type7" }, + { false, FT_BYTE, "Type8" }, + { false, FT_BYTE, "Action1" }, + { false, FT_BYTE, "Action2" }, + { false, FT_BYTE, "Action3" }, + { false, FT_BYTE, "Action4" }, + { false, FT_BYTE, "Action5" }, + { false, FT_BYTE, "Action6" }, + { false, FT_BYTE, "Action7" }, + { false, FT_BYTE, "Action8" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 34, &LockMeta::Instance, HOTFIX_SEL_LOCK }; }; struct MailTemplateLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[2] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Body" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), MailTemplateMeta::Instance(), HOTFIX_SEL_MAIL_TEMPLATE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "Body" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 2, &MailTemplateMeta::Instance, HOTFIX_SEL_MAIL_TEMPLATE }; }; struct MapLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING_NOT_LOCALIZED, "Directory" }, - { false, FT_STRING, "MapName" }, - { false, FT_STRING, "MapDescription0" }, - { false, FT_STRING, "MapDescription1" }, - { false, FT_STRING, "PvpShortDescription" }, - { false, FT_STRING, "PvpLongDescription" }, - { false, FT_FLOAT, "CorpseX" }, - { false, FT_FLOAT, "CorpseY" }, - { false, FT_BYTE, "MapType" }, - { true, FT_BYTE, "InstanceType" }, - { false, FT_BYTE, "ExpansionID" }, - { false, FT_SHORT, "AreaTableID" }, - { true, FT_SHORT, "LoadingScreenID" }, - { true, FT_SHORT, "TimeOfDayOverride" }, - { true, FT_SHORT, "ParentMapID" }, - { true, FT_SHORT, "CosmeticParentMapID" }, - { false, FT_BYTE, "TimeOffset" }, - { false, FT_FLOAT, "MinimapIconScale" }, - { true, FT_SHORT, "CorpseMapID" }, - { false, FT_BYTE, "MaxPlayers" }, - { true, FT_SHORT, "WindSettingsID" }, - { true, FT_INT, "ZmpFileDataID" }, - { true, FT_INT, "WdtFileDataID" }, - { true, FT_INT, "NavigationMaxDistance" }, - { true, FT_INT, "Flags1" }, - { true, FT_INT, "Flags2" }, - { true, FT_INT, "Flags3" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), MapMeta::Instance(), HOTFIX_SEL_MAP); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[28] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING_NOT_LOCALIZED, "Directory" }, + { false, FT_STRING, "MapName" }, + { false, FT_STRING, "MapDescription0" }, + { false, FT_STRING, "MapDescription1" }, + { false, FT_STRING, "PvpShortDescription" }, + { false, FT_STRING, "PvpLongDescription" }, + { false, FT_FLOAT, "CorpseX" }, + { false, FT_FLOAT, "CorpseY" }, + { false, FT_BYTE, "MapType" }, + { true, FT_BYTE, "InstanceType" }, + { false, FT_BYTE, "ExpansionID" }, + { false, FT_SHORT, "AreaTableID" }, + { true, FT_SHORT, "LoadingScreenID" }, + { true, FT_SHORT, "TimeOfDayOverride" }, + { true, FT_SHORT, "ParentMapID" }, + { true, FT_SHORT, "CosmeticParentMapID" }, + { false, FT_BYTE, "TimeOffset" }, + { false, FT_FLOAT, "MinimapIconScale" }, + { true, FT_SHORT, "CorpseMapID" }, + { false, FT_BYTE, "MaxPlayers" }, + { true, FT_SHORT, "WindSettingsID" }, + { true, FT_INT, "ZmpFileDataID" }, + { true, FT_INT, "WdtFileDataID" }, + { true, FT_INT, "NavigationMaxDistance" }, + { true, FT_INT, "Flags1" }, + { true, FT_INT, "Flags2" }, + { true, FT_INT, "Flags3" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 28, &MapMeta::Instance, HOTFIX_SEL_MAP }; }; struct MapChallengeModeLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Name" }, - { false, FT_INT, "ID" }, - { false, FT_SHORT, "MapID" }, - { false, FT_BYTE, "Flags" }, - { false, FT_INT, "ExpansionLevel" }, - { true, FT_INT, "RequiredWorldStateID" }, - { true, FT_SHORT, "CriteriaCount1" }, - { true, FT_SHORT, "CriteriaCount2" }, - { true, FT_SHORT, "CriteriaCount3" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), MapChallengeModeMeta::Instance(), HOTFIX_SEL_MAP_CHALLENGE_MODE); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[9] = + { + { false, FT_STRING, "Name" }, + { false, FT_INT, "ID" }, + { false, FT_SHORT, "MapID" }, + { false, FT_BYTE, "Flags" }, + { false, FT_INT, "ExpansionLevel" }, + { true, FT_INT, "RequiredWorldStateID" }, + { true, FT_SHORT, "CriteriaCount1" }, + { true, FT_SHORT, "CriteriaCount2" }, + { true, FT_SHORT, "CriteriaCount3" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 9, &MapChallengeModeMeta::Instance, HOTFIX_SEL_MAP_CHALLENGE_MODE }; }; struct MapDifficultyLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Message" }, - { true, FT_INT, "DifficultyID" }, - { true, FT_INT, "LockID" }, - { true, FT_BYTE, "ResetInterval" }, - { true, FT_INT, "MaxPlayers" }, - { true, FT_INT, "ItemContext" }, - { true, FT_INT, "ItemContextPickerID" }, - { true, FT_INT, "Flags" }, - { true, FT_INT, "ContentTuningID" }, - { false, FT_INT, "MapID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), MapDifficultyMeta::Instance(), HOTFIX_SEL_MAP_DIFFICULTY); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[11] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "Message" }, + { true, FT_INT, "DifficultyID" }, + { true, FT_INT, "LockID" }, + { true, FT_BYTE, "ResetInterval" }, + { true, FT_INT, "MaxPlayers" }, + { true, FT_INT, "ItemContext" }, + { true, FT_INT, "ItemContextPickerID" }, + { true, FT_INT, "Flags" }, + { true, FT_INT, "ContentTuningID" }, + { false, FT_INT, "MapID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 11, &MapDifficultyMeta::Instance, HOTFIX_SEL_MAP_DIFFICULTY }; }; struct MapDifficultyXConditionLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "FailureDescription" }, - { false, FT_INT, "PlayerConditionID" }, - { true, FT_INT, "OrderIndex" }, - { false, FT_INT, "MapDifficultyID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), MapDifficultyXConditionMeta::Instance(), HOTFIX_SEL_MAP_DIFFICULTY_X_CONDITION); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "FailureDescription" }, + { false, FT_INT, "PlayerConditionID" }, + { true, FT_INT, "OrderIndex" }, + { false, FT_INT, "MapDifficultyID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &MapDifficultyXConditionMeta::Instance, HOTFIX_SEL_MAP_DIFFICULTY_X_CONDITION }; }; struct MawPowerLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "SpellID" }, - { true, FT_INT, "MawPowerRarityID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), MawPowerMeta::Instance(), HOTFIX_SEL_MAW_POWER); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "SpellID" }, + { true, FT_INT, "MawPowerRarityID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &MawPowerMeta::Instance, HOTFIX_SEL_MAW_POWER }; }; struct ModifierTreeLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[8] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_INT, "Parent" }, - { true, FT_BYTE, "Operator" }, - { true, FT_BYTE, "Amount" }, - { true, FT_INT, "Type" }, - { true, FT_INT, "Asset" }, - { true, FT_INT, "SecondaryAsset" }, - { true, FT_INT, "TertiaryAsset" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ModifierTreeMeta::Instance(), HOTFIX_SEL_MODIFIER_TREE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_INT, "Parent" }, + { true, FT_BYTE, "Operator" }, + { true, FT_BYTE, "Amount" }, + { true, FT_INT, "Type" }, + { true, FT_INT, "Asset" }, + { true, FT_INT, "SecondaryAsset" }, + { true, FT_INT, "TertiaryAsset" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 8, &ModifierTreeMeta::Instance, HOTFIX_SEL_MODIFIER_TREE }; }; struct MountLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Name" }, - { false, FT_STRING, "SourceText" }, - { false, FT_STRING, "Description" }, - { false, FT_INT, "ID" }, - { false, FT_SHORT, "MountTypeID" }, - { false, FT_SHORT, "Flags" }, - { true, FT_BYTE, "SourceTypeEnum" }, - { true, FT_INT, "SourceSpellID" }, - { false, FT_INT, "PlayerConditionID" }, - { false, FT_FLOAT, "MountFlyRideHeight" }, - { true, FT_INT, "UiModelSceneID" }, - { true, FT_INT, "MountSpecialRiderAnimKitID" }, - { true, FT_INT, "MountSpecialSpellVisualKitID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), MountMeta::Instance(), HOTFIX_SEL_MOUNT); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[13] = + { + { false, FT_STRING, "Name" }, + { false, FT_STRING, "SourceText" }, + { false, FT_STRING, "Description" }, + { false, FT_INT, "ID" }, + { false, FT_SHORT, "MountTypeID" }, + { false, FT_SHORT, "Flags" }, + { true, FT_BYTE, "SourceTypeEnum" }, + { true, FT_INT, "SourceSpellID" }, + { false, FT_INT, "PlayerConditionID" }, + { false, FT_FLOAT, "MountFlyRideHeight" }, + { true, FT_INT, "UiModelSceneID" }, + { true, FT_INT, "MountSpecialRiderAnimKitID" }, + { true, FT_INT, "MountSpecialSpellVisualKitID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 13, &MountMeta::Instance, HOTFIX_SEL_MOUNT }; }; struct MountCapabilityLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "Flags" }, - { false, FT_SHORT, "ReqRidingSkill" }, - { false, FT_SHORT, "ReqAreaID" }, - { false, FT_INT, "ReqSpellAuraID" }, - { true, FT_INT, "ReqSpellKnownID" }, - { true, FT_INT, "ModSpellAuraID" }, - { true, FT_SHORT, "ReqMapID" }, - { true, FT_INT, "PlayerConditionID" }, - { true, FT_INT, "FlightCapabilityID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), MountCapabilityMeta::Instance(), HOTFIX_SEL_MOUNT_CAPABILITY); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[10] = + { + { false, FT_INT, "ID" }, + { false, FT_BYTE, "Flags" }, + { false, FT_SHORT, "ReqRidingSkill" }, + { false, FT_SHORT, "ReqAreaID" }, + { false, FT_INT, "ReqSpellAuraID" }, + { true, FT_INT, "ReqSpellKnownID" }, + { true, FT_INT, "ModSpellAuraID" }, + { true, FT_SHORT, "ReqMapID" }, + { true, FT_INT, "PlayerConditionID" }, + { true, FT_INT, "FlightCapabilityID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 10, &MountCapabilityMeta::Instance, HOTFIX_SEL_MOUNT_CAPABILITY }; }; struct MountTypeXCapabilityLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "MountTypeID" }, - { false, FT_SHORT, "MountCapabilityID" }, - { false, FT_BYTE, "OrderIndex" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), MountTypeXCapabilityMeta::Instance(), HOTFIX_SEL_MOUNT_TYPE_X_CAPABILITY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_SHORT, "MountTypeID" }, + { false, FT_SHORT, "MountCapabilityID" }, + { false, FT_BYTE, "OrderIndex" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &MountTypeXCapabilityMeta::Instance, HOTFIX_SEL_MOUNT_TYPE_X_CAPABILITY }; }; struct MountXDisplayLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "CreatureDisplayInfoID" }, - { false, FT_INT, "PlayerConditionID" }, - { false, FT_INT, "MountID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), MountXDisplayMeta::Instance(), HOTFIX_SEL_MOUNT_X_DISPLAY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "CreatureDisplayInfoID" }, + { false, FT_INT, "PlayerConditionID" }, + { false, FT_INT, "MountID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &MountXDisplayMeta::Instance, HOTFIX_SEL_MOUNT_X_DISPLAY }; }; struct MovieLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "Volume" }, - { false, FT_BYTE, "KeyID" }, - { false, FT_INT, "AudioFileDataID" }, - { false, FT_INT, "SubtitleFileDataID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), MovieMeta::Instance(), HOTFIX_SEL_MOVIE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_BYTE, "Volume" }, + { false, FT_BYTE, "KeyID" }, + { false, FT_INT, "AudioFileDataID" }, + { false, FT_INT, "SubtitleFileDataID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &MovieMeta::Instance, HOTFIX_SEL_MOVIE }; }; struct NameGenLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING_NOT_LOCALIZED, "Name" }, - { false, FT_BYTE, "RaceID" }, - { false, FT_BYTE, "Sex" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), NameGenMeta::Instance(), HOTFIX_SEL_NAME_GEN); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING_NOT_LOCALIZED, "Name" }, + { false, FT_BYTE, "RaceID" }, + { false, FT_BYTE, "Sex" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &NameGenMeta::Instance, HOTFIX_SEL_NAME_GEN }; }; struct NamesProfanityLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING_NOT_LOCALIZED, "Name" }, - { true, FT_BYTE, "Language" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), NamesProfanityMeta::Instance(), HOTFIX_SEL_NAMES_PROFANITY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING_NOT_LOCALIZED, "Name" }, + { true, FT_BYTE, "Language" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &NamesProfanityMeta::Instance, HOTFIX_SEL_NAMES_PROFANITY }; }; struct NamesReservedLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[2] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING_NOT_LOCALIZED, "Name" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), NamesReservedMeta::Instance(), HOTFIX_SEL_NAMES_RESERVED); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING_NOT_LOCALIZED, "Name" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 2, &NamesReservedMeta::Instance, HOTFIX_SEL_NAMES_RESERVED }; }; struct NamesReservedLocaleLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING_NOT_LOCALIZED, "Name" }, - { false, FT_BYTE, "LocaleMask" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), NamesReservedLocaleMeta::Instance(), HOTFIX_SEL_NAMES_RESERVED); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING_NOT_LOCALIZED, "Name" }, + { false, FT_BYTE, "LocaleMask" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &NamesReservedLocaleMeta::Instance, HOTFIX_SEL_NAMES_RESERVED }; }; struct NumTalentsAtLevelLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "NumTalents" }, - { true, FT_INT, "NumTalentsDeathKnight" }, - { true, FT_INT, "NumTalentsDemonHunter" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), NumTalentsAtLevelMeta::Instance(), HOTFIX_SEL_NUM_TALENTS_AT_LEVEL); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "NumTalents" }, + { true, FT_INT, "NumTalentsDeathKnight" }, + { true, FT_INT, "NumTalentsDemonHunter" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &NumTalentsAtLevelMeta::Instance, HOTFIX_SEL_NUM_TALENTS_AT_LEVEL }; }; struct OverrideSpellDataLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "Spells1" }, - { true, FT_INT, "Spells2" }, - { true, FT_INT, "Spells3" }, - { true, FT_INT, "Spells4" }, - { true, FT_INT, "Spells5" }, - { true, FT_INT, "Spells6" }, - { true, FT_INT, "Spells7" }, - { true, FT_INT, "Spells8" }, - { true, FT_INT, "Spells9" }, - { true, FT_INT, "Spells10" }, - { true, FT_INT, "PlayerActionBarFileDataID" }, - { false, FT_BYTE, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), OverrideSpellDataMeta::Instance(), HOTFIX_SEL_OVERRIDE_SPELL_DATA); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[13] = + { + { false, FT_INT, "ID" }, + { true, FT_INT, "Spells1" }, + { true, FT_INT, "Spells2" }, + { true, FT_INT, "Spells3" }, + { true, FT_INT, "Spells4" }, + { true, FT_INT, "Spells5" }, + { true, FT_INT, "Spells6" }, + { true, FT_INT, "Spells7" }, + { true, FT_INT, "Spells8" }, + { true, FT_INT, "Spells9" }, + { true, FT_INT, "Spells10" }, + { true, FT_INT, "PlayerActionBarFileDataID" }, + { false, FT_BYTE, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 13, &OverrideSpellDataMeta::Instance, HOTFIX_SEL_OVERRIDE_SPELL_DATA }; }; struct ParagonReputationLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "FactionID" }, - { true, FT_INT, "LevelThreshold" }, - { true, FT_INT, "QuestID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ParagonReputationMeta::Instance(), HOTFIX_SEL_PARAGON_REPUTATION); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "FactionID" }, + { true, FT_INT, "LevelThreshold" }, + { true, FT_INT, "QuestID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &ParagonReputationMeta::Instance, HOTFIX_SEL_PARAGON_REPUTATION }; }; struct PhaseLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[2] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), PhaseMeta::Instance(), HOTFIX_SEL_PHASE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_SHORT, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 2, &PhaseMeta::Instance, HOTFIX_SEL_PHASE }; }; struct PhaseXPhaseGroupLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "PhaseID" }, - { false, FT_INT, "PhaseGroupID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), PhaseXPhaseGroupMeta::Instance(), HOTFIX_SEL_PHASE_X_PHASE_GROUP); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_SHORT, "PhaseID" }, + { false, FT_INT, "PhaseGroupID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &PhaseXPhaseGroupMeta::Instance, HOTFIX_SEL_PHASE_X_PHASE_GROUP }; }; struct PlayerConditionLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_LONG, "RaceMask" }, - { false, FT_STRING, "FailureDescription" }, - { true, FT_INT, "ClassMask" }, - { false, FT_INT, "SkillLogic" }, - { true, FT_INT, "LanguageID" }, - { false, FT_BYTE, "MinLanguage" }, - { true, FT_INT, "MaxLanguage" }, - { false, FT_SHORT, "MaxFactionID" }, - { false, FT_BYTE, "MaxReputation" }, - { false, FT_INT, "ReputationLogic" }, - { true, FT_BYTE, "CurrentPvpFaction" }, - { false, FT_BYTE, "PvpMedal" }, - { false, FT_INT, "PrevQuestLogic" }, - { false, FT_INT, "CurrQuestLogic" }, - { false, FT_INT, "CurrentCompletedQuestLogic" }, - { false, FT_INT, "SpellLogic" }, - { false, FT_INT, "ItemLogic" }, - { false, FT_BYTE, "ItemFlags" }, - { false, FT_INT, "AuraSpellLogic" }, - { false, FT_SHORT, "WorldStateExpressionID" }, - { true, FT_INT, "WeatherID" }, - { false, FT_BYTE, "PartyStatus" }, - { false, FT_BYTE, "LifetimeMaxPVPRank" }, - { false, FT_INT, "AchievementLogic" }, - { true, FT_BYTE, "Gender" }, - { true, FT_BYTE, "NativeGender" }, - { false, FT_INT, "AreaLogic" }, - { false, FT_INT, "LfgLogic" }, - { false, FT_INT, "CurrencyLogic" }, - { true, FT_INT, "QuestKillID" }, - { false, FT_INT, "QuestKillLogic" }, - { true, FT_BYTE, "MinExpansionLevel" }, - { true, FT_BYTE, "MaxExpansionLevel" }, - { true, FT_INT, "MinAvgItemLevel" }, - { true, FT_INT, "MaxAvgItemLevel" }, - { false, FT_SHORT, "MinAvgEquippedItemLevel" }, - { false, FT_SHORT, "MaxAvgEquippedItemLevel" }, - { false, FT_BYTE, "PhaseUseFlags" }, - { false, FT_SHORT, "PhaseID" }, - { false, FT_INT, "PhaseGroupID" }, - { true, FT_INT, "Flags" }, - { true, FT_BYTE, "ChrSpecializationIndex" }, - { true, FT_BYTE, "ChrSpecializationRole" }, - { false, FT_INT, "ModifierTreeID" }, - { true, FT_BYTE, "PowerType" }, - { false, FT_BYTE, "PowerTypeComp" }, - { false, FT_BYTE, "PowerTypeValue" }, - { true, FT_INT, "WeaponSubclassMask" }, - { false, FT_BYTE, "MaxGuildLevel" }, - { false, FT_BYTE, "MinGuildLevel" }, - { true, FT_BYTE, "MaxExpansionTier" }, - { true, FT_BYTE, "MinExpansionTier" }, - { false, FT_BYTE, "MinPVPRank" }, - { false, FT_BYTE, "MaxPVPRank" }, - { true, FT_INT, "ContentTuningID" }, - { true, FT_INT, "CovenantID" }, - { false, FT_INT, "TraitNodeEntryLogic" }, - { 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" }, - { true, FT_INT, "PrevQuestID1" }, - { true, FT_INT, "PrevQuestID2" }, - { true, FT_INT, "PrevQuestID3" }, - { true, FT_INT, "PrevQuestID4" }, - { true, FT_INT, "CurrQuestID1" }, - { true, FT_INT, "CurrQuestID2" }, - { true, FT_INT, "CurrQuestID3" }, - { true, FT_INT, "CurrQuestID4" }, - { true, FT_INT, "CurrentCompletedQuestID1" }, - { true, FT_INT, "CurrentCompletedQuestID2" }, - { true, FT_INT, "CurrentCompletedQuestID3" }, - { true, FT_INT, "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" }, - { true, FT_INT, "AuraSpellID1" }, - { true, FT_INT, "AuraSpellID2" }, - { true, FT_INT, "AuraSpellID3" }, - { true, FT_INT, "AuraSpellID4" }, - { false, FT_BYTE, "AuraStacks1" }, - { false, FT_BYTE, "AuraStacks2" }, - { false, FT_BYTE, "AuraStacks3" }, - { false, FT_BYTE, "AuraStacks4" }, - { 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_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_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" }, - { true, FT_INT, "TraitNodeEntryID1" }, - { true, FT_INT, "TraitNodeEntryID2" }, - { true, FT_INT, "TraitNodeEntryID3" }, - { true, FT_INT, "TraitNodeEntryID4" }, - { false, FT_SHORT, "TraitNodeEntryMinRank1" }, - { false, FT_SHORT, "TraitNodeEntryMinRank2" }, - { false, FT_SHORT, "TraitNodeEntryMinRank3" }, - { false, FT_SHORT, "TraitNodeEntryMinRank4" }, - { false, FT_SHORT, "TraitNodeEntryMaxRank1" }, - { false, FT_SHORT, "TraitNodeEntryMaxRank2" }, - { false, FT_SHORT, "TraitNodeEntryMaxRank3" }, - { false, FT_SHORT, "TraitNodeEntryMaxRank4" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), PlayerConditionMeta::Instance(), HOTFIX_SEL_PLAYER_CONDITION); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[160] = + { + { false, FT_INT, "ID" }, + { true, FT_LONG, "RaceMask" }, + { false, FT_STRING, "FailureDescription" }, + { true, FT_INT, "ClassMask" }, + { false, FT_INT, "SkillLogic" }, + { true, FT_INT, "LanguageID" }, + { false, FT_BYTE, "MinLanguage" }, + { true, FT_INT, "MaxLanguage" }, + { false, FT_SHORT, "MaxFactionID" }, + { false, FT_BYTE, "MaxReputation" }, + { false, FT_INT, "ReputationLogic" }, + { true, FT_BYTE, "CurrentPvpFaction" }, + { false, FT_BYTE, "PvpMedal" }, + { false, FT_INT, "PrevQuestLogic" }, + { false, FT_INT, "CurrQuestLogic" }, + { false, FT_INT, "CurrentCompletedQuestLogic" }, + { false, FT_INT, "SpellLogic" }, + { false, FT_INT, "ItemLogic" }, + { false, FT_BYTE, "ItemFlags" }, + { false, FT_INT, "AuraSpellLogic" }, + { false, FT_SHORT, "WorldStateExpressionID" }, + { true, FT_INT, "WeatherID" }, + { false, FT_BYTE, "PartyStatus" }, + { false, FT_BYTE, "LifetimeMaxPVPRank" }, + { false, FT_INT, "AchievementLogic" }, + { true, FT_BYTE, "Gender" }, + { true, FT_BYTE, "NativeGender" }, + { false, FT_INT, "AreaLogic" }, + { false, FT_INT, "LfgLogic" }, + { false, FT_INT, "CurrencyLogic" }, + { true, FT_INT, "QuestKillID" }, + { false, FT_INT, "QuestKillLogic" }, + { true, FT_BYTE, "MinExpansionLevel" }, + { true, FT_BYTE, "MaxExpansionLevel" }, + { true, FT_INT, "MinAvgItemLevel" }, + { true, FT_INT, "MaxAvgItemLevel" }, + { false, FT_SHORT, "MinAvgEquippedItemLevel" }, + { false, FT_SHORT, "MaxAvgEquippedItemLevel" }, + { false, FT_BYTE, "PhaseUseFlags" }, + { false, FT_SHORT, "PhaseID" }, + { false, FT_INT, "PhaseGroupID" }, + { true, FT_INT, "Flags" }, + { true, FT_BYTE, "ChrSpecializationIndex" }, + { true, FT_BYTE, "ChrSpecializationRole" }, + { false, FT_INT, "ModifierTreeID" }, + { true, FT_BYTE, "PowerType" }, + { false, FT_BYTE, "PowerTypeComp" }, + { false, FT_BYTE, "PowerTypeValue" }, + { true, FT_INT, "WeaponSubclassMask" }, + { false, FT_BYTE, "MaxGuildLevel" }, + { false, FT_BYTE, "MinGuildLevel" }, + { true, FT_BYTE, "MaxExpansionTier" }, + { true, FT_BYTE, "MinExpansionTier" }, + { false, FT_BYTE, "MinPVPRank" }, + { false, FT_BYTE, "MaxPVPRank" }, + { true, FT_INT, "ContentTuningID" }, + { true, FT_INT, "CovenantID" }, + { false, FT_INT, "TraitNodeEntryLogic" }, + { 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" }, + { true, FT_INT, "PrevQuestID1" }, + { true, FT_INT, "PrevQuestID2" }, + { true, FT_INT, "PrevQuestID3" }, + { true, FT_INT, "PrevQuestID4" }, + { true, FT_INT, "CurrQuestID1" }, + { true, FT_INT, "CurrQuestID2" }, + { true, FT_INT, "CurrQuestID3" }, + { true, FT_INT, "CurrQuestID4" }, + { true, FT_INT, "CurrentCompletedQuestID1" }, + { true, FT_INT, "CurrentCompletedQuestID2" }, + { true, FT_INT, "CurrentCompletedQuestID3" }, + { true, FT_INT, "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" }, + { true, FT_INT, "AuraSpellID1" }, + { true, FT_INT, "AuraSpellID2" }, + { true, FT_INT, "AuraSpellID3" }, + { true, FT_INT, "AuraSpellID4" }, + { false, FT_BYTE, "AuraStacks1" }, + { false, FT_BYTE, "AuraStacks2" }, + { false, FT_BYTE, "AuraStacks3" }, + { false, FT_BYTE, "AuraStacks4" }, + { 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_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_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" }, + { true, FT_INT, "TraitNodeEntryID1" }, + { true, FT_INT, "TraitNodeEntryID2" }, + { true, FT_INT, "TraitNodeEntryID3" }, + { true, FT_INT, "TraitNodeEntryID4" }, + { false, FT_SHORT, "TraitNodeEntryMinRank1" }, + { false, FT_SHORT, "TraitNodeEntryMinRank2" }, + { false, FT_SHORT, "TraitNodeEntryMinRank3" }, + { false, FT_SHORT, "TraitNodeEntryMinRank4" }, + { false, FT_SHORT, "TraitNodeEntryMaxRank1" }, + { false, FT_SHORT, "TraitNodeEntryMaxRank2" }, + { false, FT_SHORT, "TraitNodeEntryMaxRank3" }, + { false, FT_SHORT, "TraitNodeEntryMaxRank4" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 160, &PlayerConditionMeta::Instance, HOTFIX_SEL_PLAYER_CONDITION }; }; struct PowerDisplayLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[6] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING_NOT_LOCALIZED, "GlobalStringBaseTag" }, - { false, FT_BYTE, "ActualType" }, - { false, FT_BYTE, "Red" }, - { false, FT_BYTE, "Green" }, - { false, FT_BYTE, "Blue" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), PowerDisplayMeta::Instance(), HOTFIX_SEL_POWER_DISPLAY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING_NOT_LOCALIZED, "GlobalStringBaseTag" }, + { false, FT_BYTE, "ActualType" }, + { false, FT_BYTE, "Red" }, + { false, FT_BYTE, "Green" }, + { false, FT_BYTE, "Blue" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 6, &PowerDisplayMeta::Instance, HOTFIX_SEL_POWER_DISPLAY }; }; struct PowerTypeLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING_NOT_LOCALIZED, "NameGlobalStringTag" }, - { false, FT_STRING_NOT_LOCALIZED, "CostGlobalStringTag" }, - { false, FT_INT, "ID" }, - { true, FT_BYTE, "PowerTypeEnum" }, - { true, FT_INT, "MinPower" }, - { true, FT_INT, "MaxBasePower" }, - { true, FT_INT, "CenterPower" }, - { true, FT_INT, "DefaultPower" }, - { true, FT_INT, "DisplayModifier" }, - { true, FT_INT, "RegenInterruptTimeMS" }, - { false, FT_FLOAT, "RegenPeace" }, - { false, FT_FLOAT, "RegenCombat" }, - { true, FT_SHORT, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), PowerTypeMeta::Instance(), HOTFIX_SEL_POWER_TYPE); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[13] = + { + { false, FT_STRING_NOT_LOCALIZED, "NameGlobalStringTag" }, + { false, FT_STRING_NOT_LOCALIZED, "CostGlobalStringTag" }, + { false, FT_INT, "ID" }, + { true, FT_BYTE, "PowerTypeEnum" }, + { true, FT_INT, "MinPower" }, + { true, FT_INT, "MaxBasePower" }, + { true, FT_INT, "CenterPower" }, + { true, FT_INT, "DefaultPower" }, + { true, FT_INT, "DisplayModifier" }, + { true, FT_INT, "RegenInterruptTimeMS" }, + { false, FT_FLOAT, "RegenPeace" }, + { false, FT_FLOAT, "RegenCombat" }, + { true, FT_SHORT, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 13, &PowerTypeMeta::Instance, HOTFIX_SEL_POWER_TYPE }; }; struct PrestigeLevelInfoLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[6] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { true, FT_INT, "PrestigeLevel" }, - { true, FT_INT, "BadgeTextureFileDataID" }, - { false, FT_BYTE, "Flags" }, - { true, FT_INT, "AwardedAchievementID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), PrestigeLevelInfoMeta::Instance(), HOTFIX_SEL_PRESTIGE_LEVEL_INFO); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { true, FT_INT, "PrestigeLevel" }, + { true, FT_INT, "BadgeTextureFileDataID" }, + { false, FT_BYTE, "Flags" }, + { true, FT_INT, "AwardedAchievementID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 6, &PrestigeLevelInfoMeta::Instance, HOTFIX_SEL_PRESTIGE_LEVEL_INFO }; }; struct PvpDifficultyLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "RangeIndex" }, - { false, FT_BYTE, "MinLevel" }, - { false, FT_BYTE, "MaxLevel" }, - { false, FT_INT, "MapID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), PVPDifficultyMeta::Instance(), HOTFIX_SEL_PVP_DIFFICULTY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_BYTE, "RangeIndex" }, + { false, FT_BYTE, "MinLevel" }, + { false, FT_BYTE, "MaxLevel" }, + { false, FT_INT, "MapID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &PVPDifficultyMeta::Instance, HOTFIX_SEL_PVP_DIFFICULTY }; }; struct PvpItemLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "ItemID" }, - { false, FT_BYTE, "ItemLevelDelta" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), PVPItemMeta::Instance(), HOTFIX_SEL_PVP_ITEM); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "ItemID" }, + { false, FT_BYTE, "ItemLevelDelta" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &PVPItemMeta::Instance, HOTFIX_SEL_PVP_ITEM }; }; struct PvpTalentLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Description" }, - { false, FT_INT, "ID" }, - { true, FT_INT, "SpecID" }, - { true, FT_INT, "SpellID" }, - { true, FT_INT, "OverridesSpellID" }, - { true, FT_INT, "Flags" }, - { true, FT_INT, "ActionBarSpellID" }, - { true, FT_INT, "PvpTalentCategoryID" }, - { true, FT_INT, "LevelRequired" }, - { true, FT_INT, "PlayerConditionID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), PvpTalentMeta::Instance(), HOTFIX_SEL_PVP_TALENT); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[10] = + { + { false, FT_STRING, "Description" }, + { false, FT_INT, "ID" }, + { true, FT_INT, "SpecID" }, + { true, FT_INT, "SpellID" }, + { true, FT_INT, "OverridesSpellID" }, + { true, FT_INT, "Flags" }, + { true, FT_INT, "ActionBarSpellID" }, + { true, FT_INT, "PvpTalentCategoryID" }, + { true, FT_INT, "LevelRequired" }, + { true, FT_INT, "PlayerConditionID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 10, &PvpTalentMeta::Instance, HOTFIX_SEL_PVP_TALENT }; }; struct PvpTalentCategoryLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[2] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "TalentSlotMask" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), PvpTalentCategoryMeta::Instance(), HOTFIX_SEL_PVP_TALENT_CATEGORY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_BYTE, "TalentSlotMask" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 2, &PvpTalentCategoryMeta::Instance, HOTFIX_SEL_PVP_TALENT_CATEGORY }; }; struct PvpTalentSlotUnlockLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_BYTE, "Slot" }, - { true, FT_INT, "LevelRequired" }, - { true, FT_INT, "DeathKnightLevelRequired" }, - { true, FT_INT, "DemonHunterLevelRequired" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), PvpTalentSlotUnlockMeta::Instance(), HOTFIX_SEL_PVP_TALENT_SLOT_UNLOCK); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_BYTE, "Slot" }, + { true, FT_INT, "LevelRequired" }, + { true, FT_INT, "DeathKnightLevelRequired" }, + { true, FT_INT, "DemonHunterLevelRequired" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &PvpTalentSlotUnlockMeta::Instance, HOTFIX_SEL_PVP_TALENT_SLOT_UNLOCK }; }; struct PvpTierLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Name" }, - { false, FT_INT, "ID" }, - { true, FT_SHORT, "MinRating" }, - { true, FT_SHORT, "MaxRating" }, - { true, FT_INT, "PrevTier" }, - { true, FT_INT, "NextTier" }, - { true, FT_BYTE, "BracketID" }, - { true, FT_BYTE, "Rank" }, - { true, FT_INT, "RankIconFileDataID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), PvpTierMeta::Instance(), HOTFIX_SEL_PVP_TIER); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[9] = + { + { false, FT_STRING, "Name" }, + { false, FT_INT, "ID" }, + { true, FT_SHORT, "MinRating" }, + { true, FT_SHORT, "MaxRating" }, + { true, FT_INT, "PrevTier" }, + { true, FT_INT, "NextTier" }, + { true, FT_BYTE, "BracketID" }, + { true, FT_BYTE, "Rank" }, + { true, FT_INT, "RankIconFileDataID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 9, &PvpTierMeta::Instance, HOTFIX_SEL_PVP_TIER }; }; struct QuestFactionRewardLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_SHORT, "Difficulty1" }, - { true, FT_SHORT, "Difficulty2" }, - { true, FT_SHORT, "Difficulty3" }, - { true, FT_SHORT, "Difficulty4" }, - { true, FT_SHORT, "Difficulty5" }, - { true, FT_SHORT, "Difficulty6" }, - { true, FT_SHORT, "Difficulty7" }, - { true, FT_SHORT, "Difficulty8" }, - { true, FT_SHORT, "Difficulty9" }, - { true, FT_SHORT, "Difficulty10" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), QuestFactionRewardMeta::Instance(), HOTFIX_SEL_QUEST_FACTION_REWARD); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[11] = + { + { false, FT_INT, "ID" }, + { true, FT_SHORT, "Difficulty1" }, + { true, FT_SHORT, "Difficulty2" }, + { true, FT_SHORT, "Difficulty3" }, + { true, FT_SHORT, "Difficulty4" }, + { true, FT_SHORT, "Difficulty5" }, + { true, FT_SHORT, "Difficulty6" }, + { true, FT_SHORT, "Difficulty7" }, + { true, FT_SHORT, "Difficulty8" }, + { true, FT_SHORT, "Difficulty9" }, + { true, FT_SHORT, "Difficulty10" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 11, &QuestFactionRewardMeta::Instance, HOTFIX_SEL_QUEST_FACTION_REWARD }; }; struct QuestInfoLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "InfoName" }, - { true, FT_BYTE, "Type" }, - { true, FT_INT, "Modifiers" }, - { true, FT_INT, "Profession" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), QuestInfoMeta::Instance(), HOTFIX_SEL_QUEST_INFO); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "InfoName" }, + { true, FT_BYTE, "Type" }, + { true, FT_INT, "Modifiers" }, + { true, FT_INT, "Profession" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &QuestInfoMeta::Instance, HOTFIX_SEL_QUEST_INFO }; }; struct QuestLineXQuestLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_INT, "QuestLineID" }, - { false, FT_INT, "QuestID" }, - { false, FT_INT, "OrderIndex" }, - { true, FT_INT, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), QuestLineXQuestMeta::Instance(), HOTFIX_SEL_QUEST_LINE_X_QUEST); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_INT, "QuestLineID" }, + { false, FT_INT, "QuestID" }, + { false, FT_INT, "OrderIndex" }, + { true, FT_INT, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &QuestLineXQuestMeta::Instance, HOTFIX_SEL_QUEST_LINE_X_QUEST }; }; struct QuestMoneyRewardLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_INT, "Difficulty1" }, - { false, FT_INT, "Difficulty2" }, - { false, FT_INT, "Difficulty3" }, - { false, FT_INT, "Difficulty4" }, - { false, FT_INT, "Difficulty5" }, - { false, FT_INT, "Difficulty6" }, - { false, FT_INT, "Difficulty7" }, - { false, FT_INT, "Difficulty8" }, - { false, FT_INT, "Difficulty9" }, - { false, FT_INT, "Difficulty10" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), QuestMoneyRewardMeta::Instance(), HOTFIX_SEL_QUEST_MONEY_REWARD); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[11] = + { + { false, FT_INT, "ID" }, + { false, FT_INT, "Difficulty1" }, + { false, FT_INT, "Difficulty2" }, + { false, FT_INT, "Difficulty3" }, + { false, FT_INT, "Difficulty4" }, + { false, FT_INT, "Difficulty5" }, + { false, FT_INT, "Difficulty6" }, + { false, FT_INT, "Difficulty7" }, + { false, FT_INT, "Difficulty8" }, + { false, FT_INT, "Difficulty9" }, + { false, FT_INT, "Difficulty10" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 11, &QuestMoneyRewardMeta::Instance, HOTFIX_SEL_QUEST_MONEY_REWARD }; }; struct QuestPackageItemLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "PackageID" }, - { true, FT_INT, "ItemID" }, - { false, FT_INT, "ItemQuantity" }, - { false, FT_BYTE, "DisplayType" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), QuestPackageItemMeta::Instance(), HOTFIX_SEL_QUEST_PACKAGE_ITEM); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_SHORT, "PackageID" }, + { true, FT_INT, "ItemID" }, + { false, FT_INT, "ItemQuantity" }, + { false, FT_BYTE, "DisplayType" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &QuestPackageItemMeta::Instance, HOTFIX_SEL_QUEST_PACKAGE_ITEM }; }; struct QuestSortLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "SortName" }, - { true, FT_BYTE, "UiOrderIndex" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), QuestSortMeta::Instance(), HOTFIX_SEL_QUEST_SORT); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "SortName" }, + { true, FT_BYTE, "UiOrderIndex" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &QuestSortMeta::Instance, HOTFIX_SEL_QUEST_SORT }; }; struct QuestV2LoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "UniqueBitFlag" }, - { true, FT_INT, "UiQuestDetailsTheme" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), QuestV2Meta::Instance(), HOTFIX_SEL_QUEST_V2); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_SHORT, "UniqueBitFlag" }, + { true, FT_INT, "UiQuestDetailsTheme" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &QuestV2Meta::Instance, HOTFIX_SEL_QUEST_V2 }; }; struct QuestXpLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "Difficulty1" }, - { false, FT_SHORT, "Difficulty2" }, - { false, FT_SHORT, "Difficulty3" }, - { false, FT_SHORT, "Difficulty4" }, - { false, FT_SHORT, "Difficulty5" }, - { false, FT_SHORT, "Difficulty6" }, - { false, FT_SHORT, "Difficulty7" }, - { false, FT_SHORT, "Difficulty8" }, - { false, FT_SHORT, "Difficulty9" }, - { false, FT_SHORT, "Difficulty10" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), QuestXPMeta::Instance(), HOTFIX_SEL_QUEST_XP); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[11] = + { + { false, FT_INT, "ID" }, + { false, FT_SHORT, "Difficulty1" }, + { false, FT_SHORT, "Difficulty2" }, + { false, FT_SHORT, "Difficulty3" }, + { false, FT_SHORT, "Difficulty4" }, + { false, FT_SHORT, "Difficulty5" }, + { false, FT_SHORT, "Difficulty6" }, + { false, FT_SHORT, "Difficulty7" }, + { false, FT_SHORT, "Difficulty8" }, + { false, FT_SHORT, "Difficulty9" }, + { false, FT_SHORT, "Difficulty10" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 11, &QuestXPMeta::Instance, HOTFIX_SEL_QUEST_XP }; }; struct RandPropPointsLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "DamageReplaceStatF" }, - { false, FT_FLOAT, "DamageSecondaryF" }, - { true, FT_INT, "DamageReplaceStat" }, - { true, FT_INT, "DamageSecondary" }, - { false, FT_FLOAT, "EpicF1" }, - { false, FT_FLOAT, "EpicF2" }, - { false, FT_FLOAT, "EpicF3" }, - { false, FT_FLOAT, "EpicF4" }, - { false, FT_FLOAT, "EpicF5" }, - { false, FT_FLOAT, "SuperiorF1" }, - { false, FT_FLOAT, "SuperiorF2" }, - { false, FT_FLOAT, "SuperiorF3" }, - { false, FT_FLOAT, "SuperiorF4" }, - { false, FT_FLOAT, "SuperiorF5" }, - { false, FT_FLOAT, "GoodF1" }, - { false, FT_FLOAT, "GoodF2" }, - { false, FT_FLOAT, "GoodF3" }, - { false, FT_FLOAT, "GoodF4" }, - { false, FT_FLOAT, "GoodF5" }, - { false, FT_INT, "Epic1" }, - { false, FT_INT, "Epic2" }, - { false, FT_INT, "Epic3" }, - { false, FT_INT, "Epic4" }, - { false, FT_INT, "Epic5" }, - { false, FT_INT, "Superior1" }, - { false, FT_INT, "Superior2" }, - { false, FT_INT, "Superior3" }, - { false, FT_INT, "Superior4" }, - { false, FT_INT, "Superior5" }, - { false, FT_INT, "Good1" }, - { false, FT_INT, "Good2" }, - { false, FT_INT, "Good3" }, - { false, FT_INT, "Good4" }, - { false, FT_INT, "Good5" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), RandPropPointsMeta::Instance(), HOTFIX_SEL_RAND_PROP_POINTS); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[35] = + { + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "DamageReplaceStatF" }, + { false, FT_FLOAT, "DamageSecondaryF" }, + { true, FT_INT, "DamageReplaceStat" }, + { true, FT_INT, "DamageSecondary" }, + { false, FT_FLOAT, "EpicF1" }, + { false, FT_FLOAT, "EpicF2" }, + { false, FT_FLOAT, "EpicF3" }, + { false, FT_FLOAT, "EpicF4" }, + { false, FT_FLOAT, "EpicF5" }, + { false, FT_FLOAT, "SuperiorF1" }, + { false, FT_FLOAT, "SuperiorF2" }, + { false, FT_FLOAT, "SuperiorF3" }, + { false, FT_FLOAT, "SuperiorF4" }, + { false, FT_FLOAT, "SuperiorF5" }, + { false, FT_FLOAT, "GoodF1" }, + { false, FT_FLOAT, "GoodF2" }, + { false, FT_FLOAT, "GoodF3" }, + { false, FT_FLOAT, "GoodF4" }, + { false, FT_FLOAT, "GoodF5" }, + { false, FT_INT, "Epic1" }, + { false, FT_INT, "Epic2" }, + { false, FT_INT, "Epic3" }, + { false, FT_INT, "Epic4" }, + { false, FT_INT, "Epic5" }, + { false, FT_INT, "Superior1" }, + { false, FT_INT, "Superior2" }, + { false, FT_INT, "Superior3" }, + { false, FT_INT, "Superior4" }, + { false, FT_INT, "Superior5" }, + { false, FT_INT, "Good1" }, + { false, FT_INT, "Good2" }, + { false, FT_INT, "Good3" }, + { false, FT_INT, "Good4" }, + { false, FT_INT, "Good5" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 35, &RandPropPointsMeta::Instance, HOTFIX_SEL_RAND_PROP_POINTS }; }; struct RewardPackLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[7] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "CharTitleID" }, - { false, FT_INT, "Money" }, - { true, FT_BYTE, "ArtifactXPDifficulty" }, - { false, FT_FLOAT, "ArtifactXPMultiplier" }, - { false, FT_BYTE, "ArtifactXPCategoryID" }, - { false, FT_INT, "TreasurePickerID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), RewardPackMeta::Instance(), HOTFIX_SEL_REWARD_PACK); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "CharTitleID" }, + { false, FT_INT, "Money" }, + { true, FT_BYTE, "ArtifactXPDifficulty" }, + { false, FT_FLOAT, "ArtifactXPMultiplier" }, + { false, FT_BYTE, "ArtifactXPCategoryID" }, + { false, FT_INT, "TreasurePickerID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 7, &RewardPackMeta::Instance, HOTFIX_SEL_REWARD_PACK }; }; struct RewardPackXCurrencyTypeLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_INT, "CurrencyTypeID" }, - { true, FT_INT, "Quantity" }, - { false, FT_INT, "RewardPackID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), RewardPackXCurrencyTypeMeta::Instance(), HOTFIX_SEL_REWARD_PACK_X_CURRENCY_TYPE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_INT, "CurrencyTypeID" }, + { true, FT_INT, "Quantity" }, + { false, FT_INT, "RewardPackID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &RewardPackXCurrencyTypeMeta::Instance, HOTFIX_SEL_REWARD_PACK_X_CURRENCY_TYPE }; }; struct RewardPackXItemLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "ItemID" }, - { true, FT_INT, "ItemQuantity" }, - { false, FT_INT, "RewardPackID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), RewardPackXItemMeta::Instance(), HOTFIX_SEL_REWARD_PACK_X_ITEM); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "ItemID" }, + { true, FT_INT, "ItemQuantity" }, + { false, FT_INT, "RewardPackID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &RewardPackXItemMeta::Instance, HOTFIX_SEL_REWARD_PACK_X_ITEM }; }; struct ScenarioLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[6] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { false, FT_SHORT, "AreaTableID" }, - { false, FT_BYTE, "Type" }, - { false, FT_BYTE, "Flags" }, - { false, FT_INT, "UiTextureKitID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ScenarioMeta::Instance(), HOTFIX_SEL_SCENARIO); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_SHORT, "AreaTableID" }, + { false, FT_BYTE, "Type" }, + { false, FT_BYTE, "Flags" }, + { false, FT_INT, "UiTextureKitID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 6, &ScenarioMeta::Instance, HOTFIX_SEL_SCENARIO }; }; struct ScenarioStepLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Description" }, - { false, FT_STRING, "Title" }, - { false, FT_SHORT, "ScenarioID" }, - { false, FT_INT, "Criteriatreeid" }, - { true, FT_INT, "RewardQuestID" }, - { true, FT_INT, "RelatedStep" }, - { false, FT_SHORT, "Supersedes" }, - { false, FT_BYTE, "OrderIndex" }, - { false, FT_BYTE, "Flags" }, - { false, FT_INT, "VisibilityPlayerConditionID" }, - { false, FT_SHORT, "WidgetSetID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ScenarioStepMeta::Instance(), HOTFIX_SEL_SCENARIO_STEP); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[12] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "Description" }, + { false, FT_STRING, "Title" }, + { false, FT_SHORT, "ScenarioID" }, + { false, FT_INT, "Criteriatreeid" }, + { true, FT_INT, "RewardQuestID" }, + { true, FT_INT, "RelatedStep" }, + { false, FT_SHORT, "Supersedes" }, + { false, FT_BYTE, "OrderIndex" }, + { false, FT_BYTE, "Flags" }, + { false, FT_INT, "VisibilityPlayerConditionID" }, + { false, FT_SHORT, "WidgetSetID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 12, &ScenarioStepMeta::Instance, HOTFIX_SEL_SCENARIO_STEP }; }; struct SceneScriptLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "FirstSceneScriptID" }, - { false, FT_SHORT, "NextSceneScriptID" }, - { true, FT_INT, "Unknown915" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SceneScriptMeta::Instance(), HOTFIX_SEL_SCENE_SCRIPT); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_SHORT, "FirstSceneScriptID" }, + { false, FT_SHORT, "NextSceneScriptID" }, + { true, FT_INT, "Unknown915" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &SceneScriptMeta::Instance, HOTFIX_SEL_SCENE_SCRIPT }; }; struct SceneScriptGlobalTextLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING_NOT_LOCALIZED, "Name" }, - { false, FT_STRING_NOT_LOCALIZED, "Script" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SceneScriptGlobalTextMeta::Instance(), HOTFIX_SEL_SCENE_SCRIPT_GLOBAL_TEXT); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING_NOT_LOCALIZED, "Name" }, + { false, FT_STRING_NOT_LOCALIZED, "Script" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &SceneScriptGlobalTextMeta::Instance, HOTFIX_SEL_SCENE_SCRIPT_GLOBAL_TEXT }; }; struct SceneScriptPackageLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING_NOT_LOCALIZED, "Name" }, - { true, FT_INT, "Unknown915" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SceneScriptPackageMeta::Instance(), HOTFIX_SEL_SCENE_SCRIPT_PACKAGE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING_NOT_LOCALIZED, "Name" }, + { true, FT_INT, "Unknown915" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &SceneScriptPackageMeta::Instance, HOTFIX_SEL_SCENE_SCRIPT_PACKAGE }; }; struct SceneScriptTextLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING_NOT_LOCALIZED, "Name" }, - { false, FT_STRING_NOT_LOCALIZED, "Script" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SceneScriptTextMeta::Instance(), HOTFIX_SEL_SCENE_SCRIPT_TEXT); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING_NOT_LOCALIZED, "Name" }, + { false, FT_STRING_NOT_LOCALIZED, "Script" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &SceneScriptTextMeta::Instance, HOTFIX_SEL_SCENE_SCRIPT_TEXT }; }; struct SkillLineLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "DisplayName" }, - { false, FT_STRING, "AlternateVerb" }, - { false, FT_STRING, "Description" }, - { false, FT_STRING, "HordeDisplayName" }, - { false, FT_STRING_NOT_LOCALIZED, "OverrideSourceInfoDisplayName" }, - { false, FT_INT, "ID" }, - { true, FT_BYTE, "CategoryID" }, - { true, FT_INT, "SpellIconFileID" }, - { true, FT_BYTE, "CanLink" }, - { false, FT_INT, "ParentSkillLineID" }, - { true, FT_INT, "ParentTierIndex" }, - { false, FT_SHORT, "Flags" }, - { true, FT_INT, "SpellBookSpellID" }, - { true, FT_INT, "ExpansionNameSharedStringID" }, - { true, FT_INT, "HordeExpansionNameSharedStringID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SkillLineMeta::Instance(), HOTFIX_SEL_SKILL_LINE); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[15] = + { + { false, FT_STRING, "DisplayName" }, + { false, FT_STRING, "AlternateVerb" }, + { false, FT_STRING, "Description" }, + { false, FT_STRING, "HordeDisplayName" }, + { false, FT_STRING_NOT_LOCALIZED, "OverrideSourceInfoDisplayName" }, + { false, FT_INT, "ID" }, + { true, FT_BYTE, "CategoryID" }, + { true, FT_INT, "SpellIconFileID" }, + { true, FT_BYTE, "CanLink" }, + { false, FT_INT, "ParentSkillLineID" }, + { true, FT_INT, "ParentTierIndex" }, + { false, FT_SHORT, "Flags" }, + { true, FT_INT, "SpellBookSpellID" }, + { true, FT_INT, "ExpansionNameSharedStringID" }, + { true, FT_INT, "HordeExpansionNameSharedStringID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 15, &SkillLineMeta::Instance, HOTFIX_SEL_SKILL_LINE }; }; struct SkillLineAbilityLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { true, FT_LONG, "RaceMask" }, - { false, FT_STRING, "AbilityVerb" }, - { false, FT_STRING, "AbilityAllVerb" }, - { false, FT_INT, "ID" }, - { true, FT_SHORT, "SkillLine" }, - { true, FT_INT, "Spell" }, - { true, FT_SHORT, "MinSkillLineRank" }, - { true, FT_INT, "ClassMask" }, - { true, FT_INT, "SupercedesSpell" }, - { true, FT_BYTE, "AcquireMethod" }, - { true, FT_SHORT, "TrivialSkillLineRankHigh" }, - { true, FT_SHORT, "TrivialSkillLineRankLow" }, - { true, FT_INT, "Flags" }, - { true, FT_BYTE, "NumSkillUps" }, - { true, FT_SHORT, "UniqueBit" }, - { true, FT_SHORT, "TradeSkillCategoryID" }, - { true, FT_SHORT, "SkillupSkillLineID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SkillLineAbilityMeta::Instance(), HOTFIX_SEL_SKILL_LINE_ABILITY); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[17] = + { + { true, FT_LONG, "RaceMask" }, + { false, FT_STRING, "AbilityVerb" }, + { false, FT_STRING, "AbilityAllVerb" }, + { false, FT_INT, "ID" }, + { true, FT_SHORT, "SkillLine" }, + { true, FT_INT, "Spell" }, + { true, FT_SHORT, "MinSkillLineRank" }, + { true, FT_INT, "ClassMask" }, + { true, FT_INT, "SupercedesSpell" }, + { true, FT_BYTE, "AcquireMethod" }, + { true, FT_SHORT, "TrivialSkillLineRankHigh" }, + { true, FT_SHORT, "TrivialSkillLineRankLow" }, + { true, FT_INT, "Flags" }, + { true, FT_BYTE, "NumSkillUps" }, + { true, FT_SHORT, "UniqueBit" }, + { true, FT_SHORT, "TradeSkillCategoryID" }, + { true, FT_SHORT, "SkillupSkillLineID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 17, &SkillLineAbilityMeta::Instance, HOTFIX_SEL_SKILL_LINE_ABILITY }; }; struct SkillLineXTraitTreeLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "SkillLineID" }, - { true, FT_INT, "TraitTreeID" }, - { true, FT_INT, "OrderIndex" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SkillLineXTraitTreeMeta::Instance(), HOTFIX_SEL_SKILL_LINE_X_TRAIT_TREE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "SkillLineID" }, + { true, FT_INT, "TraitTreeID" }, + { true, FT_INT, "OrderIndex" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &SkillLineXTraitTreeMeta::Instance, HOTFIX_SEL_SKILL_LINE_X_TRAIT_TREE }; }; struct SkillRaceClassInfoLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[8] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_LONG, "RaceMask" }, - { true, FT_SHORT, "SkillID" }, - { true, FT_INT, "ClassMask" }, - { false, FT_SHORT, "Flags" }, - { true, FT_BYTE, "Availability" }, - { true, FT_BYTE, "MinLevel" }, - { true, FT_SHORT, "SkillTierID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SkillRaceClassInfoMeta::Instance(), HOTFIX_SEL_SKILL_RACE_CLASS_INFO); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_LONG, "RaceMask" }, + { true, FT_SHORT, "SkillID" }, + { true, FT_INT, "ClassMask" }, + { false, FT_SHORT, "Flags" }, + { true, FT_BYTE, "Availability" }, + { true, FT_BYTE, "MinLevel" }, + { true, FT_SHORT, "SkillTierID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 8, &SkillRaceClassInfoMeta::Instance, HOTFIX_SEL_SKILL_RACE_CLASS_INFO }; }; struct SoulbindConduitRankLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "RankIndex" }, - { true, FT_INT, "SpellID" }, - { false, FT_FLOAT, "AuraPointsOverride" }, - { false, FT_INT, "SoulbindConduitID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SoulbindConduitRankMeta::Instance(), HOTFIX_SEL_SOULBIND_CONDUIT_RANK); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "RankIndex" }, + { true, FT_INT, "SpellID" }, + { false, FT_FLOAT, "AuraPointsOverride" }, + { false, FT_INT, "SoulbindConduitID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &SoulbindConduitRankMeta::Instance, HOTFIX_SEL_SOULBIND_CONDUIT_RANK }; }; struct SoundKitLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "SoundType" }, - { false, FT_FLOAT, "VolumeFloat" }, - { true, FT_INT, "Flags" }, - { false, FT_FLOAT, "MinDistance" }, - { false, FT_FLOAT, "DistanceCutoff" }, - { false, FT_BYTE, "EAXDef" }, - { false, FT_INT, "SoundKitAdvancedID" }, - { false, FT_FLOAT, "VolumeVariationPlus" }, - { false, FT_FLOAT, "VolumeVariationMinus" }, - { false, FT_FLOAT, "PitchVariationPlus" }, - { false, FT_FLOAT, "PitchVariationMinus" }, - { true, FT_BYTE, "DialogType" }, - { false, FT_FLOAT, "PitchAdjust" }, - { false, FT_SHORT, "BusOverwriteID" }, - { false, FT_BYTE, "MaxInstances" }, - { false, FT_INT, "SoundMixGroupID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SoundKitMeta::Instance(), HOTFIX_SEL_SOUND_KIT); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[17] = + { + { false, FT_INT, "ID" }, + { true, FT_INT, "SoundType" }, + { false, FT_FLOAT, "VolumeFloat" }, + { true, FT_INT, "Flags" }, + { false, FT_FLOAT, "MinDistance" }, + { false, FT_FLOAT, "DistanceCutoff" }, + { false, FT_BYTE, "EAXDef" }, + { false, FT_INT, "SoundKitAdvancedID" }, + { false, FT_FLOAT, "VolumeVariationPlus" }, + { false, FT_FLOAT, "VolumeVariationMinus" }, + { false, FT_FLOAT, "PitchVariationPlus" }, + { false, FT_FLOAT, "PitchVariationMinus" }, + { true, FT_BYTE, "DialogType" }, + { false, FT_FLOAT, "PitchAdjust" }, + { false, FT_SHORT, "BusOverwriteID" }, + { false, FT_BYTE, "MaxInstances" }, + { false, FT_INT, "SoundMixGroupID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 17, &SoundKitMeta::Instance, HOTFIX_SEL_SOUND_KIT }; }; struct SpecializationSpellsLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[6] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Description" }, - { false, FT_INT, "ID" }, - { false, FT_SHORT, "SpecID" }, - { true, FT_INT, "SpellID" }, - { true, FT_INT, "OverridesSpellID" }, - { false, FT_BYTE, "DisplayOrder" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpecializationSpellsMeta::Instance(), HOTFIX_SEL_SPECIALIZATION_SPELLS); - return &loadInfo; - } + { false, FT_STRING, "Description" }, + { false, FT_INT, "ID" }, + { false, FT_SHORT, "SpecID" }, + { true, FT_INT, "SpellID" }, + { true, FT_INT, "OverridesSpellID" }, + { false, FT_BYTE, "DisplayOrder" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 6, &SpecializationSpellsMeta::Instance, HOTFIX_SEL_SPECIALIZATION_SPELLS }; }; struct SpecSetMemberLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "ChrSpecializationID" }, - { false, FT_INT, "SpecSetID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpecSetMemberMeta::Instance(), HOTFIX_SEL_SPEC_SET_MEMBER); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "ChrSpecializationID" }, + { false, FT_INT, "SpecSetID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &SpecSetMemberMeta::Instance, HOTFIX_SEL_SPEC_SET_MEMBER }; }; struct SpellAuraOptionsLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "DifficultyID" }, - { false, FT_SHORT, "CumulativeAura" }, - { true, FT_INT, "ProcCategoryRecovery" }, - { false, FT_BYTE, "ProcChance" }, - { true, FT_INT, "ProcCharges" }, - { false, FT_SHORT, "SpellProcsPerMinuteID" }, - { true, FT_INT, "ProcTypeMask1" }, - { true, FT_INT, "ProcTypeMask2" }, - { false, FT_INT, "SpellID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellAuraOptionsMeta::Instance(), HOTFIX_SEL_SPELL_AURA_OPTIONS); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[10] = + { + { false, FT_INT, "ID" }, + { false, FT_BYTE, "DifficultyID" }, + { false, FT_SHORT, "CumulativeAura" }, + { true, FT_INT, "ProcCategoryRecovery" }, + { false, FT_BYTE, "ProcChance" }, + { true, FT_INT, "ProcCharges" }, + { false, FT_SHORT, "SpellProcsPerMinuteID" }, + { true, FT_INT, "ProcTypeMask1" }, + { true, FT_INT, "ProcTypeMask2" }, + { false, FT_INT, "SpellID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 10, &SpellAuraOptionsMeta::Instance, HOTFIX_SEL_SPELL_AURA_OPTIONS }; }; struct SpellAuraRestrictionsLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "DifficultyID" }, - { true, FT_INT, "CasterAuraState" }, - { true, FT_INT, "TargetAuraState" }, - { true, FT_INT, "ExcludeCasterAuraState" }, - { true, FT_INT, "ExcludeTargetAuraState" }, - { true, FT_INT, "CasterAuraSpell" }, - { true, FT_INT, "TargetAuraSpell" }, - { true, FT_INT, "ExcludeCasterAuraSpell" }, - { true, FT_INT, "ExcludeTargetAuraSpell" }, - { true, FT_INT, "CasterAuraType" }, - { true, FT_INT, "TargetAuraType" }, - { true, FT_INT, "ExcludeCasterAuraType" }, - { true, FT_INT, "ExcludeTargetAuraType" }, - { false, FT_INT, "SpellID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellAuraRestrictionsMeta::Instance(), HOTFIX_SEL_SPELL_AURA_RESTRICTIONS); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[15] = + { + { false, FT_INT, "ID" }, + { true, FT_INT, "DifficultyID" }, + { true, FT_INT, "CasterAuraState" }, + { true, FT_INT, "TargetAuraState" }, + { true, FT_INT, "ExcludeCasterAuraState" }, + { true, FT_INT, "ExcludeTargetAuraState" }, + { true, FT_INT, "CasterAuraSpell" }, + { true, FT_INT, "TargetAuraSpell" }, + { true, FT_INT, "ExcludeCasterAuraSpell" }, + { true, FT_INT, "ExcludeTargetAuraSpell" }, + { true, FT_INT, "CasterAuraType" }, + { true, FT_INT, "TargetAuraType" }, + { true, FT_INT, "ExcludeCasterAuraType" }, + { true, FT_INT, "ExcludeTargetAuraType" }, + { false, FT_INT, "SpellID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 15, &SpellAuraRestrictionsMeta::Instance, HOTFIX_SEL_SPELL_AURA_RESTRICTIONS }; }; struct SpellCastTimesLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "Base" }, - { true, FT_INT, "Minimum" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellCastTimesMeta::Instance(), HOTFIX_SEL_SPELL_CAST_TIMES); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "Base" }, + { true, FT_INT, "Minimum" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &SpellCastTimesMeta::Instance, HOTFIX_SEL_SPELL_CAST_TIMES }; }; struct SpellCastingRequirementsLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[8] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "SpellID" }, - { false, FT_BYTE, "FacingCasterFlags" }, - { false, FT_SHORT, "MinFactionID" }, - { true, FT_INT, "MinReputation" }, - { false, FT_SHORT, "RequiredAreasID" }, - { false, FT_BYTE, "RequiredAuraVision" }, - { false, FT_SHORT, "RequiresSpellFocus" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellCastingRequirementsMeta::Instance(), HOTFIX_SEL_SPELL_CASTING_REQUIREMENTS); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "SpellID" }, + { false, FT_BYTE, "FacingCasterFlags" }, + { false, FT_SHORT, "MinFactionID" }, + { true, FT_INT, "MinReputation" }, + { false, FT_SHORT, "RequiredAreasID" }, + { false, FT_BYTE, "RequiredAuraVision" }, + { false, FT_SHORT, "RequiresSpellFocus" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 8, &SpellCastingRequirementsMeta::Instance, HOTFIX_SEL_SPELL_CASTING_REQUIREMENTS }; }; struct SpellCategoriesLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "DifficultyID" }, - { true, FT_SHORT, "Category" }, - { true, FT_BYTE, "DefenseType" }, - { true, FT_BYTE, "DispelType" }, - { true, FT_BYTE, "Mechanic" }, - { true, FT_BYTE, "PreventionType" }, - { true, FT_SHORT, "StartRecoveryCategory" }, - { true, FT_SHORT, "ChargeCategory" }, - { false, FT_INT, "SpellID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellCategoriesMeta::Instance(), HOTFIX_SEL_SPELL_CATEGORIES); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[10] = + { + { false, FT_INT, "ID" }, + { false, FT_BYTE, "DifficultyID" }, + { true, FT_SHORT, "Category" }, + { true, FT_BYTE, "DefenseType" }, + { true, FT_BYTE, "DispelType" }, + { true, FT_BYTE, "Mechanic" }, + { true, FT_BYTE, "PreventionType" }, + { true, FT_SHORT, "StartRecoveryCategory" }, + { true, FT_SHORT, "ChargeCategory" }, + { false, FT_INT, "SpellID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 10, &SpellCategoriesMeta::Instance, HOTFIX_SEL_SPELL_CATEGORIES }; }; struct SpellCategoryLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[7] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { true, FT_BYTE, "Flags" }, - { false, FT_BYTE, "UsesPerWeek" }, - { true, FT_BYTE, "MaxCharges" }, - { true, FT_INT, "ChargeRecoveryTime" }, - { true, FT_INT, "TypeMask" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellCategoryMeta::Instance(), HOTFIX_SEL_SPELL_CATEGORY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { true, FT_BYTE, "Flags" }, + { false, FT_BYTE, "UsesPerWeek" }, + { true, FT_BYTE, "MaxCharges" }, + { true, FT_INT, "ChargeRecoveryTime" }, + { true, FT_INT, "TypeMask" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 7, &SpellCategoryMeta::Instance, HOTFIX_SEL_SPELL_CATEGORY }; }; struct SpellClassOptionsLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[8] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "SpellID" }, - { false, FT_INT, "ModalNextSpell" }, - { false, FT_BYTE, "SpellClassSet" }, - { true, FT_INT, "SpellClassMask1" }, - { true, FT_INT, "SpellClassMask2" }, - { true, FT_INT, "SpellClassMask3" }, - { true, FT_INT, "SpellClassMask4" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellClassOptionsMeta::Instance(), HOTFIX_SEL_SPELL_CLASS_OPTIONS); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "SpellID" }, + { false, FT_INT, "ModalNextSpell" }, + { false, FT_BYTE, "SpellClassSet" }, + { true, FT_INT, "SpellClassMask1" }, + { true, FT_INT, "SpellClassMask2" }, + { true, FT_INT, "SpellClassMask3" }, + { true, FT_INT, "SpellClassMask4" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 8, &SpellClassOptionsMeta::Instance, HOTFIX_SEL_SPELL_CLASS_OPTIONS }; }; struct SpellCooldownsLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[7] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "DifficultyID" }, - { true, FT_INT, "CategoryRecoveryTime" }, - { true, FT_INT, "RecoveryTime" }, - { true, FT_INT, "StartRecoveryTime" }, - { true, FT_INT, "AuraSpellID" }, - { false, FT_INT, "SpellID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellCooldownsMeta::Instance(), HOTFIX_SEL_SPELL_COOLDOWNS); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_BYTE, "DifficultyID" }, + { true, FT_INT, "CategoryRecoveryTime" }, + { true, FT_INT, "RecoveryTime" }, + { true, FT_INT, "StartRecoveryTime" }, + { true, FT_INT, "AuraSpellID" }, + { false, FT_INT, "SpellID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 7, &SpellCooldownsMeta::Instance, HOTFIX_SEL_SPELL_COOLDOWNS }; }; struct SpellDurationLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "Duration" }, - { true, FT_INT, "MaxDuration" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellDurationMeta::Instance(), HOTFIX_SEL_SPELL_DURATION); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "Duration" }, + { true, FT_INT, "MaxDuration" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &SpellDurationMeta::Instance, HOTFIX_SEL_SPELL_DURATION }; }; struct SpellEffectLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_SHORT, "EffectAura" }, - { true, FT_INT, "DifficultyID" }, - { true, FT_INT, "EffectIndex" }, - { false, FT_INT, "Effect" }, - { false, FT_FLOAT, "EffectAmplitude" }, - { true, FT_INT, "EffectAttributes" }, - { true, FT_INT, "EffectAuraPeriod" }, - { false, FT_FLOAT, "EffectBonusCoefficient" }, - { false, FT_FLOAT, "EffectChainAmplitude" }, - { true, FT_INT, "EffectChainTargets" }, - { true, FT_INT, "EffectItemType" }, - { true, FT_INT, "EffectMechanic" }, - { false, FT_FLOAT, "EffectPointsPerResource" }, - { false, FT_FLOAT, "EffectPosFacing" }, - { false, FT_FLOAT, "EffectRealPointsPerLevel" }, - { true, FT_INT, "EffectTriggerSpell" }, - { false, FT_FLOAT, "BonusCoefficientFromAP" }, - { false, FT_FLOAT, "PvpMultiplier" }, - { false, FT_FLOAT, "Coefficient" }, - { false, FT_FLOAT, "Variance" }, - { false, FT_FLOAT, "ResourceCoefficient" }, - { false, FT_FLOAT, "GroupSizeBasePointsCoefficient" }, - { false, FT_FLOAT, "EffectBasePoints" }, - { true, FT_INT, "ScalingClass" }, - { true, FT_INT, "EffectMiscValue1" }, - { true, FT_INT, "EffectMiscValue2" }, - { false, FT_INT, "EffectRadiusIndex1" }, - { false, FT_INT, "EffectRadiusIndex2" }, - { true, FT_INT, "EffectSpellClassMask1" }, - { true, FT_INT, "EffectSpellClassMask2" }, - { true, FT_INT, "EffectSpellClassMask3" }, - { true, FT_INT, "EffectSpellClassMask4" }, - { true, FT_SHORT, "ImplicitTarget1" }, - { true, FT_SHORT, "ImplicitTarget2" }, - { false, FT_INT, "SpellID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellEffectMeta::Instance(), HOTFIX_SEL_SPELL_EFFECT); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[36] = + { + { false, FT_INT, "ID" }, + { true, FT_SHORT, "EffectAura" }, + { true, FT_INT, "DifficultyID" }, + { true, FT_INT, "EffectIndex" }, + { false, FT_INT, "Effect" }, + { false, FT_FLOAT, "EffectAmplitude" }, + { true, FT_INT, "EffectAttributes" }, + { true, FT_INT, "EffectAuraPeriod" }, + { false, FT_FLOAT, "EffectBonusCoefficient" }, + { false, FT_FLOAT, "EffectChainAmplitude" }, + { true, FT_INT, "EffectChainTargets" }, + { true, FT_INT, "EffectItemType" }, + { true, FT_INT, "EffectMechanic" }, + { false, FT_FLOAT, "EffectPointsPerResource" }, + { false, FT_FLOAT, "EffectPosFacing" }, + { false, FT_FLOAT, "EffectRealPointsPerLevel" }, + { true, FT_INT, "EffectTriggerSpell" }, + { false, FT_FLOAT, "BonusCoefficientFromAP" }, + { false, FT_FLOAT, "PvpMultiplier" }, + { false, FT_FLOAT, "Coefficient" }, + { false, FT_FLOAT, "Variance" }, + { false, FT_FLOAT, "ResourceCoefficient" }, + { false, FT_FLOAT, "GroupSizeBasePointsCoefficient" }, + { false, FT_FLOAT, "EffectBasePoints" }, + { true, FT_INT, "ScalingClass" }, + { true, FT_INT, "EffectMiscValue1" }, + { true, FT_INT, "EffectMiscValue2" }, + { false, FT_INT, "EffectRadiusIndex1" }, + { false, FT_INT, "EffectRadiusIndex2" }, + { true, FT_INT, "EffectSpellClassMask1" }, + { true, FT_INT, "EffectSpellClassMask2" }, + { true, FT_INT, "EffectSpellClassMask3" }, + { true, FT_INT, "EffectSpellClassMask4" }, + { true, FT_SHORT, "ImplicitTarget1" }, + { true, FT_SHORT, "ImplicitTarget2" }, + { false, FT_INT, "SpellID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 36, &SpellEffectMeta::Instance, HOTFIX_SEL_SPELL_EFFECT }; }; struct SpellEquippedItemsLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "SpellID" }, - { true, FT_BYTE, "EquippedItemClass" }, - { true, FT_INT, "EquippedItemInvTypes" }, - { true, FT_INT, "EquippedItemSubclass" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellEquippedItemsMeta::Instance(), HOTFIX_SEL_SPELL_EQUIPPED_ITEMS); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "SpellID" }, + { true, FT_BYTE, "EquippedItemClass" }, + { true, FT_INT, "EquippedItemInvTypes" }, + { true, FT_INT, "EquippedItemSubclass" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &SpellEquippedItemsMeta::Instance, HOTFIX_SEL_SPELL_EQUIPPED_ITEMS }; }; struct SpellFocusObjectLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[2] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellFocusObjectMeta::Instance(), HOTFIX_SEL_SPELL_FOCUS_OBJECT); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 2, &SpellFocusObjectMeta::Instance, HOTFIX_SEL_SPELL_FOCUS_OBJECT }; }; struct SpellInterruptsLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[8] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "DifficultyID" }, - { true, FT_SHORT, "InterruptFlags" }, - { true, FT_INT, "AuraInterruptFlags1" }, - { true, FT_INT, "AuraInterruptFlags2" }, - { true, FT_INT, "ChannelInterruptFlags1" }, - { true, FT_INT, "ChannelInterruptFlags2" }, - { false, FT_INT, "SpellID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellInterruptsMeta::Instance(), HOTFIX_SEL_SPELL_INTERRUPTS); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_BYTE, "DifficultyID" }, + { true, FT_SHORT, "InterruptFlags" }, + { true, FT_INT, "AuraInterruptFlags1" }, + { true, FT_INT, "AuraInterruptFlags2" }, + { true, FT_INT, "ChannelInterruptFlags1" }, + { true, FT_INT, "ChannelInterruptFlags2" }, + { false, FT_INT, "SpellID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 8, &SpellInterruptsMeta::Instance, HOTFIX_SEL_SPELL_INTERRUPTS }; }; struct SpellItemEnchantmentLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { false, FT_STRING, "HordeName" }, - { true, FT_INT, "Duration" }, - { false, FT_INT, "EffectArg1" }, - { false, FT_INT, "EffectArg2" }, - { false, FT_INT, "EffectArg3" }, - { false, FT_FLOAT, "EffectScalingPoints1" }, - { false, FT_FLOAT, "EffectScalingPoints2" }, - { false, FT_FLOAT, "EffectScalingPoints3" }, - { false, FT_INT, "IconFileDataID" }, - { true, FT_INT, "MinItemLevel" }, - { true, FT_INT, "MaxItemLevel" }, - { false, FT_INT, "TransmogUseConditionID" }, - { false, FT_INT, "TransmogCost" }, - { true, FT_SHORT, "EffectPointsMin1" }, - { true, FT_SHORT, "EffectPointsMin2" }, - { true, FT_SHORT, "EffectPointsMin3" }, - { false, FT_SHORT, "ItemVisual" }, - { false, FT_SHORT, "Flags" }, - { false, FT_SHORT, "RequiredSkillID" }, - { false, FT_SHORT, "RequiredSkillRank" }, - { false, FT_SHORT, "ItemLevel" }, - { false, FT_BYTE, "Charges" }, - { false, FT_BYTE, "Effect1" }, - { false, FT_BYTE, "Effect2" }, - { false, FT_BYTE, "Effect3" }, - { true, FT_BYTE, "ScalingClass" }, - { true, FT_BYTE, "ScalingClassRestricted" }, - { false, FT_BYTE, "ConditionID" }, - { false, FT_BYTE, "MinLevel" }, - { false, FT_BYTE, "MaxLevel" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellItemEnchantmentMeta::Instance(), HOTFIX_SEL_SPELL_ITEM_ENCHANTMENT); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[32] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_STRING, "HordeName" }, + { true, FT_INT, "Duration" }, + { false, FT_INT, "EffectArg1" }, + { false, FT_INT, "EffectArg2" }, + { false, FT_INT, "EffectArg3" }, + { false, FT_FLOAT, "EffectScalingPoints1" }, + { false, FT_FLOAT, "EffectScalingPoints2" }, + { false, FT_FLOAT, "EffectScalingPoints3" }, + { false, FT_INT, "IconFileDataID" }, + { true, FT_INT, "MinItemLevel" }, + { true, FT_INT, "MaxItemLevel" }, + { false, FT_INT, "TransmogUseConditionID" }, + { false, FT_INT, "TransmogCost" }, + { true, FT_SHORT, "EffectPointsMin1" }, + { true, FT_SHORT, "EffectPointsMin2" }, + { true, FT_SHORT, "EffectPointsMin3" }, + { false, FT_SHORT, "ItemVisual" }, + { false, FT_SHORT, "Flags" }, + { false, FT_SHORT, "RequiredSkillID" }, + { false, FT_SHORT, "RequiredSkillRank" }, + { false, FT_SHORT, "ItemLevel" }, + { false, FT_BYTE, "Charges" }, + { false, FT_BYTE, "Effect1" }, + { false, FT_BYTE, "Effect2" }, + { false, FT_BYTE, "Effect3" }, + { true, FT_BYTE, "ScalingClass" }, + { true, FT_BYTE, "ScalingClassRestricted" }, + { false, FT_BYTE, "ConditionID" }, + { false, FT_BYTE, "MinLevel" }, + { false, FT_BYTE, "MaxLevel" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 32, &SpellItemEnchantmentMeta::Instance, HOTFIX_SEL_SPELL_ITEM_ENCHANTMENT }; }; struct SpellItemEnchantmentConditionLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "LtOperandType1" }, - { false, FT_BYTE, "LtOperandType2" }, - { false, FT_BYTE, "LtOperandType3" }, - { false, FT_BYTE, "LtOperandType4" }, - { false, FT_BYTE, "LtOperandType5" }, - { false, FT_INT, "LtOperand1" }, - { false, FT_INT, "LtOperand2" }, - { false, FT_INT, "LtOperand3" }, - { false, FT_INT, "LtOperand4" }, - { false, FT_INT, "LtOperand5" }, - { false, FT_BYTE, "Operator1" }, - { false, FT_BYTE, "Operator2" }, - { false, FT_BYTE, "Operator3" }, - { false, FT_BYTE, "Operator4" }, - { false, FT_BYTE, "Operator5" }, - { false, FT_BYTE, "RtOperandType1" }, - { false, FT_BYTE, "RtOperandType2" }, - { false, FT_BYTE, "RtOperandType3" }, - { false, FT_BYTE, "RtOperandType4" }, - { false, FT_BYTE, "RtOperandType5" }, - { false, FT_BYTE, "RtOperand1" }, - { false, FT_BYTE, "RtOperand2" }, - { false, FT_BYTE, "RtOperand3" }, - { false, FT_BYTE, "RtOperand4" }, - { false, FT_BYTE, "RtOperand5" }, - { false, FT_BYTE, "Logic1" }, - { false, FT_BYTE, "Logic2" }, - { false, FT_BYTE, "Logic3" }, - { false, FT_BYTE, "Logic4" }, - { false, FT_BYTE, "Logic5" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellItemEnchantmentConditionMeta::Instance(), HOTFIX_SEL_SPELL_ITEM_ENCHANTMENT_CONDITION); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[31] = + { + { false, FT_INT, "ID" }, + { false, FT_BYTE, "LtOperandType1" }, + { false, FT_BYTE, "LtOperandType2" }, + { false, FT_BYTE, "LtOperandType3" }, + { false, FT_BYTE, "LtOperandType4" }, + { false, FT_BYTE, "LtOperandType5" }, + { false, FT_INT, "LtOperand1" }, + { false, FT_INT, "LtOperand2" }, + { false, FT_INT, "LtOperand3" }, + { false, FT_INT, "LtOperand4" }, + { false, FT_INT, "LtOperand5" }, + { false, FT_BYTE, "Operator1" }, + { false, FT_BYTE, "Operator2" }, + { false, FT_BYTE, "Operator3" }, + { false, FT_BYTE, "Operator4" }, + { false, FT_BYTE, "Operator5" }, + { false, FT_BYTE, "RtOperandType1" }, + { false, FT_BYTE, "RtOperandType2" }, + { false, FT_BYTE, "RtOperandType3" }, + { false, FT_BYTE, "RtOperandType4" }, + { false, FT_BYTE, "RtOperandType5" }, + { false, FT_BYTE, "RtOperand1" }, + { false, FT_BYTE, "RtOperand2" }, + { false, FT_BYTE, "RtOperand3" }, + { false, FT_BYTE, "RtOperand4" }, + { false, FT_BYTE, "RtOperand5" }, + { false, FT_BYTE, "Logic1" }, + { false, FT_BYTE, "Logic2" }, + { false, FT_BYTE, "Logic3" }, + { false, FT_BYTE, "Logic4" }, + { false, FT_BYTE, "Logic5" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 31, &SpellItemEnchantmentConditionMeta::Instance, HOTFIX_SEL_SPELL_ITEM_ENCHANTMENT_CONDITION }; }; struct SpellLabelLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_INT, "LabelID" }, - { false, FT_INT, "SpellID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellLabelMeta::Instance(), HOTFIX_SEL_SPELL_LABEL); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_INT, "LabelID" }, + { false, FT_INT, "SpellID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &SpellLabelMeta::Instance, HOTFIX_SEL_SPELL_LABEL }; }; struct SpellLearnSpellLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "SpellID" }, - { true, FT_INT, "LearnSpellID" }, - { true, FT_INT, "OverridesSpellID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellLearnSpellMeta::Instance(), HOTFIX_SEL_SPELL_LEARN_SPELL); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "SpellID" }, + { true, FT_INT, "LearnSpellID" }, + { true, FT_INT, "OverridesSpellID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &SpellLearnSpellMeta::Instance, HOTFIX_SEL_SPELL_LEARN_SPELL }; }; struct SpellLevelsLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[7] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "DifficultyID" }, - { true, FT_SHORT, "MaxLevel" }, - { false, FT_BYTE, "MaxPassiveAuraLevel" }, - { true, FT_INT, "BaseLevel" }, - { true, FT_INT, "SpellLevel" }, - { false, FT_INT, "SpellID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellLevelsMeta::Instance(), HOTFIX_SEL_SPELL_LEVELS); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_BYTE, "DifficultyID" }, + { true, FT_SHORT, "MaxLevel" }, + { false, FT_BYTE, "MaxPassiveAuraLevel" }, + { true, FT_INT, "BaseLevel" }, + { true, FT_INT, "SpellLevel" }, + { false, FT_INT, "SpellID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 7, &SpellLevelsMeta::Instance, HOTFIX_SEL_SPELL_LEVELS }; }; struct SpellMiscLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "Attributes1" }, - { true, FT_INT, "Attributes2" }, - { true, FT_INT, "Attributes3" }, - { true, FT_INT, "Attributes4" }, - { true, FT_INT, "Attributes5" }, - { true, FT_INT, "Attributes6" }, - { true, FT_INT, "Attributes7" }, - { true, FT_INT, "Attributes8" }, - { true, FT_INT, "Attributes9" }, - { true, FT_INT, "Attributes10" }, - { true, FT_INT, "Attributes11" }, - { true, FT_INT, "Attributes12" }, - { true, FT_INT, "Attributes13" }, - { true, FT_INT, "Attributes14" }, - { true, FT_INT, "Attributes15" }, - { false, FT_BYTE, "DifficultyID" }, - { false, FT_SHORT, "CastingTimeIndex" }, - { false, FT_SHORT, "DurationIndex" }, - { false, FT_SHORT, "RangeIndex" }, - { false, FT_BYTE, "SchoolMask" }, - { false, FT_FLOAT, "Speed" }, - { false, FT_FLOAT, "LaunchDelay" }, - { false, FT_FLOAT, "MinDuration" }, - { true, FT_INT, "SpellIconFileDataID" }, - { true, FT_INT, "ActiveIconFileDataID" }, - { true, FT_INT, "ContentTuningID" }, - { true, FT_INT, "ShowFutureSpellPlayerConditionID" }, - { true, FT_INT, "SpellVisualScript" }, - { true, FT_INT, "ActiveSpellVisualScript" }, - { false, FT_INT, "SpellID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellMiscMeta::Instance(), HOTFIX_SEL_SPELL_MISC); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[31] = + { + { false, FT_INT, "ID" }, + { true, FT_INT, "Attributes1" }, + { true, FT_INT, "Attributes2" }, + { true, FT_INT, "Attributes3" }, + { true, FT_INT, "Attributes4" }, + { true, FT_INT, "Attributes5" }, + { true, FT_INT, "Attributes6" }, + { true, FT_INT, "Attributes7" }, + { true, FT_INT, "Attributes8" }, + { true, FT_INT, "Attributes9" }, + { true, FT_INT, "Attributes10" }, + { true, FT_INT, "Attributes11" }, + { true, FT_INT, "Attributes12" }, + { true, FT_INT, "Attributes13" }, + { true, FT_INT, "Attributes14" }, + { true, FT_INT, "Attributes15" }, + { false, FT_BYTE, "DifficultyID" }, + { false, FT_SHORT, "CastingTimeIndex" }, + { false, FT_SHORT, "DurationIndex" }, + { false, FT_SHORT, "RangeIndex" }, + { false, FT_BYTE, "SchoolMask" }, + { false, FT_FLOAT, "Speed" }, + { false, FT_FLOAT, "LaunchDelay" }, + { false, FT_FLOAT, "MinDuration" }, + { true, FT_INT, "SpellIconFileDataID" }, + { true, FT_INT, "ActiveIconFileDataID" }, + { true, FT_INT, "ContentTuningID" }, + { true, FT_INT, "ShowFutureSpellPlayerConditionID" }, + { true, FT_INT, "SpellVisualScript" }, + { true, FT_INT, "ActiveSpellVisualScript" }, + { false, FT_INT, "SpellID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 31, &SpellMiscMeta::Instance, HOTFIX_SEL_SPELL_MISC }; }; struct SpellNameLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[2] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellNameMeta::Instance(), HOTFIX_SEL_SPELL_NAME); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 2, &SpellNameMeta::Instance, HOTFIX_SEL_SPELL_NAME }; }; struct SpellPowerLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "OrderIndex" }, - { true, FT_INT, "ManaCost" }, - { true, FT_INT, "ManaCostPerLevel" }, - { true, FT_INT, "ManaPerSecond" }, - { false, FT_INT, "PowerDisplayID" }, - { true, FT_INT, "AltPowerBarID" }, - { false, FT_FLOAT, "PowerCostPct" }, - { false, FT_FLOAT, "PowerCostMaxPct" }, - { false, FT_FLOAT, "OptionalCostPct" }, - { false, FT_FLOAT, "PowerPctPerSecond" }, - { true, FT_BYTE, "PowerType" }, - { true, FT_INT, "RequiredAuraSpellID" }, - { false, FT_INT, "OptionalCost" }, - { false, FT_INT, "SpellID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellPowerMeta::Instance(), HOTFIX_SEL_SPELL_POWER); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[15] = + { + { false, FT_INT, "ID" }, + { false, FT_BYTE, "OrderIndex" }, + { true, FT_INT, "ManaCost" }, + { true, FT_INT, "ManaCostPerLevel" }, + { true, FT_INT, "ManaPerSecond" }, + { false, FT_INT, "PowerDisplayID" }, + { true, FT_INT, "AltPowerBarID" }, + { false, FT_FLOAT, "PowerCostPct" }, + { false, FT_FLOAT, "PowerCostMaxPct" }, + { false, FT_FLOAT, "OptionalCostPct" }, + { false, FT_FLOAT, "PowerPctPerSecond" }, + { true, FT_BYTE, "PowerType" }, + { true, FT_INT, "RequiredAuraSpellID" }, + { false, FT_INT, "OptionalCost" }, + { false, FT_INT, "SpellID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 15, &SpellPowerMeta::Instance, HOTFIX_SEL_SPELL_POWER }; }; struct SpellPowerDifficultyLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "DifficultyID" }, - { false, FT_BYTE, "OrderIndex" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellPowerDifficultyMeta::Instance(), HOTFIX_SEL_SPELL_POWER_DIFFICULTY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_BYTE, "DifficultyID" }, + { false, FT_BYTE, "OrderIndex" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &SpellPowerDifficultyMeta::Instance, HOTFIX_SEL_SPELL_POWER_DIFFICULTY }; }; struct SpellProcsPerMinuteLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "BaseProcRate" }, - { false, FT_BYTE, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellProcsPerMinuteMeta::Instance(), HOTFIX_SEL_SPELL_PROCS_PER_MINUTE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "BaseProcRate" }, + { false, FT_BYTE, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &SpellProcsPerMinuteMeta::Instance, HOTFIX_SEL_SPELL_PROCS_PER_MINUTE }; }; struct SpellProcsPerMinuteModLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "Type" }, - { true, FT_INT, "Param" }, - { false, FT_FLOAT, "Coeff" }, - { false, FT_INT, "SpellProcsPerMinuteID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellProcsPerMinuteModMeta::Instance(), HOTFIX_SEL_SPELL_PROCS_PER_MINUTE_MOD); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_BYTE, "Type" }, + { true, FT_INT, "Param" }, + { false, FT_FLOAT, "Coeff" }, + { false, FT_INT, "SpellProcsPerMinuteID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &SpellProcsPerMinuteModMeta::Instance, HOTFIX_SEL_SPELL_PROCS_PER_MINUTE_MOD }; }; struct SpellRadiusLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "Radius" }, - { false, FT_FLOAT, "RadiusPerLevel" }, - { false, FT_FLOAT, "RadiusMin" }, - { false, FT_FLOAT, "RadiusMax" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellRadiusMeta::Instance(), HOTFIX_SEL_SPELL_RADIUS); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "Radius" }, + { false, FT_FLOAT, "RadiusPerLevel" }, + { false, FT_FLOAT, "RadiusMin" }, + { false, FT_FLOAT, "RadiusMax" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &SpellRadiusMeta::Instance, HOTFIX_SEL_SPELL_RADIUS }; }; struct SpellRangeLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[8] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "DisplayName" }, - { false, FT_STRING, "DisplayNameShort" }, - { false, FT_BYTE, "Flags" }, - { false, FT_FLOAT, "RangeMin1" }, - { false, FT_FLOAT, "RangeMin2" }, - { false, FT_FLOAT, "RangeMax1" }, - { false, FT_FLOAT, "RangeMax2" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellRangeMeta::Instance(), HOTFIX_SEL_SPELL_RANGE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "DisplayName" }, + { false, FT_STRING, "DisplayNameShort" }, + { false, FT_BYTE, "Flags" }, + { false, FT_FLOAT, "RangeMin1" }, + { false, FT_FLOAT, "RangeMin2" }, + { false, FT_FLOAT, "RangeMax1" }, + { false, FT_FLOAT, "RangeMax2" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 8, &SpellRangeMeta::Instance, HOTFIX_SEL_SPELL_RANGE }; }; struct SpellReagentsLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "SpellID" }, - { true, FT_INT, "Reagent1" }, - { true, FT_INT, "Reagent2" }, - { true, FT_INT, "Reagent3" }, - { true, FT_INT, "Reagent4" }, - { true, FT_INT, "Reagent5" }, - { true, FT_INT, "Reagent6" }, - { true, FT_INT, "Reagent7" }, - { true, FT_INT, "Reagent8" }, - { true, FT_SHORT, "ReagentCount1" }, - { true, FT_SHORT, "ReagentCount2" }, - { true, FT_SHORT, "ReagentCount3" }, - { true, FT_SHORT, "ReagentCount4" }, - { true, FT_SHORT, "ReagentCount5" }, - { true, FT_SHORT, "ReagentCount6" }, - { true, FT_SHORT, "ReagentCount7" }, - { true, FT_SHORT, "ReagentCount8" }, - { true, FT_SHORT, "ReagentRecraftCount1" }, - { true, FT_SHORT, "ReagentRecraftCount2" }, - { true, FT_SHORT, "ReagentRecraftCount3" }, - { true, FT_SHORT, "ReagentRecraftCount4" }, - { true, FT_SHORT, "ReagentRecraftCount5" }, - { true, FT_SHORT, "ReagentRecraftCount6" }, - { true, FT_SHORT, "ReagentRecraftCount7" }, - { true, FT_SHORT, "ReagentRecraftCount8" }, - { false, FT_BYTE, "ReagentSource1" }, - { false, FT_BYTE, "ReagentSource2" }, - { false, FT_BYTE, "ReagentSource3" }, - { false, FT_BYTE, "ReagentSource4" }, - { false, FT_BYTE, "ReagentSource5" }, - { false, FT_BYTE, "ReagentSource6" }, - { false, FT_BYTE, "ReagentSource7" }, - { false, FT_BYTE, "ReagentSource8" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellReagentsMeta::Instance(), HOTFIX_SEL_SPELL_REAGENTS); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[34] = + { + { false, FT_INT, "ID" }, + { true, FT_INT, "SpellID" }, + { true, FT_INT, "Reagent1" }, + { true, FT_INT, "Reagent2" }, + { true, FT_INT, "Reagent3" }, + { true, FT_INT, "Reagent4" }, + { true, FT_INT, "Reagent5" }, + { true, FT_INT, "Reagent6" }, + { true, FT_INT, "Reagent7" }, + { true, FT_INT, "Reagent8" }, + { true, FT_SHORT, "ReagentCount1" }, + { true, FT_SHORT, "ReagentCount2" }, + { true, FT_SHORT, "ReagentCount3" }, + { true, FT_SHORT, "ReagentCount4" }, + { true, FT_SHORT, "ReagentCount5" }, + { true, FT_SHORT, "ReagentCount6" }, + { true, FT_SHORT, "ReagentCount7" }, + { true, FT_SHORT, "ReagentCount8" }, + { true, FT_SHORT, "ReagentRecraftCount1" }, + { true, FT_SHORT, "ReagentRecraftCount2" }, + { true, FT_SHORT, "ReagentRecraftCount3" }, + { true, FT_SHORT, "ReagentRecraftCount4" }, + { true, FT_SHORT, "ReagentRecraftCount5" }, + { true, FT_SHORT, "ReagentRecraftCount6" }, + { true, FT_SHORT, "ReagentRecraftCount7" }, + { true, FT_SHORT, "ReagentRecraftCount8" }, + { false, FT_BYTE, "ReagentSource1" }, + { false, FT_BYTE, "ReagentSource2" }, + { false, FT_BYTE, "ReagentSource3" }, + { false, FT_BYTE, "ReagentSource4" }, + { false, FT_BYTE, "ReagentSource5" }, + { false, FT_BYTE, "ReagentSource6" }, + { false, FT_BYTE, "ReagentSource7" }, + { false, FT_BYTE, "ReagentSource8" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 34, &SpellReagentsMeta::Instance, HOTFIX_SEL_SPELL_REAGENTS }; }; struct SpellReagentsCurrencyLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "SpellID" }, - { false, FT_SHORT, "CurrencyTypesID" }, - { false, FT_SHORT, "CurrencyCount" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellReagentsCurrencyMeta::Instance(), HOTFIX_SEL_SPELL_REAGENTS_CURRENCY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "SpellID" }, + { false, FT_SHORT, "CurrencyTypesID" }, + { false, FT_SHORT, "CurrencyCount" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &SpellReagentsCurrencyMeta::Instance, HOTFIX_SEL_SPELL_REAGENTS_CURRENCY }; }; struct SpellScalingLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "SpellID" }, - { false, FT_INT, "MinScalingLevel" }, - { false, FT_INT, "MaxScalingLevel" }, - { true, FT_SHORT, "ScalesFromItemLevel" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellScalingMeta::Instance(), HOTFIX_SEL_SPELL_SCALING); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "SpellID" }, + { false, FT_INT, "MinScalingLevel" }, + { false, FT_INT, "MaxScalingLevel" }, + { true, FT_SHORT, "ScalesFromItemLevel" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &SpellScalingMeta::Instance, HOTFIX_SEL_SPELL_SCALING }; }; struct SpellShapeshiftLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[7] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "SpellID" }, - { true, FT_BYTE, "StanceBarOrder" }, - { true, FT_INT, "ShapeshiftExclude1" }, - { true, FT_INT, "ShapeshiftExclude2" }, - { true, FT_INT, "ShapeshiftMask1" }, - { true, FT_INT, "ShapeshiftMask2" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellShapeshiftMeta::Instance(), HOTFIX_SEL_SPELL_SHAPESHIFT); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "SpellID" }, + { true, FT_BYTE, "StanceBarOrder" }, + { true, FT_INT, "ShapeshiftExclude1" }, + { true, FT_INT, "ShapeshiftExclude2" }, + { true, FT_INT, "ShapeshiftMask1" }, + { true, FT_INT, "ShapeshiftMask2" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 7, &SpellShapeshiftMeta::Instance, HOTFIX_SEL_SPELL_SHAPESHIFT }; }; struct SpellShapeshiftFormLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { true, FT_BYTE, "CreatureType" }, - { true, FT_INT, "Flags" }, - { true, FT_INT, "AttackIconFileID" }, - { true, FT_BYTE, "BonusActionBar" }, - { true, FT_SHORT, "CombatRoundTime" }, - { false, FT_FLOAT, "DamageVariance" }, - { false, FT_SHORT, "MountTypeID" }, - { false, FT_INT, "CreatureDisplayID1" }, - { false, FT_INT, "CreatureDisplayID2" }, - { false, FT_INT, "CreatureDisplayID3" }, - { false, FT_INT, "CreatureDisplayID4" }, - { false, FT_INT, "PresetSpellID1" }, - { false, FT_INT, "PresetSpellID2" }, - { false, FT_INT, "PresetSpellID3" }, - { false, FT_INT, "PresetSpellID4" }, - { false, FT_INT, "PresetSpellID5" }, - { false, FT_INT, "PresetSpellID6" }, - { false, FT_INT, "PresetSpellID7" }, - { false, FT_INT, "PresetSpellID8" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellShapeshiftFormMeta::Instance(), HOTFIX_SEL_SPELL_SHAPESHIFT_FORM); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[21] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { true, FT_BYTE, "CreatureType" }, + { true, FT_INT, "Flags" }, + { true, FT_INT, "AttackIconFileID" }, + { true, FT_BYTE, "BonusActionBar" }, + { true, FT_SHORT, "CombatRoundTime" }, + { false, FT_FLOAT, "DamageVariance" }, + { false, FT_SHORT, "MountTypeID" }, + { false, FT_INT, "CreatureDisplayID1" }, + { false, FT_INT, "CreatureDisplayID2" }, + { false, FT_INT, "CreatureDisplayID3" }, + { false, FT_INT, "CreatureDisplayID4" }, + { false, FT_INT, "PresetSpellID1" }, + { false, FT_INT, "PresetSpellID2" }, + { false, FT_INT, "PresetSpellID3" }, + { false, FT_INT, "PresetSpellID4" }, + { false, FT_INT, "PresetSpellID5" }, + { false, FT_INT, "PresetSpellID6" }, + { false, FT_INT, "PresetSpellID7" }, + { false, FT_INT, "PresetSpellID8" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 21, &SpellShapeshiftFormMeta::Instance, HOTFIX_SEL_SPELL_SHAPESHIFT_FORM }; }; struct SpellTargetRestrictionsLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "DifficultyID" }, - { false, FT_FLOAT, "ConeDegrees" }, - { false, FT_BYTE, "MaxTargets" }, - { false, FT_INT, "MaxTargetLevel" }, - { true, FT_SHORT, "TargetCreatureType" }, - { true, FT_INT, "Targets" }, - { false, FT_FLOAT, "Width" }, - { false, FT_INT, "SpellID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellTargetRestrictionsMeta::Instance(), HOTFIX_SEL_SPELL_TARGET_RESTRICTIONS); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[9] = + { + { false, FT_INT, "ID" }, + { false, FT_BYTE, "DifficultyID" }, + { false, FT_FLOAT, "ConeDegrees" }, + { false, FT_BYTE, "MaxTargets" }, + { false, FT_INT, "MaxTargetLevel" }, + { true, FT_SHORT, "TargetCreatureType" }, + { true, FT_INT, "Targets" }, + { false, FT_FLOAT, "Width" }, + { false, FT_INT, "SpellID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 9, &SpellTargetRestrictionsMeta::Instance, HOTFIX_SEL_SPELL_TARGET_RESTRICTIONS }; }; struct SpellTotemsLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[6] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "SpellID" }, - { false, FT_SHORT, "RequiredTotemCategoryID1" }, - { false, FT_SHORT, "RequiredTotemCategoryID2" }, - { true, FT_INT, "Totem1" }, - { true, FT_INT, "Totem2" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellTotemsMeta::Instance(), HOTFIX_SEL_SPELL_TOTEMS); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "SpellID" }, + { false, FT_SHORT, "RequiredTotemCategoryID1" }, + { false, FT_SHORT, "RequiredTotemCategoryID2" }, + { true, FT_INT, "Totem1" }, + { true, FT_INT, "Totem2" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 6, &SpellTotemsMeta::Instance, HOTFIX_SEL_SPELL_TOTEMS }; }; struct SpellVisualLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "MissileCastOffset1" }, - { false, FT_FLOAT, "MissileCastOffset2" }, - { false, FT_FLOAT, "MissileCastOffset3" }, - { false, FT_FLOAT, "MissileImpactOffset1" }, - { false, FT_FLOAT, "MissileImpactOffset2" }, - { false, FT_FLOAT, "MissileImpactOffset3" }, - { false, FT_INT, "AnimEventSoundID" }, - { true, FT_INT, "Flags" }, - { true, FT_BYTE, "MissileAttachment" }, - { true, FT_BYTE, "MissileDestinationAttachment" }, - { false, FT_INT, "MissileCastPositionerID" }, - { false, FT_INT, "MissileImpactPositionerID" }, - { true, FT_INT, "MissileTargetingKit" }, - { false, FT_INT, "HostileSpellVisualID" }, - { false, FT_INT, "CasterSpellVisualID" }, - { false, FT_SHORT, "SpellVisualMissileSetID" }, - { false, FT_SHORT, "DamageNumberDelay" }, - { false, FT_INT, "LowViolenceSpellVisualID" }, - { false, FT_INT, "RaidSpellVisualMissileSetID" }, - { true, FT_INT, "ReducedUnexpectedCameraMovementSpellVisualID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellVisualMeta::Instance(), HOTFIX_SEL_SPELL_VISUAL); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[21] = + { + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "MissileCastOffset1" }, + { false, FT_FLOAT, "MissileCastOffset2" }, + { false, FT_FLOAT, "MissileCastOffset3" }, + { false, FT_FLOAT, "MissileImpactOffset1" }, + { false, FT_FLOAT, "MissileImpactOffset2" }, + { false, FT_FLOAT, "MissileImpactOffset3" }, + { false, FT_INT, "AnimEventSoundID" }, + { true, FT_INT, "Flags" }, + { true, FT_BYTE, "MissileAttachment" }, + { true, FT_BYTE, "MissileDestinationAttachment" }, + { false, FT_INT, "MissileCastPositionerID" }, + { false, FT_INT, "MissileImpactPositionerID" }, + { true, FT_INT, "MissileTargetingKit" }, + { false, FT_INT, "HostileSpellVisualID" }, + { false, FT_INT, "CasterSpellVisualID" }, + { false, FT_SHORT, "SpellVisualMissileSetID" }, + { false, FT_SHORT, "DamageNumberDelay" }, + { false, FT_INT, "LowViolenceSpellVisualID" }, + { false, FT_INT, "RaidSpellVisualMissileSetID" }, + { true, FT_INT, "ReducedUnexpectedCameraMovementSpellVisualID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 21, &SpellVisualMeta::Instance, HOTFIX_SEL_SPELL_VISUAL }; }; struct SpellVisualEffectNameLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "ModelFileDataID" }, - { false, FT_FLOAT, "BaseMissileSpeed" }, - { false, FT_FLOAT, "Scale" }, - { false, FT_FLOAT, "MinAllowedScale" }, - { false, FT_FLOAT, "MaxAllowedScale" }, - { false, FT_FLOAT, "Alpha" }, - { false, FT_INT, "Flags" }, - { true, FT_INT, "TextureFileDataID" }, - { false, FT_FLOAT, "EffectRadius" }, - { false, FT_INT, "Type" }, - { true, FT_INT, "GenericID" }, - { false, FT_INT, "RibbonQualityID" }, - { true, FT_INT, "DissolveEffectID" }, - { true, FT_INT, "ModelPosition" }, - { true, FT_BYTE, "Unknown901" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellVisualEffectNameMeta::Instance(), HOTFIX_SEL_SPELL_VISUAL_EFFECT_NAME); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[16] = + { + { false, FT_INT, "ID" }, + { true, FT_INT, "ModelFileDataID" }, + { false, FT_FLOAT, "BaseMissileSpeed" }, + { false, FT_FLOAT, "Scale" }, + { false, FT_FLOAT, "MinAllowedScale" }, + { false, FT_FLOAT, "MaxAllowedScale" }, + { false, FT_FLOAT, "Alpha" }, + { false, FT_INT, "Flags" }, + { true, FT_INT, "TextureFileDataID" }, + { false, FT_FLOAT, "EffectRadius" }, + { false, FT_INT, "Type" }, + { true, FT_INT, "GenericID" }, + { false, FT_INT, "RibbonQualityID" }, + { true, FT_INT, "DissolveEffectID" }, + { true, FT_INT, "ModelPosition" }, + { true, FT_BYTE, "Unknown901" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 16, &SpellVisualEffectNameMeta::Instance, HOTFIX_SEL_SPELL_VISUAL_EFFECT_NAME }; }; struct SpellVisualMissileLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_FLOAT, "CastOffset1" }, - { false, FT_FLOAT, "CastOffset2" }, - { false, FT_FLOAT, "CastOffset3" }, - { false, FT_FLOAT, "ImpactOffset1" }, - { false, FT_FLOAT, "ImpactOffset2" }, - { false, FT_FLOAT, "ImpactOffset3" }, - { false, FT_INT, "ID" }, - { false, FT_SHORT, "SpellVisualEffectNameID" }, - { false, FT_INT, "SoundEntriesID" }, - { true, FT_BYTE, "Attachment" }, - { true, FT_BYTE, "DestinationAttachment" }, - { false, FT_SHORT, "CastPositionerID" }, - { false, FT_SHORT, "ImpactPositionerID" }, - { true, FT_INT, "FollowGroundHeight" }, - { false, FT_INT, "FollowGroundDropSpeed" }, - { false, FT_SHORT, "FollowGroundApproach" }, - { false, FT_INT, "Flags" }, - { false, FT_SHORT, "SpellMissileMotionID" }, - { false, FT_INT, "AnimKitID" }, - { true, FT_BYTE, "ClutterLevel" }, - { true, FT_INT, "DecayTimeAfterImpact" }, - { false, FT_INT, "SpellVisualMissileSetID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellVisualMissileMeta::Instance(), HOTFIX_SEL_SPELL_VISUAL_MISSILE); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[22] = + { + { false, FT_FLOAT, "CastOffset1" }, + { false, FT_FLOAT, "CastOffset2" }, + { false, FT_FLOAT, "CastOffset3" }, + { false, FT_FLOAT, "ImpactOffset1" }, + { false, FT_FLOAT, "ImpactOffset2" }, + { false, FT_FLOAT, "ImpactOffset3" }, + { false, FT_INT, "ID" }, + { false, FT_SHORT, "SpellVisualEffectNameID" }, + { false, FT_INT, "SoundEntriesID" }, + { true, FT_BYTE, "Attachment" }, + { true, FT_BYTE, "DestinationAttachment" }, + { false, FT_SHORT, "CastPositionerID" }, + { false, FT_SHORT, "ImpactPositionerID" }, + { true, FT_INT, "FollowGroundHeight" }, + { false, FT_INT, "FollowGroundDropSpeed" }, + { false, FT_SHORT, "FollowGroundApproach" }, + { false, FT_INT, "Flags" }, + { false, FT_SHORT, "SpellMissileMotionID" }, + { false, FT_INT, "AnimKitID" }, + { true, FT_BYTE, "ClutterLevel" }, + { true, FT_INT, "DecayTimeAfterImpact" }, + { false, FT_INT, "SpellVisualMissileSetID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 22, &SpellVisualMissileMeta::Instance, HOTFIX_SEL_SPELL_VISUAL_MISSILE }; }; struct SpellVisualKitLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[7] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_BYTE, "FallbackPriority" }, - { true, FT_INT, "FallbackSpellVisualKitId" }, - { false, FT_SHORT, "DelayMin" }, - { false, FT_SHORT, "DelayMax" }, - { true, FT_INT, "Flags1" }, - { true, FT_INT, "Flags2" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellVisualKitMeta::Instance(), HOTFIX_SEL_SPELL_VISUAL_KIT); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_BYTE, "FallbackPriority" }, + { true, FT_INT, "FallbackSpellVisualKitId" }, + { false, FT_SHORT, "DelayMin" }, + { false, FT_SHORT, "DelayMax" }, + { true, FT_INT, "Flags1" }, + { true, FT_INT, "Flags2" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 7, &SpellVisualKitMeta::Instance, HOTFIX_SEL_SPELL_VISUAL_KIT }; }; struct SpellXSpellVisualLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "DifficultyID" }, - { false, FT_INT, "SpellVisualID" }, - { false, FT_FLOAT, "Probability" }, - { true, FT_INT, "Flags" }, - { true, FT_INT, "Priority" }, - { true, FT_INT, "SpellIconFileID" }, - { true, FT_INT, "ActiveIconFileID" }, - { false, FT_SHORT, "ViewerUnitConditionID" }, - { false, FT_INT, "ViewerPlayerConditionID" }, - { false, FT_SHORT, "CasterUnitConditionID" }, - { false, FT_INT, "CasterPlayerConditionID" }, - { false, FT_INT, "SpellID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SpellXSpellVisualMeta::Instance(), HOTFIX_SEL_SPELL_X_SPELL_VISUAL); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[13] = + { + { false, FT_INT, "ID" }, + { false, FT_BYTE, "DifficultyID" }, + { false, FT_INT, "SpellVisualID" }, + { false, FT_FLOAT, "Probability" }, + { true, FT_INT, "Flags" }, + { true, FT_INT, "Priority" }, + { true, FT_INT, "SpellIconFileID" }, + { true, FT_INT, "ActiveIconFileID" }, + { false, FT_SHORT, "ViewerUnitConditionID" }, + { false, FT_INT, "ViewerPlayerConditionID" }, + { false, FT_SHORT, "CasterUnitConditionID" }, + { false, FT_INT, "CasterPlayerConditionID" }, + { false, FT_INT, "SpellID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 13, &SpellXSpellVisualMeta::Instance, HOTFIX_SEL_SPELL_X_SPELL_VISUAL }; }; struct SummonPropertiesLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[7] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "Control" }, - { true, FT_INT, "Faction" }, - { true, FT_INT, "Title" }, - { true, FT_INT, "Slot" }, - { true, FT_INT, "Flags1" }, - { true, FT_INT, "Flags2" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), SummonPropertiesMeta::Instance(), HOTFIX_SEL_SUMMON_PROPERTIES); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "Control" }, + { true, FT_INT, "Faction" }, + { true, FT_INT, "Title" }, + { true, FT_INT, "Slot" }, + { true, FT_INT, "Flags1" }, + { true, FT_INT, "Flags2" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 7, &SummonPropertiesMeta::Instance, HOTFIX_SEL_SUMMON_PROPERTIES }; }; struct TactKeyLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "Key1" }, - { false, FT_BYTE, "Key2" }, - { false, FT_BYTE, "Key3" }, - { false, FT_BYTE, "Key4" }, - { false, FT_BYTE, "Key5" }, - { false, FT_BYTE, "Key6" }, - { false, FT_BYTE, "Key7" }, - { false, FT_BYTE, "Key8" }, - { false, FT_BYTE, "Key9" }, - { false, FT_BYTE, "Key10" }, - { false, FT_BYTE, "Key11" }, - { false, FT_BYTE, "Key12" }, - { false, FT_BYTE, "Key13" }, - { false, FT_BYTE, "Key14" }, - { false, FT_BYTE, "Key15" }, - { false, FT_BYTE, "Key16" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TactKeyMeta::Instance(), HOTFIX_SEL_TACT_KEY); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[17] = + { + { false, FT_INT, "ID" }, + { false, FT_BYTE, "Key1" }, + { false, FT_BYTE, "Key2" }, + { false, FT_BYTE, "Key3" }, + { false, FT_BYTE, "Key4" }, + { false, FT_BYTE, "Key5" }, + { false, FT_BYTE, "Key6" }, + { false, FT_BYTE, "Key7" }, + { false, FT_BYTE, "Key8" }, + { false, FT_BYTE, "Key9" }, + { false, FT_BYTE, "Key10" }, + { false, FT_BYTE, "Key11" }, + { false, FT_BYTE, "Key12" }, + { false, FT_BYTE, "Key13" }, + { false, FT_BYTE, "Key14" }, + { false, FT_BYTE, "Key15" }, + { false, FT_BYTE, "Key16" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 17, &TactKeyMeta::Instance, HOTFIX_SEL_TACT_KEY }; }; struct TalentLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Description" }, - { false, FT_BYTE, "TierID" }, - { false, FT_BYTE, "Flags" }, - { false, FT_BYTE, "ColumnIndex" }, - { false, FT_BYTE, "ClassID" }, - { false, FT_SHORT, "SpecID" }, - { false, FT_INT, "SpellID" }, - { false, FT_INT, "OverridesSpellID" }, - { false, FT_BYTE, "CategoryMask1" }, - { false, FT_BYTE, "CategoryMask2" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TalentMeta::Instance(), HOTFIX_SEL_TALENT); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[11] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "Description" }, + { false, FT_BYTE, "TierID" }, + { false, FT_BYTE, "Flags" }, + { false, FT_BYTE, "ColumnIndex" }, + { false, FT_BYTE, "ClassID" }, + { false, FT_SHORT, "SpecID" }, + { false, FT_INT, "SpellID" }, + { false, FT_INT, "OverridesSpellID" }, + { false, FT_BYTE, "CategoryMask1" }, + { false, FT_BYTE, "CategoryMask2" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 11, &TalentMeta::Instance, HOTFIX_SEL_TALENT }; }; struct TaxiNodesLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Name" }, - { false, FT_FLOAT, "PosX" }, - { false, FT_FLOAT, "PosY" }, - { false, FT_FLOAT, "PosZ" }, - { false, FT_FLOAT, "MapOffsetX" }, - { false, FT_FLOAT, "MapOffsetY" }, - { false, FT_FLOAT, "FlightMapOffsetX" }, - { false, FT_FLOAT, "FlightMapOffsetY" }, - { false, FT_INT, "ID" }, - { false, FT_SHORT, "ContinentID" }, - { true, FT_INT, "ConditionID" }, - { false, FT_SHORT, "CharacterBitNumber" }, - { false, FT_SHORT, "Flags" }, - { true, FT_INT, "UiTextureKitID" }, - { true, FT_INT, "MinimapAtlasMemberID" }, - { false, FT_FLOAT, "Facing" }, - { false, FT_INT, "SpecialIconConditionID" }, - { false, FT_INT, "VisibilityConditionID" }, - { true, FT_INT, "MountCreatureID1" }, - { true, FT_INT, "MountCreatureID2" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TaxiNodesMeta::Instance(), HOTFIX_SEL_TAXI_NODES); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[20] = + { + { false, FT_STRING, "Name" }, + { false, FT_FLOAT, "PosX" }, + { false, FT_FLOAT, "PosY" }, + { false, FT_FLOAT, "PosZ" }, + { false, FT_FLOAT, "MapOffsetX" }, + { false, FT_FLOAT, "MapOffsetY" }, + { false, FT_FLOAT, "FlightMapOffsetX" }, + { false, FT_FLOAT, "FlightMapOffsetY" }, + { false, FT_INT, "ID" }, + { false, FT_SHORT, "ContinentID" }, + { true, FT_INT, "ConditionID" }, + { false, FT_SHORT, "CharacterBitNumber" }, + { false, FT_SHORT, "Flags" }, + { true, FT_INT, "UiTextureKitID" }, + { true, FT_INT, "MinimapAtlasMemberID" }, + { false, FT_FLOAT, "Facing" }, + { false, FT_INT, "SpecialIconConditionID" }, + { false, FT_INT, "VisibilityConditionID" }, + { true, FT_INT, "MountCreatureID1" }, + { true, FT_INT, "MountCreatureID2" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 20, &TaxiNodesMeta::Instance, HOTFIX_SEL_TAXI_NODES }; }; struct TaxiPathLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_SHORT, "FromTaxiNode" }, - { false, FT_SHORT, "ToTaxiNode" }, - { false, FT_INT, "Cost" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TaxiPathMeta::Instance(), HOTFIX_SEL_TAXI_PATH); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_SHORT, "FromTaxiNode" }, + { false, FT_SHORT, "ToTaxiNode" }, + { false, FT_INT, "Cost" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &TaxiPathMeta::Instance, HOTFIX_SEL_TAXI_PATH }; }; struct TaxiPathNodeLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_FLOAT, "LocX" }, - { false, FT_FLOAT, "LocY" }, - { false, FT_FLOAT, "LocZ" }, - { false, FT_INT, "ID" }, - { false, FT_SHORT, "PathID" }, - { true, FT_INT, "NodeIndex" }, - { false, FT_SHORT, "ContinentID" }, - { false, FT_BYTE, "Flags" }, - { false, FT_INT, "Delay" }, - { true, FT_INT, "ArrivalEventID" }, - { true, FT_INT, "DepartureEventID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TaxiPathNodeMeta::Instance(), HOTFIX_SEL_TAXI_PATH_NODE); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[11] = + { + { false, FT_FLOAT, "LocX" }, + { false, FT_FLOAT, "LocY" }, + { false, FT_FLOAT, "LocZ" }, + { false, FT_INT, "ID" }, + { false, FT_SHORT, "PathID" }, + { true, FT_INT, "NodeIndex" }, + { false, FT_SHORT, "ContinentID" }, + { false, FT_BYTE, "Flags" }, + { false, FT_INT, "Delay" }, + { true, FT_INT, "ArrivalEventID" }, + { true, FT_INT, "DepartureEventID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 11, &TaxiPathNodeMeta::Instance, HOTFIX_SEL_TAXI_PATH_NODE }; }; struct TotemCategoryLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { false, FT_BYTE, "TotemCategoryType" }, - { true, FT_INT, "TotemCategoryMask" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TotemCategoryMeta::Instance(), HOTFIX_SEL_TOTEM_CATEGORY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_BYTE, "TotemCategoryType" }, + { true, FT_INT, "TotemCategoryMask" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &TotemCategoryMeta::Instance, HOTFIX_SEL_TOTEM_CATEGORY }; }; struct ToyLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "SourceText" }, - { false, FT_INT, "ID" }, - { true, FT_INT, "ItemID" }, - { false, FT_BYTE, "Flags" }, - { true, FT_BYTE, "SourceTypeEnum" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), ToyMeta::Instance(), HOTFIX_SEL_TOY); - return &loadInfo; - } + { false, FT_STRING, "SourceText" }, + { false, FT_INT, "ID" }, + { true, FT_INT, "ItemID" }, + { false, FT_BYTE, "Flags" }, + { true, FT_BYTE, "SourceTypeEnum" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &ToyMeta::Instance, HOTFIX_SEL_TOY }; }; struct TransmogHolidayLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[2] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "RequiredTransmogHoliday" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TransmogHolidayMeta::Instance(), HOTFIX_SEL_TRANSMOG_HOLIDAY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "RequiredTransmogHoliday" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 2, &TransmogHolidayMeta::Instance, HOTFIX_SEL_TRANSMOG_HOLIDAY }; }; struct TraitCondLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "CondType" }, - { true, FT_INT, "TraitTreeID" }, - { true, FT_INT, "GrantedRanks" }, - { true, FT_INT, "QuestID" }, - { true, FT_INT, "AchievementID" }, - { true, FT_INT, "SpecSetID" }, - { true, FT_INT, "TraitNodeGroupID" }, - { true, FT_INT, "TraitNodeID" }, - { true, FT_INT, "TraitCurrencyID" }, - { true, FT_INT, "SpentAmountRequired" }, - { true, FT_INT, "Flags" }, - { true, FT_INT, "RequiredLevel" }, - { true, FT_INT, "FreeSharedStringID" }, - { true, FT_INT, "SpendMoreSharedStringID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TraitCondMeta::Instance(), HOTFIX_SEL_TRAIT_COND); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[15] = + { + { false, FT_INT, "ID" }, + { true, FT_INT, "CondType" }, + { true, FT_INT, "TraitTreeID" }, + { true, FT_INT, "GrantedRanks" }, + { true, FT_INT, "QuestID" }, + { true, FT_INT, "AchievementID" }, + { true, FT_INT, "SpecSetID" }, + { true, FT_INT, "TraitNodeGroupID" }, + { true, FT_INT, "TraitNodeID" }, + { true, FT_INT, "TraitCurrencyID" }, + { true, FT_INT, "SpentAmountRequired" }, + { true, FT_INT, "Flags" }, + { true, FT_INT, "RequiredLevel" }, + { true, FT_INT, "FreeSharedStringID" }, + { true, FT_INT, "SpendMoreSharedStringID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 15, &TraitCondMeta::Instance, HOTFIX_SEL_TRAIT_COND }; }; struct TraitCostLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING_NOT_LOCALIZED, "InternalName" }, - { false, FT_INT, "ID" }, - { true, FT_INT, "Amount" }, - { true, FT_INT, "TraitCurrencyID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TraitCostMeta::Instance(), HOTFIX_SEL_TRAIT_COST); - return &loadInfo; - } + { false, FT_STRING_NOT_LOCALIZED, "InternalName" }, + { false, FT_INT, "ID" }, + { true, FT_INT, "Amount" }, + { true, FT_INT, "TraitCurrencyID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &TraitCostMeta::Instance, HOTFIX_SEL_TRAIT_COST }; }; struct TraitCurrencyLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "Type" }, - { true, FT_INT, "CurrencyTypesID" }, - { true, FT_INT, "Flags" }, - { true, FT_INT, "Icon" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TraitCurrencyMeta::Instance(), HOTFIX_SEL_TRAIT_CURRENCY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "Type" }, + { true, FT_INT, "CurrencyTypesID" }, + { true, FT_INT, "Flags" }, + { true, FT_INT, "Icon" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &TraitCurrencyMeta::Instance, HOTFIX_SEL_TRAIT_CURRENCY }; }; struct TraitCurrencySourceLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Requirement" }, - { false, FT_INT, "ID" }, - { true, FT_INT, "TraitCurrencyID" }, - { true, FT_INT, "Amount" }, - { true, FT_INT, "QuestID" }, - { true, FT_INT, "AchievementID" }, - { true, FT_INT, "PlayerLevel" }, - { true, FT_INT, "TraitNodeEntryID" }, - { true, FT_INT, "OrderIndex" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TraitCurrencySourceMeta::Instance(), HOTFIX_SEL_TRAIT_CURRENCY_SOURCE); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[9] = + { + { false, FT_STRING, "Requirement" }, + { false, FT_INT, "ID" }, + { true, FT_INT, "TraitCurrencyID" }, + { true, FT_INT, "Amount" }, + { true, FT_INT, "QuestID" }, + { true, FT_INT, "AchievementID" }, + { true, FT_INT, "PlayerLevel" }, + { true, FT_INT, "TraitNodeEntryID" }, + { true, FT_INT, "OrderIndex" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 9, &TraitCurrencySourceMeta::Instance, HOTFIX_SEL_TRAIT_CURRENCY_SOURCE }; }; struct TraitDefinitionLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[8] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "OverrideName" }, - { false, FT_STRING, "OverrideSubtext" }, - { false, FT_STRING, "OverrideDescription" }, - { false, FT_INT, "ID" }, - { true, FT_INT, "SpellID" }, - { true, FT_INT, "OverrideIcon" }, - { true, FT_INT, "OverridesSpellID" }, - { true, FT_INT, "VisibleSpellID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TraitDefinitionMeta::Instance(), HOTFIX_SEL_TRAIT_DEFINITION); - return &loadInfo; - } + { false, FT_STRING, "OverrideName" }, + { false, FT_STRING, "OverrideSubtext" }, + { false, FT_STRING, "OverrideDescription" }, + { false, FT_INT, "ID" }, + { true, FT_INT, "SpellID" }, + { true, FT_INT, "OverrideIcon" }, + { true, FT_INT, "OverridesSpellID" }, + { true, FT_INT, "VisibleSpellID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 8, &TraitDefinitionMeta::Instance, HOTFIX_SEL_TRAIT_DEFINITION }; }; struct TraitDefinitionEffectPointsLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "TraitDefinitionID" }, - { true, FT_INT, "EffectIndex" }, - { true, FT_INT, "OperationType" }, - { true, FT_INT, "CurveID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TraitDefinitionEffectPointsMeta::Instance(), HOTFIX_SEL_TRAIT_DEFINITION_EFFECT_POINTS); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "TraitDefinitionID" }, + { true, FT_INT, "EffectIndex" }, + { true, FT_INT, "OperationType" }, + { true, FT_INT, "CurveID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &TraitDefinitionEffectPointsMeta::Instance, HOTFIX_SEL_TRAIT_DEFINITION_EFFECT_POINTS }; }; struct TraitEdgeLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "VisualStyle" }, - { true, FT_INT, "LeftTraitNodeID" }, - { true, FT_INT, "RightTraitNodeID" }, - { true, FT_INT, "Type" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TraitEdgeMeta::Instance(), HOTFIX_SEL_TRAIT_EDGE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "VisualStyle" }, + { true, FT_INT, "LeftTraitNodeID" }, + { true, FT_INT, "RightTraitNodeID" }, + { true, FT_INT, "Type" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &TraitEdgeMeta::Instance, HOTFIX_SEL_TRAIT_EDGE }; }; struct TraitNodeLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[6] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "TraitTreeID" }, - { true, FT_INT, "PosX" }, - { true, FT_INT, "PosY" }, - { true, FT_BYTE, "Type" }, - { true, FT_INT, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TraitNodeMeta::Instance(), HOTFIX_SEL_TRAIT_NODE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "TraitTreeID" }, + { true, FT_INT, "PosX" }, + { true, FT_INT, "PosY" }, + { true, FT_BYTE, "Type" }, + { true, FT_INT, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 6, &TraitNodeMeta::Instance, HOTFIX_SEL_TRAIT_NODE }; }; struct TraitNodeEntryLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "TraitDefinitionID" }, - { true, FT_INT, "MaxRanks" }, - { false, FT_BYTE, "NodeEntryType" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TraitNodeEntryMeta::Instance(), HOTFIX_SEL_TRAIT_NODE_ENTRY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "TraitDefinitionID" }, + { true, FT_INT, "MaxRanks" }, + { false, FT_BYTE, "NodeEntryType" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &TraitNodeEntryMeta::Instance, HOTFIX_SEL_TRAIT_NODE_ENTRY }; }; struct TraitNodeEntryXTraitCondLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "TraitCondID" }, - { false, FT_INT, "TraitNodeEntryID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TraitNodeEntryXTraitCondMeta::Instance(), HOTFIX_SEL_TRAIT_NODE_ENTRY_X_TRAIT_COND); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "TraitCondID" }, + { false, FT_INT, "TraitNodeEntryID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeEntryXTraitCondMeta::Instance, HOTFIX_SEL_TRAIT_NODE_ENTRY_X_TRAIT_COND }; }; struct TraitNodeEntryXTraitCostLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "TraitNodeEntryID" }, - { true, FT_INT, "TraitCostID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TraitNodeEntryXTraitCostMeta::Instance(), HOTFIX_SEL_TRAIT_NODE_ENTRY_X_TRAIT_COST); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "TraitNodeEntryID" }, + { true, FT_INT, "TraitCostID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeEntryXTraitCostMeta::Instance, HOTFIX_SEL_TRAIT_NODE_ENTRY_X_TRAIT_COST }; }; struct TraitNodeGroupLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "TraitTreeID" }, - { true, FT_INT, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TraitNodeGroupMeta::Instance(), HOTFIX_SEL_TRAIT_NODE_GROUP); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "TraitTreeID" }, + { true, FT_INT, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeGroupMeta::Instance, HOTFIX_SEL_TRAIT_NODE_GROUP }; }; struct TraitNodeGroupXTraitCondLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "TraitCondID" }, - { true, FT_INT, "TraitNodeGroupID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TraitNodeGroupXTraitCondMeta::Instance(), HOTFIX_SEL_TRAIT_NODE_GROUP_X_TRAIT_COND); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "TraitCondID" }, + { true, FT_INT, "TraitNodeGroupID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeGroupXTraitCondMeta::Instance, HOTFIX_SEL_TRAIT_NODE_GROUP_X_TRAIT_COND }; }; struct TraitNodeGroupXTraitCostLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "TraitNodeGroupID" }, - { true, FT_INT, "TraitCostID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TraitNodeGroupXTraitCostMeta::Instance(), HOTFIX_SEL_TRAIT_NODE_GROUP_X_TRAIT_COST); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "TraitNodeGroupID" }, + { true, FT_INT, "TraitCostID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeGroupXTraitCostMeta::Instance, HOTFIX_SEL_TRAIT_NODE_GROUP_X_TRAIT_COST }; }; struct TraitNodeGroupXTraitNodeLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "TraitNodeGroupID" }, - { true, FT_INT, "TraitNodeID" }, - { true, FT_INT, "Index" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TraitNodeGroupXTraitNodeMeta::Instance(), HOTFIX_SEL_TRAIT_NODE_GROUP_X_TRAIT_NODE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "TraitNodeGroupID" }, + { true, FT_INT, "TraitNodeID" }, + { true, FT_INT, "Index" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &TraitNodeGroupXTraitNodeMeta::Instance, HOTFIX_SEL_TRAIT_NODE_GROUP_X_TRAIT_NODE }; }; struct TraitNodeXTraitCondLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "TraitCondID" }, - { true, FT_INT, "TraitNodeID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TraitNodeXTraitCondMeta::Instance(), HOTFIX_SEL_TRAIT_NODE_X_TRAIT_COND); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "TraitCondID" }, + { true, FT_INT, "TraitNodeID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeXTraitCondMeta::Instance, HOTFIX_SEL_TRAIT_NODE_X_TRAIT_COND }; }; struct TraitNodeXTraitCostLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_INT, "TraitNodeID" }, - { true, FT_INT, "TraitCostID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TraitNodeXTraitCostMeta::Instance(), HOTFIX_SEL_TRAIT_NODE_X_TRAIT_COST); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_INT, "TraitNodeID" }, + { true, FT_INT, "TraitCostID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeXTraitCostMeta::Instance, HOTFIX_SEL_TRAIT_NODE_X_TRAIT_COST }; }; struct TraitNodeXTraitNodeEntryLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "TraitNodeID" }, - { true, FT_INT, "TraitNodeEntryID" }, - { true, FT_INT, "Index" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TraitNodeXTraitNodeEntryMeta::Instance(), HOTFIX_SEL_TRAIT_NODE_X_TRAIT_NODE_ENTRY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "TraitNodeID" }, + { true, FT_INT, "TraitNodeEntryID" }, + { true, FT_INT, "Index" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &TraitNodeXTraitNodeEntryMeta::Instance, HOTFIX_SEL_TRAIT_NODE_X_TRAIT_NODE_ENTRY }; }; struct TraitTreeLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[8] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "TraitSystemID" }, - { true, FT_INT, "Unused1000_1" }, - { true, FT_INT, "FirstTraitNodeID" }, - { true, FT_INT, "PlayerConditionID" }, - { true, FT_INT, "Flags" }, - { false, FT_FLOAT, "Unused1000_2" }, - { false, FT_FLOAT, "Unused1000_3" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TraitTreeMeta::Instance(), HOTFIX_SEL_TRAIT_TREE); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "TraitSystemID" }, + { true, FT_INT, "Unused1000_1" }, + { true, FT_INT, "FirstTraitNodeID" }, + { true, FT_INT, "PlayerConditionID" }, + { true, FT_INT, "Flags" }, + { false, FT_FLOAT, "Unused1000_2" }, + { false, FT_FLOAT, "Unused1000_3" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 8, &TraitTreeMeta::Instance, HOTFIX_SEL_TRAIT_TREE }; }; struct TraitTreeLoadoutLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "TraitTreeID" }, - { true, FT_INT, "ChrSpecializationID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TraitTreeLoadoutMeta::Instance(), HOTFIX_SEL_TRAIT_TREE_LOADOUT); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "TraitTreeID" }, + { true, FT_INT, "ChrSpecializationID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitTreeLoadoutMeta::Instance, HOTFIX_SEL_TRAIT_TREE_LOADOUT }; }; struct TraitTreeLoadoutEntryLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[6] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "TraitTreeLoadoutID" }, - { true, FT_INT, "SelectedTraitNodeID" }, - { true, FT_INT, "SelectedTraitNodeEntryID" }, - { true, FT_INT, "NumPoints" }, - { true, FT_INT, "OrderIndex" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TraitTreeLoadoutEntryMeta::Instance(), HOTFIX_SEL_TRAIT_TREE_LOADOUT_ENTRY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "TraitTreeLoadoutID" }, + { true, FT_INT, "SelectedTraitNodeID" }, + { true, FT_INT, "SelectedTraitNodeEntryID" }, + { true, FT_INT, "NumPoints" }, + { true, FT_INT, "OrderIndex" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 6, &TraitTreeLoadoutEntryMeta::Instance, HOTFIX_SEL_TRAIT_TREE_LOADOUT_ENTRY }; }; struct TraitTreeXTraitCostLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[3] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_INT, "TraitTreeID" }, - { true, FT_INT, "TraitCostID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TraitTreeXTraitCostMeta::Instance(), HOTFIX_SEL_TRAIT_TREE_X_TRAIT_COST); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_INT, "TraitTreeID" }, + { true, FT_INT, "TraitCostID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitTreeXTraitCostMeta::Instance, HOTFIX_SEL_TRAIT_TREE_X_TRAIT_COST }; }; struct TraitTreeXTraitCurrencyLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "Index" }, - { true, FT_INT, "TraitTreeID" }, - { true, FT_INT, "TraitCurrencyID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TraitTreeXTraitCurrencyMeta::Instance(), HOTFIX_SEL_TRAIT_TREE_X_TRAIT_CURRENCY); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "Index" }, + { true, FT_INT, "TraitTreeID" }, + { true, FT_INT, "TraitCurrencyID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &TraitTreeXTraitCurrencyMeta::Instance, HOTFIX_SEL_TRAIT_TREE_X_TRAIT_CURRENCY }; }; struct TransmogIllusionLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[5] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "UnlockConditionID" }, - { true, FT_INT, "TransmogCost" }, - { true, FT_INT, "SpellItemEnchantmentID" }, - { true, FT_INT, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TransmogIllusionMeta::Instance(), HOTFIX_SEL_TRANSMOG_ILLUSION); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "UnlockConditionID" }, + { true, FT_INT, "TransmogCost" }, + { true, FT_INT, "SpellItemEnchantmentID" }, + { true, FT_INT, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 5, &TransmogIllusionMeta::Instance, HOTFIX_SEL_TRANSMOG_ILLUSION }; }; struct TransmogSetLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Name" }, - { false, FT_INT, "ID" }, - { true, FT_INT, "ClassMask" }, - { false, FT_INT, "TrackingQuestID" }, - { true, FT_INT, "Flags" }, - { false, FT_INT, "TransmogSetGroupID" }, - { true, FT_INT, "ItemNameDescriptionID" }, - { false, FT_SHORT, "ParentTransmogSetID" }, - { false, FT_BYTE, "Unknown810" }, - { false, FT_BYTE, "ExpansionID" }, - { true, FT_INT, "PatchID" }, - { true, FT_SHORT, "UiOrder" }, - { true, FT_INT, "PlayerConditionID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TransmogSetMeta::Instance(), HOTFIX_SEL_TRANSMOG_SET); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[13] = + { + { false, FT_STRING, "Name" }, + { false, FT_INT, "ID" }, + { true, FT_INT, "ClassMask" }, + { false, FT_INT, "TrackingQuestID" }, + { true, FT_INT, "Flags" }, + { false, FT_INT, "TransmogSetGroupID" }, + { true, FT_INT, "ItemNameDescriptionID" }, + { false, FT_SHORT, "ParentTransmogSetID" }, + { false, FT_BYTE, "Unknown810" }, + { false, FT_BYTE, "ExpansionID" }, + { true, FT_INT, "PatchID" }, + { true, FT_SHORT, "UiOrder" }, + { true, FT_INT, "PlayerConditionID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 13, &TransmogSetMeta::Instance, HOTFIX_SEL_TRANSMOG_SET }; }; struct TransmogSetGroupLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[2] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TransmogSetGroupMeta::Instance(), HOTFIX_SEL_TRANSMOG_SET_GROUP); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 2, &TransmogSetGroupMeta::Instance, HOTFIX_SEL_TRANSMOG_SET_GROUP }; }; struct TransmogSetItemLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_INT, "TransmogSetID" }, - { false, FT_INT, "ItemModifiedAppearanceID" }, - { true, FT_INT, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TransmogSetItemMeta::Instance(), HOTFIX_SEL_TRANSMOG_SET_ITEM); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_INT, "TransmogSetID" }, + { false, FT_INT, "ItemModifiedAppearanceID" }, + { true, FT_INT, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &TransmogSetItemMeta::Instance, HOTFIX_SEL_TRANSMOG_SET_ITEM }; }; struct TransportAnimationLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[7] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "PosX" }, - { false, FT_FLOAT, "PosY" }, - { false, FT_FLOAT, "PosZ" }, - { false, FT_BYTE, "SequenceID" }, - { false, FT_INT, "TimeIndex" }, - { false, FT_INT, "TransportID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TransportAnimationMeta::Instance(), HOTFIX_SEL_TRANSPORT_ANIMATION); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "PosX" }, + { false, FT_FLOAT, "PosY" }, + { false, FT_FLOAT, "PosZ" }, + { false, FT_BYTE, "SequenceID" }, + { false, FT_INT, "TimeIndex" }, + { false, FT_INT, "TransportID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 7, &TransportAnimationMeta::Instance, HOTFIX_SEL_TRANSPORT_ANIMATION }; }; struct TransportRotationLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[7] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "Rot1" }, - { false, FT_FLOAT, "Rot2" }, - { false, FT_FLOAT, "Rot3" }, - { false, FT_FLOAT, "Rot4" }, - { false, FT_INT, "TimeIndex" }, - { false, FT_INT, "GameObjectsID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), TransportRotationMeta::Instance(), HOTFIX_SEL_TRANSPORT_ROTATION); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "Rot1" }, + { false, FT_FLOAT, "Rot2" }, + { false, FT_FLOAT, "Rot3" }, + { false, FT_FLOAT, "Rot4" }, + { false, FT_INT, "TimeIndex" }, + { false, FT_INT, "GameObjectsID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 7, &TransportRotationMeta::Instance, HOTFIX_SEL_TRANSPORT_ROTATION }; }; struct UiMapLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "Name" }, - { false, FT_INT, "ID" }, - { true, FT_INT, "ParentUiMapID" }, - { true, FT_INT, "Flags" }, - { false, FT_INT, "System" }, - { false, FT_INT, "Type" }, - { true, FT_INT, "BountySetID" }, - { false, FT_INT, "BountyDisplayLocation" }, - { true, FT_INT, "VisibilityPlayerConditionID" }, - { true, FT_BYTE, "HelpTextPosition" }, - { true, FT_INT, "BkgAtlasID" }, - { true, FT_INT, "AlternateUiMapGroup" }, - { true, FT_INT, "ContentTuningID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), UiMapMeta::Instance(), HOTFIX_SEL_UI_MAP); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[13] = + { + { false, FT_STRING, "Name" }, + { false, FT_INT, "ID" }, + { true, FT_INT, "ParentUiMapID" }, + { true, FT_INT, "Flags" }, + { false, FT_INT, "System" }, + { false, FT_INT, "Type" }, + { true, FT_INT, "BountySetID" }, + { false, FT_INT, "BountyDisplayLocation" }, + { true, FT_INT, "VisibilityPlayerConditionID" }, + { true, FT_BYTE, "HelpTextPosition" }, + { true, FT_INT, "BkgAtlasID" }, + { true, FT_INT, "AlternateUiMapGroup" }, + { true, FT_INT, "ContentTuningID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 13, &UiMapMeta::Instance, HOTFIX_SEL_UI_MAP }; }; struct UiMapAssignmentLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_FLOAT, "UiMinX" }, - { false, FT_FLOAT, "UiMinY" }, - { false, FT_FLOAT, "UiMaxX" }, - { false, FT_FLOAT, "UiMaxY" }, - { false, FT_FLOAT, "Region1X" }, - { false, FT_FLOAT, "Region1Y" }, - { false, FT_FLOAT, "Region1Z" }, - { false, FT_FLOAT, "Region2X" }, - { false, FT_FLOAT, "Region2Y" }, - { false, FT_FLOAT, "Region2Z" }, - { false, FT_INT, "ID" }, - { true, FT_INT, "UiMapID" }, - { true, FT_INT, "OrderIndex" }, - { true, FT_INT, "MapID" }, - { true, FT_INT, "AreaID" }, - { true, FT_INT, "WmoDoodadPlacementID" }, - { true, FT_INT, "WmoGroupID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), UiMapAssignmentMeta::Instance(), HOTFIX_SEL_UI_MAP_ASSIGNMENT); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[17] = + { + { false, FT_FLOAT, "UiMinX" }, + { false, FT_FLOAT, "UiMinY" }, + { false, FT_FLOAT, "UiMaxX" }, + { false, FT_FLOAT, "UiMaxY" }, + { false, FT_FLOAT, "Region1X" }, + { false, FT_FLOAT, "Region1Y" }, + { false, FT_FLOAT, "Region1Z" }, + { false, FT_FLOAT, "Region2X" }, + { false, FT_FLOAT, "Region2Y" }, + { false, FT_FLOAT, "Region2Z" }, + { false, FT_INT, "ID" }, + { true, FT_INT, "UiMapID" }, + { true, FT_INT, "OrderIndex" }, + { true, FT_INT, "MapID" }, + { true, FT_INT, "AreaID" }, + { true, FT_INT, "WmoDoodadPlacementID" }, + { true, FT_INT, "WmoGroupID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 17, &UiMapAssignmentMeta::Instance, HOTFIX_SEL_UI_MAP_ASSIGNMENT }; }; struct UiMapLinkLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_FLOAT, "UiMinX" }, - { false, FT_FLOAT, "UiMinY" }, - { false, FT_FLOAT, "UiMaxX" }, - { false, FT_FLOAT, "UiMaxY" }, - { false, FT_INT, "ID" }, - { true, FT_INT, "ParentUiMapID" }, - { true, FT_INT, "OrderIndex" }, - { true, FT_INT, "ChildUiMapID" }, - { true, FT_INT, "PlayerConditionID" }, - { true, FT_INT, "OverrideHighlightFileDataID" }, - { true, FT_INT, "OverrideHighlightAtlasID" }, - { true, FT_INT, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), UiMapLinkMeta::Instance(), HOTFIX_SEL_UI_MAP_LINK); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[12] = + { + { false, FT_FLOAT, "UiMinX" }, + { false, FT_FLOAT, "UiMinY" }, + { false, FT_FLOAT, "UiMaxX" }, + { false, FT_FLOAT, "UiMaxY" }, + { false, FT_INT, "ID" }, + { true, FT_INT, "ParentUiMapID" }, + { true, FT_INT, "OrderIndex" }, + { true, FT_INT, "ChildUiMapID" }, + { true, FT_INT, "PlayerConditionID" }, + { true, FT_INT, "OverrideHighlightFileDataID" }, + { true, FT_INT, "OverrideHighlightAtlasID" }, + { true, FT_INT, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 12, &UiMapLinkMeta::Instance, HOTFIX_SEL_UI_MAP_LINK }; }; struct UiMapXMapArtLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[4] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "PhaseID" }, - { true, FT_INT, "UiMapArtID" }, - { false, FT_INT, "UiMapID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), UiMapXMapArtMeta::Instance(), HOTFIX_SEL_UI_MAP_X_MAP_ART); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { true, FT_INT, "PhaseID" }, + { true, FT_INT, "UiMapArtID" }, + { false, FT_INT, "UiMapID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 4, &UiMapXMapArtMeta::Instance, HOTFIX_SEL_UI_MAP_X_MAP_ART }; }; struct UiSplashScreenLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Header" }, - { false, FT_STRING, "TopLeftFeatureTitle" }, - { false, FT_STRING, "TopLeftFeatureDesc" }, - { false, FT_STRING, "BottomLeftFeatureTitle" }, - { false, FT_STRING, "BottomLeftFeatureDesc" }, - { false, FT_STRING, "RightFeatureTitle" }, - { false, FT_STRING, "RightFeatureDesc" }, - { true, FT_INT, "AllianceQuestID" }, - { true, FT_INT, "HordeQuestID" }, - { true, FT_BYTE, "ScreenType" }, - { true, FT_INT, "TextureKitID" }, - { true, FT_INT, "SoundKitID" }, - { true, FT_INT, "PlayerConditionID" }, - { true, FT_INT, "CharLevelConditionID" }, - { true, FT_INT, "RequiredTimeEventPassed" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), UISplashScreenMeta::Instance(), HOTFIX_SEL_UI_SPLASH_SCREEN); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[16] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "Header" }, + { false, FT_STRING, "TopLeftFeatureTitle" }, + { false, FT_STRING, "TopLeftFeatureDesc" }, + { false, FT_STRING, "BottomLeftFeatureTitle" }, + { false, FT_STRING, "BottomLeftFeatureDesc" }, + { false, FT_STRING, "RightFeatureTitle" }, + { false, FT_STRING, "RightFeatureDesc" }, + { true, FT_INT, "AllianceQuestID" }, + { true, FT_INT, "HordeQuestID" }, + { true, FT_BYTE, "ScreenType" }, + { true, FT_INT, "TextureKitID" }, + { true, FT_INT, "SoundKitID" }, + { true, FT_INT, "PlayerConditionID" }, + { true, FT_INT, "CharLevelConditionID" }, + { true, FT_INT, "RequiredTimeEventPassed" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 16, &UISplashScreenMeta::Instance, HOTFIX_SEL_UI_SPLASH_SCREEN }; }; struct UnitConditionLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_BYTE, "Flags" }, - { false, FT_BYTE, "Variable1" }, - { false, FT_BYTE, "Variable2" }, - { false, FT_BYTE, "Variable3" }, - { false, FT_BYTE, "Variable4" }, - { false, FT_BYTE, "Variable5" }, - { false, FT_BYTE, "Variable6" }, - { false, FT_BYTE, "Variable7" }, - { false, FT_BYTE, "Variable8" }, - { true, FT_BYTE, "Op1" }, - { true, FT_BYTE, "Op2" }, - { true, FT_BYTE, "Op3" }, - { true, FT_BYTE, "Op4" }, - { true, FT_BYTE, "Op5" }, - { true, FT_BYTE, "Op6" }, - { true, FT_BYTE, "Op7" }, - { true, FT_BYTE, "Op8" }, - { true, FT_INT, "Value1" }, - { true, FT_INT, "Value2" }, - { true, FT_INT, "Value3" }, - { true, FT_INT, "Value4" }, - { true, FT_INT, "Value5" }, - { true, FT_INT, "Value6" }, - { true, FT_INT, "Value7" }, - { true, FT_INT, "Value8" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), UnitConditionMeta::Instance(), HOTFIX_SEL_UNIT_CONDITION); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[26] = + { + { false, FT_INT, "ID" }, + { false, FT_BYTE, "Flags" }, + { false, FT_BYTE, "Variable1" }, + { false, FT_BYTE, "Variable2" }, + { false, FT_BYTE, "Variable3" }, + { false, FT_BYTE, "Variable4" }, + { false, FT_BYTE, "Variable5" }, + { false, FT_BYTE, "Variable6" }, + { false, FT_BYTE, "Variable7" }, + { false, FT_BYTE, "Variable8" }, + { true, FT_BYTE, "Op1" }, + { true, FT_BYTE, "Op2" }, + { true, FT_BYTE, "Op3" }, + { true, FT_BYTE, "Op4" }, + { true, FT_BYTE, "Op5" }, + { true, FT_BYTE, "Op6" }, + { true, FT_BYTE, "Op7" }, + { true, FT_BYTE, "Op8" }, + { true, FT_INT, "Value1" }, + { true, FT_INT, "Value2" }, + { true, FT_INT, "Value3" }, + { true, FT_INT, "Value4" }, + { true, FT_INT, "Value5" }, + { true, FT_INT, "Value6" }, + { true, FT_INT, "Value7" }, + { true, FT_INT, "Value8" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 26, &UnitConditionMeta::Instance, HOTFIX_SEL_UNIT_CONDITION }; }; struct UnitPowerBarLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING, "Name" }, - { false, FT_STRING, "Cost" }, - { false, FT_STRING, "OutOfError" }, - { false, FT_STRING, "ToolTip" }, - { false, FT_INT, "MinPower" }, - { false, FT_INT, "MaxPower" }, - { false, FT_INT, "StartPower" }, - { false, FT_BYTE, "CenterPower" }, - { false, FT_FLOAT, "RegenerationPeace" }, - { false, FT_FLOAT, "RegenerationCombat" }, - { false, FT_BYTE, "BarType" }, - { false, FT_SHORT, "Flags" }, - { false, FT_FLOAT, "StartInset" }, - { false, FT_FLOAT, "EndInset" }, - { true, FT_INT, "FileDataID1" }, - { true, FT_INT, "FileDataID2" }, - { true, FT_INT, "FileDataID3" }, - { true, FT_INT, "FileDataID4" }, - { true, FT_INT, "FileDataID5" }, - { true, FT_INT, "FileDataID6" }, - { true, FT_INT, "Color1" }, - { true, FT_INT, "Color2" }, - { true, FT_INT, "Color3" }, - { true, FT_INT, "Color4" }, - { true, FT_INT, "Color5" }, - { true, FT_INT, "Color6" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), UnitPowerBarMeta::Instance(), HOTFIX_SEL_UNIT_POWER_BAR); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[27] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_STRING, "Cost" }, + { false, FT_STRING, "OutOfError" }, + { false, FT_STRING, "ToolTip" }, + { false, FT_INT, "MinPower" }, + { false, FT_INT, "MaxPower" }, + { false, FT_INT, "StartPower" }, + { false, FT_BYTE, "CenterPower" }, + { false, FT_FLOAT, "RegenerationPeace" }, + { false, FT_FLOAT, "RegenerationCombat" }, + { false, FT_BYTE, "BarType" }, + { false, FT_SHORT, "Flags" }, + { false, FT_FLOAT, "StartInset" }, + { false, FT_FLOAT, "EndInset" }, + { true, FT_INT, "FileDataID1" }, + { true, FT_INT, "FileDataID2" }, + { true, FT_INT, "FileDataID3" }, + { true, FT_INT, "FileDataID4" }, + { true, FT_INT, "FileDataID5" }, + { true, FT_INT, "FileDataID6" }, + { true, FT_INT, "Color1" }, + { true, FT_INT, "Color2" }, + { true, FT_INT, "Color3" }, + { true, FT_INT, "Color4" }, + { true, FT_INT, "Color5" }, + { true, FT_INT, "Color6" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 27, &UnitPowerBarMeta::Instance, HOTFIX_SEL_UNIT_POWER_BAR }; }; struct VehicleLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { true, FT_INT, "Flags" }, - { false, FT_BYTE, "FlagsB" }, - { false, FT_FLOAT, "TurnSpeed" }, - { false, FT_FLOAT, "PitchSpeed" }, - { false, FT_FLOAT, "PitchMin" }, - { false, FT_FLOAT, "PitchMax" }, - { false, FT_FLOAT, "MouseLookOffsetPitch" }, - { false, FT_FLOAT, "CameraFadeDistScalarMin" }, - { false, FT_FLOAT, "CameraFadeDistScalarMax" }, - { false, FT_FLOAT, "CameraPitchOffset" }, - { false, FT_FLOAT, "FacingLimitRight" }, - { false, FT_FLOAT, "FacingLimitLeft" }, - { false, FT_FLOAT, "CameraYawOffset" }, - { false, FT_SHORT, "VehicleUIIndicatorID" }, - { true, FT_INT, "MissileTargetingID" }, - { false, FT_SHORT, "VehiclePOITypeID" }, - { false, FT_SHORT, "SeatID1" }, - { false, FT_SHORT, "SeatID2" }, - { false, FT_SHORT, "SeatID3" }, - { false, FT_SHORT, "SeatID4" }, - { false, FT_SHORT, "SeatID5" }, - { false, FT_SHORT, "SeatID6" }, - { false, FT_SHORT, "SeatID7" }, - { false, FT_SHORT, "SeatID8" }, - { false, FT_SHORT, "PowerDisplayID1" }, - { false, FT_SHORT, "PowerDisplayID2" }, - { false, FT_SHORT, "PowerDisplayID3" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), VehicleMeta::Instance(), HOTFIX_SEL_VEHICLE); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[28] = + { + { false, FT_INT, "ID" }, + { true, FT_INT, "Flags" }, + { false, FT_BYTE, "FlagsB" }, + { false, FT_FLOAT, "TurnSpeed" }, + { false, FT_FLOAT, "PitchSpeed" }, + { false, FT_FLOAT, "PitchMin" }, + { false, FT_FLOAT, "PitchMax" }, + { false, FT_FLOAT, "MouseLookOffsetPitch" }, + { false, FT_FLOAT, "CameraFadeDistScalarMin" }, + { false, FT_FLOAT, "CameraFadeDistScalarMax" }, + { false, FT_FLOAT, "CameraPitchOffset" }, + { false, FT_FLOAT, "FacingLimitRight" }, + { false, FT_FLOAT, "FacingLimitLeft" }, + { false, FT_FLOAT, "CameraYawOffset" }, + { false, FT_SHORT, "VehicleUIIndicatorID" }, + { true, FT_INT, "MissileTargetingID" }, + { false, FT_SHORT, "VehiclePOITypeID" }, + { false, FT_SHORT, "SeatID1" }, + { false, FT_SHORT, "SeatID2" }, + { false, FT_SHORT, "SeatID3" }, + { false, FT_SHORT, "SeatID4" }, + { false, FT_SHORT, "SeatID5" }, + { false, FT_SHORT, "SeatID6" }, + { false, FT_SHORT, "SeatID7" }, + { false, FT_SHORT, "SeatID8" }, + { false, FT_SHORT, "PowerDisplayID1" }, + { false, FT_SHORT, "PowerDisplayID2" }, + { false, FT_SHORT, "PowerDisplayID3" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 28, &VehicleMeta::Instance, HOTFIX_SEL_VEHICLE }; }; struct VehicleSeatLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_FLOAT, "AttachmentOffsetX" }, - { false, FT_FLOAT, "AttachmentOffsetY" }, - { false, FT_FLOAT, "AttachmentOffsetZ" }, - { false, FT_FLOAT, "CameraOffsetX" }, - { false, FT_FLOAT, "CameraOffsetY" }, - { false, FT_FLOAT, "CameraOffsetZ" }, - { true, FT_INT, "Flags" }, - { true, FT_INT, "FlagsB" }, - { true, FT_INT, "FlagsC" }, - { true, FT_BYTE, "AttachmentID" }, - { false, FT_FLOAT, "EnterPreDelay" }, - { false, FT_FLOAT, "EnterSpeed" }, - { false, FT_FLOAT, "EnterGravity" }, - { false, FT_FLOAT, "EnterMinDuration" }, - { false, FT_FLOAT, "EnterMaxDuration" }, - { false, FT_FLOAT, "EnterMinArcHeight" }, - { false, FT_FLOAT, "EnterMaxArcHeight" }, - { true, FT_INT, "EnterAnimStart" }, - { true, FT_INT, "EnterAnimLoop" }, - { true, FT_INT, "RideAnimStart" }, - { true, FT_INT, "RideAnimLoop" }, - { true, FT_INT, "RideUpperAnimStart" }, - { true, FT_INT, "RideUpperAnimLoop" }, - { false, FT_FLOAT, "ExitPreDelay" }, - { false, FT_FLOAT, "ExitSpeed" }, - { false, FT_FLOAT, "ExitGravity" }, - { false, FT_FLOAT, "ExitMinDuration" }, - { false, FT_FLOAT, "ExitMaxDuration" }, - { false, FT_FLOAT, "ExitMinArcHeight" }, - { false, FT_FLOAT, "ExitMaxArcHeight" }, - { true, FT_INT, "ExitAnimStart" }, - { true, FT_INT, "ExitAnimLoop" }, - { true, FT_INT, "ExitAnimEnd" }, - { true, FT_SHORT, "VehicleEnterAnim" }, - { true, FT_BYTE, "VehicleEnterAnimBone" }, - { true, FT_SHORT, "VehicleExitAnim" }, - { true, FT_BYTE, "VehicleExitAnimBone" }, - { true, FT_SHORT, "VehicleRideAnimLoop" }, - { true, FT_BYTE, "VehicleRideAnimLoopBone" }, - { true, FT_BYTE, "PassengerAttachmentID" }, - { false, FT_FLOAT, "PassengerYaw" }, - { false, FT_FLOAT, "PassengerPitch" }, - { false, FT_FLOAT, "PassengerRoll" }, - { false, FT_FLOAT, "VehicleEnterAnimDelay" }, - { false, FT_FLOAT, "VehicleExitAnimDelay" }, - { true, FT_BYTE, "VehicleAbilityDisplay" }, - { false, FT_INT, "EnterUISoundID" }, - { false, FT_INT, "ExitUISoundID" }, - { true, FT_INT, "UiSkinFileDataID" }, - { false, FT_FLOAT, "CameraEnteringDelay" }, - { false, FT_FLOAT, "CameraEnteringDuration" }, - { false, FT_FLOAT, "CameraExitingDelay" }, - { false, FT_FLOAT, "CameraExitingDuration" }, - { false, FT_FLOAT, "CameraPosChaseRate" }, - { false, FT_FLOAT, "CameraFacingChaseRate" }, - { false, FT_FLOAT, "CameraEnteringZoom" }, - { false, FT_FLOAT, "CameraSeatZoomMin" }, - { false, FT_FLOAT, "CameraSeatZoomMax" }, - { true, FT_SHORT, "EnterAnimKitID" }, - { true, FT_SHORT, "RideAnimKitID" }, - { true, FT_SHORT, "ExitAnimKitID" }, - { true, FT_SHORT, "VehicleEnterAnimKitID" }, - { true, FT_SHORT, "VehicleRideAnimKitID" }, - { true, FT_SHORT, "VehicleExitAnimKitID" }, - { true, FT_SHORT, "CameraModeID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), VehicleSeatMeta::Instance(), HOTFIX_SEL_VEHICLE_SEAT); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[66] = + { + { false, FT_INT, "ID" }, + { false, FT_FLOAT, "AttachmentOffsetX" }, + { false, FT_FLOAT, "AttachmentOffsetY" }, + { false, FT_FLOAT, "AttachmentOffsetZ" }, + { false, FT_FLOAT, "CameraOffsetX" }, + { false, FT_FLOAT, "CameraOffsetY" }, + { false, FT_FLOAT, "CameraOffsetZ" }, + { true, FT_INT, "Flags" }, + { true, FT_INT, "FlagsB" }, + { true, FT_INT, "FlagsC" }, + { true, FT_BYTE, "AttachmentID" }, + { false, FT_FLOAT, "EnterPreDelay" }, + { false, FT_FLOAT, "EnterSpeed" }, + { false, FT_FLOAT, "EnterGravity" }, + { false, FT_FLOAT, "EnterMinDuration" }, + { false, FT_FLOAT, "EnterMaxDuration" }, + { false, FT_FLOAT, "EnterMinArcHeight" }, + { false, FT_FLOAT, "EnterMaxArcHeight" }, + { true, FT_INT, "EnterAnimStart" }, + { true, FT_INT, "EnterAnimLoop" }, + { true, FT_INT, "RideAnimStart" }, + { true, FT_INT, "RideAnimLoop" }, + { true, FT_INT, "RideUpperAnimStart" }, + { true, FT_INT, "RideUpperAnimLoop" }, + { false, FT_FLOAT, "ExitPreDelay" }, + { false, FT_FLOAT, "ExitSpeed" }, + { false, FT_FLOAT, "ExitGravity" }, + { false, FT_FLOAT, "ExitMinDuration" }, + { false, FT_FLOAT, "ExitMaxDuration" }, + { false, FT_FLOAT, "ExitMinArcHeight" }, + { false, FT_FLOAT, "ExitMaxArcHeight" }, + { true, FT_INT, "ExitAnimStart" }, + { true, FT_INT, "ExitAnimLoop" }, + { true, FT_INT, "ExitAnimEnd" }, + { true, FT_SHORT, "VehicleEnterAnim" }, + { true, FT_BYTE, "VehicleEnterAnimBone" }, + { true, FT_SHORT, "VehicleExitAnim" }, + { true, FT_BYTE, "VehicleExitAnimBone" }, + { true, FT_SHORT, "VehicleRideAnimLoop" }, + { true, FT_BYTE, "VehicleRideAnimLoopBone" }, + { true, FT_BYTE, "PassengerAttachmentID" }, + { false, FT_FLOAT, "PassengerYaw" }, + { false, FT_FLOAT, "PassengerPitch" }, + { false, FT_FLOAT, "PassengerRoll" }, + { false, FT_FLOAT, "VehicleEnterAnimDelay" }, + { false, FT_FLOAT, "VehicleExitAnimDelay" }, + { true, FT_BYTE, "VehicleAbilityDisplay" }, + { false, FT_INT, "EnterUISoundID" }, + { false, FT_INT, "ExitUISoundID" }, + { true, FT_INT, "UiSkinFileDataID" }, + { false, FT_FLOAT, "CameraEnteringDelay" }, + { false, FT_FLOAT, "CameraEnteringDuration" }, + { false, FT_FLOAT, "CameraExitingDelay" }, + { false, FT_FLOAT, "CameraExitingDuration" }, + { false, FT_FLOAT, "CameraPosChaseRate" }, + { false, FT_FLOAT, "CameraFacingChaseRate" }, + { false, FT_FLOAT, "CameraEnteringZoom" }, + { false, FT_FLOAT, "CameraSeatZoomMin" }, + { false, FT_FLOAT, "CameraSeatZoomMax" }, + { true, FT_SHORT, "EnterAnimKitID" }, + { true, FT_SHORT, "RideAnimKitID" }, + { true, FT_SHORT, "ExitAnimKitID" }, + { true, FT_SHORT, "VehicleEnterAnimKitID" }, + { true, FT_SHORT, "VehicleRideAnimKitID" }, + { true, FT_SHORT, "VehicleExitAnimKitID" }, + { true, FT_SHORT, "CameraModeID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 66, &VehicleSeatMeta::Instance, HOTFIX_SEL_VEHICLE_SEAT }; }; struct WmoAreaTableLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_STRING, "AreaName" }, - { false, FT_INT, "ID" }, - { false, FT_SHORT, "WmoID" }, - { false, FT_BYTE, "NameSetID" }, - { true, FT_INT, "WmoGroupID" }, - { false, FT_BYTE, "SoundProviderPref" }, - { false, FT_BYTE, "SoundProviderPrefUnderwater" }, - { false, FT_SHORT, "AmbienceID" }, - { false, FT_SHORT, "UwAmbience" }, - { false, FT_SHORT, "ZoneMusic" }, - { false, FT_INT, "UwZoneMusic" }, - { false, FT_SHORT, "IntroSound" }, - { false, FT_SHORT, "UwIntroSound" }, - { false, FT_SHORT, "AreaTableID" }, - { false, FT_BYTE, "Flags" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), WMOAreaTableMeta::Instance(), HOTFIX_SEL_WMO_AREA_TABLE); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[15] = + { + { false, FT_STRING, "AreaName" }, + { false, FT_INT, "ID" }, + { false, FT_SHORT, "WmoID" }, + { false, FT_BYTE, "NameSetID" }, + { true, FT_INT, "WmoGroupID" }, + { false, FT_BYTE, "SoundProviderPref" }, + { false, FT_BYTE, "SoundProviderPrefUnderwater" }, + { false, FT_SHORT, "AmbienceID" }, + { false, FT_SHORT, "UwAmbience" }, + { false, FT_SHORT, "ZoneMusic" }, + { false, FT_INT, "UwZoneMusic" }, + { false, FT_SHORT, "IntroSound" }, + { false, FT_SHORT, "UwIntroSound" }, + { false, FT_SHORT, "AreaTableID" }, + { false, FT_BYTE, "Flags" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 15, &WMOAreaTableMeta::Instance, HOTFIX_SEL_WMO_AREA_TABLE }; }; struct WorldEffectLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[7] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_INT, "QuestFeedbackEffectID" }, - { false, FT_BYTE, "WhenToDisplay" }, - { false, FT_BYTE, "TargetType" }, - { true, FT_INT, "TargetAsset" }, - { false, FT_INT, "PlayerConditionID" }, - { false, FT_SHORT, "CombatConditionID" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), WorldEffectMeta::Instance(), HOTFIX_SEL_WORLD_EFFECT); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_INT, "QuestFeedbackEffectID" }, + { false, FT_BYTE, "WhenToDisplay" }, + { false, FT_BYTE, "TargetType" }, + { true, FT_INT, "TargetAsset" }, + { false, FT_INT, "PlayerConditionID" }, + { false, FT_SHORT, "CombatConditionID" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 7, &WorldEffectMeta::Instance, HOTFIX_SEL_WORLD_EFFECT }; }; struct WorldMapOverlayLoadInfo { - static DB2LoadInfo const* Instance() - { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_INT, "UiMapArtID" }, - { false, FT_SHORT, "TextureWidth" }, - { false, FT_SHORT, "TextureHeight" }, - { true, FT_INT, "OffsetX" }, - { true, FT_INT, "OffsetY" }, - { true, FT_INT, "HitRectTop" }, - { true, FT_INT, "HitRectBottom" }, - { true, FT_INT, "HitRectLeft" }, - { true, FT_INT, "HitRectRight" }, - { false, FT_INT, "PlayerConditionID" }, - { false, FT_INT, "Flags" }, - { false, FT_INT, "AreaID1" }, - { false, FT_INT, "AreaID2" }, - { false, FT_INT, "AreaID3" }, - { false, FT_INT, "AreaID4" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), WorldMapOverlayMeta::Instance(), HOTFIX_SEL_WORLD_MAP_OVERLAY); - return &loadInfo; - } + static constexpr DB2FieldMeta Fields[16] = + { + { false, FT_INT, "ID" }, + { false, FT_INT, "UiMapArtID" }, + { false, FT_SHORT, "TextureWidth" }, + { false, FT_SHORT, "TextureHeight" }, + { true, FT_INT, "OffsetX" }, + { true, FT_INT, "OffsetY" }, + { true, FT_INT, "HitRectTop" }, + { true, FT_INT, "HitRectBottom" }, + { true, FT_INT, "HitRectLeft" }, + { true, FT_INT, "HitRectRight" }, + { false, FT_INT, "PlayerConditionID" }, + { false, FT_INT, "Flags" }, + { false, FT_INT, "AreaID1" }, + { false, FT_INT, "AreaID2" }, + { false, FT_INT, "AreaID3" }, + { false, FT_INT, "AreaID4" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 16, &WorldMapOverlayMeta::Instance, HOTFIX_SEL_WORLD_MAP_OVERLAY }; }; struct WorldStateExpressionLoadInfo { - static DB2LoadInfo const* Instance() + static constexpr DB2FieldMeta Fields[2] = { - static constexpr DB2FieldMeta fields[] = - { - { false, FT_INT, "ID" }, - { false, FT_STRING_NOT_LOCALIZED, "Expression" }, - }; - static DB2LoadInfo const loadInfo(&fields[0], std::size(fields), WorldStateExpressionMeta::Instance(), HOTFIX_SEL_WORLD_STATE_EXPRESSION); - return &loadInfo; - } + { false, FT_INT, "ID" }, + { false, FT_STRING_NOT_LOCALIZED, "Expression" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 2, &WorldStateExpressionMeta::Instance, HOTFIX_SEL_WORLD_STATE_EXPRESSION }; }; #endif // DB2LoadInfo_h__ diff --git a/src/server/game/DataStores/DB2Metadata.h b/src/server/game/DataStores/DB2Metadata.h index 69bcd4b5b24..94edeac3806 100644 --- a/src/server/game/DataStores/DB2Metadata.h +++ b/src/server/game/DataStores/DB2Metadata.h @@ -22,16573 +22,13840 @@ struct AchievementMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[17] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1260179, 3, 17, 17, 0x6F3CA62E, fields, 11); - return &instance; - } + static constexpr DB2MetaField Fields[17] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1260179, 3, 17, 17, 0x6F3CA62E, Fields, 11 }; }; struct Achievement_CategoryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1324299, 1, 4, 4, 0xC3562871, fields, 3); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1324299, 1, 4, 4, 0xC3562871, Fields, 3 }; }; struct AdventureJournalMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[22] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 2, false }, - { FT_BYTE, 2, false }, - }; - static constexpr DB2Meta instance(1115949, -1, 22, 22, 0xC165B3AF, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[22] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 2, false }, + { FT_BYTE, 2, false }, + }; + + static constexpr DB2Meta Instance{ 1115949, -1, 22, 22, 0xC165B3AF, Fields, -1 }; }; struct AdventureMapPOIMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[12] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_FLOAT, 2, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1267070, -1, 12, 12, 0x347D1163, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[12] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_FLOAT, 2, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1267070, -1, 12, 12, 0x347D1163, Fields, -1 }; }; struct AlliedRaceMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1710672, -1, 8, 8, 0xA21C7C29, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1710672, -1, 8, 8, 0xA21C7C29, Fields, -1 }; }; struct AnimKitMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1304323, -1, 3, 3, 0x6287EB21, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1304323, -1, 3, 3, 0x6287EB21, Fields, -1 }; }; struct AnimKitBoneSetMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1375433, -1, 5, 5, 0x570E50A4, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1375433, -1, 5, 5, 0x570E50A4, Fields, -1 }; }; struct AnimKitBoneSetAliasMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1266937, -1, 2, 2, 0x8DA67A60, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1266937, -1, 2, 2, 0x8DA67A60, Fields, -1 }; }; struct AnimKitConfigMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1300872, -1, 1, 1, 0xA3858D19, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1300872, -1, 1, 1, 0xA3858D19, Fields, -1 }; }; struct AnimKitConfigBoneSetMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1300873, -1, 3, 2, 0x2D94E68E, fields, 2); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1300873, -1, 3, 2, 0x2D94E68E, Fields, 2 }; }; struct AnimKitPriorityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1266540, -1, 1, 1, 0x9CF0DCAA, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1266540, -1, 1, 1, 0x9CF0DCAA, Fields, -1 }; }; struct AnimKitReplacementMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1559807, 0, 5, 4, 0xCC7EFF2A, fields, 4); - return &instance; - } + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1559807, 0, 5, 4, 0xCC7EFF2A, Fields, 4 }; }; struct AnimKitSegmentMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[19] = - { - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1304324, -1, 19, 19, 0xDCD09D5C, fields, 0); - return &instance; - } + static constexpr DB2MetaField Fields[19] = + { + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1304324, -1, 19, 19, 0xDCD09D5C, Fields, 0 }; }; struct AnimReplacementMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1301100, 0, 5, 4, 0x1A7DFDFA, fields, 4); - return &instance; - } + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1301100, 0, 5, 4, 0x1A7DFDFA, Fields, 4 }; }; struct AnimReplacementSetMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1284817, -1, 1, 1, 0x54CC07B7, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1284817, -1, 1, 1, 0x54CC07B7, Fields, -1 }; }; struct AnimaCableMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[35] = - { - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(3286805, -1, 35, 35, 0x1F19EFC8, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[35] = + { + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3286805, -1, 35, 35, 0x1F19EFC8, Fields, -1 }; }; struct AnimaCylinderMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3286804, -1, 7, 7, 0xA8314AE6, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3286804, -1, 7, 7, 0xA8314AE6, Fields, -1 }; }; struct AnimaMaterialMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[31] = - { - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 3, true }, - }; - static constexpr DB2Meta instance(3153990, -1, 31, 31, 0xEA8F56B4, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[31] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 3, true }, + }; + + static constexpr DB2Meta Instance{ 3153990, -1, 31, 31, 0xEA8F56B4, Fields, -1 }; }; struct AnimationDataMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 2, true }, - }; - static constexpr DB2Meta instance(1375431, -1, 4, 4, 0xE4D647E7, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 2, true }, + }; + + static constexpr DB2Meta Instance{ 1375431, -1, 4, 4, 0xE4D647E7, Fields, -1 }; }; struct AreaConditionalDataMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2123730, 1, 5, 4, 0xE7DA5527, fields, 4); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2123730, 1, 5, 4, 0xE7DA5527, Fields, 4 }; }; struct AreaFarClipOverrideMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1537162, -1, 4, 4, 0xA9F91574, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1537162, -1, 4, 4, 0xA9F91574, Fields, -1 }; }; struct AreaGroupMemberMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1093406, -1, 2, 1, 0x93C93492, fields, 1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1093406, -1, 2, 1, 0x93C93492, Fields, 1 }; }; struct AreaPOIMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[21] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_FLOAT, 3, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1000630, 2, 21, 21, 0xD721BABB, fields, 13); - return &instance; - } + static constexpr DB2MetaField Fields[21] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 3, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1000630, 2, 21, 21, 0xD721BABB, Fields, 13 }; }; struct AreaPOIStateMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1000631, -1, 5, 4, 0xC236B11E, fields, 4); - return &instance; - } + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1000631, -1, 5, 4, 0xC236B11E, Fields, 4 }; }; struct AreaTableMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[23] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_STRING, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 2, true }, - { FT_SHORT, 4, false }, - }; - static constexpr DB2Meta instance(1353545, -1, 23, 23, 0x16AE706B, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[23] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 2, true }, + { FT_SHORT, 4, false }, + }; + + static constexpr DB2Meta Instance{ 1353545, -1, 23, 23, 0x16AE706B, Fields, -1 }; }; struct AreaTriggerMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[15] = - { - { FT_FLOAT, 3, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1354401, 1, 15, 15, 0x5444D57A, fields, 2); - return &instance; - } + static constexpr DB2MetaField Fields[15] = + { + { FT_FLOAT, 3, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1354401, 1, 15, 15, 0x5444D57A, Fields, 2 }; }; struct AreaTriggerActionSetMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1352378, -1, 1, 1, 0x3CC972C6, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1352378, -1, 1, 1, 0x3CC972C6, Fields, -1 }; }; struct AreaTriggerBoundedPlaneMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_FLOAT, 2, true }, - }; - static constexpr DB2Meta instance(4266572, -1, 1, 1, 0xAFEA6110, fields, -1); - return &instance; - } + { FT_FLOAT, 2, true }, + }; + + static constexpr DB2Meta Instance{ 4266572, -1, 1, 1, 0xAFEA6110, Fields, -1 }; }; struct AreaTriggerBoxMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_FLOAT, 3, true }, - }; - static constexpr DB2Meta instance(1332554, -1, 1, 1, 0x0D4BC031, fields, -1); - return &instance; - } + { FT_FLOAT, 3, true }, + }; + + static constexpr DB2Meta Instance{ 1332554, -1, 1, 1, 0x0D4BC031, Fields, -1 }; }; struct AreaTriggerCreatePropertiesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_BYTE, 1, true }, - { FT_SHORT, 1, true }, - }; - static constexpr DB2Meta instance(1937227, -1, 2, 2, 0x0345EC9C, fields, -1); - return &instance; - } + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1937227, -1, 2, 2, 0x0345EC9C, Fields, -1 }; }; struct AreaTriggerCylinderMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1121943, -1, 3, 3, 0xAF2720AC, fields, -1); - return &instance; - } + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1121943, -1, 3, 3, 0xAF2720AC, Fields, -1 }; }; struct AreaTriggerDiskMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(4223661, -1, 4, 4, 0x5C424FAE, fields, -1); - return &instance; - } + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4223661, -1, 4, 4, 0x5C424FAE, Fields, -1 }; }; struct AreaTriggerSphereMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1315630, -1, 1, 1, 0xAE82194A, fields, -1); - return &instance; - } + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1315630, -1, 1, 1, 0xAE82194A, Fields, -1 }; }; struct ArenaCcItemMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3849793, -1, 2, 1, 0x440B809B, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3849793, -1, 2, 1, 0x440B809B, Fields, 1 }; }; struct ArmorLocationMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1284818, -1, 5, 5, 0x6FA608FB, fields, -1); - return &instance; - } + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1284818, -1, 5, 5, 0x6FA608FB, Fields, -1 }; }; struct ArtifactMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[11] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1007934, 1, 11, 11, 0x7F55AC46, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[11] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1007934, 1, 11, 11, 0x7F55AC46, Fields, -1 }; }; struct ArtifactAppearanceMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[16] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1116407, 1, 16, 16, 0x5D77042E, fields, 2); - return &instance; - } + static constexpr DB2MetaField Fields[16] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1116407, 1, 16, 16, 0x5D77042E, Fields, 2 }; }; struct ArtifactAppearanceSetMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1116408, 2, 9, 8, 0xE8D3AE79, fields, 8); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1116408, 2, 9, 8, 0xE8D3AE79, Fields, 8 }; }; struct ArtifactCategoryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - }; - static constexpr DB2Meta instance(1376210, -1, 2, 2, 0xAA92CE1F, fields, -1); - return &instance; - } + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1376210, -1, 2, 2, 0xAA92CE1F, Fields, -1 }; }; struct ArtifactItemToTransmogMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2029780, -1, 3, 3, 0xEB962C15, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2029780, -1, 3, 3, 0xEB962C15, Fields, 0 }; }; struct ArtifactPowerMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_FLOAT, 2, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1007937, 1, 7, 7, 0x421879C5, fields, 2); - return &instance; - } + { FT_FLOAT, 2, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1007937, 1, 7, 7, 0x421879C5, Fields, 2 }; }; struct ArtifactPowerLinkMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1133731, -1, 2, 2, 0xD2E6E484, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1133731, -1, 2, 2, 0xD2E6E484, Fields, -1 }; }; struct ArtifactPowerPickerMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1597467, -1, 1, 1, 0xAA18FF1B, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1597467, -1, 1, 1, 0xAA18FF1B, Fields, -1 }; }; struct ArtifactPowerRankMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1261405, -1, 5, 4, 0xD1061B77, fields, 4); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1261405, -1, 5, 4, 0xD1061B77, Fields, 4 }; }; struct ArtifactQuestXPMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 10, false }, - }; - static constexpr DB2Meta instance(1036203, -1, 1, 1, 0xBFB6413C, fields, -1); - return &instance; - } + { FT_INT, 10, false }, + }; + + static constexpr DB2Meta Instance{ 1036203, -1, 1, 1, 0xBFB6413C, Fields, -1 }; }; struct ArtifactTierMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1600114, -1, 5, 5, 0x91AD7570, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1600114, -1, 5, 5, 0x91AD7570, Fields, -1 }; }; struct ArtifactUnlockMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1094540, -1, 5, 4, 0xAED3BBEA, fields, 4); - return &instance; - } + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1094540, -1, 5, 4, 0xAED3BBEA, Fields, 4 }; }; struct AuctionHouseMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1237439, -1, 4, 4, 0x8925F061, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1237439, -1, 4, 4, 0x8925F061, Fields, -1 }; }; struct AuctionHouseCategoryMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(4366440, 2, 10, 10, 0x4945050B, fields, 7); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 4366440, 2, 10, 10, 0x4945050B, Fields, 7 }; }; struct AzeriteEmpoweredItemMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1846046, -1, 3, 3, 0xA33729C4, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1846046, -1, 3, 3, 0xA33729C4, Fields, -1 }; }; struct AzeriteEssenceMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2829665, -1, 3, 3, 0x78739DBC, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2829665, -1, 3, 3, 0x78739DBC, Fields, -1 }; }; struct AzeriteEssencePowerMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2829666, -1, 8, 8, 0x054DFF02, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2829666, -1, 8, 8, 0x054DFF02, Fields, -1 }; }; struct AzeriteItemMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1846048, -1, 1, 1, 0x358673DD, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1846048, -1, 1, 1, 0x358673DD, Fields, -1 }; }; struct AzeriteItemMilestonePowerMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1915395, -1, 4, 4, 0x82DD9DC4, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1915395, -1, 4, 4, 0x82DD9DC4, Fields, -1 }; }; struct AzeriteKnowledgeMultiplierMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(3148050, -1, 1, 1, 0x9DCCF58B, fields, -1); - return &instance; - } + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3148050, -1, 1, 1, 0x9DCCF58B, Fields, -1 }; }; struct AzeriteLevelInfoMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_LONG, 1, false }, - { FT_LONG, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3147968, -1, 3, 3, 0xFB87ABE1, fields, -1); - return &instance; - } + { FT_LONG, 1, false }, + { FT_LONG, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3147968, -1, 3, 3, 0xFB87ABE1, Fields, -1 }; }; struct AzeritePowerMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1846044, -1, 4, 4, 0x20D09908, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1846044, -1, 4, 4, 0x20D09908, Fields, -1 }; }; struct AzeritePowerSetMemberMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1846040, -1, 5, 5, 0xDD075CEB, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1846040, -1, 5, 5, 0xDD075CEB, Fields, 0 }; }; struct AzeriteTierUnlockMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1846043, -1, 4, 3, 0x63D128C5, fields, 3); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1846043, -1, 4, 3, 0x63D128C5, Fields, 3 }; }; struct AzeriteTierUnlockSetMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2446322, -1, 1, 1, 0x0E377BCA, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2446322, -1, 1, 1, 0x0E377BCA, Fields, -1 }; }; struct AzeriteUnlockMappingMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2564314, -1, 5, 4, 0x22A21AA1, fields, 4); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2564314, -1, 5, 4, 0x22A21AA1, Fields, 4 }; }; struct BankBagSlotPricesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1284819, -1, 1, 1, 0x972171FF, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1284819, -1, 1, 1, 0x972171FF, Fields, -1 }; }; struct BannedAddonsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1373459, -1, 3, 3, 0x3BE3470D, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1373459, -1, 3, 3, 0x3BE3470D, Fields, -1 }; }; struct BarberShopStyleMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1237437, -1, 7, 7, 0xD7B2816B, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1237437, -1, 7, 7, 0xD7B2816B, Fields, -1 }; }; struct BarrageEffectMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[12] = - { - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(2499852, -1, 12, 12, 0x26B3A638, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[12] = + { + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2499852, -1, 12, 12, 0x26B3A638, Fields, -1 }; }; struct BattlePetAbilityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(841610, -1, 7, 7, 0xA35F647F, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 841610, -1, 7, 7, 0xA35F647F, Fields, -1 }; }; struct BattlePetAbilityEffectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 6, true }, - }; - static constexpr DB2Meta instance(801575, 0, 7, 7, 0x6E6DF628, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 6, true }, + }; + + static constexpr DB2Meta Instance{ 801575, 0, 7, 7, 0x6E6DF628, Fields, 1 }; }; struct BattlePetAbilityStateMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(801576, -1, 3, 2, 0xAAB55D53, fields, 2); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 801576, -1, 3, 2, 0xAAB55D53, Fields, 2 }; }; struct BattlePetAbilityTurnMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(801577, 0, 6, 6, 0x4BFF1620, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 801577, 0, 6, 6, 0x4BFF1620, Fields, 1 }; }; struct BattlePetBreedQualityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(801578, -1, 3, 3, 0x13065D19, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 801578, -1, 3, 3, 0x13065D19, Fields, -1 }; }; struct BattlePetBreedStateMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(801579, -1, 3, 2, 0xF449E0D3, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 801579, -1, 3, 2, 0xF449E0D3, Fields, 2 }; }; struct BattlePetDisplayOverrideMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1802988, -1, 4, 3, 0x9FADCDB4, fields, 3); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1802988, -1, 4, 3, 0x9FADCDB4, Fields, 3 }; }; struct BattlePetEffectPropertiesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING_NOT_LOCALIZED, 6, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 6, false }, - }; - static constexpr DB2Meta instance(801580, -1, 3, 3, 0x830F4FD2, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 6, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 6, false }, + }; + + static constexpr DB2Meta Instance{ 801580, -1, 3, 3, 0x830F4FD2, Fields, -1 }; }; struct BattlePetNPCTeamMemberMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING, 1, true }, - }; - static constexpr DB2Meta instance(841648, -1, 1, 1, 0xB0DD8F60, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + }; + + static constexpr DB2Meta Instance{ 841648, -1, 1, 1, 0xB0DD8F60, Fields, -1 }; }; struct BattlePetSpeciesMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[12] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(841622, 2, 12, 12, 0x7E3C11F2, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[12] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 841622, 2, 12, 12, 0x7E3C11F2, Fields, -1 }; }; struct BattlePetSpeciesStateMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(801581, -1, 3, 2, 0x3D1D7C9D, fields, 2); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 801581, -1, 3, 2, 0x3D1D7C9D, Fields, 2 }; }; struct BattlePetSpeciesXAbilityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(801582, -1, 4, 3, 0x98E73E87, fields, 3); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 801582, -1, 4, 3, 0x98E73E87, Fields, 3 }; }; struct BattlePetSpeciesXCovenantMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3669304, -1, 2, 1, 0xD9C25504, fields, 1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3669304, -1, 2, 1, 0xD9C25504, Fields, 1 }; }; struct BattlePetStateMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(801583, -1, 3, 3, 0x59238591, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 801583, -1, 3, 3, 0x59238591, Fields, -1 }; }; struct BattlePetVisualMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(801584, -1, 7, 7, 0x55227F53, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 801584, -1, 7, 7, 0x55227F53, Fields, -1 }; }; struct BattlemasterListMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[17] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 16, true }, - }; - static constexpr DB2Meta instance(1360265, -1, 17, 17, 0x145B6F18, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[17] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 16, true }, + }; + + static constexpr DB2Meta Instance{ 1360265, -1, 17, 17, 0x145B6F18, Fields, -1 }; }; struct BeamEffectMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1525607, -1, 10, 10, 0xF1E61217, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1525607, -1, 10, 10, 0xF1E61217, Fields, -1 }; }; struct BoneWindModifierModelMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1467254, -1, 2, 2, 0x1487387B, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1467254, -1, 2, 2, 0x1487387B, Fields, 0 }; }; struct BoneWindModifiersMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_FLOAT, 3, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1416756, -1, 2, 2, 0x9FEA042E, fields, -1); - return &instance; - } + { FT_FLOAT, 3, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1416756, -1, 2, 2, 0x9FEA042E, Fields, -1 }; }; struct BonusRollMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1983274, -1, 4, 4, 0xDEC02884, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1983274, -1, 4, 4, 0xDEC02884, Fields, -1 }; }; struct BountyMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1367866, -1, 5, 4, 0xD23ECB64, fields, 4); - return &instance; - } + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1367866, -1, 5, 4, 0xD23ECB64, Fields, 4 }; }; struct BountySetMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1367865, -1, 2, 2, 0x501CD5A6, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1367865, -1, 2, 2, 0x501CD5A6, Fields, -1 }; }; struct BroadcastTextMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[12] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 2, false }, - { FT_SHORT, 3, false }, - { FT_SHORT, 3, false }, - }; - static constexpr DB2Meta instance(841604, 2, 12, 12, 0x9FB1FE4B, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[12] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 2, false }, + { FT_SHORT, 3, false }, + { FT_SHORT, 3, false }, + }; + + static constexpr DB2Meta Instance{ 841604, 2, 12, 12, 0x9FB1FE4B, Fields, -1 }; }; struct BroadcastTextDurationMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2166900, -1, 3, 3, 0xFFDF8DBB, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2166900, -1, 3, 3, 0xFFDF8DBB, Fields, 0 }; }; struct CameraEffectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1117695, -1, 1, 1, 0x8E37DA6F, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1117695, -1, 1, 1, 0x8E37DA6F, Fields, -1 }; }; struct CameraEffectEntryMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[16] = - { - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1117696, -1, 16, 15, 0x9F59F6DD, fields, 15); - return &instance; - } + static constexpr DB2MetaField Fields[16] = + { + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1117696, -1, 16, 15, 0x9F59F6DD, Fields, 15 }; }; struct CameraModeMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[11] = - { - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1343308, -1, 11, 11, 0xC26A74A9, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[11] = + { + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1343308, -1, 11, 11, 0xC26A74A9, Fields, -1 }; }; struct CampaignMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[14] = - { - { FT_STRING, 1, true }, - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2031607, -1, 14, 14, 0xAD30B727, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[14] = + { + { FT_STRING, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2031607, -1, 14, 14, 0xAD30B727, Fields, -1 }; }; struct CampaignXConditionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2031611, -1, 5, 4, 0x3B0D3F8C, fields, 4); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2031611, -1, 5, 4, 0x3B0D3F8C, Fields, 4 }; }; struct CampaignXQuestLineMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(2036722, -1, 3, 3, 0x10BF2FCD, fields, 0); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 2036722, -1, 3, 3, 0x10BF2FCD, Fields, 0 }; }; struct CastableRaidBuffsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1283018, -1, 2, 1, 0xBEB03EF2, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1283018, -1, 2, 1, 0xBEB03EF2, Fields, 1 }; }; struct CelestialBodyMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[14] = - { - { FT_FLOAT, 3, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 2, true }, - { FT_FLOAT, 2, true }, - { FT_INT, 2, true }, - { FT_FLOAT, 2, true }, - { FT_FLOAT, 2, true }, - }; - static constexpr DB2Meta instance(1592470, -1, 14, 14, 0x3F9BA1DD, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[14] = + { + { FT_FLOAT, 3, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 2, true }, + { FT_FLOAT, 2, true }, + { FT_INT, 2, true }, + { FT_FLOAT, 2, true }, + { FT_FLOAT, 2, true }, + }; + + static constexpr DB2Meta Instance{ 1592470, -1, 14, 14, 0x3F9BA1DD, Fields, -1 }; }; struct Cfg_CategoriesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_STRING, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1068162, -1, 6, 6, 0x37159FFC, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1068162, -1, 6, 6, 0x37159FFC, Fields, -1 }; }; struct Cfg_ConfigsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1080949, -1, 4, 4, 0xF7B1322B, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1080949, -1, 4, 4, 0xF7B1322B, Fields, -1 }; }; struct Cfg_RegionsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1082876, -1, 5, 5, 0xFC93C56C, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1082876, -1, 5, 5, 0xFC93C56C, Fields, -1 }; }; struct ChallengeModeItemBonusOverrideMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2965645, -1, 6, 5, 0x54B1B4A1, fields, 5); - return &instance; - } + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2965645, -1, 6, 5, 0x54B1B4A1, Fields, 5 }; }; struct CharBaseInfoMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1343386, -1, 3, 3, 0x862C2392, fields, -1); - return &instance; - } + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1343386, -1, 3, 3, 0x862C2392, Fields, -1 }; }; struct CharBaseSectionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1375798, -1, 3, 3, 0xC0783DC4, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1375798, -1, 3, 3, 0xC0783DC4, Fields, -1 }; }; struct CharComponentTextureLayoutsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - }; - static constexpr DB2Meta instance(1360262, -1, 2, 2, 0xB4407510, fields, -1); - return &instance; - } + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1360262, -1, 2, 2, 0xB4407510, Fields, -1 }; }; struct CharComponentTextureSectionsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1360263, -1, 7, 7, 0x5F538036, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1360263, -1, 7, 7, 0x5F538036, Fields, 0 }; }; struct CharHairGeosetsMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[11] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1256914, -1, 11, 11, 0x69E34903, fields, 0); - return &instance; - } + static constexpr DB2MetaField Fields[11] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1256914, -1, 11, 11, 0x69E34903, Fields, 0 }; }; struct CharSectionConditionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2388725, -1, 6, 5, 0x5E6E8D02, fields, 5); - return &instance; - } + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2388725, -1, 6, 5, 0x5E6E8D02, Fields, 5 }; }; struct CharShipmentMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(972425, -1, 9, 9, 0x604F76F0, fields, 0); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 972425, -1, 9, 9, 0x604F76F0, Fields, 0 }; }; struct CharShipmentContainerMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[16] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(972405, -1, 16, 16, 0xBE1415EF, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[16] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 972405, -1, 16, 16, 0xBE1415EF, Fields, -1 }; }; struct CharStartKitMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[16] = - { - { FT_STRING, 1, true }, - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3055696, -1, 16, 15, 0x00B44453, fields, 15); - return &instance; - } + static constexpr DB2MetaField Fields[16] = + { + { FT_STRING, 1, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3055696, -1, 16, 15, 0x00B44453, Fields, 15 }; }; struct CharTitlesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1349054, -1, 4, 4, 0xD7398A05, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1349054, -1, 4, 4, 0xD7398A05, Fields, -1 }; }; struct CharacterFacialHairStylesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 5, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1369752, -1, 4, 4, 0x4ED873D6, fields, -1); - return &instance; - } + { FT_INT, 5, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1369752, -1, 4, 4, 0x4ED873D6, Fields, -1 }; }; struct CharacterLoadoutMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_LONG, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1344281, -1, 4, 4, 0xEF41DC0A, fields, -1); - return &instance; - } + { FT_LONG, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1344281, -1, 4, 4, 0xEF41DC0A, Fields, -1 }; }; struct CharacterLoadoutItemMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1302846, -1, 2, 2, 0x24843CD8, fields, 0); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1302846, -1, 2, 2, 0x24843CD8, Fields, 0 }; }; struct CharacterLoadoutPetMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3724843, -1, 4, 3, 0x0E32BEB6, fields, 3); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3724843, -1, 4, 3, 0x0E32BEB6, Fields, 3 }; }; struct CharacterServiceInfoMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[12] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1815417, -1, 12, 12, 0x7C1EF738, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[12] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1815417, -1, 12, 12, 0x7C1EF738, Fields, -1 }; }; struct ChatChannelsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1345278, -1, 5, 5, 0x34EBC257, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1345278, -1, 5, 5, 0x34EBC257, Fields, -1 }; }; struct ChatProfanityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1117084, -1, 2, 2, 0xF05E7E22, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1117084, -1, 2, 2, 0xF05E7E22, Fields, -1 }; }; struct ChrClassRaceSexMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1306188, -1, 6, 6, 0xCE5A498A, fields, -1); - return &instance; - } + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1306188, -1, 6, 6, 0xCE5A498A, Fields, -1 }; }; struct ChrClassTitleMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1267497, -1, 3, 3, 0x7F14E4E9, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1267497, -1, 3, 3, 0x7F14E4E9, Fields, -1 }; }; struct ChrClassUIChrModelInfoMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_FLOAT, 3, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(3754770, -1, 4, 4, 0xC4043CA4, fields, -1); - return &instance; - } + { FT_FLOAT, 3, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3754770, -1, 4, 4, 0xC4043CA4, Fields, -1 }; }; struct ChrClassUIDisplayMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1316515, -1, 3, 3, 0x89E07C1C, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1316515, -1, 3, 3, 0x89E07C1C, Fields, -1 }; }; struct ChrClassVillainMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1267498, -1, 3, 3, 0x24AF0FFD, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1267498, -1, 3, 3, 0x24AF0FFD, Fields, -1 }; }; struct ChrClassesMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[39] = - { - { FT_STRING, 1, true }, - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1361031, 10, 39, 39, 0xCD8CBEDA, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[39] = + { + { FT_STRING, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1361031, 10, 39, 39, 0xCD8CBEDA, Fields, -1 }; }; struct ChrClassesXPowerTypesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1121420, -1, 2, 1, 0x71C99BFD, fields, 1); - return &instance; - } + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1121420, -1, 2, 1, 0x71C99BFD, Fields, 1 }; }; struct ChrCreateClassAnimTargetMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3671168, -1, 7, 6, 0x3AC1561C, fields, 6); - return &instance; - } + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3671168, -1, 7, 6, 0x3AC1561C, Fields, 6 }; }; struct ChrCreateClassAnimTargetInfoMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3671169, 0, 4, 3, 0x7DF65661, fields, 3); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3671169, 0, 4, 3, 0x7DF65661, Fields, 3 }; }; struct ChrCustClientChoiceConversionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3590348, -1, 3, 2, 0xF1AE177C, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3590348, -1, 3, 2, 0xF1AE177C, Fields, 2 }; }; struct ChrCustItemGeoModifyMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3952714, -1, 3, 3, 0x09A78C46, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3952714, -1, 3, 3, 0x09A78C46, Fields, -1 }; }; struct ChrCustomizationMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 3, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1611874, -1, 7, 6, 0x3E81F9D4, fields, 6); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 3, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1611874, -1, 7, 6, 0x3E81F9D4, Fields, 6 }; }; struct ChrCustomizationBoneSetMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3460181, -1, 2, 2, 0xF45B8890, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3460181, -1, 2, 2, 0xF45B8890, Fields, -1 }; }; struct ChrCustomizationCategoryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(3526439, -1, 8, 8, 0x885434EF, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3526439, -1, 8, 8, 0x885434EF, Fields, -1 }; }; struct ChrCustomizationChoiceMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 2, true }, - }; - static constexpr DB2Meta instance(3450554, 1, 10, 10, 0x03A6DCB1, fields, 2); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 2, true }, + }; + + static constexpr DB2Meta Instance{ 3450554, 1, 10, 10, 0x03A6DCB1, Fields, 2 }; }; struct ChrCustomizationCondModelMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 4, true }, - }; - static constexpr DB2Meta instance(3460182, -1, 2, 2, 0x90F7861A, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 4, true }, + }; + + static constexpr DB2Meta Instance{ 3460182, -1, 2, 2, 0x90F7861A, Fields, -1 }; }; struct ChrCustomizationConversionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3463337, -1, 8, 8, 0x685C2AB5, fields, 4); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3463337, -1, 8, 8, 0x685C2AB5, Fields, 4 }; }; struct ChrCustomizationDisplayInfoMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(3593032, -1, 4, 4, 0x7CD43881, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3593032, -1, 4, 4, 0x7CD43881, Fields, -1 }; }; struct ChrCustomizationElementMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3512765, -1, 10, 10, 0x0E39F850, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3512765, -1, 10, 10, 0x0E39F850, Fields, -1 }; }; struct ChrCustomizationGeosetMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3456171, -1, 3, 3, 0x9D95412A, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3456171, -1, 3, 3, 0x9D95412A, Fields, -1 }; }; struct ChrCustomizationMaterialMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3459652, -1, 2, 2, 0x68D0798C, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3459652, -1, 2, 2, 0x68D0798C, Fields, -1 }; }; struct ChrCustomizationOptionMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[13] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3384247, 1, 13, 13, 0x77A321D5, fields, 4); - return &instance; - } + static constexpr DB2MetaField Fields[13] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3384247, 1, 13, 13, 0x77A321D5, Fields, 4 }; }; struct ChrCustomizationReqMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3450453, -1, 7, 7, 0x58DDCAF5, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3450453, -1, 7, 7, 0x58DDCAF5, Fields, -1 }; }; struct ChrCustomizationReqChoiceMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3580359, -1, 2, 1, 0x52D624D9, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3580359, -1, 2, 1, 0x52D624D9, Fields, 1 }; }; struct ChrCustomizationSkinnedModelMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3460183, -1, 5, 5, 0xB02FB5F3, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3460183, -1, 5, 5, 0xB02FB5F3, Fields, -1 }; }; struct ChrCustomizationVisReqMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4724136, -1, 2, 2, 0xF5C3ABD9, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4724136, -1, 2, 2, 0xF5C3ABD9, Fields, -1 }; }; struct ChrCustomizationVoiceMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(4672833, -1, 1, 1, 0x647E0FF4, fields, -1); - return &instance; - } + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4672833, -1, 1, 1, 0x647E0FF4, Fields, -1 }; }; struct ChrModelMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[17] = - { - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(3384313, 2, 17, 17, 0x79F06E99, fields, 4); - return &instance; - } + static constexpr DB2MetaField Fields[17] = + { + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3384313, 2, 17, 17, 0x79F06E99, Fields, 4 }; }; struct ChrModelMaterialMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3566562, 0, 7, 7, 0xB4AB9DAB, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3566562, 0, 7, 7, 0xB4AB9DAB, Fields, 1 }; }; struct ChrModelTextureLayerMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 3, true }, - { FT_INT, 2, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3548976, -1, 9, 8, 0x0CE385AF, fields, 8); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 3, true }, + { FT_INT, 2, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3548976, -1, 9, 8, 0x0CE385AF, Fields, 8 }; }; struct ChrRaceRacialAbilityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3507821, -1, 6, 5, 0xB6115535, fields, 5); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3507821, -1, 6, 5, 0xB6115535, Fields, 5 }; }; struct ChrRaceXChrModelMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3490304, -1, 4, 4, 0xE0B5AE0D, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3490304, -1, 4, 4, 0xE0B5AE0D, Fields, 0 }; }; struct ChrRacesMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[52] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 3, true }, - { FT_INT, 3, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 3, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1305311, -1, 52, 52, 0xCD316971, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[52] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 3, true }, + { FT_INT, 3, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1305311, -1, 52, 52, 0xCD316971, Fields, -1 }; }; struct ChrRacesCreateScreenIconMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4566929, 0, 4, 4, 0xD69ECEFF, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4566929, 0, 4, 4, 0xD69ECEFF, Fields, -1 }; }; struct ChrSelectBackgroundCDIMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4195187, -1, 3, 3, 0x5C22B87C, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4195187, -1, 3, 3, 0x5C22B87C, Fields, -1 }; }; struct ChrSpecializationMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[13] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 2, true }, - }; - static constexpr DB2Meta instance(1343390, 3, 13, 13, 0x1F1A9A8F, fields, 4); - return &instance; - } + static constexpr DB2MetaField Fields[13] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 2, true }, + }; + + static constexpr DB2Meta Instance{ 1343390, 3, 13, 13, 0x1F1A9A8F, Fields, 4 }; }; struct ChrUpgradeBucketMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(984529, 0, 3, 2, 0x5DD8D93F, fields, 2); - return &instance; - } + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 984529, 0, 3, 2, 0x5DD8D93F, Fields, 2 }; }; struct ChrUpgradeBucketSpellMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(984528, -1, 2, 1, 0xD5209FCF, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 984528, -1, 2, 1, 0xD5209FCF, Fields, 1 }; }; struct ChrUpgradeTierMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(984530, 1, 4, 4, 0xC4B6C048, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 984530, 1, 4, 4, 0xC4B6C048, Fields, -1 }; }; struct CinematicCameraMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_FLOAT, 3, true }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1294214, -1, 5, 5, 0x4B3DF171, fields, -1); - return &instance; - } + { FT_FLOAT, 3, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1294214, -1, 5, 5, 0x4B3DF171, Fields, -1 }; }; struct CinematicSequencesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, false }, - { FT_SHORT, 8, false }, - }; - static constexpr DB2Meta instance(1134583, -1, 2, 2, 0x32B8FB41, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_SHORT, 8, false }, + }; + + static constexpr DB2Meta Instance{ 1134583, -1, 2, 2, 0x32B8FB41, Fields, -1 }; }; struct ClientSceneEffectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1939843, -1, 1, 1, 0x8C4BEE67, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1939843, -1, 1, 1, 0x8C4BEE67, Fields, -1 }; }; struct CloakDampeningMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 5, true }, - { FT_FLOAT, 5, true }, - { FT_FLOAT, 2, true }, - { FT_FLOAT, 2, true }, - }; - static constexpr DB2Meta instance(1465903, -1, 7, 7, 0x1C66DB37, fields, -1); - return &instance; - } + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 5, true }, + { FT_FLOAT, 5, true }, + { FT_FLOAT, 2, true }, + { FT_FLOAT, 2, true }, + }; + + static constexpr DB2Meta Instance{ 1465903, -1, 7, 7, 0x1C66DB37, Fields, -1 }; }; struct CloneEffectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2175218, -1, 8, 8, 0xC045A5E8, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2175218, -1, 8, 8, 0xC045A5E8, Fields, -1 }; }; struct CombatConditionMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[11] = - { - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 2, false }, - { FT_BYTE, 2, false }, - { FT_BYTE, 2, false }, - { FT_SHORT, 2, false }, - { FT_BYTE, 2, false }, - { FT_BYTE, 2, false }, - }; - static constexpr DB2Meta instance(1120958, -1, 11, 11, 0x5CA63D01, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[11] = + { + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 2, false }, + { FT_BYTE, 2, false }, + { FT_BYTE, 2, false }, + { FT_SHORT, 2, false }, + { FT_BYTE, 2, false }, + { FT_BYTE, 2, false }, + }; + + static constexpr DB2Meta Instance{ 1120958, -1, 11, 11, 0x5CA63D01, Fields, -1 }; }; struct CommentatorIndirectSpellMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3067644, -1, 3, 2, 0x415C0D91, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3067644, -1, 3, 2, 0x415C0D91, Fields, 2 }; }; struct CommentatorStartLocationMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_FLOAT, 3, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1664251, -1, 2, 2, 0x36EDE137, fields, -1); - return &instance; - } + { FT_FLOAT, 3, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1664251, -1, 2, 2, 0x36EDE137, Fields, -1 }; }; struct CommentatorTrackedCooldownMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1661584, -1, 4, 3, 0xDF3511FC, fields, 3); - return &instance; - } + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1661584, -1, 4, 3, 0xDF3511FC, Fields, 3 }; }; struct CommunityIconMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2098645, -1, 2, 2, 0xAD2830F3, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2098645, -1, 2, 2, 0xAD2830F3, Fields, -1 }; }; struct ComponentModelFileDataMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1349053, -1, 4, 4, 0x34E0ADCF, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1349053, -1, 4, 4, 0x34E0ADCF, Fields, -1 }; }; struct ComponentTextureFileDataMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1278239, -1, 3, 3, 0x2DD855B4, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1278239, -1, 3, 3, 0x2DD855B4, Fields, -1 }; }; struct ConditionalContentTuningMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3501965, -1, 4, 3, 0x8DF8B6EC, fields, 3); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3501965, -1, 4, 3, 0x8DF8B6EC, Fields, 3 }; }; struct ConfigurationWarningMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1709409, -1, 2, 2, 0x6E7F031C, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1709409, -1, 2, 2, 0x6E7F031C, Fields, -1 }; }; struct ContentRestrictionRuleMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4668112, -1, 8, 7, 0x5A5B939C, fields, 7); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4668112, -1, 8, 7, 0x5A5B939C, Fields, 7 }; }; struct ContentRestrictionRuleSetMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4281307, 0, 3, 3, 0x7AA89A89, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4281307, 0, 3, 3, 0x7AA89A89, Fields, -1 }; }; struct ContentTuningMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[11] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1962930, -1, 11, 11, 0xACA848DF, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[11] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1962930, -1, 11, 11, 0xACA848DF, Fields, -1 }; }; struct ContentTuningXExpectedMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2976765, -1, 4, 3, 0x886CD205, fields, 3); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2976765, -1, 4, 3, 0x886CD205, Fields, 3 }; }; struct ContentTuningXLabelMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4659576, -1, 2, 1, 0x62982D18, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4659576, -1, 2, 1, 0x62982D18, Fields, 1 }; }; struct ContributionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 4, true }, - }; - static constexpr DB2Meta instance(1587153, -1, 6, 6, 0xB773D94B, fields, 2); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 4, true }, + }; + + static constexpr DB2Meta Instance{ 1587153, -1, 6, 6, 0xB773D94B, Fields, 2 }; }; struct ContributionStyleMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2143633, -1, 7, 7, 0x001E87C8, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2143633, -1, 7, 7, 0x001E87C8, Fields, -1 }; }; struct ContributionStyleContainerMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 5, true }, - }; - static constexpr DB2Meta instance(2143634, -1, 1, 1, 0xBCE21C5E, fields, -1); - return &instance; - } + { FT_INT, 5, true }, + }; + + static constexpr DB2Meta Instance{ 2143634, -1, 1, 1, 0xBCE21C5E, Fields, -1 }; }; struct ConversationLineMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1260801, -1, 8, 8, 0x9EE67C1B, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1260801, -1, 8, 8, 0x9EE67C1B, Fields, -1 }; }; struct CorruptionEffectsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3220711, -1, 4, 4, 0xCD3D02D2, fields, -1); - return &instance; - } + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3220711, -1, 4, 4, 0xCD3D02D2, Fields, -1 }; }; struct CovenantMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3384973, -1, 9, 9, 0xD6E6D3C8, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3384973, -1, 9, 9, 0xD6E6D3C8, Fields, -1 }; }; struct CraftingDataMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[15] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4545611, 0, 15, 15, 0xAC3DA43D, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[15] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4545611, 0, 15, 15, 0xAC3DA43D, Fields, -1 }; }; struct CraftingDataEnchantQualityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4659601, -1, 4, 3, 0x31677DFD, fields, 3); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4659601, -1, 4, 3, 0x31677DFD, Fields, 3 }; }; struct CraftingDataItemQualityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4545612, -1, 2, 1, 0x25756325, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4545612, -1, 2, 1, 0x25756325, Fields, 1 }; }; struct CraftingDifficultyMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(4373536, -1, 5, 5, 0xA38AD18A, fields, -1); - return &instance; - } + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4373536, -1, 5, 5, 0xA38AD18A, Fields, -1 }; }; struct CraftingDifficultyQualityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4373537, 0, 6, 5, 0xC1A830DE, fields, 5); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4373537, 0, 6, 5, 0xC1A830DE, Fields, 5 }; }; struct CraftingOrderMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4529122, -1, 3, 3, 0xB84EEC7E, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4529122, -1, 3, 3, 0xB84EEC7E, Fields, -1 }; }; struct CraftingOrderHouseMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_FLOAT, 1, true }, - { FT_INT, 3, true }, - }; - static constexpr DB2Meta instance(4688652, -1, 2, 2, 0xAC451DAB, fields, -1); - return &instance; - } + { FT_FLOAT, 1, true }, + { FT_INT, 3, true }, + }; + + static constexpr DB2Meta Instance{ 4688652, -1, 2, 2, 0xAC451DAB, Fields, -1 }; }; struct CraftingQualityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4373538, -1, 1, 1, 0xE97DD64C, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4373538, -1, 1, 1, 0xE97DD64C, Fields, -1 }; }; struct CraftingReagentEffectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4541803, -1, 3, 2, 0xC85861E7, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4541803, -1, 3, 2, 0xC85861E7, Fields, 2 }; }; struct CraftingReagentQualityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4382197, 0, 6, 5, 0xCE4DB0CC, fields, 5); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4382197, 0, 6, 5, 0xCE4DB0CC, Fields, 5 }; }; struct CreatureMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[11] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 4, true }, - { FT_FLOAT, 4, true }, - { FT_INT, 3, true }, - }; - static constexpr DB2Meta instance(841631, -1, 11, 11, 0x8246E41C, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[11] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 4, true }, + { FT_FLOAT, 4, true }, + { FT_INT, 3, true }, + }; + + static constexpr DB2Meta Instance{ 841631, -1, 11, 11, 0x8246E41C, Fields, -1 }; }; struct CreatureDifficultyMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 8, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(879282, -1, 6, 5, 0x1633422F, fields, 5); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 8, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 879282, -1, 6, 5, 0x1633422F, Fields, 5 }; }; struct CreatureDifficultyTreasureMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4044373, -1, 3, 2, 0x248ECDA6, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4044373, -1, 3, 2, 0x248ECDA6, Fields, 2 }; }; struct CreatureDispXUiCameraMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1146692, -1, 2, 2, 0xA8582ED5, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1146692, -1, 2, 2, 0xA8582ED5, Fields, -1 }; }; struct CreatureDisplayInfoMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[25] = - { - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 4, true }, - }; - static constexpr DB2Meta instance(1108759, 0, 25, 25, 0x357FF9CD, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[25] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 4, true }, + }; + + static constexpr DB2Meta Instance{ 1108759, 0, 25, 25, 0x357FF9CD, Fields, -1 }; }; struct CreatureDisplayInfoCondMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_LONG, 1, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 4, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1332686, 1, 8, 7, 0x5EAC4BFD, fields, 7); - return &instance; - } + { FT_LONG, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 4, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1332686, 1, 8, 7, 0x5EAC4BFD, Fields, 7 }; }; struct CreatureDisplayInfoCondXChoiceMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3670439, -1, 2, 2, 0x3B360250, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3670439, -1, 2, 2, 0x3B360250, Fields, 0 }; }; struct CreatureDisplayInfoEvtMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1586882, -1, 4, 3, 0xFD7C9FA8, fields, 3); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1586882, -1, 4, 3, 0xFD7C9FA8, Fields, 3 }; }; struct CreatureDisplayInfoExtraMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_INT, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1264997, 0, 7, 7, 0x8FCCFF0C, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1264997, 0, 7, 7, 0x8FCCFF0C, Fields, -1 }; }; struct CreatureDisplayInfoGeosetDataMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1720141, -1, 3, 2, 0x6A7C8343, fields, 2); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1720141, -1, 3, 2, 0x6A7C8343, Fields, 2 }; }; struct CreatureDisplayInfoOptionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3692043, -1, 3, 2, 0xDBD77820, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3692043, -1, 3, 2, 0xDBD77820, Fields, 2 }; }; struct CreatureDisplayInfoTrnMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1146698, -1, 6, 5, 0x7B61A667, fields, 5); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1146698, -1, 6, 5, 0x7B61A667, Fields, 5 }; }; struct CreatureFamilyMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_STRING, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, true }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 2, true }, - }; - static constexpr DB2Meta instance(1351351, -1, 9, 9, 0x78019FD1, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_STRING, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 2, true }, + }; + + static constexpr DB2Meta Instance{ 1351351, -1, 9, 9, 0x78019FD1, Fields, -1 }; }; struct CreatureImmunitiesMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 2, true }, - { FT_INT, 10, false }, - { FT_INT, 20, false }, - }; - static constexpr DB2Meta instance(1131322, -1, 9, 9, 0x1B605529, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 2, true }, + { FT_INT, 10, false }, + { FT_INT, 20, false }, + }; + + static constexpr DB2Meta Instance{ 1131322, -1, 9, 9, 0x1B605529, Fields, -1 }; }; struct CreatureLabelMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3055733, -1, 2, 1, 0xF7C12CAC, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3055733, -1, 2, 1, 0xF7C12CAC, Fields, 1 }; }; struct CreatureModelDataMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[31] = - { - { FT_FLOAT, 6, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 2, true }, - }; - static constexpr DB2Meta instance(1365368, -1, 31, 31, 0xEDDF3253, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[31] = + { + { FT_FLOAT, 6, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 2, true }, + }; + + static constexpr DB2Meta Instance{ 1365368, -1, 31, 31, 0xEDDF3253, Fields, -1 }; }; struct CreatureMovementInfoMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1125666, -1, 1, 1, 0x4A558056, fields, -1); - return &instance; - } + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1125666, -1, 1, 1, 0x4A558056, Fields, -1 }; }; struct CreatureSoundDataMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[38] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 5, false }, - { FT_INT, 4, false }, - }; - static constexpr DB2Meta instance(1344466, 0, 38, 38, 0x0FE7B1EC, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[38] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 5, false }, + { FT_INT, 4, false }, + }; + + static constexpr DB2Meta Instance{ 1344466, 0, 38, 38, 0x0FE7B1EC, Fields, -1 }; }; struct CreatureSoundFidgetMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4178576, -1, 3, 2, 0xECFBE76A, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4178576, -1, 3, 2, 0xECFBE76A, Fields, 2 }; }; struct CreatureTypeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1131315, -1, 2, 2, 0xBDB743EB, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1131315, -1, 2, 2, 0xBDB743EB, Fields, -1 }; }; struct CreatureXContributionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1587158, -1, 2, 1, 0x08F0A453, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1587158, -1, 2, 1, 0x08F0A453, Fields, 1 }; }; struct CreatureXDisplayInfoMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1864302, -1, 5, 4, 0xF5C33B70, fields, 4); - return &instance; - } + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1864302, -1, 5, 4, 0xF5C33B70, Fields, 4 }; }; struct CreatureXUiWidgetSetMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3055738, -1, 3, 3, 0xD5F78F74, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3055738, -1, 3, 3, 0xD5F78F74, Fields, -1 }; }; struct CriteriaMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[11] = - { - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1263817, -1, 11, 11, 0x1C237366, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[11] = + { + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1263817, -1, 11, 11, 0x1C237366, Fields, -1 }; }; struct CriteriaTreeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1263818, -1, 7, 7, 0x9C1C42E0, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1263818, -1, 7, 7, 0x9C1C42E0, Fields, -1 }; }; struct CriteriaTreeXEffectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1345969, -1, 2, 1, 0xD09A14A8, fields, 1); - return &instance; - } + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1345969, -1, 2, 1, 0xD09A14A8, Fields, 1 }; }; struct CurrencyCategoryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1125667, -1, 3, 3, 0xDEE5E915, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1125667, -1, 3, 3, 0xDEE5E915, Fields, -1 }; }; struct CurrencyContainerMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1934603, -1, 8, 7, 0x43B60080, fields, 7); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1934603, -1, 8, 7, 0x43B60080, Fields, 7 }; }; struct CurrencyTypesMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[17] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 2, true }, - }; - static constexpr DB2Meta instance(1095531, -1, 17, 17, 0x2085AB84, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[17] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 2, true }, + }; + + static constexpr DB2Meta Instance{ 1095531, -1, 17, 17, 0x2085AB84, Fields, -1 }; }; struct CurveMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(892585, 0, 3, 3, 0x58B43CA3, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 892585, 0, 3, 3, 0x58B43CA3, Fields, -1 }; }; struct CurvePointMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_FLOAT, 2, true }, - { FT_FLOAT, 2, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(892586, 2, 5, 5, 0x7B45328E, fields, 3); - return &instance; - } + { FT_FLOAT, 2, true }, + { FT_FLOAT, 2, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 892586, 2, 5, 5, 0x7B45328E, Fields, 3 }; }; struct DeathThudLookupsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1279415, -1, 4, 4, 0xEA2448BE, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1279415, -1, 4, 4, 0xEA2448BE, Fields, -1 }; }; struct DecalPropertiesMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[25] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 4, true }, - { FT_FLOAT, 4, true }, - { FT_FLOAT, 4, true }, - }; - static constexpr DB2Meta instance(1278176, -1, 25, 25, 0x1E49EE02, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[25] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 4, true }, + { FT_FLOAT, 4, true }, + { FT_FLOAT, 4, true }, + }; + + static constexpr DB2Meta Instance{ 1278176, -1, 25, 25, 0x1E49EE02, Fields, -1 }; }; struct DeclinedWordMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1279100, 1, 2, 2, 0xD648129D, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1279100, 1, 2, 2, 0xD648129D, Fields, -1 }; }; struct DeclinedWordCasesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1279099, -1, 3, 2, 0x626BC51A, fields, 2); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1279099, -1, 3, 2, 0x626BC51A, Fields, 2 }; }; struct DestructibleModelDataMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[22] = - { - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1122116, -1, 22, 22, 0x7BC9B1D9, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[22] = + { + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1122116, -1, 22, 22, 0x7BC9B1D9, Fields, -1 }; }; struct DeviceBlacklistMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(922722, -1, 2, 2, 0x1458ACA1, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 922722, -1, 2, 2, 0x1458ACA1, Fields, -1 }; }; struct DifficultyMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[13] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1352127, -1, 13, 13, 0x9B05F092, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[13] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1352127, -1, 13, 13, 0x9B05F092, Fields, -1 }; }; struct DisplaySeasonMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4279827, -1, 5, 5, 0xA2007E11, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4279827, -1, 5, 5, 0xA2007E11, Fields, -1 }; }; struct DissolveEffectMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[21] = - { - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1304325, -1, 21, 21, 0xE41A3D3D, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[21] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1304325, -1, 21, 21, 0xE41A3D3D, Fields, -1 }; }; struct DriverBlacklistMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(922720, -1, 7, 7, 0x3FDF91BC, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 922720, -1, 7, 7, 0x3FDF91BC, Fields, -1 }; }; struct DungeonEncounterMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1347279, 1, 10, 10, 0x970800CA, fields, 2); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1347279, 1, 10, 10, 0x970800CA, Fields, 2 }; }; struct DurabilityCostsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 21, false }, - { FT_SHORT, 8, false }, - }; - static constexpr DB2Meta instance(1283019, -1, 2, 2, 0x3DBDFDD1, fields, -1); - return &instance; - } + { FT_SHORT, 21, false }, + { FT_SHORT, 8, false }, + }; + + static constexpr DB2Meta Instance{ 1283019, -1, 2, 2, 0x3DBDFDD1, Fields, -1 }; }; struct DurabilityQualityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1130268, -1, 1, 1, 0xD4F6FFC8, fields, -1); - return &instance; - } + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1130268, -1, 1, 1, 0xD4F6FFC8, Fields, -1 }; }; struct EdgeGlowEffectMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[13] = - { - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1387381, -1, 13, 13, 0x1589CA63, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[13] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1387381, -1, 13, 13, 0x1589CA63, Fields, -1 }; }; struct EmotesMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_LONG, 1, true }, - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1343602, -1, 9, 9, 0xC2B2FDD1, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_LONG, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1343602, -1, 9, 9, 0xC2B2FDD1, Fields, -1 }; }; struct EmotesTextMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1347273, -1, 2, 2, 0x8C749D28, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1347273, -1, 2, 2, 0x8C749D28, Fields, -1 }; }; struct EmotesTextDataMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1283024, -1, 3, 2, 0x3E78FC97, fields, 2); - return &instance; - } + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1283024, -1, 3, 2, 0x3E78FC97, Fields, 2 }; }; struct EmotesTextSoundMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1286524, -1, 5, 4, 0xF058B2EF, fields, 4); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1286524, -1, 5, 4, 0xF058B2EF, Fields, 4 }; }; struct EnvironmentalDamageMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1278398, -1, 2, 2, 0x0D289832, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1278398, -1, 2, 2, 0x0D289832, Fields, -1 }; }; struct ExhaustionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_STRING, 1, true }, - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1343313, -1, 7, 7, 0x115BE21D, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1343313, -1, 7, 7, 0x115BE21D, Fields, -1 }; }; struct ExpectedStatMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[11] = - { - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1937326, -1, 11, 10, 0xD0570787, fields, 10); - return &instance; - } + static constexpr DB2MetaField Fields[11] = + { + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1937326, -1, 11, 10, 0xD0570787, Fields, 10 }; }; struct ExpectedStatModMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1969773, -1, 9, 9, 0x462D65F2, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1969773, -1, 9, 9, 0x462D65F2, Fields, -1 }; }; struct ExtraAbilityInfoMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3527889, -1, 6, 6, 0x006F6DEF, fields, 1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3527889, -1, 6, 6, 0x006F6DEF, Fields, 1 }; }; struct FactionMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[17] = - { - { FT_LONG, 4, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 4, true }, - { FT_SHORT, 4, false }, - { FT_INT, 4, true }, - { FT_INT, 4, true }, - { FT_FLOAT, 2, true }, - { FT_BYTE, 2, false }, - }; - static constexpr DB2Meta instance(1361972, -1, 17, 17, 0xBE1F09D5, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[17] = + { + { FT_LONG, 4, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 4, true }, + { FT_SHORT, 4, false }, + { FT_INT, 4, true }, + { FT_INT, 4, true }, + { FT_FLOAT, 2, true }, + { FT_BYTE, 2, false }, + }; + + static constexpr DB2Meta Instance{ 1361972, -1, 17, 17, 0xBE1F09D5, Fields, -1 }; }; struct FactionGroupMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1343595, -1, 5, 5, 0x5CCF4BE3, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1343595, -1, 5, 5, 0x5CCF4BE3, Fields, -1 }; }; struct FactionTemplateMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 8, false }, - { FT_SHORT, 8, false }, - }; - static constexpr DB2Meta instance(1361579, -1, 7, 7, 0x207C5E80, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 8, false }, + { FT_SHORT, 8, false }, + }; + + static constexpr DB2Meta Instance{ 1361579, -1, 7, 7, 0x207C5E80, Fields, -1 }; }; struct FlightCapabilityMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[24] = - { - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4501047, -1, 24, 24, 0x5BE49A5B, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[24] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4501047, -1, 24, 24, 0x5BE49A5B, Fields, -1 }; }; struct FlightCapabilityXGlideEventMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4644249, -1, 2, 1, 0x002DF52F, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4644249, -1, 2, 1, 0x002DF52F, Fields, 1 }; }; struct FootprintTexturesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1308056, -1, 3, 3, 0x6E56D772, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1308056, -1, 3, 3, 0x6E56D772, Fields, -1 }; }; struct FootstepTerrainLookupMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_SHORT, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1267647, -1, 4, 4, 0xC8B9FDAC, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1267647, -1, 4, 4, 0xC8B9FDAC, Fields, -1 }; }; struct FriendshipRepReactionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1237638, -1, 4, 4, 0xA1157C1F, fields, 1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1237638, -1, 4, 4, 0xA1157C1F, Fields, 1 }; }; struct FriendshipReputationMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1237639, 3, 7, 7, 0xDCF9508F, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1237639, 3, 7, 7, 0xDCF9508F, Fields, -1 }; }; struct FullScreenEffectMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[28] = - { - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1348282, -1, 28, 28, 0x6D545850, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[28] = + { + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1348282, -1, 28, 28, 0x6D545850, Fields, -1 }; }; struct GMSurveyAnswersMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1283025, -1, 3, 2, 0x8C4F9BE3, fields, 2); - return &instance; - } + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1283025, -1, 3, 2, 0x8C4F9BE3, Fields, 2 }; }; struct GMSurveyCurrentSurveyMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1278177, -1, 1, 1, 0x29F86C92, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1278177, -1, 1, 1, 0x29F86C92, Fields, -1 }; }; struct GMSurveyQuestionsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING, 1, true }, - }; - static constexpr DB2Meta instance(1278178, -1, 1, 1, 0x10770511, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1278178, -1, 1, 1, 0x10770511, Fields, -1 }; }; struct GMSurveySurveysMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_BYTE, 15, false }, - }; - static constexpr DB2Meta instance(1283020, -1, 1, 1, 0x808736D1, fields, -1); - return &instance; - } + { FT_BYTE, 15, false }, + }; + + static constexpr DB2Meta Instance{ 1283020, -1, 1, 1, 0x808736D1, Fields, -1 }; }; struct GameClockDebugMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2922072, -1, 1, 1, 0xD30981EC, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2922072, -1, 1, 1, 0xD30981EC, Fields, -1 }; }; struct GameObjectAnimGroupMemberMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(3565753, -1, 4, 4, 0x375C3387, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 3565753, -1, 4, 4, 0x375C3387, Fields, 0 }; }; struct GameObjectArtKitMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 3, true }, - }; - static constexpr DB2Meta instance(1266737, -1, 2, 2, 0x520690EF, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 3, true }, + }; + + static constexpr DB2Meta Instance{ 1266737, -1, 2, 2, 0x520690EF, Fields, -1 }; }; struct GameObjectDiffAnimMapMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1302847, -1, 4, 3, 0x7403DFA2, fields, 3); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1302847, -1, 4, 3, 0x7403DFA2, Fields, 3 }; }; struct GameObjectDisplayInfoMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_FLOAT, 6, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1266277, -1, 5, 5, 0x7E33A93F, fields, -1); - return &instance; - } + { FT_FLOAT, 6, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1266277, -1, 5, 5, 0x7E33A93F, Fields, -1 }; }; struct GameObjectDisplayInfoXSoundKitMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1345272, -1, 3, 2, 0x16B43E1B, fields, 2); - return &instance; - } + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1345272, -1, 3, 2, 0x16B43E1B, Fields, 2 }; }; struct GameObjectLabelMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4621877, -1, 2, 1, 0xDC099311, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4621877, -1, 2, 1, 0xDC099311, Fields, 1 }; }; struct GameObjectsMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[12] = - { - { FT_STRING, 1, true }, - { FT_FLOAT, 3, true }, - { FT_FLOAT, 4, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 8, true }, - }; - static constexpr DB2Meta instance(841620, 3, 12, 12, 0xE1536F72, fields, 4); - return &instance; - } + static constexpr DB2MetaField Fields[12] = + { + { FT_STRING, 1, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 4, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 8, true }, + }; + + static constexpr DB2Meta Instance{ 841620, 3, 12, 12, 0xE1536F72, Fields, 4 }; }; struct GameParameterMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3405438, -1, 5, 5, 0xE2A34B99, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3405438, -1, 5, 5, 0xE2A34B99, Fields, -1 }; }; struct GameTipsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1368021, -1, 5, 5, 0x3D7E744D, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1368021, -1, 5, 5, 0x3D7E744D, Fields, -1 }; }; struct GarrAbilityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(966238, -1, 7, 7, 0x895C6CBD, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 966238, -1, 7, 7, 0x895C6CBD, Fields, -1 }; }; struct GarrAbilityCategoryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING, 1, true }, - }; - static constexpr DB2Meta instance(1020248, -1, 1, 1, 0xB0DD8F60, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1020248, -1, 1, 1, 0xB0DD8F60, Fields, -1 }; }; struct GarrAbilityEffectMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[12] = - { - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(966241, 0, 12, 12, 0x42A6AC5E, fields, 1); - return &instance; - } + static constexpr DB2MetaField Fields[12] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 966241, 0, 12, 12, 0x42A6AC5E, Fields, 1 }; }; struct GarrAutoCombatantMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3305399, -1, 9, 9, 0xC6049FC4, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3305399, -1, 9, 9, 0xC6049FC4, Fields, -1 }; }; struct GarrAutoSpellMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3305400, -1, 7, 7, 0x4229E5FF, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3305400, -1, 7, 7, 0x4229E5FF, Fields, -1 }; }; struct GarrAutoSpellEffectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3307335, 0, 8, 8, 0x71E3FAFA, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3307335, 0, 8, 8, 0x71E3FAFA, Fields, 1 }; }; struct GarrBuildingMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[24] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(929747, -1, 24, 24, 0x76E04D94, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[24] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 929747, -1, 24, 24, 0x76E04D94, Fields, -1 }; }; struct GarrBuildingDoodadSetMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(943937, -1, 5, 5, 0x398E9742, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 943937, -1, 5, 5, 0x398E9742, Fields, -1 }; }; struct GarrBuildingPlotInstMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_FLOAT, 2, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(983298, 1, 5, 5, 0xDEF48812, fields, 2); - return &instance; - } + { FT_FLOAT, 2, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 983298, 1, 5, 5, 0xDEF48812, Fields, 2 }; }; struct GarrClassSpecMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(981570, -1, 7, 7, 0x0872F30A, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 981570, -1, 7, 7, 0x0872F30A, Fields, -1 }; }; struct GarrClassSpecPlayerCondMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1380674, -1, 6, 6, 0x1F048C5D, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1380674, -1, 6, 6, 0x1F048C5D, Fields, -1 }; }; struct GarrEncounterMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(975304, -1, 8, 8, 0x00F63E78, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 975304, -1, 8, 8, 0x00F63E78, Fields, -1 }; }; struct GarrEncounterSetXEncounterMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1354772, 0, 3, 2, 0x0C38FD7C, fields, 2); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1354772, 0, 3, 2, 0x0C38FD7C, Fields, 2 }; }; struct GarrEncounterXMechanicMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(967961, -1, 3, 2, 0x4727DED7, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 967961, -1, 3, 2, 0x4727DED7, Fields, 2 }; }; struct GarrFollItemSetMemberMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(981569, -1, 4, 3, 0x01FD0F5B, fields, 3); - return &instance; - } + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 981569, -1, 4, 3, 0x01FD0F5B, Fields, 3 }; }; struct GarrFollSupportSpellMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1345970, -1, 4, 3, 0xDCED652F, fields, 3); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1345970, -1, 4, 3, 0xDCED652F, Fields, 3 }; }; struct GarrFollowerMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[33] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(949906, -1, 33, 33, 0x2F65E7B8, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[33] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 949906, -1, 33, 33, 0x2F65E7B8, Fields, -1 }; }; struct GarrFollowerLevelXPMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(970979, -1, 4, 4, 0xC6D9156C, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 970979, -1, 4, 4, 0xC6D9156C, Fields, -1 }; }; struct GarrFollowerQualityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1027793, -1, 7, 7, 0x12E3D869, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1027793, -1, 7, 7, 0x12E3D869, Fields, -1 }; }; struct GarrFollowerSetXFollowerMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1361029, -1, 2, 1, 0x0E5F4858, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1361029, -1, 2, 1, 0x0E5F4858, Fields, 1 }; }; struct GarrFollowerTypeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1118784, -1, 7, 7, 0x90DE9D04, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1118784, -1, 7, 7, 0x90DE9D04, Fields, -1 }; }; struct GarrFollowerUICreatureMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1412636, -1, 6, 5, 0x48A9C93E, fields, 5); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1412636, -1, 6, 5, 0x48A9C93E, Fields, 5 }; }; struct GarrFollowerXAbilityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(968468, -1, 4, 3, 0xDC1338B5, fields, 3); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 968468, -1, 4, 3, 0xDC1338B5, Fields, 3 }; }; struct GarrItemLevelUpgradeDataMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1572314, -1, 4, 4, 0xFF309F3E, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1572314, -1, 4, 4, 0xFF309F3E, Fields, -1 }; }; struct GarrMechanicMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(967963, -1, 3, 3, 0xEC754F2F, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 967963, -1, 3, 3, 0xEC754F2F, Fields, -1 }; }; struct GarrMechanicSetXMechanicMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1391531, 0, 3, 2, 0xD2D3C4ED, fields, 2); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1391531, 0, 3, 2, 0xD2D3C4ED, Fields, 2 }; }; struct GarrMechanicTypeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(967964, -1, 4, 4, 0xF88C0C01, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 967964, -1, 4, 4, 0xF88C0C01, Fields, -1 }; }; struct GarrMissionMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[31] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_FLOAT, 2, true }, - { FT_FLOAT, 2, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(967962, -1, 31, 31, 0xCA0E980C, fields, 16); - return &instance; - } + static constexpr DB2MetaField Fields[31] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_FLOAT, 2, true }, + { FT_FLOAT, 2, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 967962, -1, 31, 31, 0xCA0E980C, Fields, 16 }; }; struct GarrMissionSetMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3055759, -1, 6, 6, 0x1858B6AD, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3055759, -1, 6, 6, 0x1858B6AD, Fields, -1 }; }; struct GarrMissionTextureMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_FLOAT, 2, true }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1125220, -1, 2, 2, 0x17FF9F33, fields, -1); - return &instance; - } + { FT_FLOAT, 2, true }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1125220, -1, 2, 2, 0x17FF9F33, Fields, -1 }; }; struct GarrMissionTypeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(984174, -1, 3, 3, 0xEE85FBAD, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 984174, -1, 3, 3, 0xEE85FBAD, Fields, -1 }; }; struct GarrMissionXEncounterMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(967960, -1, 5, 4, 0x902619AC, fields, 4); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 967960, -1, 5, 4, 0x902619AC, Fields, 4 }; }; struct GarrMissionXFollowerMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1359096, -1, 4, 3, 0x5B84EFCD, fields, 3); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1359096, -1, 4, 3, 0x5B84EFCD, Fields, 3 }; }; struct GarrMssnBonusAbilityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1138458, -1, 5, 5, 0x607D4E83, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1138458, -1, 5, 5, 0x607D4E83, Fields, -1 }; }; struct GarrPlotMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 2, false }, - }; - static constexpr DB2Meta instance(937634, -1, 7, 7, 0x47067617, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 2, false }, + }; + + static constexpr DB2Meta Instance{ 937634, -1, 7, 7, 0x47067617, Fields, -1 }; }; struct GarrPlotBuildingMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(929743, -1, 2, 2, 0x9C6539B2, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 929743, -1, 2, 2, 0x9C6539B2, Fields, -1 }; }; struct GarrPlotInstanceMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(929742, -1, 2, 2, 0xC5609120, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 929742, -1, 2, 2, 0xC5609120, Fields, -1 }; }; struct GarrPlotUICategoryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(937635, -1, 2, 2, 0xD6167CD7, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 937635, -1, 2, 2, 0xD6167CD7, Fields, -1 }; }; struct GarrSiteLevelMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_FLOAT, 2, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(939295, -1, 9, 9, 0x41BF2E0A, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_FLOAT, 2, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 939295, -1, 9, 9, 0x41BF2E0A, Fields, -1 }; }; struct GarrSiteLevelPlotInstMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_FLOAT, 2, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(940404, -1, 4, 4, 0x1CAD597B, fields, 1); - return &instance; - } + { FT_FLOAT, 2, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 940404, -1, 4, 4, 0x1CAD597B, Fields, 1 }; }; struct GarrSpecializationMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_FLOAT, 2, true }, - }; - static constexpr DB2Meta instance(937647, -1, 7, 7, 0x7983E7D9, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 2, true }, + }; + + static constexpr DB2Meta Instance{ 937647, -1, 7, 7, 0x7983E7D9, Fields, -1 }; }; struct GarrStringMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING, 1, true }, - }; - static constexpr DB2Meta instance(1416758, -1, 1, 1, 0x9588F8C8, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1416758, -1, 1, 1, 0x9588F8C8, Fields, -1 }; }; struct GarrTalTreeXGarrTalResearchMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3195601, -1, 3, 3, 0xF00FA3EA, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3195601, -1, 3, 3, 0xF00FA3EA, Fields, -1 }; }; struct GarrTalentMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[15] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1361032, 2, 15, 15, 0xEF4DB72A, fields, 3); - return &instance; - } + static constexpr DB2MetaField Fields[15] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1361032, 2, 15, 15, 0xEF4DB72A, Fields, 3 }; }; struct GarrTalentCostMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_LONG, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3514438, 1, 9, 9, 0x8E3D05D3, fields, 2); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_LONG, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3514438, 1, 9, 9, 0x8E3D05D3, Fields, 2 }; }; struct GarrTalentMapPOIMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_FLOAT, 2, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3534056, -1, 2, 2, 0x75F07445, fields, -1); - return &instance; - } + { FT_FLOAT, 2, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3534056, -1, 2, 2, 0x75F07445, Fields, -1 }; }; struct GarrTalentRankMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[18] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3069763, 0, 18, 17, 0x1D54CA3C, fields, 17); - return &instance; - } + static constexpr DB2MetaField Fields[18] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3069763, 0, 18, 17, 0x1D54CA3C, Fields, 17 }; }; struct GarrTalentRankGroupEntryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4382239, -1, 2, 1, 0xE2F5D419, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4382239, -1, 2, 1, 0xE2F5D419, Fields, 1 }; }; struct GarrTalentRankGroupResearchModMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4389481, -1, 4, 3, 0x14AF829F, fields, 3); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4389481, -1, 4, 3, 0x14AF829F, Fields, 3 }; }; struct GarrTalentResearchMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3195518, -1, 8, 8, 0x8A171D9D, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3195518, -1, 8, 8, 0x8A171D9D, Fields, -1 }; }; struct GarrTalentSocketPropertiesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3612617, -1, 2, 2, 0xDA437EE1, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3612617, -1, 2, 2, 0xDA437EE1, Fields, -1 }; }; struct GarrTalentTreeMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[12] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1361030, -1, 12, 12, 0xC148F18E, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[12] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1361030, -1, 12, 12, 0xC148F18E, Fields, -1 }; }; struct GarrTypeMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 2, true }, - }; - static constexpr DB2Meta instance(1333161, 0, 9, 9, 0x6C12C0C5, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 2, true }, + }; + + static constexpr DB2Meta Instance{ 1333161, 0, 9, 9, 0x6C12C0C5, Fields, -1 }; }; struct GarrUiAnimClassInfoMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(976037, -1, 6, 6, 0x3D333DD8, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 976037, -1, 6, 6, 0x3D333DD8, Fields, -1 }; }; struct GarrUiAnimRaceInfoMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[13] = - { - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(976035, -1, 13, 13, 0x225F0657, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[13] = + { + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 976035, -1, 13, 13, 0x225F0657, Fields, -1 }; }; struct GemPropertiesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1343604, -1, 2, 2, 0x61DF3B70, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1343604, -1, 2, 2, 0x61DF3B70, Fields, -1 }; }; struct GlideEventMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4644012, -1, 10, 10, 0x63D375D1, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4644012, -1, 10, 10, 0x63D375D1, Fields, -1 }; }; struct GlideEventBlendTimesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4682325, -1, 3, 2, 0xD91C3032, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4682325, -1, 3, 2, 0xD91C3032, Fields, 2 }; }; struct GlobalColorMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4328468, -1, 2, 2, 0x2566517B, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4328468, -1, 2, 2, 0x2566517B, Fields, -1 }; }; struct GlobalCurveMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3752002, -1, 2, 2, 0x7EA5C3BF, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3752002, -1, 2, 2, 0x7EA5C3BF, Fields, -1 }; }; struct GlobalGameContentTuningMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3756368, -1, 2, 2, 0xC5E2173D, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3756368, -1, 2, 2, 0xC5E2173D, Fields, -1 }; }; struct GlobalPlayerConditionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4082838, -1, 3, 2, 0x30F25618, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4082838, -1, 3, 2, 0x30F25618, Fields, 2 }; }; struct GlobalPlayerConditionSetMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4082839, 0, 2, 2, 0xD111129C, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4082839, 0, 2, 2, 0xD111129C, Fields, -1 }; }; struct GlobalStringsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1394440, -1, 3, 3, 0x9D50610A, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1394440, -1, 3, 3, 0x9D50610A, Fields, -1 }; }; struct GlyphBindableSpellMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1270147, -1, 2, 1, 0x7F8BAF7B, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1270147, -1, 2, 1, 0x7F8BAF7B, Fields, 1 }; }; struct GlyphExclusiveCategoryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING, 1, true }, - }; - static constexpr DB2Meta instance(948546, -1, 1, 1, 0x283BBF49, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + }; + + static constexpr DB2Meta Instance{ 948546, -1, 1, 1, 0x283BBF49, Fields, -1 }; }; struct GlyphPropertiesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1345274, -1, 4, 4, 0x8242C866, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1345274, -1, 4, 4, 0x8242C866, Fields, -1 }; }; struct GlyphRequiredSpecMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(948496, -1, 2, 1, 0xCC301712, fields, 1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 948496, -1, 2, 1, 0xCC301712, Fields, 1 }; }; struct GossipNPCOptionMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[15] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4278503, -1, 15, 15, 0x9170AADA, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[15] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4278503, -1, 15, 15, 0x9170AADA, Fields, -1 }; }; struct GossipNPCOptionDisplayInfoMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4335720, -1, 3, 3, 0x8B9BF10F, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4335720, -1, 3, 3, 0x8B9BF10F, Fields, -1 }; }; struct GossipXGarrTalentTreesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4407361, -1, 2, 1, 0x9BE63EB3, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4407361, -1, 2, 1, 0x9BE63EB3, Fields, 1 }; }; struct GossipXUIDisplayInfoMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3622253, -1, 4, 4, 0xB59290B4, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3622253, -1, 4, 4, 0xB59290B4, Fields, -1 }; }; struct GradientEffectMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[16] = - { - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2433582, -1, 16, 16, 0x1E246107, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[16] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2433582, -1, 16, 16, 0x1E246107, Fields, -1 }; }; struct GroundEffectDoodadMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1308057, -1, 9, 9, 0xF592B773, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1308057, -1, 9, 9, 0xF592B773, Fields, -1 }; }; struct GroundEffectTextureMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 4, false }, - { FT_BYTE, 4, true }, - { FT_BYTE, 4, true }, - }; - static constexpr DB2Meta instance(1308499, -1, 5, 5, 0x3DEC72D8, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 4, false }, + { FT_BYTE, 4, true }, + { FT_BYTE, 4, true }, + }; + + static constexpr DB2Meta Instance{ 1308499, -1, 5, 5, 0x3DEC72D8, Fields, -1 }; }; struct GroupFinderActivityMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[15] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(974813, -1, 15, 15, 0x2646188E, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[15] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 974813, -1, 15, 15, 0x2646188E, Fields, -1 }; }; struct GroupFinderActivityGrpMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(974814, -1, 2, 2, 0x89256FF7, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 974814, -1, 2, 2, 0x89256FF7, Fields, -1 }; }; struct GroupFinderActivityXPvpBracketMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4206623, -1, 2, 2, 0xEE2CD2C6, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4206623, -1, 2, 2, 0xEE2CD2C6, Fields, -1 }; }; struct GroupFinderCategoryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(974812, -1, 4, 4, 0x257D1287, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 974812, -1, 4, 4, 0x257D1287, Fields, -1 }; }; struct GuildColorBackgroundMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1286526, -1, 3, 3, 0x1364EF78, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1286526, -1, 3, 3, 0x1364EF78, Fields, -1 }; }; struct GuildColorBorderMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1286527, -1, 3, 3, 0x1364EF78, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1286527, -1, 3, 3, 0x1364EF78, Fields, -1 }; }; struct GuildColorEmblemMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1286525, -1, 3, 3, 0x1364EF78, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1286525, -1, 3, 3, 0x1364EF78, Fields, -1 }; }; struct GuildEmblemMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2734754, -1, 2, 2, 0xFA4DFEEA, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2734754, -1, 2, 2, 0xFA4DFEEA, Fields, -1 }; }; struct GuildPerkSpellsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1135238, -1, 1, 1, 0x465F6F2A, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1135238, -1, 1, 1, 0x465F6F2A, Fields, -1 }; }; struct GuildShirtBackgroundMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2921008, -1, 4, 3, 0xF7862CB0, fields, 3); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2921008, -1, 4, 3, 0xF7862CB0, Fields, 3 }; }; struct GuildShirtBorderMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2921475, -1, 5, 4, 0x67FA04AE, fields, 4); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2921475, -1, 5, 4, 0x67FA04AE, Fields, 4 }; }; struct GuildTabardBackgroundMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2909769, -1, 4, 3, 0xB5B6CD95, fields, 3); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2909769, -1, 4, 3, 0xB5B6CD95, Fields, 3 }; }; struct GuildTabardBorderMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2920485, -1, 5, 4, 0x6C616EAA, fields, 4); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2920485, -1, 5, 4, 0x6C616EAA, Fields, 4 }; }; struct GuildTabardEmblemMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2910470, -1, 4, 3, 0xB8CF8F15, fields, 3); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2910470, -1, 4, 3, 0xB8CF8F15, Fields, 3 }; }; struct HeirloomMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 6, true }, - { FT_SHORT, 6, false }, - }; - static constexpr DB2Meta instance(1097696, 1, 10, 10, 0xFD204E4C, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 6, true }, + { FT_SHORT, 6, false }, + }; + + static constexpr DB2Meta Instance{ 1097696, 1, 10, 10, 0xFD204E4C, Fields, -1 }; }; struct HelmetAnimScalingMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1348283, -1, 3, 2, 0x2152D6E4, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1348283, -1, 3, 2, 0x2152D6E4, Fields, 2 }; }; struct HelmetGeosetDataMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2821752, -1, 5, 4, 0x78C6B857, fields, 4); - return &instance; - } + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2821752, -1, 5, 4, 0x78C6B857, Fields, 4 }; }; struct HighlightColorMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(996358, -1, 5, 5, 0x5F6F32BA, fields, -1); - return &instance; - } + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 996358, -1, 5, 5, 0x5F6F32BA, Fields, -1 }; }; struct HolidayDescriptionsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING, 1, true }, - }; - static constexpr DB2Meta instance(996360, -1, 1, 1, 0xD981411C, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + }; + + static constexpr DB2Meta Instance{ 996360, -1, 1, 1, 0xD981411C, Fields, -1 }; }; struct HolidayNamesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING, 1, true }, - }; - static constexpr DB2Meta instance(996359, -1, 1, 1, 0x31516347, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + }; + + static constexpr DB2Meta Instance{ 996359, -1, 1, 1, 0x31516347, Fields, -1 }; }; struct HolidaysMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[11] = - { - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - { FT_SHORT, 10, false }, - { FT_INT, 26, false }, - { FT_BYTE, 10, false }, - { FT_INT, 3, true }, - }; - static constexpr DB2Meta instance(996357, -1, 11, 11, 0xDEC453C4, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[11] = + { + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 10, false }, + { FT_INT, 26, false }, + { FT_BYTE, 10, false }, + { FT_INT, 3, true }, + }; + + static constexpr DB2Meta Instance{ 996357, -1, 11, 11, 0xDEC453C4, Fields, -1 }; }; struct HotfixesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1995523, -1, 4, 4, 0xC02BA201, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1995523, -1, 4, 4, 0xC02BA201, Fields, -1 }; }; struct ImportPriceArmorMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1121229, -1, 4, 4, 0x7979D30F, fields, -1); - return &instance; - } + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1121229, -1, 4, 4, 0x7979D30F, Fields, -1 }; }; struct ImportPriceQualityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1121228, -1, 1, 1, 0xD4F6FFC8, fields, -1); - return &instance; - } + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1121228, -1, 1, 1, 0xD4F6FFC8, Fields, -1 }; }; struct ImportPriceShieldMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1121227, -1, 1, 1, 0xD4F6FFC8, fields, -1); - return &instance; - } + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1121227, -1, 1, 1, 0xD4F6FFC8, Fields, -1 }; }; struct ImportPriceWeaponMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1121230, -1, 1, 1, 0xD4F6FFC8, fields, -1); - return &instance; - } + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1121230, -1, 1, 1, 0xD4F6FFC8, Fields, -1 }; }; struct InvasionClientDataMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_STRING, 1, true }, - { FT_FLOAT, 2, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1336651, 2, 10, 9, 0xC66039FC, fields, 9); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_STRING, 1, true }, + { FT_FLOAT, 2, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1336651, 2, 10, 9, 0xC66039FC, Fields, 9 }; }; struct ItemMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[11] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(841626, -1, 11, 11, 0xBCC9BC83, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[11] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 841626, -1, 11, 11, 0xBCC9BC83, Fields, -1 }; }; struct ItemAppearanceMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(982462, -1, 5, 5, 0x33C9038E, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 982462, -1, 5, 5, 0x33C9038E, Fields, -1 }; }; struct ItemAppearanceXUiCameraMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1248126, -1, 2, 2, 0x7E42B0D5, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1248126, -1, 2, 2, 0x7E42B0D5, Fields, -1 }; }; struct ItemArmorQualityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_FLOAT, 7, true }, - }; - static constexpr DB2Meta instance(1283021, -1, 1, 1, 0x5DAB3131, fields, -1); - return &instance; - } + { FT_FLOAT, 7, true }, + }; + + static constexpr DB2Meta Instance{ 1283021, -1, 1, 1, 0x5DAB3131, Fields, -1 }; }; struct ItemArmorShieldMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_FLOAT, 7, true }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1277741, -1, 2, 2, 0x4E03E769, fields, -1); - return &instance; - } + { FT_FLOAT, 7, true }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1277741, -1, 2, 2, 0x4E03E769, Fields, -1 }; }; struct ItemArmorTotalMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_SHORT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1283022, -1, 5, 5, 0xC1DD3156, fields, -1); - return &instance; - } + { FT_SHORT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1283022, -1, 5, 5, 0xC1DD3156, Fields, -1 }; }; struct ItemBagFamilyMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING, 1, true }, - }; - static constexpr DB2Meta instance(1278179, -1, 1, 1, 0xB0DD8F60, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1278179, -1, 1, 1, 0xB0DD8F60, Fields, -1 }; }; struct ItemBonusMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 4, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(959070, -1, 4, 4, 0x7864A3E0, fields, 1); - return &instance; - } + { FT_INT, 4, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 959070, -1, 4, 4, 0x7864A3E0, Fields, 1 }; }; struct ItemBonusListMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1805807, 0, 2, 2, 0x31228AEF, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1805807, 0, 2, 2, 0x31228AEF, Fields, -1 }; }; struct ItemBonusListGroupMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3755382, -1, 4, 4, 0x63FD68EB, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3755382, -1, 4, 4, 0x63FD68EB, Fields, -1 }; }; struct ItemBonusListGroupEntryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3025306, -1, 8, 8, 0x1CC556EF, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3025306, -1, 8, 8, 0x1CC556EF, Fields, 0 }; }; struct ItemBonusListLevelDeltaMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, true }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1320358, 1, 2, 2, 0xC6EA2151, fields, -1); - return &instance; - } + { FT_SHORT, 1, true }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1320358, 1, 2, 2, 0xC6EA2151, Fields, -1 }; }; struct ItemBonusListWarforgeLevelDeltaMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, true }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(2924997, 1, 2, 2, 0xC6EA2151, fields, -1); - return &instance; - } + { FT_SHORT, 1, true }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 2924997, 1, 2, 2, 0xC6EA2151, Fields, -1 }; }; struct ItemBonusSequenceSpellMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3026822, -1, 2, 1, 0x2AA71F9B, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3026822, -1, 2, 1, 0x2AA71F9B, Fields, 1 }; }; struct ItemBonusTreeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3055768, -1, 2, 2, 0xBC8C367C, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3055768, -1, 2, 2, 0xBC8C367C, Fields, -1 }; }; struct ItemBonusTreeGroupEntryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4407505, -1, 2, 1, 0x0D33F559, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4407505, -1, 2, 1, 0x0D33F559, Fields, 1 }; }; struct ItemBonusTreeNodeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(987134, -1, 7, 6, 0xC1AEA21E, fields, 6); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 987134, -1, 7, 6, 0xC1AEA21E, Fields, 6 }; }; struct ItemChildEquipmentMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1247926, -1, 3, 3, 0xE726DCEE, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1247926, -1, 3, 3, 0xE726DCEE, Fields, 0 }; }; struct ItemClassMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1140189, -1, 4, 4, 0xC21C5BEA, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1140189, -1, 4, 4, 0xC21C5BEA, Fields, -1 }; }; struct ItemContextPickerEntryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1405665, -1, 7, 6, 0x3C496406, fields, 6); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1405665, -1, 7, 6, 0x3C496406, Fields, 6 }; }; struct ItemConversionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4337196, -1, 3, 3, 0x63D17D1A, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4337196, -1, 3, 3, 0x63D17D1A, Fields, -1 }; }; struct ItemConversionEntryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4337197, -1, 2, 1, 0xFDC43755, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4337197, -1, 2, 1, 0xFDC43755, Fields, 1 }; }; struct ItemCurrencyCostMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(801670, -1, 1, 1, 0xE55A34CC, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 801670, -1, 1, 1, 0xE55A34CC, Fields, 0 }; }; struct ItemCurrencyValueMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 4, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3755770, -1, 3, 2, 0x664B8E34, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 4, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3755770, -1, 3, 2, 0x664B8E34, Fields, 2 }; }; struct ItemDamageAmmoMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, false }, - { FT_FLOAT, 7, true }, - }; - static constexpr DB2Meta instance(1277740, -1, 2, 2, 0xBD540229, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_FLOAT, 7, true }, + }; + + static constexpr DB2Meta Instance{ 1277740, -1, 2, 2, 0xBD540229, Fields, -1 }; }; struct ItemDamageOneHandMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, false }, - { FT_FLOAT, 7, true }, - }; - static constexpr DB2Meta instance(1277743, -1, 2, 2, 0xBD540229, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_FLOAT, 7, true }, + }; + + static constexpr DB2Meta Instance{ 1277743, -1, 2, 2, 0xBD540229, Fields, -1 }; }; struct ItemDamageOneHandCasterMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, false }, - { FT_FLOAT, 7, true }, - }; - static constexpr DB2Meta instance(1277739, -1, 2, 2, 0xBD540229, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_FLOAT, 7, true }, + }; + + static constexpr DB2Meta Instance{ 1277739, -1, 2, 2, 0xBD540229, Fields, -1 }; }; struct ItemDamageTwoHandMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, false }, - { FT_FLOAT, 7, true }, - }; - static constexpr DB2Meta instance(1277738, -1, 2, 2, 0xBD540229, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_FLOAT, 7, true }, + }; + + static constexpr DB2Meta Instance{ 1277738, -1, 2, 2, 0xBD540229, Fields, -1 }; }; struct ItemDamageTwoHandCasterMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, false }, - { FT_FLOAT, 7, true }, - }; - static constexpr DB2Meta instance(1277742, -1, 2, 2, 0xBD540229, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_FLOAT, 7, true }, + }; + + static constexpr DB2Meta Instance{ 1277742, -1, 2, 2, 0xBD540229, Fields, -1 }; }; struct ItemDisenchantLootMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1134087, -1, 7, 6, 0xB1D813A9, fields, 6); - return &instance; - } + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1134087, -1, 7, 6, 0xB1D813A9, Fields, 6 }; }; struct ItemDisplayInfoMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[15] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 2, false }, - { FT_INT, 2, true }, - { FT_INT, 2, true }, - { FT_INT, 6, true }, - { FT_INT, 6, true }, - { FT_INT, 2, true }, - }; - static constexpr DB2Meta instance(1266429, -1, 15, 15, 0xF2D99687, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[15] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 2, false }, + { FT_INT, 2, true }, + { FT_INT, 2, true }, + { FT_INT, 6, true }, + { FT_INT, 6, true }, + { FT_INT, 2, true }, + }; + + static constexpr DB2Meta Instance{ 1266429, -1, 15, 15, 0xF2D99687, Fields, -1 }; }; struct ItemDisplayInfoMaterialResMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1280614, -1, 3, 2, 0x83420BDB, fields, 2); - return &instance; - } + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1280614, -1, 3, 2, 0x83420BDB, Fields, 2 }; }; struct ItemDisplayInfoModelMatResMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4050937, -1, 4, 3, 0x9601DF6B, fields, 3); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4050937, -1, 4, 3, 0x9601DF6B, Fields, 3 }; }; struct ItemEffectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(969941, -1, 8, 8, 0xF9253409, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 969941, -1, 8, 8, 0xF9253409, Fields, -1 }; }; struct ItemExtendedCostMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_SHORT, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 5, true }, - { FT_SHORT, 5, false }, - { FT_SHORT, 5, false }, - { FT_INT, 5, false }, - }; - static constexpr DB2Meta instance(801681, -1, 10, 10, 0xF4D91D1F, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 5, true }, + { FT_SHORT, 5, false }, + { FT_SHORT, 5, false }, + { FT_INT, 5, false }, + }; + + static constexpr DB2Meta Instance{ 801681, -1, 10, 10, 0xF4D91D1F, Fields, -1 }; }; struct ItemFallbackVisualMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2358574, -1, 3, 3, 0xB0198BA2, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2358574, -1, 3, 3, 0xB0198BA2, Fields, -1 }; }; struct ItemGroupSoundsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 4, false }, - }; - static constexpr DB2Meta instance(1283023, -1, 1, 1, 0xBFD29A96, fields, -1); - return &instance; - } + { FT_INT, 4, false }, + }; + + static constexpr DB2Meta Instance{ 1283023, -1, 1, 1, 0xBFD29A96, Fields, -1 }; }; struct ItemLevelSelectorMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1588911, -1, 3, 3, 0x25BC6A6B, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1588911, -1, 3, 3, 0x25BC6A6B, Fields, -1 }; }; struct ItemLevelSelectorQualityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1624937, -1, 3, 2, 0xBAF7EC29, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1624937, -1, 3, 2, 0xBAF7EC29, Fields, 2 }; }; struct ItemLevelSelectorQualitySetMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - }; - static constexpr DB2Meta instance(1624933, -1, 2, 2, 0x4080CC90, fields, -1); - return &instance; - } + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1624933, -1, 2, 2, 0x4080CC90, Fields, -1 }; }; struct ItemLimitCategoryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1237440, -1, 3, 3, 0x403BC7B2, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1237440, -1, 3, 3, 0x403BC7B2, Fields, -1 }; }; struct ItemLimitCategoryConditionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_BYTE, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1378590, -1, 3, 2, 0x9E37B423, fields, 2); - return &instance; - } + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1378590, -1, 3, 2, 0x9E37B423, Fields, 2 }; }; struct ItemLogicalCostMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4677533, -1, 4, 3, 0xDB1BC742, fields, 3); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4677533, -1, 4, 3, 0xDB1BC742, Fields, 3 }; }; struct ItemLogicalCostGroupMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(4677534, 0, 1, 1, 0x6657BD0A, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 4677534, 0, 1, 1, 0x6657BD0A, Fields, -1 }; }; struct ItemModifiedAppearanceMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(982457, 0, 6, 6, 0x0120090C, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 982457, 0, 6, 6, 0x0120090C, Fields, 1 }; }; struct ItemModifiedAppearanceExtraMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1278399, -1, 5, 5, 0x08968F49, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1278399, -1, 5, 5, 0x08968F49, Fields, -1 }; }; struct ItemNameDescriptionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1332559, -1, 2, 2, 0xB60E60BD, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1332559, -1, 2, 2, 0xB60E60BD, Fields, -1 }; }; struct ItemNameSlotOverrideMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3723474, -1, 3, 2, 0xCF0119FB, fields, 2); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3723474, -1, 3, 2, 0xCF0119FB, Fields, 2 }; }; struct ItemPetFoodMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING, 1, true }, - }; - static constexpr DB2Meta instance(1302240, -1, 1, 1, 0x332FA55B, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1302240, -1, 1, 1, 0x332FA55B, Fields, -1 }; }; struct ItemPriceBaseMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_SHORT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1121231, -1, 3, 3, 0xAA32653C, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1121231, -1, 3, 3, 0xAA32653C, Fields, -1 }; }; struct ItemRangedDisplayInfoMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1270315, -1, 4, 4, 0x08C2EB5B, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1270315, -1, 4, 4, 0x08C2EB5B, Fields, -1 }; }; struct ItemSalvageMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4548446, -1, 3, 3, 0x362127B8, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4548446, -1, 3, 3, 0x362127B8, Fields, -1 }; }; struct ItemSalvageLootMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4549058, -1, 3, 3, 0x96554070, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4549058, -1, 3, 3, 0x96554070, Fields, 0 }; }; struct ItemSearchNameMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[13] = - { - { FT_LONG, 1, true }, - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 4, true }, - }; - static constexpr DB2Meta instance(1273408, -1, 13, 13, 0xBCDBBEFB, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[13] = + { + { FT_LONG, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 4, true }, + }; + + static constexpr DB2Meta Instance{ 1273408, -1, 13, 13, 0xBCDBBEFB, Fields, -1 }; }; struct ItemSetMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 17, false }, - }; - static constexpr DB2Meta instance(1343609, -1, 5, 5, 0x4F7008BF, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 17, false }, + }; + + static constexpr DB2Meta Instance{ 1343609, -1, 5, 5, 0x4F7008BF, Fields, -1 }; }; struct ItemSetSpellMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1314689, -1, 4, 3, 0xBF92BB46, fields, 3); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1314689, -1, 4, 3, 0xBF92BB46, Fields, 3 }; }; struct ItemSparseMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[64] = - { - { FT_LONG, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 10, true }, - { FT_INT, 10, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 4, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 2, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 3, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 10, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1572924, -1, 64, 64, 0xB07DD994, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[64] = + { + { FT_LONG, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 10, true }, + { FT_INT, 10, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 4, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 2, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 3, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 10, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1572924, -1, 64, 64, 0xB07DD994, Fields, -1 }; }; struct ItemSpecMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1135120, -1, 6, 6, 0x72013ECD, fields, 2); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1135120, -1, 6, 6, 0x72013ECD, Fields, 2 }; }; struct ItemSpecOverrideMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1134576, -1, 2, 1, 0xD621A05B, fields, 1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1134576, -1, 2, 1, 0xD621A05B, Fields, 1 }; }; struct ItemSubClassMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[11] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1261604, 2, 11, 11, 0xC096A1B1, fields, 3); - return &instance; - } + static constexpr DB2MetaField Fields[11] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1261604, 2, 11, 11, 0xC096A1B1, Fields, 3 }; }; struct ItemSubClassMaskMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1302852, -1, 3, 3, 0x42DC1188, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1302852, -1, 3, 3, 0x42DC1188, Fields, -1 }; }; struct ItemVisualsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 5, true }, - }; - static constexpr DB2Meta instance(1343605, -1, 3, 3, 0xC5D076A1, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 5, true }, + }; + + static constexpr DB2Meta Instance{ 1343605, -1, 3, 3, 0xC5D076A1, Fields, -1 }; }; struct ItemVisualsXEffectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3043873, -1, 6, 5, 0xE011E7C1, fields, 5); - return &instance; - } + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3043873, -1, 6, 5, 0xE011E7C1, Fields, 5 }; }; struct ItemXBonusTreeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(987133, -1, 2, 1, 0xB088DCDC, fields, 1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 987133, -1, 2, 1, 0xB088DCDC, Fields, 1 }; }; struct ItemXItemEffectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3177687, -1, 2, 1, 0x96428A69, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3177687, -1, 2, 1, 0x96428A69, Fields, 1 }; }; struct JournalEncounterMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[12] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_FLOAT, 2, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1240336, 3, 12, 12, 0x37948505, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[12] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_FLOAT, 2, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1240336, 3, 12, 12, 0x37948505, Fields, -1 }; }; struct JournalEncounterCreatureMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1301155, 2, 8, 8, 0x8D6F8786, fields, 3); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1301155, 2, 8, 8, 0x8D6F8786, Fields, 3 }; }; struct JournalEncounterItemMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1344467, 0, 6, 6, 0xDAC92896, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1344467, 0, 6, 6, 0xDAC92896, Fields, 1 }; }; struct JournalEncounterSectionMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[15] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1134413, -1, 15, 15, 0xF617A4B5, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[15] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1134413, -1, 15, 15, 0xF617A4B5, Fields, -1 }; }; struct JournalEncounterXDifficultyMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1121901, -1, 2, 1, 0xF103C808, fields, 1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1121901, -1, 2, 1, 0xF103C808, Fields, 1 }; }; struct JournalEncounterXMapLocMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_FLOAT, 2, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1722928, -1, 5, 4, 0xF9E973F0, fields, 4); - return &instance; - } + { FT_FLOAT, 2, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1722928, -1, 5, 4, 0xF9E973F0, Fields, 4 }; }; struct JournalInstanceMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1237438, -1, 9, 9, 0xE213FF3B, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1237438, -1, 9, 9, 0xE213FF3B, Fields, -1 }; }; struct JournalItemXDifficultyMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1277744, -1, 2, 1, 0x19DEDAA3, fields, 1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1277744, -1, 2, 1, 0x19DEDAA3, Fields, 1 }; }; struct JournalSectionXDifficultyMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1121900, -1, 2, 1, 0x13D3283F, fields, 1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1121900, -1, 2, 1, 0x13D3283F, Fields, 1 }; }; struct JournalTierMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1349056, -1, 2, 2, 0x10E4DFC1, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1349056, -1, 2, 2, 0x10E4DFC1, Fields, -1 }; }; struct JournalTierXInstanceMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1285009, -1, 3, 3, 0x003E6589, fields, 0); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1285009, -1, 3, 3, 0x003E6589, Fields, 0 }; }; struct KeychainMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_BYTE, 32, false }, - }; - static constexpr DB2Meta instance(801693, -1, 1, 1, 0x683DDBCE, fields, -1); - return &instance; - } + { FT_BYTE, 32, false }, + }; + + static constexpr DB2Meta Instance{ 801693, -1, 1, 1, 0x683DDBCE, Fields, -1 }; }; struct KeystoneAffixMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1344761, 2, 4, 4, 0x6645021B, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1344761, 2, 4, 4, 0x6645021B, Fields, -1 }; }; struct LFGDungeonGroupMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1135058, -1, 4, 4, 0xFCCAFEFD, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1135058, -1, 4, 4, 0xFCCAFEFD, Fields, -1 }; }; struct LFGDungeonsMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[29] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 2, true }, - }; - static constexpr DB2Meta instance(1361033, -1, 29, 29, 0x5314B0A9, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[29] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 2, true }, + }; + + static constexpr DB2Meta Instance{ 1361033, -1, 29, 29, 0x5314B0A9, Fields, -1 }; }; struct LFGRoleRequirementMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_BYTE, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(982805, -1, 3, 2, 0x6112092C, fields, 2); - return &instance; - } + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 982805, -1, 3, 2, 0x6112092C, Fields, 2 }; }; struct LabelXContentRestrictRuleSetMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4281309, -1, 3, 2, 0x4F3F4F82, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4281309, -1, 3, 2, 0x4F3F4F82, Fields, 2 }; }; struct LanguageWordsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(984702, -1, 2, 2, 0x9CFC1981, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 984702, -1, 2, 2, 0x9CFC1981, Fields, -1 }; }; struct LanguagesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1135325, -1, 4, 4, 0x409916EB, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1135325, -1, 4, 4, 0x409916EB, Fields, -1 }; }; struct LfgDungeonsGroupingMapMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1339818, -1, 3, 2, 0x3538AE33, fields, 2); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1339818, -1, 3, 2, 0x3538AE33, Fields, 2 }; }; struct LightMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_FLOAT, 3, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 8, false }, - }; - static constexpr DB2Meta instance(1375579, -1, 5, 5, 0xAD1B2253, fields, -1); - return &instance; - } + { FT_FLOAT, 3, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 8, false }, + }; + + static constexpr DB2Meta Instance{ 1375579, -1, 5, 5, 0xAD1B2253, Fields, -1 }; }; struct LightDataMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[46] = - { - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_FLOAT, 4, true }, - { FT_FLOAT, 4, true }, - { FT_FLOAT, 4, true }, - }; - static constexpr DB2Meta instance(1375580, -1, 46, 46, 0x5A08CEBB, fields, 0); - return &instance; - } + static constexpr DB2MetaField Fields[46] = + { + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 4, true }, + { FT_FLOAT, 4, true }, + { FT_FLOAT, 4, true }, + }; + + static constexpr DB2Meta Instance{ 1375580, -1, 46, 46, 0x5A08CEBB, Fields, 0 }; }; struct LightParamsMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[11] = - { - { FT_FLOAT, 3, true }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1334669, -1, 11, 11, 0x9C29BEEF, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[11] = + { + { FT_FLOAT, 3, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1334669, -1, 11, 11, 0x9C29BEEF, Fields, -1 }; }; struct LightSkyboxMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1308501, -1, 4, 4, 0xF2269F12, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1308501, -1, 4, 4, 0xF2269F12, Fields, -1 }; }; struct LightWorldShadowMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4680119, -1, 3, 2, 0x59642561, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4680119, -1, 3, 2, 0x59642561, Fields, 2 }; }; struct LightningMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[34] = - { - { FT_FLOAT, 2, true }, - { FT_INT, 3, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(2003383, -1, 34, 34, 0x09AF7B51, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[34] = + { + { FT_FLOAT, 2, true }, + { FT_INT, 3, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2003383, -1, 34, 34, 0x09AF7B51, Fields, -1 }; }; struct LiquidMaterialMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1132538, -1, 2, 2, 0x2CFFEA40, fields, -1); - return &instance; - } + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1132538, -1, 2, 2, 0x2CFFEA40, Fields, -1 }; }; struct LiquidObjectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1308058, -1, 5, 5, 0x6CAEB8A1, fields, -1); - return &instance; - } + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1308058, -1, 5, 5, 0x6CAEB8A1, Fields, -1 }; }; struct LiquidTypeMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[21] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_STRING_NOT_LOCALIZED, 6, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_SHORT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 6, false }, - { FT_INT, 2, true }, - { FT_FLOAT, 18, true }, - { FT_INT, 4, false }, - { FT_FLOAT, 4, true }, - }; - static constexpr DB2Meta instance(1371380, -1, 21, 21, 0xAFFFC9E0, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[21] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING_NOT_LOCALIZED, 6, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 6, false }, + { FT_INT, 2, true }, + { FT_FLOAT, 18, true }, + { FT_INT, 4, false }, + { FT_FLOAT, 4, true }, + }; + + static constexpr DB2Meta Instance{ 1371380, -1, 21, 21, 0xAFFFC9E0, Fields, -1 }; }; struct LiquidTypeXTextureMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2261065, -1, 4, 3, 0x5CC7EE1B, fields, 3); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2261065, -1, 4, 3, 0x5CC7EE1B, Fields, 3 }; }; struct LivingWorldObjectTemplateMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4276965, -1, 1, 1, 0x74706E81, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4276965, -1, 1, 1, 0x74706E81, Fields, -1 }; }; struct LoadingScreenSkinMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 10, true }, - }; - static constexpr DB2Meta instance(2478235, -1, 1, 1, 0xE6C0E75D, fields, -1); - return &instance; - } + { FT_INT, 10, true }, + }; + + static constexpr DB2Meta Instance{ 2478235, -1, 1, 1, 0xE6C0E75D, Fields, -1 }; }; struct LoadingScreenTaxiSplinesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_FLOAT, 10, true }, - { FT_FLOAT, 10, true }, - }; - static constexpr DB2Meta instance(1302239, -1, 5, 5, 0xD9F03CBC, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 10, true }, + { FT_FLOAT, 10, true }, + }; + + static constexpr DB2Meta Instance{ 1302239, -1, 5, 5, 0xD9F03CBC, Fields, -1 }; }; struct LoadingScreensMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1266541, -1, 10, 10, 0x112726F1, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1266541, -1, 10, 10, 0x112726F1, Fields, -1 }; }; struct LocaleMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(801706, -1, 5, 5, 0x751D8F5F, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 801706, -1, 5, 5, 0x751D8F5F, Fields, -1 }; }; struct LocationMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - }; - static constexpr DB2Meta instance(801707, -1, 2, 2, 0xB0561808, fields, -1); - return &instance; - } + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + }; + + static constexpr DB2Meta Instance{ 801707, -1, 2, 2, 0xB0561808, Fields, -1 }; }; struct LockMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, true }, - { FT_INT, 8, true }, - { FT_SHORT, 8, false }, - { FT_BYTE, 8, false }, - { FT_BYTE, 8, false }, - }; - static constexpr DB2Meta instance(1343608, -1, 5, 5, 0xD359BBE0, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 8, true }, + { FT_SHORT, 8, false }, + { FT_BYTE, 8, false }, + { FT_BYTE, 8, false }, + }; + + static constexpr DB2Meta Instance{ 1343608, -1, 5, 5, 0xD359BBE0, Fields, -1 }; }; struct LockTypeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1284823, -1, 6, 6, 0x62421B4C, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1284823, -1, 6, 6, 0x62421B4C, Fields, -1 }; }; struct LookAtControllerMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[18] = - { - { FT_FLOAT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1098785, -1, 18, 18, 0x01B2684C, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[18] = + { + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1098785, -1, 18, 18, 0x01B2684C, Fields, -1 }; }; struct LoreTextMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3311370, -1, 3, 3, 0x886CC0CF, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3311370, -1, 3, 3, 0x886CC0CF, Fields, -1 }; }; struct LoreTextPublicMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3479846, 0, 6, 5, 0x54EE4E73, fields, 5); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3479846, 0, 6, 5, 0x54EE4E73, Fields, 5 }; }; struct MCRSlotXMCRCategoryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3390955, -1, 3, 2, 0x39F35458, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3390955, -1, 3, 2, 0x39F35458, Fields, 2 }; }; struct MailTemplateMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING, 1, true }, - }; - static constexpr DB2Meta instance(1240344, -1, 1, 1, 0x7C454945, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1240344, -1, 1, 1, 0x7C454945, Fields, -1 }; }; struct ManagedWorldStateMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 4, true }, - }; - static constexpr DB2Meta instance(1587159, -1, 10, 10, 0xE239E53B, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 4, true }, + }; + + static constexpr DB2Meta Instance{ 1587159, -1, 10, 10, 0xE239E53B, Fields, -1 }; }; struct ManagedWorldStateBuffMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1587155, -1, 4, 3, 0xBA39FD6A, fields, 3); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1587155, -1, 4, 3, 0xBA39FD6A, Fields, 3 }; }; struct ManagedWorldStateInputMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1587151, -1, 3, 3, 0x271DEDDF, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1587151, -1, 3, 3, 0x271DEDDF, Fields, -1 }; }; struct ManifestInterfaceActionIconMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1375803, 0, 1, 1, 0x6657BD0A, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1375803, 0, 1, 1, 0x6657BD0A, Fields, -1 }; }; struct ManifestInterfaceDataMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_STRING_NOT_LOCALIZED, 1, true }, - }; - static constexpr DB2Meta instance(1375801, -1, 2, 2, 0x13274651, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1375801, -1, 2, 2, 0x13274651, Fields, -1 }; }; struct ManifestInterfaceItemIconMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1375804, 0, 1, 1, 0x6657BD0A, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1375804, 0, 1, 1, 0x6657BD0A, Fields, -1 }; }; struct ManifestInterfaceTOCDataMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - }; - static constexpr DB2Meta instance(1267335, -1, 1, 1, 0x1FBF8808, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1267335, -1, 1, 1, 0x1FBF8808, Fields, -1 }; }; struct MapMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[24] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_FLOAT, 2, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 3, true }, - }; - static constexpr DB2Meta instance(1349477, -1, 24, 24, 0x43E626E4, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[24] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_FLOAT, 2, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 3, true }, + }; + + static constexpr DB2Meta Instance{ 1349477, -1, 24, 24, 0x43E626E4, Fields, -1 }; }; struct MapCelestialBodyMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_SHORT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1597466, -1, 3, 2, 0x3B420F88, fields, 2); - return &instance; - } + { FT_SHORT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1597466, -1, 3, 2, 0x3B420F88, Fields, 2 }; }; struct MapChallengeModeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 3, true }, - }; - static constexpr DB2Meta instance(801709, 1, 7, 7, 0xAAA9EAD7, fields, 2); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 3, true }, + }; + + static constexpr DB2Meta Instance{ 801709, 1, 7, 7, 0xAAA9EAD7, Fields, 2 }; }; struct MapDifficultyMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1367868, -1, 10, 9, 0x43E2A417, fields, 9); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1367868, -1, 10, 9, 0x43E2A417, Fields, 9 }; }; struct MapDifficultyXConditionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1375435, -1, 4, 3, 0x08E872DB, fields, 3); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1375435, -1, 4, 3, 0x08E872DB, Fields, 3 }; }; struct MapLoadingScreenMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_FLOAT, 2, true }, - { FT_FLOAT, 2, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1719707, -1, 5, 4, 0x2769A380, fields, 4); - return &instance; - } + { FT_FLOAT, 2, true }, + { FT_FLOAT, 2, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1719707, -1, 5, 4, 0x2769A380, Fields, 4 }; }; struct MapRenderScaleMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(4633656, -1, 8, 8, 0x1D8358EA, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4633656, -1, 8, 8, 0x1D8358EA, Fields, -1 }; }; struct MarketingPromotionsXLocaleMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(801710, -1, 7, 7, 0x71B7DCCF, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 801710, -1, 7, 7, 0x71B7DCCF, Fields, -1 }; }; struct MaterialMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1294217, -1, 4, 4, 0x3D758F88, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1294217, -1, 4, 4, 0x3D758F88, Fields, -1 }; }; struct MawPowerMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2991315, 0, 3, 3, 0xE03BF02A, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2991315, 0, 3, 3, 0xE03BF02A, Fields, 1 }; }; struct MawPowerRarityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2997952, -1, 2, 2, 0x7B5245E6, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2997952, -1, 2, 2, 0x7B5245E6, Fields, -1 }; }; struct MinorTalentMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1347274, -1, 3, 2, 0x5ACB3BD8, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1347274, -1, 3, 2, 0x5ACB3BD8, Fields, 2 }; }; struct MissileTargetingMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[12] = - { - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 2, true }, - { FT_INT, 2, true }, - }; - static constexpr DB2Meta instance(1710117, -1, 12, 12, 0x057C9AA8, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[12] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 2, true }, + { FT_INT, 2, true }, + }; + + static constexpr DB2Meta Instance{ 1710117, -1, 12, 12, 0x057C9AA8, Fields, -1 }; }; struct ModelAnimCloakDampeningMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1465904, -1, 3, 2, 0x070144A6, fields, 2); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1465904, -1, 3, 2, 0x070144A6, Fields, 2 }; }; struct ModelFileDataMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_FLOAT, 6, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1337833, 1, 5, 5, 0x825A2247, fields, 4); - return &instance; - } + { FT_FLOAT, 6, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1337833, 1, 5, 5, 0x825A2247, Fields, 4 }; }; struct ModelRibbonQualityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1399953, -1, 2, 1, 0x682023A4, fields, 1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1399953, -1, 2, 1, 0x682023A4, Fields, 1 }; }; struct ModifiedCraftingCategoryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3386486, -1, 5, 5, 0x0BD1387B, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3386486, -1, 5, 5, 0x0BD1387B, Fields, -1 }; }; struct ModifiedCraftingItemMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4530643, 0, 3, 3, 0x16C3DB39, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4530643, 0, 3, 3, 0x16C3DB39, Fields, -1 }; }; struct ModifiedCraftingReagentItemMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3386487, -1, 6, 6, 0x5F7E56EC, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3386487, -1, 6, 6, 0x5F7E56EC, Fields, -1 }; }; struct ModifiedCraftingReagentSlotMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(3386488, 1, 6, 6, 0xFEE69CA3, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 3386488, 1, 6, 6, 0xFEE69CA3, Fields, -1 }; }; struct ModifiedCraftingSpellSlotMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3390956, -1, 6, 6, 0x87027844, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3390956, -1, 6, 6, 0x87027844, Fields, 0 }; }; struct ModifierTreeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_INT, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1267645, -1, 7, 7, 0x71484C8E, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1267645, -1, 7, 7, 0x71484C8E, Fields, -1 }; }; struct MountMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[13] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(921760, 3, 13, 13, 0x7A9CE26C, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[13] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 921760, 3, 13, 13, 0x7A9CE26C, Fields, -1 }; }; struct MountCapabilityMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1114709, -1, 9, 9, 0x7620F729, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1114709, -1, 9, 9, 0x7620F729, Fields, -1 }; }; struct MountEquipmentMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2923510, -1, 4, 3, 0x2B5121CB, fields, 3); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2923510, -1, 4, 3, 0x2B5121CB, Fields, 3 }; }; struct MountTypeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 24, true }, - }; - static constexpr DB2Meta instance(1114674, -1, 2, 2, 0x017C8C9F, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 24, true }, + }; + + static constexpr DB2Meta Instance{ 1114674, -1, 2, 2, 0x017C8C9F, Fields, -1 }; }; struct MountTypeXCapabilityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1114715, -1, 3, 3, 0xF438693D, fields, 0); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1114715, -1, 3, 3, 0xF438693D, Fields, 0 }; }; struct MountXDisplayMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1576117, -1, 3, 2, 0xC9D09486, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1576117, -1, 3, 2, 0xC9D09486, Fields, 2 }; }; struct MountXSpellVisualKitPickerMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3989477, -1, 5, 4, 0x253A6DD0, fields, 4); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3989477, -1, 5, 4, 0x253A6DD0, Fields, 4 }; }; struct MovieMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1332556, -1, 4, 4, 0xA3A2FAF5, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1332556, -1, 4, 4, 0xA3A2FAF5, Fields, -1 }; }; struct MovieFileDataMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1301154, -1, 1, 1, 0x1A7EB62A, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1301154, -1, 1, 1, 0x1A7EB62A, Fields, -1 }; }; struct MovieVariationMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1339819, -1, 3, 2, 0xC0C6C93B, fields, 2); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1339819, -1, 3, 2, 0xC0C6C93B, Fields, 2 }; }; struct MultiStatePropertiesMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[11] = - { - { FT_FLOAT, 3, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1965592, -1, 11, 10, 0xBE0AE1EA, fields, 10); - return &instance; - } + static constexpr DB2MetaField Fields[11] = + { + { FT_FLOAT, 3, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1965592, -1, 11, 10, 0xBE0AE1EA, Fields, 10 }; }; struct MultiTransitionPropertiesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1965589, -1, 5, 5, 0x20221E9D, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1965589, -1, 5, 5, 0x20221E9D, Fields, -1 }; }; struct MythicPlusSeasonMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2400282, -1, 3, 3, 0x37FBB583, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2400282, -1, 3, 3, 0x37FBB583, Fields, -1 }; }; struct MythicPlusSeasonRewardLevelsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2123783, -1, 4, 3, 0x2ABB5E15, fields, 3); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2123783, -1, 4, 3, 0x2ABB5E15, Fields, 3 }; }; struct MythicPlusSeasonTrackedAffixMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4067473, 0, 5, 4, 0x885D0924, fields, 4); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4067473, 0, 5, 4, 0x885D0924, Fields, 4 }; }; struct MythicPlusSeasonTrackedMapMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4521365, -1, 2, 1, 0x5B26E537, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4521365, -1, 2, 1, 0x5B26E537, Fields, 1 }; }; struct NPCModelItemSlotDisplayInfoMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1340661, -1, 3, 2, 0x6345189C, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1340661, -1, 3, 2, 0x6345189C, Fields, 2 }; }; struct NPCSoundsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 4, false }, - }; - static constexpr DB2Meta instance(1282621, -1, 1, 1, 0x775B157B, fields, -1); - return &instance; - } + { FT_INT, 4, false }, + }; + + static constexpr DB2Meta Instance{ 1282621, -1, 1, 1, 0x775B157B, Fields, -1 }; }; struct NameGenMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1122117, -1, 3, 3, 0xE43165A8, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1122117, -1, 3, 3, 0xE43165A8, Fields, -1 }; }; struct NamesProfanityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1117086, -1, 2, 2, 0xA3B1057A, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1117086, -1, 2, 2, 0xA3B1057A, Fields, -1 }; }; struct NamesReservedMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - }; - static constexpr DB2Meta instance(1117085, -1, 1, 1, 0xA90C78EA, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1117085, -1, 1, 1, 0xA90C78EA, Fields, -1 }; }; struct NamesReservedLocaleMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1117087, -1, 2, 2, 0x4FC995DF, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1117087, -1, 2, 2, 0x4FC995DF, Fields, -1 }; }; struct NumTalentsAtLevelMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1953326, -1, 3, 3, 0xC31BC15A, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1953326, -1, 3, 3, 0xC31BC15A, Fields, -1 }; }; struct ObjectEffectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_FLOAT, 3, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1090577, -1, 8, 8, 0xB551B7D3, fields, -1); - return &instance; - } + { FT_FLOAT, 3, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1090577, -1, 8, 8, 0xB551B7D3, Fields, -1 }; }; struct ObjectEffectModifierMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_FLOAT, 4, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1090575, -1, 4, 4, 0xBCDA92E8, fields, -1); - return &instance; - } + { FT_FLOAT, 4, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1090575, -1, 4, 4, 0xBCDA92E8, Fields, -1 }; }; struct ObjectEffectPackageElemMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1090578, -1, 3, 3, 0x4136FE8E, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1090578, -1, 3, 3, 0x4136FE8E, Fields, -1 }; }; struct OccluderMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(2066958, -1, 8, 8, 0xD8AAC5E9, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 2066958, -1, 8, 8, 0xD8AAC5E9, Fields, -1 }; }; struct OccluderCurtainMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3850529, -1, 6, 6, 0x4F3781D9, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3850529, -1, 6, 6, 0x4F3781D9, Fields, -1 }; }; struct OccluderLocationMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2115224, -1, 3, 3, 0xD83C5AA5, fields, -1); - return &instance; - } + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2115224, -1, 3, 3, 0xD83C5AA5, Fields, -1 }; }; struct OccluderNodeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_SHORT, 1, false }, - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2066959, -1, 3, 3, 0x37234837, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2066959, -1, 3, 3, 0x37234837, Fields, -1 }; }; struct OutlineEffectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 2, false }, - }; - static constexpr DB2Meta instance(1279739, -1, 6, 6, 0xB94FB0E3, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 2, false }, + }; + + static constexpr DB2Meta Instance{ 1279739, -1, 6, 6, 0xB94FB0E3, Fields, -1 }; }; struct OverrideSpellDataMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 10, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1002186, -1, 3, 3, 0xDC04AC20, fields, -1); - return &instance; - } + { FT_INT, 10, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1002186, -1, 3, 3, 0xDC04AC20, Fields, -1 }; }; struct PVPBracketTypesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_BYTE, 1, true }, - { FT_INT, 4, false }, - }; - static constexpr DB2Meta instance(1394275, -1, 2, 2, 0x66C16B48, fields, -1); - return &instance; - } + { FT_BYTE, 1, true }, + { FT_INT, 4, false }, + }; + + static constexpr DB2Meta Instance{ 1394275, -1, 2, 2, 0x66C16B48, Fields, -1 }; }; struct PVPDifficultyMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1339820, -1, 4, 3, 0x6CAB5565, fields, 3); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1339820, -1, 4, 3, 0x6CAB5565, Fields, 3 }; }; struct PVPItemMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(972287, -1, 2, 2, 0x95A06BE9, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 972287, -1, 2, 2, 0x95A06BE9, Fields, -1 }; }; struct PVPScoreboardCellInfoMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2992916, -1, 3, 3, 0xC8E134F3, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2992916, -1, 3, 3, 0xC8E134F3, Fields, 0 }; }; struct PVPScoreboardColumnHeaderMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2992917, -1, 3, 3, 0x268E3459, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2992917, -1, 3, 3, 0x268E3459, Fields, -1 }; }; struct PVPScoreboardLayoutMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2992918, -1, 3, 3, 0x57EBF225, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2992918, -1, 3, 3, 0x57EBF225, Fields, 0 }; }; struct PVPStatMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2992919, 1, 3, 3, 0x33F25E0C, fields, 2); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2992919, 1, 3, 3, 0x33F25E0C, Fields, 2 }; }; struct PageTextMaterialMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - }; - static constexpr DB2Meta instance(1271600, -1, 1, 1, 0xA0F05238, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1271600, -1, 1, 1, 0xA0F05238, Fields, -1 }; }; struct PaperDollItemFrameMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1252503, -1, 3, 3, 0xA5067654, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1252503, -1, 3, 3, 0xA5067654, Fields, -1 }; }; struct ParagonReputationMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1581183, -1, 3, 3, 0xA78A1B30, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1581183, -1, 3, 3, 0xA78A1B30, Fields, -1 }; }; struct ParticleColorMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 3, true }, - { FT_INT, 3, true }, - { FT_INT, 3, true }, - }; - static constexpr DB2Meta instance(1284820, -1, 3, 3, 0xBD3FBADC, fields, -1); - return &instance; - } + { FT_INT, 3, true }, + { FT_INT, 3, true }, + { FT_INT, 3, true }, + }; + + static constexpr DB2Meta Instance{ 1284820, -1, 3, 3, 0xBD3FBADC, Fields, -1 }; }; struct ParticulateMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3396285, -1, 2, 2, 0x2203AD67, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3396285, -1, 2, 2, 0x2203AD67, Fields, -1 }; }; struct ParticulateSoundMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2053913, -1, 5, 5, 0x01C167D7, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2053913, -1, 5, 5, 0x01C167D7, Fields, 0 }; }; struct PathMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(801732, -1, 7, 7, 0xAB4D8ED6, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 801732, -1, 7, 7, 0xAB4D8ED6, Fields, -1 }; }; struct PathEdgeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 2, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2428705, -1, 2, 1, 0x3FAF3C23, fields, 1); - return &instance; - } + { FT_INT, 2, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2428705, -1, 2, 1, 0x3FAF3C23, Fields, 1 }; }; struct PathNodeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_SHORT, 1, false }, - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(801733, -1, 3, 3, 0x37234837, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 801733, -1, 3, 3, 0x37234837, Fields, -1 }; }; struct PathNodePropertyMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(801734, -1, 4, 4, 0xEC27351D, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 801734, -1, 4, 4, 0xEC27351D, Fields, -1 }; }; struct PathPropertyMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(801735, -1, 3, 3, 0x635DCADD, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 801735, -1, 3, 3, 0x635DCADD, Fields, -1 }; }; struct PhaseMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1348558, -1, 1, 1, 0x2BE7B349, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1348558, -1, 1, 1, 0x2BE7B349, Fields, -1 }; }; struct PhaseShiftZoneSoundsMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[13] = - { - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1267336, -1, 13, 13, 0x48F50F33, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[13] = + { + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1267336, -1, 13, 13, 0x48F50F33, Fields, -1 }; }; struct PhaseXPhaseGroupMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(987581, -1, 2, 1, 0xEC8D5E98, fields, 1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 987581, -1, 2, 1, 0xEC8D5E98, Fields, 1 }; }; struct PlayerConditionMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[84] = - { - { FT_LONG, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 4, false }, - { FT_SHORT, 4, false }, - { FT_SHORT, 4, false }, - { FT_INT, 3, false }, - { FT_BYTE, 3, false }, - { FT_INT, 4, true }, - { FT_INT, 4, true }, - { FT_INT, 4, true }, - { FT_INT, 4, true }, - { FT_INT, 4, true }, - { FT_INT, 4, false }, - { FT_SHORT, 2, false }, - { FT_INT, 2, false }, - { FT_INT, 4, true }, - { FT_BYTE, 4, false }, - { FT_SHORT, 4, false }, - { FT_SHORT, 4, false }, - { FT_BYTE, 4, false }, - { FT_BYTE, 4, false }, - { FT_INT, 4, false }, - { FT_INT, 4, false }, - { FT_INT, 4, false }, - { FT_INT, 6, false }, - { FT_INT, 2, true }, - { FT_INT, 4, true }, - { FT_SHORT, 4, false }, - { FT_SHORT, 4, false }, - }; - static constexpr DB2Meta instance(1045411, -1, 84, 84, 0x4FD5055D, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[84] = + { + { FT_LONG, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 4, false }, + { FT_SHORT, 4, false }, + { FT_SHORT, 4, false }, + { FT_INT, 3, false }, + { FT_BYTE, 3, false }, + { FT_INT, 4, true }, + { FT_INT, 4, true }, + { FT_INT, 4, true }, + { FT_INT, 4, true }, + { FT_INT, 4, true }, + { FT_INT, 4, false }, + { FT_SHORT, 2, false }, + { FT_INT, 2, false }, + { FT_INT, 4, true }, + { FT_BYTE, 4, false }, + { FT_SHORT, 4, false }, + { FT_SHORT, 4, false }, + { FT_BYTE, 4, false }, + { FT_BYTE, 4, false }, + { FT_INT, 4, false }, + { FT_INT, 4, false }, + { FT_INT, 4, false }, + { FT_INT, 6, false }, + { FT_INT, 2, true }, + { FT_INT, 4, true }, + { FT_SHORT, 4, false }, + { FT_SHORT, 4, false }, + }; + + static constexpr DB2Meta Instance{ 1045411, -1, 84, 84, 0x4FD5055D, Fields, -1 }; }; struct PositionerMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1251523, -1, 4, 4, 0xCBBBBD15, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1251523, -1, 4, 4, 0xCBBBBD15, Fields, -1 }; }; struct PositionerStateMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1251506, -1, 8, 8, 0x0276AAB6, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1251506, -1, 8, 8, 0x0276AAB6, Fields, -1 }; }; struct PositionerStateEntryMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[11] = - { - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1251533, -1, 11, 11, 0x10BB0190, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[11] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1251533, -1, 11, 11, 0x10BB0190, Fields, -1 }; }; struct PowerDisplayMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1332557, -1, 5, 5, 0xE9B4E78C, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1332557, -1, 5, 5, 0xE9B4E78C, Fields, -1 }; }; struct PowerTypeMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[13] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_SHORT, 1, true }, - }; - static constexpr DB2Meta instance(1266022, 2, 13, 13, 0xE8AC7EEC, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[13] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1266022, 2, 13, 13, 0xE8AC7EEC, Fields, -1 }; }; struct PrestigeLevelInfoMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1275869, -1, 5, 5, 0xB4AE6313, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1275869, -1, 5, 5, 0xB4AE6313, Fields, -1 }; }; struct ProfTraitPathNodeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4542069, 0, 5, 5, 0x93D92E33, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4542069, 0, 5, 5, 0x93D92E33, Fields, -1 }; }; struct ProfTraitPerkNodeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4542084, 0, 4, 4, 0x53D97158, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4542084, 0, 4, 4, 0x53D97158, Fields, -1 }; }; struct ProfTraitTreeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4542085, 0, 2, 2, 0x55614ED1, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4542085, 0, 2, 2, 0x55614ED1, Fields, -1 }; }; struct ProfessionMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[12] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4508544, 0, 12, 12, 0x2E97F732, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[12] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4508544, 0, 12, 12, 0x2E97F732, Fields, -1 }; }; struct ProfessionEffectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4505297, -1, 3, 3, 0xB42F4258, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4505297, -1, 3, 3, 0xB42F4258, Fields, -1 }; }; struct ProfessionEffectTypeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4556715, -1, 2, 1, 0xFE8414F9, fields, 1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4556715, -1, 2, 1, 0xFE8414F9, Fields, 1 }; }; struct ProfessionPropPointsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_FLOAT, 2, true }, - { FT_FLOAT, 2, true }, - { FT_FLOAT, 2, true }, - { FT_INT, 2, false }, - { FT_INT, 2, false }, - { FT_INT, 2, false }, - }; - static constexpr DB2Meta instance(4452078, -1, 6, 6, 0xE2DEF177, fields, -1); - return &instance; - } + { FT_FLOAT, 2, true }, + { FT_FLOAT, 2, true }, + { FT_FLOAT, 2, true }, + { FT_INT, 2, false }, + { FT_INT, 2, false }, + { FT_INT, 2, false }, + }; + + static constexpr DB2Meta Instance{ 4452078, -1, 6, 6, 0xE2DEF177, Fields, -1 }; }; struct ProfessionRatingMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4623413, 2, 6, 5, 0x78F181BD, fields, 5); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4623413, 2, 6, 5, 0x78F181BD, Fields, 5 }; }; struct ProfessionTraitMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4505298, 0, 2, 2, 0xFB4B3FF8, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4505298, 0, 2, 2, 0xFB4B3FF8, Fields, -1 }; }; struct ProfessionTraitXEffectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4505494, 0, 4, 4, 0x86D1D9C8, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4505494, 0, 4, 4, 0x86D1D9C8, Fields, 1 }; }; struct ProfessionTraitXLabelMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4505299, 0, 3, 3, 0x3234BADF, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4505299, 0, 3, 3, 0x3234BADF, Fields, 1 }; }; struct ProfessionXRatingMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(4868299, -1, 3, 3, 0x72DDE591, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4868299, -1, 3, 3, 0x72DDE591, Fields, -1 }; }; struct PvpBrawlMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1585723, 3, 7, 7, 0x8D15C420, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1585723, 3, 7, 7, 0x8D15C420, Fields, -1 }; }; struct PvpRatingMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4699082, -1, 4, 4, 0x4855B7DE, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4699082, -1, 4, 4, 0x4855B7DE, Fields, -1 }; }; struct PvpScalingEffectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1591100, -1, 3, 3, 0x63F0BE5D, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1591100, -1, 3, 3, 0x63F0BE5D, Fields, 1 }; }; struct PvpScalingEffectTypeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - }; - static constexpr DB2Meta instance(1591098, -1, 1, 1, 0xB21E02AE, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1591098, -1, 1, 1, 0xB21E02AE, Fields, -1 }; }; struct PvpSeasonMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2966426, -1, 3, 3, 0x8623DD7F, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2966426, -1, 3, 3, 0x8623DD7F, Fields, -1 }; }; struct PvpSeasonRewardLevelsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2470695, -1, 4, 3, 0x8BAE9DBE, fields, 3); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2470695, -1, 4, 3, 0x8BAE9DBE, Fields, 3 }; }; struct PvpTalentMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1302853, 1, 10, 10, 0xEC6943FA, fields, 2); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1302853, 1, 10, 10, 0xEC6943FA, Fields, 2 }; }; struct PvpTalentCategoryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1891534, -1, 1, 1, 0x93410D30, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1891534, -1, 1, 1, 0x93410D30, Fields, -1 }; }; struct PvpTalentSlotUnlockMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1950197, -1, 4, 4, 0xA08CCB66, fields, -1); - return &instance; - } + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1950197, -1, 4, 4, 0xA08CCB66, Fields, -1 }; }; struct PvpTierMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2066871, 1, 9, 9, 0x80FD72F9, fields, 6); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2066871, 1, 9, 9, 0x80FD72F9, Fields, 6 }; }; struct QuestFactionRewardMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_SHORT, 10, true }, - }; - static constexpr DB2Meta instance(1282622, -1, 1, 1, 0xE6DC889F, fields, -1); - return &instance; - } + { FT_SHORT, 10, true }, + }; + + static constexpr DB2Meta Instance{ 1282622, -1, 1, 1, 0xE6DC889F, Fields, -1 }; }; struct QuestFeedbackEffectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1343388, -1, 8, 8, 0x4FF1C55A, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1343388, -1, 8, 8, 0x4FF1C55A, Fields, -1 }; }; struct QuestInfoMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1120960, -1, 4, 4, 0xAFE57F67, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1120960, -1, 4, 4, 0xAFE57F67, Fields, -1 }; }; struct QuestLineMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(973430, -1, 4, 4, 0x8972E620, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 973430, -1, 4, 4, 0x8972E620, Fields, -1 }; }; struct QuestLineXQuestMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(973441, -1, 4, 4, 0xABFF78E8, fields, 0); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 973441, -1, 4, 4, 0xABFF78E8, Fields, 0 }; }; struct QuestMoneyRewardMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 10, false }, - }; - static constexpr DB2Meta instance(1139047, -1, 1, 1, 0xBFB6413C, fields, -1); - return &instance; - } + { FT_INT, 10, false }, + }; + + static constexpr DB2Meta Instance{ 1139047, -1, 1, 1, 0xBFB6413C, Fields, -1 }; }; struct QuestObjectiveMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1251960, -1, 8, 7, 0x0CF5606A, fields, 7); - return &instance; - } + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1251960, -1, 8, 7, 0x0CF5606A, Fields, 7 }; }; struct QuestPOIBlobMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_INT, 1, false }, - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1251882, 0, 9, 9, 0xBD552CA4, fields, 1); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1251882, 0, 9, 9, 0xBD552CA4, Fields, 1 }; }; struct QuestPOIPointMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, false }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1251883, 0, 5, 4, 0x38867756, fields, 4); - return &instance; - } + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1251883, 0, 5, 4, 0x38867756, Fields, 4 }; }; struct QuestPackageItemMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(801743, -1, 4, 4, 0xA2C252CF, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 801743, -1, 4, 4, 0xA2C252CF, Fields, -1 }; }; struct QuestSortMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1134585, -1, 2, 2, 0x1DDCABD9, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1134585, -1, 2, 2, 0x1DDCABD9, Fields, -1 }; }; struct QuestV2Meta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1139443, -1, 2, 2, 0xB2004732, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1139443, -1, 2, 2, 0xB2004732, Fields, -1 }; }; struct QuestV2CliTaskMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[24] = - { - { FT_LONG, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 3, true }, - { FT_INT, 3, false }, - }; - static constexpr DB2Meta instance(1028735, -1, 24, 24, 0x3F80A435, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[24] = + { + { FT_LONG, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 3, true }, + { FT_INT, 3, false }, + }; + + static constexpr DB2Meta Instance{ 1028735, -1, 24, 24, 0x3F80A435, Fields, -1 }; }; struct QuestXGroupActivityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1573634, -1, 2, 2, 0x6642C715, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1573634, -1, 2, 2, 0x6642C715, Fields, -1 }; }; struct QuestXPMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_SHORT, 10, false }, - }; - static constexpr DB2Meta instance(1139378, -1, 1, 1, 0xCC84B93E, fields, -1); - return &instance; - } + { FT_SHORT, 10, false }, + }; + + static constexpr DB2Meta Instance{ 1139378, -1, 1, 1, 0xCC84B93E, Fields, -1 }; }; struct QuestXUIQuestDetailsThemeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3448517, -1, 2, 2, 0x1AE2FA16, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3448517, -1, 2, 2, 0x1AE2FA16, Fields, -1 }; }; struct QuestXUiWidgetSetMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3923421, -1, 2, 2, 0x2B4CA6A1, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3923421, -1, 2, 2, 0x2B4CA6A1, Fields, -1 }; }; struct RTPCMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3405439, 0, 6, 6, 0x32115955, fields, 5); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3405439, 0, 6, 6, 0x32115955, Fields, 5 }; }; struct RTPCDataMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3405440, -1, 5, 5, 0xFB37E702, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3405440, -1, 5, 5, 0xFB37E702, Fields, 0 }; }; struct RafActivityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3081207, -1, 2, 2, 0x64C41FC9, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3081207, -1, 2, 2, 0x64C41FC9, Fields, -1 }; }; struct RandPropPointsMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 5, true }, - { FT_FLOAT, 5, true }, - { FT_FLOAT, 5, true }, - { FT_INT, 5, false }, - { FT_INT, 5, false }, - { FT_INT, 5, false }, - }; - static constexpr DB2Meta instance(1310245, -1, 10, 10, 0xC35A699D, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 5, true }, + { FT_FLOAT, 5, true }, + { FT_FLOAT, 5, true }, + { FT_INT, 5, false }, + { FT_INT, 5, false }, + { FT_INT, 5, false }, + }; + + static constexpr DB2Meta Instance{ 1310245, -1, 10, 10, 0xC35A699D, Fields, -1 }; }; struct RecipeProgressionGroupEntryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3671785, -1, 6, 6, 0x5481052D, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3671785, -1, 6, 6, 0x5481052D, Fields, 0 }; }; struct RelicSlotTierRequirementMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1716803, -1, 3, 3, 0xB83E9EBE, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1716803, -1, 3, 3, 0xB83E9EBE, Fields, -1 }; }; struct RelicTalentMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1671256, -1, 5, 5, 0xE2CB2DDC, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1671256, -1, 5, 5, 0xE2CB2DDC, Fields, -1 }; }; struct RenownRewardsMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[18] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3743117, -1, 18, 18, 0xB1FF79CA, fields, 3); - return &instance; - } + static constexpr DB2MetaField Fields[18] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3743117, -1, 18, 18, 0xB1FF79CA, Fields, 3 }; }; struct ResearchBranchMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1133729, -1, 6, 6, 0xAD4D7AD8, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1133729, -1, 6, 6, 0xAD4D7AD8, Fields, -1 }; }; struct ResearchFieldMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1133711, -1, 2, 2, 0x3767B1BF, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1133711, -1, 2, 2, 0x3767B1BF, Fields, -1 }; }; struct ResearchProjectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1134090, -1, 8, 8, 0x97798A9D, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1134090, -1, 8, 8, 0x97798A9D, Fields, -1 }; }; struct ResearchSiteMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING, 1, true }, - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1134091, -1, 4, 4, 0x7906CEDE, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1134091, -1, 4, 4, 0x7906CEDE, Fields, -1 }; }; struct ResistancesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1135072, -1, 3, 3, 0xCE78DB9B, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1135072, -1, 3, 3, 0xCE78DB9B, Fields, -1 }; }; struct RewardPackMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1307156, -1, 6, 6, 0x214B9595, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1307156, -1, 6, 6, 0x214B9595, Fields, -1 }; }; struct RewardPackXCurrencyTypeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1307153, -1, 3, 2, 0x5692D477, fields, 2); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1307153, -1, 3, 2, 0x5692D477, Fields, 2 }; }; struct RewardPackXItemMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1307155, -1, 3, 2, 0x219E3F5D, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1307155, -1, 3, 2, 0x219E3F5D, Fields, 2 }; }; struct RibbonQualityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1398908, -1, 5, 5, 0x8B3DD1B3, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1398908, -1, 5, 5, 0x8B3DD1B3, Fields, -1 }; }; struct RopeEffectMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3256786, -1, 9, 9, 0xC049D78F, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3256786, -1, 9, 9, 0xC049D78F, Fields, -1 }; }; struct RuneforgeLegendaryAbilityMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[11] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3500241, 1, 11, 11, 0x35605374, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[11] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3500241, 1, 11, 11, 0x35605374, Fields, -1 }; }; struct SDReplacementModelMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1712172, -1, 1, 1, 0x9415B157, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1712172, -1, 1, 1, 0x9415B157, Fields, -1 }; }; struct SSAOSettingsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(2056369, -1, 7, 7, 0xE18F5D96, fields, -1); - return &instance; - } + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2056369, -1, 7, 7, 0xE18F5D96, Fields, -1 }; }; struct ScenarioMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_STRING, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1139062, -1, 5, 5, 0x6CEEC7F6, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1139062, -1, 5, 5, 0x6CEEC7F6, Fields, -1 }; }; struct ScenarioEventEntryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1141065, -1, 2, 2, 0x8643ED17, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1141065, -1, 2, 2, 0x8643ED17, Fields, -1 }; }; struct ScenarioStepMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[11] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1132761, -1, 11, 11, 0x12DAED63, fields, 2); - return &instance; - } + static constexpr DB2MetaField Fields[11] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1132761, -1, 11, 11, 0x12DAED63, Fields, 2 }; }; struct SceneScriptMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(801754, -1, 3, 3, 0xF24D5AEA, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 801754, -1, 3, 3, 0xF24D5AEA, Fields, -1 }; }; struct SceneScriptGlobalTextMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_STRING_NOT_LOCALIZED, 1, true }, - }; - static constexpr DB2Meta instance(1758036, -1, 2, 2, 0x8239EFCD, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1758036, -1, 2, 2, 0x8239EFCD, Fields, -1 }; }; struct SceneScriptPackageMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(801755, -1, 2, 2, 0x5642AF7C, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 801755, -1, 2, 2, 0x5642AF7C, Fields, -1 }; }; struct SceneScriptPackageMemberMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(801756, -1, 4, 4, 0xD2EA425C, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 801756, -1, 4, 4, 0xD2EA425C, Fields, 0 }; }; struct SceneScriptTextMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_STRING_NOT_LOCALIZED, 1, true }, - }; - static constexpr DB2Meta instance(1758037, -1, 2, 2, 0x8239EFCD, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1758037, -1, 2, 2, 0x8239EFCD, Fields, -1 }; }; struct ScheduledIntervalMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1327082, -1, 5, 5, 0xBD3FEB04, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1327082, -1, 5, 5, 0xBD3FEB04, Fields, -1 }; }; struct ScreenEffectMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[12] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 4, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1302849, -1, 12, 12, 0x49CD4814, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[12] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 4, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1302849, -1, 12, 12, 0x49CD4814, Fields, -1 }; }; struct ScreenEffectTypeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3063174, -1, 1, 1, 0x807C06A3, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3063174, -1, 1, 1, 0x807C06A3, Fields, -1 }; }; struct ScreenLocationMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - }; - static constexpr DB2Meta instance(1279416, -1, 1, 1, 0x8730B3B5, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1279416, -1, 1, 1, 0x8730B3B5, Fields, -1 }; }; struct SeamlessSiteMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1328719, -1, 1, 1, 0x60B3CFFF, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1328719, -1, 1, 1, 0x60B3CFFF, Fields, 0 }; }; struct ServerMessagesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING, 1, true }, - }; - static constexpr DB2Meta instance(1301141, -1, 1, 1, 0xBF527CAF, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1301141, -1, 1, 1, 0xBF527CAF, Fields, -1 }; }; struct ShadowyEffectMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[13] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1239844, -1, 13, 13, 0x65EF6B87, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[13] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1239844, -1, 13, 13, 0x65EF6B87, Fields, -1 }; }; struct SharedStringMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(4620073, 1, 3, 3, 0x31B665AF, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 4620073, 1, 3, 3, 0x31B665AF, Fields, -1 }; }; struct SiegeablePropertiesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1954391, -1, 4, 4, 0xD237D615, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1954391, -1, 4, 4, 0xD237D615, Fields, -1 }; }; struct SkillLineMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[15] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1240935, 5, 15, 15, 0xF0D60375, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[15] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1240935, 5, 15, 15, 0xF0D60375, Fields, -1 }; }; struct SkillLineAbilityMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[17] = - { - { FT_LONG, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - }; - static constexpr DB2Meta instance(1266278, 3, 17, 17, 0x1D9E00B1, fields, 4); - return &instance; - } + static constexpr DB2MetaField Fields[17] = + { + { FT_LONG, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1266278, 3, 17, 17, 0x1D9E00B1, Fields, 4 }; }; struct SkillLineXTraitTreeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4505477, -1, 3, 3, 0xB2E9968F, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4505477, -1, 3, 3, 0xB2E9968F, Fields, 0 }; }; struct SkillRaceClassInfoMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_LONG, 1, true }, - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_SHORT, 1, true }, - }; - static constexpr DB2Meta instance(1240406, -1, 7, 7, 0x0271228C, fields, 1); - return &instance; - } + { FT_LONG, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1240406, -1, 7, 7, 0x0271228C, Fields, 1 }; }; struct SkySceneXPlayerConditionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3581893, -1, 2, 1, 0x62B60407, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3581893, -1, 2, 1, 0x62B60407, Fields, 1 }; }; struct SoulbindMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3488583, -1, 6, 6, 0x9031600B, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3488583, -1, 6, 6, 0x9031600B, Fields, -1 }; }; struct SoulbindConduitMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3594380, -1, 4, 4, 0xD87C19D7, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3594380, -1, 4, 4, 0xD87C19D7, Fields, -1 }; }; struct SoulbindConduitEnhancedSocketMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4069554, -1, 2, 2, 0xC5F12335, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4069554, -1, 2, 2, 0xC5F12335, Fields, -1 }; }; struct SoulbindConduitItemMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3604984, -1, 2, 2, 0x0378426E, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3604984, -1, 2, 2, 0x0378426E, Fields, -1 }; }; struct SoulbindConduitRankMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3620681, -1, 4, 3, 0x197CCA07, fields, 3); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3620681, -1, 4, 3, 0x197CCA07, Fields, 3 }; }; struct SoulbindConduitRankPropertiesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3858895, -1, 3, 3, 0x17D85084, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3858895, -1, 3, 3, 0x17D85084, Fields, -1 }; }; struct SoulbindUIDisplayInfoMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3490472, -1, 8, 8, 0xCED83DDB, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3490472, -1, 8, 8, 0xCED83DDB, Fields, -1 }; }; struct SoundAmbienceMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 2, false }, - { FT_INT, 2, false }, - { FT_INT, 2, false }, - { FT_INT, 2, false }, - }; - static constexpr DB2Meta instance(1310628, -1, 7, 7, 0xCB856968, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 2, false }, + { FT_INT, 2, false }, + { FT_INT, 2, false }, + { FT_INT, 2, false }, + }; + + static constexpr DB2Meta Instance{ 1310628, -1, 7, 7, 0xCB856968, Fields, -1 }; }; struct SoundAmbienceFlavorMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1267065, -1, 3, 2, 0x36D1007C, fields, 2); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1267065, -1, 3, 2, 0x36D1007C, Fields, 2 }; }; struct SoundBusMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1310246, 0, 8, 7, 0x7854CF39, fields, 7); - return &instance; - } + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1310246, 0, 8, 7, 0x7854CF39, Fields, 7 }; }; struct SoundBusOverrideMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1598732, 0, 7, 7, 0xF5BD8202, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1598732, 0, 7, 7, 0xF5BD8202, Fields, 1 }; }; struct SoundEmitterPillPointsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_FLOAT, 3, true }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1092317, -1, 2, 2, 0xFB1F432A, fields, 1); - return &instance; - } + { FT_FLOAT, 3, true }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1092317, -1, 2, 2, 0xFB1F432A, Fields, 1 }; }; struct SoundEmittersMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[12] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1092316, 3, 12, 11, 0xA4A5BBC4, fields, 11); - return &instance; - } + static constexpr DB2MetaField Fields[12] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1092316, 3, 12, 11, 0xA4A5BBC4, Fields, 11 }; }; struct SoundEnvelopeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1693131, -1, 7, 7, 0x7C68FF4A, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1693131, -1, 7, 7, 0x7C68FF4A, Fields, 0 }; }; struct SoundFilterMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - }; - static constexpr DB2Meta instance(1271601, -1, 1, 1, 0xB21E02AE, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1271601, -1, 1, 1, 0xB21E02AE, Fields, -1 }; }; struct SoundFilterElemMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_FLOAT, 9, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1267066, -1, 3, 2, 0xA934E155, fields, 2); - return &instance; - } + { FT_FLOAT, 9, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1267066, -1, 3, 2, 0xA934E155, Fields, 2 }; }; struct SoundKitMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[16] = - { - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, true }, - { FT_FLOAT, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1237434, -1, 16, 16, 0x170F2CC3, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[16] = + { + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1237434, -1, 16, 16, 0x170F2CC3, Fields, -1 }; }; struct SoundKitAdvancedMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[56] = - { - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1237436, -1, 56, 56, 0x864490D3, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[56] = + { + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1237436, -1, 56, 56, 0x864490D3, Fields, -1 }; }; struct SoundKitChildMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1307289, -1, 2, 2, 0x102526D8, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1307289, -1, 2, 2, 0x102526D8, Fields, 1 }; }; struct SoundKitEntryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1237435, -1, 4, 4, 0x962B1DCC, fields, 0); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1237435, -1, 4, 4, 0x962B1DCC, Fields, 0 }; }; struct SoundKitFallbackMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1307288, -1, 2, 2, 0x006A5AA3, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1307288, -1, 2, 2, 0x006A5AA3, Fields, -1 }; }; struct SoundMixGroupMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(4618887, -1, 5, 5, 0x25A56C20, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4618887, -1, 5, 5, 0x25A56C20, Fields, -1 }; }; struct SoundOverrideMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1266542, -1, 5, 5, 0x61F508F8, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1266542, -1, 5, 5, 0x61F508F8, Fields, -1 }; }; struct SoundParameterMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3405441, -1, 5, 5, 0xA84DAECD, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3405441, -1, 5, 5, 0xA84DAECD, Fields, -1 }; }; struct SoundProviderPreferencesMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[23] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_BYTE, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_SHORT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_SHORT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1279417, -1, 23, 23, 0x06599A4D, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[23] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1279417, -1, 23, 23, 0x06599A4D, Fields, -1 }; }; struct SoundWaterfallEmitterMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4756178, -1, 2, 2, 0xF82CAB0A, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4756178, -1, 2, 2, 0xF82CAB0A, Fields, -1 }; }; struct SourceInfoMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1313612, -1, 4, 3, 0xF32B81DC, fields, 3); - return &instance; - } + { FT_STRING, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1313612, -1, 4, 3, 0xF32B81DC, Fields, 3 }; }; struct SpamMessagesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - }; - static constexpr DB2Meta instance(1117088, -1, 1, 1, 0xEF771036, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1117088, -1, 1, 1, 0xEF771036, Fields, -1 }; }; struct SpecSetMemberMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2057624, -1, 2, 1, 0x48C154DC, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2057624, -1, 2, 1, 0x48C154DC, Fields, 1 }; }; struct SpecializationSpellsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1240335, 1, 6, 6, 0xA524AD21, fields, 2); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1240335, 1, 6, 6, 0xA524AD21, Fields, 2 }; }; struct SpecializationSpellsDisplayMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, false }, - { FT_INT, 6, false }, - }; - static constexpr DB2Meta instance(2067238, -1, 2, 2, 0x2E79E9B0, fields, 0); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_INT, 6, false }, + }; + + static constexpr DB2Meta Instance{ 2067238, -1, 2, 2, 0x2E79E9B0, Fields, 0 }; }; struct SpellMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - }; - static constexpr DB2Meta instance(1140089, -1, 3, 3, 0xE2395468, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1140089, -1, 3, 3, 0xE2395468, Fields, -1 }; }; struct SpellActionBarPrefMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1019373, -1, 2, 2, 0x5CB6468B, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1019373, -1, 2, 2, 0x5CB6468B, Fields, -1 }; }; struct SpellActivationOverlayMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_INT, 4, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1261603, -1, 10, 10, 0x67CA82D4, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_INT, 4, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1261603, -1, 10, 10, 0x67CA82D4, Fields, -1 }; }; struct SpellAuraOptionsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_INT, 2, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1139952, -1, 8, 7, 0x584EB0C9, fields, 7); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 2, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1139952, -1, 8, 7, 0x584EB0C9, Fields, 7 }; }; struct SpellAuraRestrictionsMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[14] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(981566, -1, 14, 13, 0x78912DD7, fields, 13); - return &instance; - } + static constexpr DB2MetaField Fields[14] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 981566, -1, 14, 13, 0x78912DD7, Fields, 13 }; }; struct SpellAuraVisXChrSpecMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1280615, -1, 2, 1, 0x6402EE2B, fields, 1); - return &instance; - } + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1280615, -1, 2, 1, 0x6402EE2B, Fields, 1 }; }; struct SpellAuraVisibilityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1280616, 0, 4, 3, 0x398764D3, fields, 3); - return &instance; - } + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1280616, 0, 4, 3, 0x398764D3, Fields, 3 }; }; struct SpellCastTimesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1134089, -1, 2, 2, 0x3EC041D4, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1134089, -1, 2, 2, 0x3EC041D4, Fields, -1 }; }; struct SpellCastingRequirementsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1002166, -1, 7, 7, 0x76B9E4FB, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1002166, -1, 7, 7, 0x76B9E4FB, Fields, -1 }; }; struct SpellCategoriesMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_BYTE, 1, false }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1139939, -1, 9, 8, 0xE1D0C5AC, fields, 8); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_BYTE, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1139939, -1, 9, 8, 0xE1D0C5AC, Fields, 8 }; }; struct SpellCategoryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1280619, -1, 6, 6, 0x8C8A2CFC, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1280619, -1, 6, 6, 0x8C8A2CFC, Fields, -1 }; }; struct SpellChainEffectsMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[60] = - { - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_SHORT, 11, false }, - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_INT, 3, true }, - }; - static constexpr DB2Meta instance(1343310, -1, 60, 60, 0xD76BE290, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[60] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 11, false }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_INT, 3, true }, + }; + + static constexpr DB2Meta Instance{ 1343310, -1, 60, 60, 0xD76BE290, Fields, -1 }; }; struct SpellClassOptionsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 4, true }, - }; - static constexpr DB2Meta instance(979663, -1, 4, 4, 0x427E17F9, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 4, true }, + }; + + static constexpr DB2Meta Instance{ 979663, -1, 4, 4, 0x427E17F9, Fields, -1 }; }; struct SpellClutterAreaEffectCountsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2428696, -1, 3, 3, 0x362D8889, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2428696, -1, 3, 3, 0x362D8889, Fields, -1 }; }; struct SpellClutterFrameRatesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(2428707, -1, 3, 3, 0x722797C7, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2428707, -1, 3, 3, 0x722797C7, Fields, -1 }; }; struct SpellClutterImpactModelCountsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2428708, -1, 3, 3, 0x362D8889, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2428708, -1, 3, 3, 0x362D8889, Fields, -1 }; }; struct SpellClutterKitDistancesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(2428697, -1, 3, 3, 0x38C53911, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2428697, -1, 3, 3, 0x38C53911, Fields, -1 }; }; struct SpellClutterMissileDistMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(2428733, -1, 3, 3, 0x38C53911, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2428733, -1, 3, 3, 0x38C53911, Fields, -1 }; }; struct SpellClutterWeaponTrailDistMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(2428698, -1, 3, 3, 0x38C53911, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2428698, -1, 3, 3, 0x38C53911, Fields, -1 }; }; struct SpellCooldownsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1139924, -1, 6, 5, 0x254654DD, fields, 5); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1139924, -1, 6, 5, 0x254654DD, Fields, 5 }; }; struct SpellDescriptionVariablesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - }; - static constexpr DB2Meta instance(1140004, -1, 1, 1, 0x3846B8C4, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1140004, -1, 1, 1, 0x3846B8C4, Fields, -1 }; }; struct SpellDispelTypeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING, 1, true }, - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1137829, -1, 4, 4, 0xD31E57F3, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1137829, -1, 4, 4, 0xD31E57F3, Fields, -1 }; }; struct SpellDurationMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1137828, -1, 2, 2, 0xC1591711, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1137828, -1, 2, 2, 0xC1591711, Fields, -1 }; }; struct SpellEffectMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[29] = - { - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 2, true }, - { FT_INT, 2, false }, - { FT_INT, 4, true }, - { FT_SHORT, 2, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1140088, -1, 29, 28, 0x0ADBA46F, fields, 28); - return &instance; - } + static constexpr DB2MetaField Fields[29] = + { + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 2, true }, + { FT_INT, 2, false }, + { FT_INT, 4, true }, + { FT_SHORT, 2, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1140088, -1, 29, 28, 0x0ADBA46F, Fields, 28 }; }; struct SpellEffectAutoDescriptionMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1888495, -1, 9, 9, 0x6DCEA74D, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1888495, -1, 9, 9, 0x6DCEA74D, Fields, -1 }; }; struct SpellEffectEmissionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1310248, -1, 4, 4, 0x55D6415D, fields, -1); - return &instance; - } + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1310248, -1, 4, 4, 0x55D6415D, Fields, -1 }; }; struct SpellEmpowerMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4507381, 0, 3, 3, 0x7F1952AF, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4507381, 0, 3, 3, 0x7F1952AF, Fields, -1 }; }; struct SpellEmpowerStageMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4871072, -1, 3, 2, 0x6A138C60, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4871072, -1, 3, 2, 0x6A138C60, Fields, 2 }; }; struct SpellEquippedItemsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1140011, -1, 4, 4, 0x9E98F8F8, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1140011, -1, 4, 4, 0x9E98F8F8, Fields, -1 }; }; struct SpellFlyoutMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_LONG, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1146819, -1, 6, 6, 0x0F34BE71, fields, -1); - return &instance; - } + { FT_LONG, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1146819, -1, 6, 6, 0x0F34BE71, Fields, -1 }; }; struct SpellFlyoutItemMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1134085, -1, 3, 2, 0x5977DEAC, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1134085, -1, 3, 2, 0x5977DEAC, Fields, 2 }; }; struct SpellFocusObjectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING, 1, true }, - }; - static constexpr DB2Meta instance(1280620, -1, 1, 1, 0xB0DD8F60, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1280620, -1, 1, 1, 0xB0DD8F60, Fields, -1 }; }; struct SpellInterruptsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_BYTE, 1, false }, - { FT_SHORT, 1, true }, - { FT_INT, 2, true }, - { FT_INT, 2, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1139906, -1, 5, 4, 0x15BFA3E0, fields, 4); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_SHORT, 1, true }, + { FT_INT, 2, true }, + { FT_INT, 2, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1139906, -1, 5, 4, 0x15BFA3E0, Fields, 4 }; }; struct SpellItemEnchantmentMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[23] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 3, false }, - { FT_FLOAT, 3, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 3, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 3, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1362771, -1, 23, 23, 0xF7D222D6, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[23] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 3, false }, + { FT_FLOAT, 3, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 3, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 3, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1362771, -1, 23, 23, 0xF7D222D6, Fields, -1 }; }; struct SpellItemEnchantmentConditionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_BYTE, 5, false }, - { FT_INT, 5, false }, - { FT_BYTE, 5, false }, - { FT_BYTE, 5, false }, - { FT_BYTE, 5, false }, - { FT_BYTE, 5, false }, - }; - static constexpr DB2Meta instance(1121834, -1, 6, 6, 0xC1340327, fields, -1); - return &instance; - } + { FT_BYTE, 5, false }, + { FT_INT, 5, false }, + { FT_BYTE, 5, false }, + { FT_BYTE, 5, false }, + { FT_BYTE, 5, false }, + { FT_BYTE, 5, false }, + }; + + static constexpr DB2Meta Instance{ 1121834, -1, 6, 6, 0xC1340327, Fields, -1 }; }; struct SpellKeyboundOverrideMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1127327, -1, 4, 4, 0x3E33E322, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1127327, -1, 4, 4, 0x3E33E322, Fields, -1 }; }; struct SpellLabelMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1347275, -1, 2, 1, 0x8FB85089, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1347275, -1, 2, 1, 0x8FB85089, Fields, 1 }; }; struct SpellLearnSpellMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1001907, -1, 3, 3, 0x33C8C506, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1001907, -1, 3, 3, 0x33C8C506, Fields, 0 }; }; struct SpellLevelsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_BYTE, 1, false }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1140079, -1, 6, 5, 0x734BBB2C, fields, 5); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1140079, -1, 6, 5, 0x734BBB2C, Fields, 5 }; }; struct SpellMechanicMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING, 1, true }, - }; - static constexpr DB2Meta instance(1014438, -1, 1, 1, 0x4E0C4A43, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1014438, -1, 1, 1, 0x4E0C4A43, Fields, -1 }; }; struct SpellMiscMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[16] = - { - { FT_INT, 15, true }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1003144, -1, 16, 15, 0x22C4626A, fields, 15); - return &instance; - } + static constexpr DB2MetaField Fields[16] = + { + { FT_INT, 15, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1003144, -1, 16, 15, 0x22C4626A, Fields, 15 }; }; struct SpellMissileMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[15] = - { - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(897956, -1, 15, 15, 0x8BE6A845, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[15] = + { + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 897956, -1, 15, 15, 0x8BE6A845, Fields, -1 }; }; struct SpellMissileMotionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(897955, -1, 4, 4, 0xE98CFA44, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 897955, -1, 4, 4, 0xE98CFA44, Fields, -1 }; }; struct SpellNameMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING, 1, true }, - }; - static constexpr DB2Meta instance(1990283, -1, 1, 1, 0xB0DD8F60, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1990283, -1, 1, 1, 0xB0DD8F60, Fields, -1 }; }; struct SpellOverrideNameMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2618823, -1, 3, 3, 0xC38F6613, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2618823, -1, 3, 3, 0xC38F6613, Fields, -1 }; }; struct SpellPowerMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[15] = - { - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(982806, 0, 15, 14, 0xE5EED97C, fields, 14); - return &instance; - } + static constexpr DB2MetaField Fields[15] = + { + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 982806, 0, 15, 14, 0xE5EED97C, Fields, 14 }; }; struct SpellPowerDifficultyMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(982804, -1, 2, 2, 0x831780E9, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 982804, -1, 2, 2, 0x831780E9, Fields, -1 }; }; struct SpellProceduralEffectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_BYTE, 1, true }, - { FT_FLOAT, 4, true }, - }; - static constexpr DB2Meta instance(1140477, -1, 2, 2, 0x860F778C, fields, -1); - return &instance; - } + { FT_BYTE, 1, true }, + { FT_FLOAT, 4, true }, + }; + + static constexpr DB2Meta Instance{ 1140477, -1, 2, 2, 0x860F778C, Fields, -1 }; }; struct SpellProcsPerMinuteMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1133526, -1, 2, 2, 0x8398D285, fields, -1); - return &instance; - } + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1133526, -1, 2, 2, 0x8398D285, Fields, -1 }; }; struct SpellProcsPerMinuteModMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1133525, -1, 4, 3, 0x2C6FC571, fields, 3); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1133525, -1, 4, 3, 0x2C6FC571, Fields, 3 }; }; struct SpellRadiusMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1134584, -1, 4, 4, 0x84246EAE, fields, -1); - return &instance; - } + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1134584, -1, 4, 4, 0x84246EAE, Fields, -1 }; }; struct SpellRangeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 2, true }, - { FT_FLOAT, 2, true }, - }; - static constexpr DB2Meta instance(1146820, -1, 5, 5, 0x1A9D89B3, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 2, true }, + { FT_FLOAT, 2, true }, + }; + + static constexpr DB2Meta Instance{ 1146820, -1, 5, 5, 0x1A9D89B3, Fields, -1 }; }; struct SpellReagentsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, true }, - { FT_INT, 8, true }, - { FT_SHORT, 8, true }, - { FT_SHORT, 8, true }, - { FT_BYTE, 8, false }, - }; - static constexpr DB2Meta instance(841946, -1, 5, 5, 0xB40074F0, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 8, true }, + { FT_SHORT, 8, true }, + { FT_SHORT, 8, true }, + { FT_BYTE, 8, false }, + }; + + static constexpr DB2Meta Instance{ 841946, -1, 5, 5, 0xB40074F0, Fields, -1 }; }; struct SpellReagentsCurrencyMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1135239, -1, 3, 3, 0xA7C3638C, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1135239, -1, 3, 3, 0xA7C3638C, Fields, 0 }; }; struct SpellReplacementMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4674394, -1, 2, 2, 0x88FB6F2C, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4674394, -1, 2, 2, 0x88FB6F2C, Fields, 0 }; }; struct SpellScalingMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, true }, - }; - static constexpr DB2Meta instance(1139940, -1, 4, 4, 0xDF5A7562, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1139940, -1, 4, 4, 0xDF5A7562, Fields, -1 }; }; struct SpellScriptMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3055899, -1, 5, 5, 0x7E8B242D, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3055899, -1, 5, 5, 0x7E8B242D, Fields, -1 }; }; struct SpellScriptTextMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3055901, 1, 5, 4, 0x035224C6, fields, 4); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3055901, 1, 5, 4, 0x035224C6, Fields, 4 }; }; struct SpellShapeshiftMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 2, true }, - { FT_INT, 2, true }, - }; - static constexpr DB2Meta instance(1139929, -1, 4, 4, 0xCBF64431, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 2, true }, + { FT_INT, 2, true }, + }; + + static constexpr DB2Meta Instance{ 1139929, -1, 4, 4, 0xCBF64431, Fields, -1 }; }; struct SpellShapeshiftFormMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_SHORT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_SHORT, 1, false }, - { FT_INT, 4, false }, - { FT_INT, 8, false }, - }; - static constexpr DB2Meta instance(1280618, -1, 10, 10, 0xBFE8FFA1, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 4, false }, + { FT_INT, 8, false }, + }; + + static constexpr DB2Meta Instance{ 1280618, -1, 10, 10, 0xBFE8FFA1, Fields, -1 }; }; struct SpellSpecialUnitEffectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1268903, -1, 2, 2, 0x7739B9C5, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1268903, -1, 2, 2, 0x7739B9C5, Fields, -1 }; }; struct SpellTargetRestrictionsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1139993, -1, 8, 7, 0xAC82CF4B, fields, 7); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1139993, -1, 8, 7, 0xAC82CF4B, Fields, 7 }; }; struct SpellTotemsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_SHORT, 2, false }, - { FT_INT, 2, true }, - }; - static constexpr DB2Meta instance(1002162, -1, 3, 3, 0x230DD39D, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_SHORT, 2, false }, + { FT_INT, 2, true }, + }; + + static constexpr DB2Meta Instance{ 1002162, -1, 3, 3, 0x230DD39D, Fields, -1 }; }; struct SpellVisualMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[16] = - { - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(897952, -1, 16, 16, 0x536575A0, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[16] = + { + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 897952, -1, 16, 16, 0x536575A0, Fields, -1 }; }; struct SpellVisualAnimMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1140479, -1, 3, 3, 0x0D10BE24, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1140479, -1, 3, 3, 0x0D10BE24, Fields, -1 }; }; struct SpellVisualColorEffectMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[11] = - { - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1094006, -1, 11, 11, 0xBBAF68B7, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[11] = + { + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1094006, -1, 11, 11, 0xBBAF68B7, Fields, -1 }; }; struct SpellVisualEffectNameMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[15] = - { - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(897948, -1, 15, 15, 0xD10DE7C6, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[15] = + { + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 897948, -1, 15, 15, 0xD10DE7C6, Fields, -1 }; }; struct SpellVisualEventMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[11] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1685317, -1, 11, 10, 0xC9A05AD5, fields, 10); - return &instance; - } + static constexpr DB2MetaField Fields[11] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1685317, -1, 11, 10, 0xC9A05AD5, Fields, 10 }; }; struct SpellVisualKitMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 2, true }, - }; - static constexpr DB2Meta instance(897949, -1, 5, 5, 0xA2B96B8A, fields, -1); - return &instance; - } + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 2, true }, + }; + + static constexpr DB2Meta Instance{ 897949, -1, 5, 5, 0xA2B96B8A, Fields, -1 }; }; struct SpellVisualKitAreaModelMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(897951, -1, 6, 6, 0xFBA6277D, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 897951, -1, 6, 6, 0xFBA6277D, Fields, -1 }; }; struct SpellVisualKitEffectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1140480, -1, 3, 2, 0x5D2E222A, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1140480, -1, 3, 2, 0x5D2E222A, Fields, 2 }; }; struct SpellVisualKitModelAttachMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[22] = - { - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(897953, -1, 22, 21, 0x58DE8C95, fields, 21); - return &instance; - } + static constexpr DB2MetaField Fields[22] = + { + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 897953, -1, 22, 21, 0x58DE8C95, Fields, 21 }; }; struct SpellVisualKitPickerMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3989478, -1, 2, 2, 0xE7A454BF, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3989478, -1, 2, 2, 0xE7A454BF, Fields, -1 }; }; struct SpellVisualKitPickerEntryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3989479, -1, 3, 2, 0x6C80416B, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3989479, -1, 3, 2, 0x6C80416B, Fields, 2 }; }; struct SpellVisualMissileMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[18] = - { - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(897954, 2, 18, 17, 0x11D06D97, fields, 17); - return &instance; - } + static constexpr DB2MetaField Fields[18] = + { + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 897954, 2, 18, 17, 0x11D06D97, Fields, 17 }; }; struct SpellVisualScreenEffectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3607312, -1, 2, 2, 0xDBF829D1, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3607312, -1, 2, 2, 0xDBF829D1, Fields, -1 }; }; struct SpellXDescriptionVariablesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1724949, -1, 2, 2, 0x9A9D6850, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1724949, -1, 2, 2, 0x9A9D6850, Fields, -1 }; }; struct SpellXSpellVisualMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[13] = - { - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1101657, 0, 13, 12, 0x049D96D6, fields, 12); - return &instance; - } + static constexpr DB2MetaField Fields[13] = + { + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1101657, 0, 13, 12, 0x049D96D6, Fields, 12 }; }; struct StartupFilesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1604265, -1, 3, 3, 0x0DB4CD60, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1604265, -1, 3, 3, 0x0DB4CD60, Fields, -1 }; }; struct Startup_StringsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_STRING, 1, true }, - }; - static constexpr DB2Meta instance(1375805, -1, 2, 2, 0xD81204F9, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1375805, -1, 2, 2, 0xD81204F9, Fields, -1 }; }; struct StationeryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 2, true }, - }; - static constexpr DB2Meta instance(1140758, -1, 3, 3, 0xC47D5B55, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 2, true }, + }; + + static constexpr DB2Meta Instance{ 1140758, -1, 3, 3, 0xC47D5B55, Fields, -1 }; }; struct SummonPropertiesMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 2, true }, - }; - static constexpr DB2Meta instance(1345276, -1, 5, 5, 0x927C6DBA, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 2, true }, + }; + + static constexpr DB2Meta Instance{ 1345276, -1, 5, 5, 0x927C6DBA, Fields, -1 }; }; struct TactKeyMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_BYTE, 16, false }, - }; - static constexpr DB2Meta instance(1302850, -1, 1, 1, 0xD3F61A9E, fields, -1); - return &instance; - } + { FT_BYTE, 16, false }, + }; + + static constexpr DB2Meta Instance{ 1302850, -1, 1, 1, 0xD3F61A9E, Fields, -1 }; }; struct TactKeyLookupMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_BYTE, 8, false }, - }; - static constexpr DB2Meta instance(1302851, -1, 1, 1, 0xB9312C4E, fields, -1); - return &instance; - } + { FT_BYTE, 8, false }, + }; + + static constexpr DB2Meta Instance{ 1302851, -1, 1, 1, 0xB9312C4E, Fields, -1 }; }; struct TalentMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 2, false }, - }; - static constexpr DB2Meta instance(1369062, -1, 9, 9, 0x75423537, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 2, false }, + }; + + static constexpr DB2Meta Instance{ 1369062, -1, 9, 9, 0x75423537, Fields, -1 }; }; struct TaxiNodesMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[15] = - { - { FT_STRING, 1, true }, - { FT_FLOAT, 3, true }, - { FT_FLOAT, 2, true }, - { FT_FLOAT, 2, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 2, true }, - }; - static constexpr DB2Meta instance(1068100, 4, 15, 15, 0x3F7CC8B2, fields, 5); - return &instance; - } + static constexpr DB2MetaField Fields[15] = + { + { FT_STRING, 1, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 2, true }, + { FT_FLOAT, 2, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 2, true }, + }; + + static constexpr DB2Meta Instance{ 1068100, 4, 15, 15, 0x3F7CC8B2, Fields, 5 }; }; struct TaxiPathMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1067802, 0, 4, 4, 0x9B67699C, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1067802, 0, 4, 4, 0x9B67699C, Fields, 1 }; }; struct TaxiPathNodeMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_FLOAT, 3, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1000437, 1, 9, 9, 0xA20FF622, fields, 2); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_FLOAT, 3, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1000437, 1, 9, 9, 0xA20FF622, Fields, 2 }; }; struct TerrainColorGradingRampMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3501705, -1, 4, 4, 0x02B6E85D, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3501705, -1, 4, 4, 0x02B6E85D, Fields, -1 }; }; struct TerrainMaterialMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1307290, -1, 3, 3, 0x499A04BC, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1307290, -1, 3, 3, 0x499A04BC, Fields, -1 }; }; struct TerrainTypeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1310249, -1, 5, 5, 0xD533642E, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1310249, -1, 5, 5, 0xD533642E, Fields, -1 }; }; struct TerrainTypeSoundsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - }; - static constexpr DB2Meta instance(1284822, -1, 1, 1, 0x5462668A, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1284822, -1, 1, 1, 0x5462668A, Fields, -1 }; }; struct TextureBlendSetMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[11] = - { - { FT_INT, 3, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_FLOAT, 4, true }, - }; - static constexpr DB2Meta instance(1328721, -1, 11, 11, 0x420979A8, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[11] = + { + { FT_INT, 3, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 4, true }, + }; + + static constexpr DB2Meta Instance{ 1328721, -1, 11, 11, 0x420979A8, Fields, -1 }; }; struct TextureFileDataMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(982459, 0, 3, 3, 0x1C9A021C, fields, 2); - return &instance; - } + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 982459, 0, 3, 3, 0x1C9A021C, Fields, 2 }; }; struct TierTransitionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(3076928, -1, 4, 4, 0xE71F230A, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3076928, -1, 4, 4, 0xE71F230A, Fields, -1 }; }; struct TotemCategoryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1134586, -1, 3, 3, 0x81755C9C, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1134586, -1, 3, 3, 0x81755C9C, Fields, -1 }; }; struct ToyMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(988200, 1, 5, 5, 0xED0030EE, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 988200, 1, 5, 5, 0xED0030EE, Fields, -1 }; }; struct TradeSkillCategoryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1301101, -1, 6, 6, 0x3C05077F, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1301101, -1, 6, 6, 0x3C05077F, Fields, -1 }; }; struct TradeSkillItemMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1329070, -1, 1, 1, 0xD6BD8871, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1329070, -1, 1, 1, 0xD6BD8871, Fields, -1 }; }; struct TraitCondMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[15] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4543085, 0, 15, 15, 0x91F4174C, fields, 2); - return &instance; - } + static constexpr DB2MetaField Fields[15] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4543085, 0, 15, 15, 0x91F4174C, Fields, 2 }; }; struct TraitCostMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4420295, 1, 4, 4, 0xCECF8496, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4420295, 1, 4, 4, 0xCECF8496, Fields, -1 }; }; struct TraitCurrencyMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4524216, 0, 5, 5, 0x5BF919EC, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4524216, 0, 5, 5, 0x5BF919EC, Fields, -1 }; }; struct TraitCurrencySourceMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4539393, 1, 9, 9, 0xD42C05FC, fields, 2); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4539393, 1, 9, 9, 0xD42C05FC, Fields, 2 }; }; struct TraitDefinitionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4420327, 3, 8, 8, 0x05675F68, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4420327, 3, 8, 8, 0x05675F68, Fields, -1 }; }; struct TraitDefinitionEffectPointsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4536895, 0, 5, 5, 0x5C22E1DB, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4536895, 0, 5, 5, 0x5C22E1DB, Fields, 1 }; }; struct TraitEdgeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4420308, 0, 5, 5, 0x32F9DD9A, fields, 2); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4420308, 0, 5, 5, 0x32F9DD9A, Fields, 2 }; }; struct TraitNodeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4420297, 0, 6, 6, 0x839579A1, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4420297, 0, 6, 6, 0x839579A1, Fields, 1 }; }; struct TraitNodeEntryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(4420298, 0, 4, 4, 0x81B195E8, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 4420298, 0, 4, 4, 0x81B195E8, Fields, -1 }; }; struct TraitNodeEntryXTraitCondMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4543088, 0, 3, 3, 0x53ACC501, fields, 2); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4543088, 0, 3, 3, 0x53ACC501, Fields, 2 }; }; struct TraitNodeEntryXTraitCostMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4420299, 0, 3, 3, 0x4178D9E2, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4420299, 0, 3, 3, 0x4178D9E2, Fields, 1 }; }; struct TraitNodeGroupMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4420300, 0, 3, 3, 0xF4E2E579, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4420300, 0, 3, 3, 0xF4E2E579, Fields, 1 }; }; struct TraitNodeGroupXTraitCondMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4543090, 0, 3, 3, 0x28117816, fields, 2); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4543090, 0, 3, 3, 0x28117816, Fields, 2 }; }; struct TraitNodeGroupXTraitCostMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4420301, 0, 3, 3, 0x97B85B29, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4420301, 0, 3, 3, 0x97B85B29, Fields, 1 }; }; struct TraitNodeGroupXTraitNodeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4420302, 0, 4, 4, 0xD91D6CFE, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4420302, 0, 4, 4, 0xD91D6CFE, Fields, 1 }; }; struct TraitNodeXTraitCondMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4543092, 0, 3, 3, 0xFEFA16A7, fields, 2); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4543092, 0, 3, 3, 0xFEFA16A7, Fields, 2 }; }; struct TraitNodeXTraitCostMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4420303, 0, 3, 3, 0x883FDE7A, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4420303, 0, 3, 3, 0x883FDE7A, Fields, 1 }; }; struct TraitNodeXTraitNodeEntryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4420304, 0, 4, 4, 0xCED10275, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4420304, 0, 4, 4, 0xCED10275, Fields, 1 }; }; struct TraitSystemMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4635649, 0, 3, 3, 0xD92E8FE4, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4635649, 0, 3, 3, 0xD92E8FE4, Fields, -1 }; }; struct TraitTreeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(4420305, 0, 8, 8, 0xCA7B3D57, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4420305, 0, 8, 8, 0xCA7B3D57, Fields, 1 }; }; struct TraitTreeLoadoutMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4669507, 0, 3, 3, 0xDE3BFB35, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4669507, 0, 3, 3, 0xDE3BFB35, Fields, 1 }; }; struct TraitTreeLoadoutEntryMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4669509, 0, 6, 6, 0x3B3D126A, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4669509, 0, 6, 6, 0x3B3D126A, Fields, 1 }; }; struct TraitTreeXTraitCostMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4420306, 0, 3, 3, 0x823738BA, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4420306, 0, 3, 3, 0x823738BA, Fields, 1 }; }; struct TraitTreeXTraitCurrencyMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4524218, 0, 4, 4, 0x298B67E6, fields, 2); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4524218, 0, 4, 4, 0x298B67E6, Fields, 2 }; }; struct TransformMatrixMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_FLOAT, 3, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1338702, -1, 5, 5, 0x92BCCC4C, fields, -1); - return &instance; - } + { FT_FLOAT, 3, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1338702, -1, 5, 5, 0x92BCCC4C, Fields, -1 }; }; struct TransmogDefaultLevelMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2399695, -1, 2, 2, 0x95FD2CA2, fields, -1); - return &instance; - } + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2399695, -1, 2, 2, 0x95FD2CA2, Fields, -1 }; }; struct TransmogHolidayMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1589454, -1, 1, 1, 0xE3B900BB, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1589454, -1, 1, 1, 0xE3B900BB, Fields, -1 }; }; struct TransmogIllusionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3580450, 0, 5, 5, 0x3DDD0672, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3580450, 0, 5, 5, 0x3DDD0672, Fields, -1 }; }; struct TransmogSetMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[13] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1376213, 1, 13, 13, 0x5B0E178F, fields, 7); - return &instance; - } + static constexpr DB2MetaField Fields[13] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1376213, 1, 13, 13, 0x5B0E178F, Fields, 7 }; }; struct TransmogSetGroupMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING, 1, true }, - }; - static constexpr DB2Meta instance(1576116, -1, 1, 1, 0xE59553DF, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1576116, -1, 1, 1, 0xE59553DF, Fields, -1 }; }; struct TransmogSetItemMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1376212, -1, 3, 3, 0x7273E272, fields, 0); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1376212, -1, 3, 3, 0x7273E272, Fields, 0 }; }; struct TransportAnimationMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_FLOAT, 3, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1140686, -1, 4, 3, 0x5C89E4E6, fields, 3); - return &instance; - } + { FT_FLOAT, 3, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1140686, -1, 4, 3, 0x5C89E4E6, Fields, 3 }; }; struct TransportPhysicsMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1121973, -1, 10, 10, 0x3BE86156, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1121973, -1, 10, 10, 0x3BE86156, Fields, -1 }; }; struct TransportRotationMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_FLOAT, 4, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1140687, -1, 3, 2, 0xC1124B6A, fields, 2); - return &instance; - } + { FT_FLOAT, 4, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1140687, -1, 3, 2, 0xC1124B6A, Fields, 2 }; }; struct TrophyMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(975024, -1, 4, 4, 0x72D11E6D, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 975024, -1, 4, 4, 0x72D11E6D, Fields, -1 }; }; struct UIChromieTimeExpansionInfoMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[11] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3488582, -1, 11, 11, 0x53011113, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[11] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3488582, -1, 11, 11, 0x53011113, Fields, -1 }; }; struct UICovenantAbilityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3502042, -1, 4, 4, 0x11D03E08, fields, 0); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3502042, -1, 4, 4, 0x11D03E08, Fields, 0 }; }; struct UICovenantPreviewMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[16] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3502043, 2, 16, 16, 0xDBB74257, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[16] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3502043, 2, 16, 16, 0xDBB74257, Fields, -1 }; }; struct UIDeadlyDebuffMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4579858, 1, 7, 7, 0xAD10C12D, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4579858, 1, 7, 7, 0xAD10C12D, Fields, -1 }; }; struct UIDungeonScoreRarityMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[12] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4065278, 0, 12, 12, 0xC8D50D38, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[12] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4065278, 0, 12, 12, 0xC8D50D38, Fields, -1 }; }; struct UIEventToastMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[21] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3946498, 6, 21, 21, 0x1B94BDE2, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[21] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3946498, 6, 21, 21, 0x1B94BDE2, Fields, -1 }; }; struct UIExpansionDisplayInfoMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1729547, 0, 6, 6, 0x64FFA4B9, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1729547, 0, 6, 6, 0x64FFA4B9, Fields, -1 }; }; struct UIExpansionDisplayInfoIconMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1729546, -1, 3, 3, 0xB5FB76BF, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1729546, -1, 3, 3, 0xB5FB76BF, Fields, -1 }; }; struct UIGenericWidgetDisplayMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4861207, 1, 6, 6, 0xDE7C26FF, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4861207, 1, 6, 6, 0xDE7C26FF, Fields, -1 }; }; struct UIModifiedInstanceMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4530951, -1, 8, 8, 0x1948D0B5, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4530951, -1, 8, 8, 0x1948D0B5, Fields, -1 }; }; struct UIScriptedAnimationEffectMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[26] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3556601, -1, 26, 26, 0xD9F17C48, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[26] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3556601, -1, 26, 26, 0xD9F17C48, Fields, -1 }; }; struct UISplashScreenMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[15] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2960122, -1, 15, 15, 0x5C67BB80, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[15] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2960122, -1, 15, 15, 0x5C67BB80, Fields, -1 }; }; struct UiCamFbackTransmogChrRaceMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1261406, -1, 5, 5, 0x7C47244B, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1261406, -1, 5, 5, 0x7C47244B, Fields, -1 }; }; struct UiCamFbackTransmogWeaponMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1261407, -1, 4, 4, 0xB6F384A3, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1261407, -1, 4, 4, 0xB6F384A3, Fields, -1 }; }; struct UiCameraMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1120287, -1, 9, 9, 0x2F44A4B5, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1120287, -1, 9, 9, 0x2F44A4B5, Fields, -1 }; }; struct UiCameraTypeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1120288, -1, 3, 3, 0xB158BEC0, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1120288, -1, 3, 3, 0xB158BEC0, Fields, -1 }; }; struct UiCanvasMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - }; - static constexpr DB2Meta instance(1989363, -1, 2, 2, 0xB4407510, fields, -1); - return &instance; - } + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1989363, -1, 2, 2, 0xB4407510, Fields, -1 }; }; struct UiCovenantDisplayInfoMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[12] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3509132, -1, 12, 12, 0x04B5154E, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[12] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3509132, -1, 12, 12, 0x04B5154E, Fields, -1 }; }; struct UiItemInteractionMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[18] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3182424, -1, 18, 18, 0xA6022569, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[18] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3182424, -1, 18, 18, 0xA6022569, Fields, -1 }; }; struct UiMapMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[13] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1957206, 1, 13, 13, 0x7A60CD63, fields, 2); - return &instance; - } + static constexpr DB2MetaField Fields[13] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1957206, 1, 13, 13, 0x7A60CD63, Fields, 2 }; }; struct UiMapArtMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1957202, -1, 3, 3, 0xED57CAFB, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1957202, -1, 3, 3, 0xED57CAFB, Fields, -1 }; }; struct UiMapArtStyleLayerMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1957208, -1, 9, 8, 0x7D2E349A, fields, 8); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1957208, -1, 9, 8, 0x7D2E349A, Fields, 8 }; }; struct UiMapArtTileMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1957210, -1, 5, 4, 0xB262E4E9, fields, 4); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1957210, -1, 5, 4, 0xB262E4E9, Fields, 4 }; }; struct UiMapAssignmentMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_FLOAT, 2, true }, - { FT_FLOAT, 2, true }, - { FT_FLOAT, 6, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1957219, 3, 10, 10, 0xFA228778, fields, 4); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_FLOAT, 2, true }, + { FT_FLOAT, 2, true }, + { FT_FLOAT, 6, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1957219, 3, 10, 10, 0xFA228778, Fields, 4 }; }; struct UiMapFogOfWarMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2006972, 0, 4, 4, 0x437EAE73, fields, 1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2006972, 0, 4, 4, 0x437EAE73, Fields, 1 }; }; struct UiMapFogOfWarVisualizationMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(2006973, -1, 3, 3, 0x6337502A, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2006973, -1, 3, 3, 0x6337502A, Fields, -1 }; }; struct UiMapGroupMemberMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - }; - static constexpr DB2Meta instance(1957204, -1, 5, 5, 0xBD83EBDC, fields, 1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1957204, -1, 5, 5, 0xBD83EBDC, Fields, 1 }; }; struct UiMapLinkMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_FLOAT, 2, true }, - { FT_FLOAT, 2, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2030690, 2, 10, 10, 0x11F6CF6C, fields, 3); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_FLOAT, 2, true }, + { FT_FLOAT, 2, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2030690, 2, 10, 10, 0x11F6CF6C, Fields, 3 }; }; struct UiMapXMapArtMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1957217, -1, 3, 2, 0x517CED19, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1957217, -1, 3, 2, 0x517CED19, Fields, 2 }; }; struct UiModelSceneMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, false }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1548215, 0, 3, 3, 0x97CD29E5, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1548215, 0, 3, 3, 0x97CD29E5, Fields, -1 }; }; struct UiModelSceneActorMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_FLOAT, 3, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1548214, 2, 10, 9, 0xA3270DEE, fields, 9); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_FLOAT, 3, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1548214, 2, 10, 9, 0xA3270DEE, Fields, 9 }; }; struct UiModelSceneActorDisplayMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(1548216, -1, 7, 7, 0xF4A979A2, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1548216, -1, 7, 7, 0xF4A979A2, Fields, -1 }; }; struct UiModelSceneCameraMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[16] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1548213, 3, 16, 15, 0x10F8A956, fields, 15); - return &instance; - } + static constexpr DB2MetaField Fields[16] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1548213, 3, 16, 15, 0x10F8A956, Fields, 15 }; }; struct UiPartyPoseMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1993323, -1, 6, 5, 0xCE023AA8, fields, 5); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1993323, -1, 6, 5, 0xCE023AA8, Fields, 5 }; }; struct UiQuestDetailsThemeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3448518, -1, 4, 4, 0xAF517528, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3448518, -1, 4, 4, 0xAF517528, Fields, -1 }; }; struct UiTextureAtlasMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(897470, -1, 4, 4, 0xA63B3475, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 897470, -1, 4, 4, 0xA63B3475, Fields, -1 }; }; struct UiTextureAtlasElementMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1989276, 1, 2, 2, 0x402AB955, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1989276, 1, 2, 2, 0x402AB955, Fields, -1 }; }; struct UiTextureAtlasMemberMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[12] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(897532, 1, 12, 12, 0x2BD64311, fields, 7); - return &instance; - } + static constexpr DB2MetaField Fields[12] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 897532, 1, 12, 12, 0x2BD64311, Fields, 7 }; }; struct UiTextureKitMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - }; - static constexpr DB2Meta instance(939159, -1, 1, 1, 0x5B96D427, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + + static constexpr DB2Meta Instance{ 939159, -1, 1, 1, 0x5B96D427, Fields, -1 }; }; struct UiWeeklyRewardMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4737221, 0, 4, 4, 0x03D3F36F, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4737221, 0, 4, 4, 0x03D3F36F, Fields, -1 }; }; struct UiWidgetMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1983278, 1, 9, 9, 0xD38CBB29, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1983278, 1, 9, 9, 0xD38CBB29, Fields, -1 }; }; struct UiWidgetConstantSourceMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1983639, -1, 3, 2, 0x4960D0A0, fields, 2); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1983639, -1, 3, 2, 0x4960D0A0, Fields, 2 }; }; struct UiWidgetDataSourceMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_SHORT, 1, false }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1983640, -1, 4, 3, 0x183FA098, fields, 3); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1983640, -1, 4, 3, 0x183FA098, Fields, 3 }; }; struct UiWidgetMapMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2322531, -1, 2, 1, 0xF9ADC09E, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2322531, -1, 2, 1, 0xF9ADC09E, Fields, 1 }; }; struct UiWidgetSetMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3055925, -1, 2, 2, 0x271866B0, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3055925, -1, 2, 2, 0x271866B0, Fields, -1 }; }; struct UiWidgetStringSourceMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING, 1, true }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1983641, -1, 3, 2, 0xA23E18E8, fields, 2); - return &instance; - } + { FT_STRING, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1983641, -1, 3, 2, 0xA23E18E8, Fields, 2 }; }; struct UiWidgetVisTypeDataReqMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2740907, 1, 6, 5, 0x5FB9338F, fields, 5); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2740907, 1, 6, 5, 0x5FB9338F, Fields, 5 }; }; struct UiWidgetVisualizationMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1983276, -1, 10, 10, 0xC3CDAA95, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1983276, -1, 10, 10, 0xC3CDAA95, Fields, -1 }; }; struct UiWidgetXWidgetSetMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3386363, -1, 2, 1, 0x7704E8C2, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3386363, -1, 2, 1, 0x7704E8C2, Fields, 1 }; }; struct UnitBloodMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1284821, -1, 6, 6, 0x0FF08208, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1284821, -1, 6, 6, 0x0FF08208, Fields, -1 }; }; struct UnitBloodLevelsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_BYTE, 3, false }, - }; - static constexpr DB2Meta instance(1268904, -1, 1, 1, 0xCF406CD7, fields, -1); - return &instance; - } + { FT_BYTE, 3, false }, + }; + + static constexpr DB2Meta Instance{ 1268904, -1, 1, 1, 0xCF406CD7, Fields, -1 }; }; struct UnitConditionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 8, false }, - { FT_BYTE, 8, true }, - { FT_INT, 8, true }, - }; - static constexpr DB2Meta instance(1120959, -1, 4, 4, 0x383D75FD, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 8, false }, + { FT_BYTE, 8, true }, + { FT_INT, 8, true }, + }; + + static constexpr DB2Meta Instance{ 1120959, -1, 4, 4, 0x383D75FD, Fields, -1 }; }; struct UnitPowerBarMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[16] = - { - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 6, true }, - { FT_INT, 6, true }, - }; - static constexpr DB2Meta instance(1237753, -1, 16, 16, 0xE815439F, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[16] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 6, true }, + { FT_INT, 6, true }, + }; + + static constexpr DB2Meta Instance{ 1237753, -1, 16, 16, 0xE815439F, Fields, -1 }; }; struct VehicleMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[18] = - { - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 8, false }, - { FT_SHORT, 3, false }, - }; - static constexpr DB2Meta instance(1368621, -1, 18, 18, 0xA0087D9F, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[18] = + { + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_SHORT, 8, false }, + { FT_SHORT, 3, false }, + }; + + static constexpr DB2Meta Instance{ 1368621, -1, 18, 18, 0xA0087D9F, Fields, -1 }; }; struct VehiclePOITypeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3311405, -1, 5, 5, 0xC5DB21A0, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3311405, -1, 5, 5, 0xC5DB21A0, Fields, -1 }; }; struct VehicleSeatMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[61] = - { - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, true }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, true }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - }; - static constexpr DB2Meta instance(1345447, -1, 61, 61, 0x50B6088F, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[61] = + { + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_SHORT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + { FT_SHORT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1345447, -1, 61, 61, 0x50B6088F, Fields, -1 }; }; struct VehicleUIIndSeatMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1279741, -1, 4, 3, 0xB64B1BD8, fields, 3); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1279741, -1, 4, 3, 0xB64B1BD8, Fields, 3 }; }; struct VehicleUIIndicatorMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1279740, -1, 1, 1, 0xB127675D, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1279740, -1, 1, 1, 0xB127675D, Fields, -1 }; }; struct VignetteMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(892861, -1, 10, 10, 0xEC171292, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 892861, -1, 10, 10, 0xEC171292, Fields, -1 }; }; struct VirtualAttachmentMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_SHORT, 1, true }, - }; - static constexpr DB2Meta instance(1634482, -1, 2, 2, 0x96EE7037, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_SHORT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1634482, -1, 2, 2, 0x96EE7037, Fields, -1 }; }; struct VirtualAttachmentCustomizationMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_SHORT, 1, true }, - { FT_INT, 1, true }, - { FT_SHORT, 1, true }, - }; - static constexpr DB2Meta instance(1634480, -1, 3, 3, 0xE7753F5C, fields, -1); - return &instance; - } + { FT_SHORT, 1, true }, + { FT_INT, 1, true }, + { FT_SHORT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1634480, -1, 3, 3, 0xE7753F5C, Fields, -1 }; }; struct VocalUISoundsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 2, false }, - }; - static constexpr DB2Meta instance(1267067, -1, 4, 4, 0x38987A6C, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 2, false }, + }; + + static constexpr DB2Meta Instance{ 1267067, -1, 4, 4, 0x38987A6C, Fields, -1 }; }; struct VoiceOverPriorityMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(4211372, -1, 3, 3, 0xA54084F0, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4211372, -1, 3, 3, 0xA54084F0, Fields, -1 }; }; struct VolumeFogConditionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3587230, -1, 4, 3, 0xA8C126ED, fields, 3); - return &instance; - } + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3587230, -1, 4, 3, 0xA8C126ED, Fields, 3 }; }; struct WMOAreaTableMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[15] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1355528, 1, 15, 15, 0xCD7AF6E0, fields, 2); - return &instance; - } + static constexpr DB2MetaField Fields[15] = + { + { FT_STRING, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1355528, 1, 15, 15, 0xCD7AF6E0, Fields, 2 }; }; struct WMOMinimapTextureMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1323241, -1, 5, 4, 0x2A1E430A, fields, 4); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1323241, -1, 5, 4, 0x2A1E430A, Fields, 4 }; }; struct WaterfallDataMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[19] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2565222, -1, 19, 19, 0x2169A76A, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[19] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2565222, -1, 19, 19, 0x2169A76A, Fields, -1 }; }; struct WaypointEdgeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2565258, -1, 5, 5, 0x0E663F8B, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2565258, -1, 5, 5, 0x0E663F8B, Fields, -1 }; }; struct WaypointNodeMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2565265, -1, 6, 6, 0xCE16D4A6, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2565265, -1, 6, 6, 0xCE16D4A6, Fields, -1 }; }; struct WaypointSafeLocsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_FLOAT, 3, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(2820850, -1, 2, 2, 0xEB35FD5C, fields, -1); - return &instance; - } + { FT_FLOAT, 3, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 2820850, -1, 2, 2, 0xEB35FD5C, Fields, -1 }; }; struct WbAccessControlListMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(879634, -1, 5, 5, 0xF9DAF847, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 879634, -1, 5, 5, 0xF9DAF847, Fields, -1 }; }; struct WeaponImpactSoundsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 11, false }, - { FT_INT, 11, false }, - { FT_INT, 11, false }, - { FT_INT, 11, false }, - }; - static constexpr DB2Meta instance(1267648, -1, 7, 7, 0xCC11734B, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 11, false }, + { FT_INT, 11, false }, + { FT_INT, 11, false }, + { FT_INT, 11, false }, + }; + + static constexpr DB2Meta Instance{ 1267648, -1, 7, 7, 0xCC11734B, Fields, -1 }; }; struct WeaponSwingSounds2Meta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - }; - static constexpr DB2Meta instance(1267068, -1, 3, 3, 0x7F3FBC0A, fields, -1); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1267068, -1, 3, 3, 0x7F3FBC0A, Fields, -1 }; }; struct WeaponTrailMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - }; - static constexpr DB2Meta instance(982461, -1, 9, 9, 0xCD83E5F9, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + }; + + static constexpr DB2Meta Instance{ 982461, -1, 9, 9, 0xCD83E5F9, Fields, -1 }; }; struct WeaponTrailModelDefMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1239843, -1, 3, 2, 0xC737CAD2, fields, 2); - return &instance; - } + { FT_INT, 1, true }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1239843, -1, 3, 2, 0xC737CAD2, Fields, 2 }; }; struct WeaponTrailParamMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1239842, -1, 10, 9, 0xDC6EF9B4, fields, 9); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1239842, -1, 10, 9, 0xDC6EF9B4, Fields, 9 }; }; struct WeatherMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[23] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 2, true }, - { FT_FLOAT, 3, true }, - }; - static constexpr DB2Meta instance(1343311, -1, 23, 23, 0x354627A5, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[23] = + { + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 2, true }, + { FT_FLOAT, 3, true }, + }; + + static constexpr DB2Meta Instance{ 1343311, -1, 23, 23, 0x354627A5, Fields, -1 }; }; struct WeatherXParticulateMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1965591, -1, 2, 1, 0xD6E739FE, fields, 1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1965591, -1, 2, 1, 0xD6E739FE, Fields, 1 }; }; struct WeeklyRewardChestThresholdMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(3580962, -1, 3, 3, 0xBEF159C4, fields, -1); - return &instance; - } + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 3580962, -1, 3, 3, 0xBEF159C4, Fields, -1 }; }; struct WindSettingsMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[10] = - { - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_FLOAT, 3, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(943871, -1, 10, 10, 0xE359B6F6, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[10] = + { + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 943871, -1, 10, 10, 0xE359B6F6, Fields, -1 }; }; struct WorldBossLockoutMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[2] = { - static constexpr DB2MetaField fields[2] = - { - { FT_STRING, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(975279, -1, 2, 2, 0x245D9086, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 975279, -1, 2, 2, 0x245D9086, Fields, -1 }; }; struct WorldChunkSoundsMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1267069, -1, 6, 6, 0x967E93B7, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1267069, -1, 6, 6, 0x967E93B7, Fields, -1 }; }; struct WorldEffectMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[6] = { - static constexpr DB2MetaField fields[6] = - { - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1343312, -1, 6, 6, 0x79117AA9, fields, -1); - return &instance; - } + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1343312, -1, 6, 6, 0x79117AA9, Fields, -1 }; }; struct WorldElapsedTimerMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static constexpr DB2Meta instance(1135240, -1, 3, 3, 0x30FF7138, fields, -1); - return &instance; - } + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1135240, -1, 3, 3, 0x30FF7138, Fields, -1 }; }; struct WorldMapOverlayMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[13] = - { - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 4, false }, - }; - static constexpr DB2Meta instance(1134579, 0, 13, 13, 0x00F18FC5, fields, 1); - return &instance; - } + static constexpr DB2MetaField Fields[13] = + { + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 4, false }, + }; + + static constexpr DB2Meta Instance{ 1134579, 0, 13, 13, 0x00F18FC5, Fields, 1 }; }; struct WorldMapOverlayTileMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[5] = { - static constexpr DB2MetaField fields[5] = - { - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1957212, -1, 5, 4, 0x341D6DB6, fields, 4); - return &instance; - } + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1957212, -1, 5, 4, 0x341D6DB6, Fields, 4 }; }; struct WorldShadowMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_FLOAT, 2, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_FLOAT, 1, true }, - }; - static constexpr DB2Meta instance(4680120, -1, 4, 4, 0x11BC9DDD, fields, -1); - return &instance; - } + { FT_FLOAT, 2, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 4680120, -1, 4, 4, 0x11BC9DDD, Fields, -1 }; }; struct WorldStateExpressionMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[1] = { - static constexpr DB2MetaField fields[1] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - }; - static constexpr DB2Meta instance(1332558, -1, 1, 1, 0x6695F131, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1332558, -1, 1, 1, 0x6695F131, Fields, -1 }; }; struct WorldStateZoneSoundsMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[9] = - { - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1266941, -1, 9, 9, 0x52C5ECE9, fields, -1); - return &instance; - } + static constexpr DB2MetaField Fields[9] = + { + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_INT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1266941, -1, 9, 9, 0x52C5ECE9, Fields, -1 }; }; struct World_PVP_AreaMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[7] = { - static constexpr DB2MetaField fields[7] = - { - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, true }, - }; - static constexpr DB2Meta instance(1310255, -1, 7, 7, 0xDB4FFDE0, fields, -1); - return &instance; - } + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, + { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1310255, -1, 7, 7, 0xDB4FFDE0, Fields, -1 }; }; struct ZoneIntroMusicTableMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, - { FT_SHORT, 1, false }, - }; - static constexpr DB2Meta instance(1310251, -1, 4, 4, 0xBEB0D6B9, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, false }, + { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, + }; + + static constexpr DB2Meta Instance{ 1310251, -1, 4, 4, 0xBEB0D6B9, Fields, -1 }; }; struct ZoneLightMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[8] = { - static constexpr DB2MetaField fields[8] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_BYTE, 1, false }, - { FT_FLOAT, 1, true }, - { FT_FLOAT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1310253, -1, 8, 8, 0xF6796C55, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, false }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1310253, -1, 8, 8, 0xF6796C55, Fields, -1 }; }; struct ZoneLightPointMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[3] = { - static constexpr DB2MetaField fields[3] = - { - { FT_FLOAT, 2, true }, - { FT_BYTE, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1310256, -1, 3, 2, 0x99D8C676, fields, 2); - return &instance; - } + { FT_FLOAT, 2, true }, + { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1310256, -1, 3, 2, 0x99D8C676, Fields, 2 }; }; struct ZoneMusicMeta { - static DB2Meta const* Instance() + static constexpr DB2MetaField Fields[4] = { - static constexpr DB2MetaField fields[4] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 2, false }, - { FT_INT, 2, false }, - { FT_INT, 2, false }, - }; - static constexpr DB2Meta instance(1310254, -1, 4, 4, 0x7894E43E, fields, -1); - return &instance; - } + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 2, false }, + { FT_INT, 2, false }, + { FT_INT, 2, false }, + }; + + static constexpr DB2Meta Instance{ 1310254, -1, 4, 4, 0x7894E43E, Fields, -1 }; }; struct ZoneStoryMeta { - static DB2Meta const* Instance() - { - static constexpr DB2MetaField fields[4] = - { - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, false }, - { FT_INT, 1, true }, - }; - static constexpr DB2Meta instance(1797864, -1, 4, 3, 0x4C6C5CD7, fields, 3); - return &instance; - } + static constexpr DB2MetaField Fields[4] = + { + { FT_BYTE, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_INT, 1, true }, + }; + + static constexpr DB2Meta Instance{ 1797864, -1, 4, 3, 0x4C6C5CD7, Fields, 3 }; }; #endif // DB2Metadata_h__ diff --git a/src/server/game/DataStores/DB2Stores.cpp b/src/server/game/DataStores/DB2Stores.cpp index c184584e7d3..7b082c8fa3b 100644 --- a/src/server/game/DataStores/DB2Stores.cpp +++ b/src/server/game/DataStores/DB2Stores.cpp @@ -40,326 +40,326 @@ #undef GetClassName #endif -DB2Storage<AchievementEntry> sAchievementStore("Achievement.db2", AchievementLoadInfo::Instance()); -DB2Storage<Achievement_CategoryEntry> sAchievementCategoryStore("Achievement_Category.db2", AchievementCategoryLoadInfo::Instance()); -DB2Storage<AdventureJournalEntry> sAdventureJournalStore("AdventureJournal.db2", AdventureJournalLoadInfo::Instance()); -DB2Storage<AdventureMapPOIEntry> sAdventureMapPOIStore("AdventureMapPOI.db2", AdventureMapPoiLoadInfo::Instance()); -DB2Storage<AnimationDataEntry> sAnimationDataStore("AnimationData.db2", AnimationDataLoadInfo::Instance()); -DB2Storage<AnimKitEntry> sAnimKitStore("AnimKit.db2", AnimKitLoadInfo::Instance()); -DB2Storage<AreaGroupMemberEntry> sAreaGroupMemberStore("AreaGroupMember.db2", AreaGroupMemberLoadInfo::Instance()); -DB2Storage<AreaTableEntry> sAreaTableStore("AreaTable.db2", AreaTableLoadInfo::Instance()); -DB2Storage<AreaTriggerEntry> sAreaTriggerStore("AreaTrigger.db2", AreaTriggerLoadInfo::Instance()); -DB2Storage<ArmorLocationEntry> sArmorLocationStore("ArmorLocation.db2", ArmorLocationLoadInfo::Instance()); -DB2Storage<ArtifactEntry> sArtifactStore("Artifact.db2", ArtifactLoadInfo::Instance()); -DB2Storage<ArtifactAppearanceEntry> sArtifactAppearanceStore("ArtifactAppearance.db2", ArtifactAppearanceLoadInfo::Instance()); -DB2Storage<ArtifactAppearanceSetEntry> sArtifactAppearanceSetStore("ArtifactAppearanceSet.db2", ArtifactAppearanceSetLoadInfo::Instance()); -DB2Storage<ArtifactCategoryEntry> sArtifactCategoryStore("ArtifactCategory.db2", ArtifactCategoryLoadInfo::Instance()); -DB2Storage<ArtifactPowerEntry> sArtifactPowerStore("ArtifactPower.db2", ArtifactPowerLoadInfo::Instance()); -DB2Storage<ArtifactPowerLinkEntry> sArtifactPowerLinkStore("ArtifactPowerLink.db2", ArtifactPowerLinkLoadInfo::Instance()); -DB2Storage<ArtifactPowerPickerEntry> sArtifactPowerPickerStore("ArtifactPowerPicker.db2", ArtifactPowerPickerLoadInfo::Instance()); -DB2Storage<ArtifactPowerRankEntry> sArtifactPowerRankStore("ArtifactPowerRank.db2", ArtifactPowerRankLoadInfo::Instance()); -DB2Storage<ArtifactQuestXPEntry> sArtifactQuestXPStore("ArtifactQuestXP.db2", ArtifactQuestXpLoadInfo::Instance()); -DB2Storage<ArtifactTierEntry> sArtifactTierStore("ArtifactTier.db2", ArtifactTierLoadInfo::Instance()); -DB2Storage<ArtifactUnlockEntry> sArtifactUnlockStore("ArtifactUnlock.db2", ArtifactUnlockLoadInfo::Instance()); -DB2Storage<AuctionHouseEntry> sAuctionHouseStore("AuctionHouse.db2", AuctionHouseLoadInfo::Instance()); -DB2Storage<AzeriteEmpoweredItemEntry> sAzeriteEmpoweredItemStore("AzeriteEmpoweredItem.db2", AzeriteEmpoweredItemLoadInfo::Instance()); -DB2Storage<AzeriteEssenceEntry> sAzeriteEssenceStore("AzeriteEssence.db2", AzeriteEssenceLoadInfo::Instance()); -DB2Storage<AzeriteEssencePowerEntry> sAzeriteEssencePowerStore("AzeriteEssencePower.db2", AzeriteEssencePowerLoadInfo::Instance()); -DB2Storage<AzeriteItemEntry> sAzeriteItemStore("AzeriteItem.db2", AzeriteItemLoadInfo::Instance()); -DB2Storage<AzeriteItemMilestonePowerEntry> sAzeriteItemMilestonePowerStore("AzeriteItemMilestonePower.db2", AzeriteItemMilestonePowerLoadInfo::Instance()); -DB2Storage<AzeriteKnowledgeMultiplierEntry> sAzeriteKnowledgeMultiplierStore("AzeriteKnowledgeMultiplier.db2", AzeriteKnowledgeMultiplierLoadInfo::Instance()); -DB2Storage<AzeriteLevelInfoEntry> sAzeriteLevelInfoStore("AzeriteLevelInfo.db2", AzeriteLevelInfoLoadInfo::Instance()); -DB2Storage<AzeritePowerEntry> sAzeritePowerStore("AzeritePower.db2", AzeritePowerLoadInfo::Instance()); -DB2Storage<AzeritePowerSetMemberEntry> sAzeritePowerSetMemberStore("AzeritePowerSetMember.db2", AzeritePowerSetMemberLoadInfo::Instance()); -DB2Storage<AzeriteTierUnlockEntry> sAzeriteTierUnlockStore("AzeriteTierUnlock.db2", AzeriteTierUnlockLoadInfo::Instance()); -DB2Storage<AzeriteTierUnlockSetEntry> sAzeriteTierUnlockSetStore("AzeriteTierUnlockSet.db2", AzeriteTierUnlockSetLoadInfo::Instance()); -DB2Storage<AzeriteUnlockMappingEntry> sAzeriteUnlockMappingStore("AzeriteUnlockMapping.db2", AzeriteUnlockMappingLoadInfo::Instance()); -DB2Storage<BankBagSlotPricesEntry> sBankBagSlotPricesStore("BankBagSlotPrices.db2", BankBagSlotPricesLoadInfo::Instance()); -DB2Storage<BannedAddonsEntry> sBannedAddonsStore("BannedAddons.db2", BannedAddonsLoadInfo::Instance()); -DB2Storage<BarberShopStyleEntry> sBarberShopStyleStore("BarberShopStyle.db2", BarberShopStyleLoadInfo::Instance()); -DB2Storage<BattlePetBreedQualityEntry> sBattlePetBreedQualityStore("BattlePetBreedQuality.db2", BattlePetBreedQualityLoadInfo::Instance()); -DB2Storage<BattlePetBreedStateEntry> sBattlePetBreedStateStore("BattlePetBreedState.db2", BattlePetBreedStateLoadInfo::Instance()); -DB2Storage<BattlePetSpeciesEntry> sBattlePetSpeciesStore("BattlePetSpecies.db2", BattlePetSpeciesLoadInfo::Instance()); -DB2Storage<BattlePetSpeciesStateEntry> sBattlePetSpeciesStateStore("BattlePetSpeciesState.db2", BattlePetSpeciesStateLoadInfo::Instance()); -DB2Storage<BattlemasterListEntry> sBattlemasterListStore("BattlemasterList.db2", BattlemasterListLoadInfo::Instance()); -DB2Storage<BroadcastTextEntry> sBroadcastTextStore("BroadcastText.db2", BroadcastTextLoadInfo::Instance()); -DB2Storage<BroadcastTextDurationEntry> sBroadcastTextDurationStore("BroadcastTextDuration.db2", BroadcastTextDurationLoadInfo::Instance()); -DB2Storage<Cfg_RegionsEntry> sCfgRegionsStore("Cfg_Regions.db2", CfgRegionsLoadInfo::Instance()); -DB2Storage<CharTitlesEntry> sCharTitlesStore("CharTitles.db2", CharTitlesLoadInfo::Instance()); -DB2Storage<CharacterLoadoutEntry> sCharacterLoadoutStore("CharacterLoadout.db2", CharacterLoadoutLoadInfo::Instance()); -DB2Storage<CharacterLoadoutItemEntry> sCharacterLoadoutItemStore("CharacterLoadoutItem.db2", CharacterLoadoutItemLoadInfo::Instance()); -DB2Storage<ChatChannelsEntry> sChatChannelsStore("ChatChannels.db2", ChatChannelsLoadInfo::Instance()); -DB2Storage<ChrClassUIDisplayEntry> sChrClassUIDisplayStore("ChrClassUIDisplay.db2", ChrClassUiDisplayLoadInfo::Instance()); -DB2Storage<ChrClassesEntry> sChrClassesStore("ChrClasses.db2", ChrClassesLoadInfo::Instance()); -DB2Storage<ChrClassesXPowerTypesEntry> sChrClassesXPowerTypesStore("ChrClassesXPowerTypes.db2", ChrClassesXPowerTypesLoadInfo::Instance()); -DB2Storage<ChrCustomizationChoiceEntry> sChrCustomizationChoiceStore("ChrCustomizationChoice.db2", ChrCustomizationChoiceLoadInfo::Instance()); -DB2Storage<ChrCustomizationDisplayInfoEntry> sChrCustomizationDisplayInfoStore("ChrCustomizationDisplayInfo.db2", ChrCustomizationDisplayInfoLoadInfo::Instance()); -DB2Storage<ChrCustomizationElementEntry> sChrCustomizationElementStore("ChrCustomizationElement.db2", ChrCustomizationElementLoadInfo::Instance()); -DB2Storage<ChrCustomizationOptionEntry> sChrCustomizationOptionStore("ChrCustomizationOption.db2", ChrCustomizationOptionLoadInfo::Instance()); -DB2Storage<ChrCustomizationReqEntry> sChrCustomizationReqStore("ChrCustomizationReq.db2", ChrCustomizationReqLoadInfo::Instance()); -DB2Storage<ChrCustomizationReqChoiceEntry> sChrCustomizationReqChoiceStore("ChrCustomizationReqChoice.db2", ChrCustomizationReqChoiceLoadInfo::Instance()); -DB2Storage<ChrModelEntry> sChrModelStore("ChrModel.db2", ChrModelLoadInfo::Instance()); -DB2Storage<ChrRaceXChrModelEntry> sChrRaceXChrModelStore("ChrRaceXChrModel.db2", ChrRaceXChrModelLoadInfo::Instance()); -DB2Storage<ChrRacesEntry> sChrRacesStore("ChrRaces.db2", ChrRacesLoadInfo::Instance()); -DB2Storage<ChrSpecializationEntry> sChrSpecializationStore("ChrSpecialization.db2", ChrSpecializationLoadInfo::Instance()); -DB2Storage<CinematicCameraEntry> sCinematicCameraStore("CinematicCamera.db2", CinematicCameraLoadInfo::Instance()); -DB2Storage<CinematicSequencesEntry> sCinematicSequencesStore("CinematicSequences.db2", CinematicSequencesLoadInfo::Instance()); -DB2Storage<ContentTuningEntry> sContentTuningStore("ContentTuning.db2", ContentTuningLoadInfo::Instance()); -DB2Storage<ContentTuningXExpectedEntry> sContentTuningXExpectedStore("ContentTuningXExpected.db2", ContentTuningXExpectedLoadInfo::Instance()); -DB2Storage<ConversationLineEntry> sConversationLineStore("ConversationLine.db2", ConversationLineLoadInfo::Instance()); -DB2Storage<CorruptionEffectsEntry> sCorruptionEffectsStore("CorruptionEffects.db2", CorruptionEffectsLoadInfo::Instance()); -DB2Storage<CreatureDisplayInfoEntry> sCreatureDisplayInfoStore("CreatureDisplayInfo.db2", CreatureDisplayInfoLoadInfo::Instance()); -DB2Storage<CreatureDisplayInfoExtraEntry> sCreatureDisplayInfoExtraStore("CreatureDisplayInfoExtra.db2", CreatureDisplayInfoExtraLoadInfo::Instance()); -DB2Storage<CreatureFamilyEntry> sCreatureFamilyStore("CreatureFamily.db2", CreatureFamilyLoadInfo::Instance()); -DB2Storage<CreatureModelDataEntry> sCreatureModelDataStore("CreatureModelData.db2", CreatureModelDataLoadInfo::Instance()); -DB2Storage<CreatureTypeEntry> sCreatureTypeStore("CreatureType.db2", CreatureTypeLoadInfo::Instance()); -DB2Storage<CriteriaEntry> sCriteriaStore("Criteria.db2", CriteriaLoadInfo::Instance()); -DB2Storage<CriteriaTreeEntry> sCriteriaTreeStore("CriteriaTree.db2", CriteriaTreeLoadInfo::Instance()); -DB2Storage<CurrencyContainerEntry> sCurrencyContainerStore("CurrencyContainer.db2", CurrencyContainerLoadInfo::Instance()); -DB2Storage<CurrencyTypesEntry> sCurrencyTypesStore("CurrencyTypes.db2", CurrencyTypesLoadInfo::Instance()); -DB2Storage<CurveEntry> sCurveStore("Curve.db2", CurveLoadInfo::Instance()); -DB2Storage<CurvePointEntry> sCurvePointStore("CurvePoint.db2", CurvePointLoadInfo::Instance()); -DB2Storage<DestructibleModelDataEntry> sDestructibleModelDataStore("DestructibleModelData.db2", DestructibleModelDataLoadInfo::Instance()); -DB2Storage<DifficultyEntry> sDifficultyStore("Difficulty.db2", DifficultyLoadInfo::Instance()); -DB2Storage<DungeonEncounterEntry> sDungeonEncounterStore("DungeonEncounter.db2", DungeonEncounterLoadInfo::Instance()); -DB2Storage<DurabilityCostsEntry> sDurabilityCostsStore("DurabilityCosts.db2", DurabilityCostsLoadInfo::Instance()); -DB2Storage<DurabilityQualityEntry> sDurabilityQualityStore("DurabilityQuality.db2", DurabilityQualityLoadInfo::Instance()); -DB2Storage<EmotesEntry> sEmotesStore("Emotes.db2", EmotesLoadInfo::Instance()); -DB2Storage<EmotesTextEntry> sEmotesTextStore("EmotesText.db2", EmotesTextLoadInfo::Instance()); -DB2Storage<EmotesTextSoundEntry> sEmotesTextSoundStore("EmotesTextSound.db2", EmotesTextSoundLoadInfo::Instance()); -DB2Storage<ExpectedStatEntry> sExpectedStatStore("ExpectedStat.db2", ExpectedStatLoadInfo::Instance()); -DB2Storage<ExpectedStatModEntry> sExpectedStatModStore("ExpectedStatMod.db2", ExpectedStatModLoadInfo::Instance()); -DB2Storage<FactionEntry> sFactionStore("Faction.db2", FactionLoadInfo::Instance()); -DB2Storage<FactionTemplateEntry> sFactionTemplateStore("FactionTemplate.db2", FactionTemplateLoadInfo::Instance()); -DB2Storage<FriendshipRepReactionEntry> sFriendshipRepReactionStore("FriendshipRepReaction.db2", FriendshipRepReactionLoadInfo::Instance()); -DB2Storage<FriendshipReputationEntry> sFriendshipReputationStore("FriendshipReputation.db2", FriendshipReputationLoadInfo::Instance()); -DB2Storage<GameObjectArtKitEntry> sGameObjectArtKitStore("GameObjectArtKit.db2", GameobjectArtKitLoadInfo::Instance()); -DB2Storage<GameObjectDisplayInfoEntry> sGameObjectDisplayInfoStore("GameObjectDisplayInfo.db2", GameobjectDisplayInfoLoadInfo::Instance()); -DB2Storage<GameObjectsEntry> sGameObjectsStore("GameObjects.db2", GameobjectsLoadInfo::Instance()); -DB2Storage<GarrAbilityEntry> sGarrAbilityStore("GarrAbility.db2", GarrAbilityLoadInfo::Instance()); -DB2Storage<GarrBuildingEntry> sGarrBuildingStore("GarrBuilding.db2", GarrBuildingLoadInfo::Instance()); -DB2Storage<GarrBuildingPlotInstEntry> sGarrBuildingPlotInstStore("GarrBuildingPlotInst.db2", GarrBuildingPlotInstLoadInfo::Instance()); -DB2Storage<GarrClassSpecEntry> sGarrClassSpecStore("GarrClassSpec.db2", GarrClassSpecLoadInfo::Instance()); -DB2Storage<GarrFollowerEntry> sGarrFollowerStore("GarrFollower.db2", GarrFollowerLoadInfo::Instance()); -DB2Storage<GarrFollowerXAbilityEntry> sGarrFollowerXAbilityStore("GarrFollowerXAbility.db2", GarrFollowerXAbilityLoadInfo::Instance()); -DB2Storage<GarrMissionEntry> sGarrMissionStore("GarrMission.db2", GarrMissionLoadInfo::Instance()); -DB2Storage<GarrPlotEntry> sGarrPlotStore("GarrPlot.db2", GarrPlotLoadInfo::Instance()); -DB2Storage<GarrPlotBuildingEntry> sGarrPlotBuildingStore("GarrPlotBuilding.db2", GarrPlotBuildingLoadInfo::Instance()); -DB2Storage<GarrPlotInstanceEntry> sGarrPlotInstanceStore("GarrPlotInstance.db2", GarrPlotInstanceLoadInfo::Instance()); -DB2Storage<GarrSiteLevelEntry> sGarrSiteLevelStore("GarrSiteLevel.db2", GarrSiteLevelLoadInfo::Instance()); -DB2Storage<GarrSiteLevelPlotInstEntry> sGarrSiteLevelPlotInstStore("GarrSiteLevelPlotInst.db2", GarrSiteLevelPlotInstLoadInfo::Instance()); -DB2Storage<GarrTalentTreeEntry> sGarrTalentTreeStore("GarrTalentTree.db2", GarrTalentTreeLoadInfo::Instance()); -DB2Storage<GemPropertiesEntry> sGemPropertiesStore("GemProperties.db2", GemPropertiesLoadInfo::Instance()); -DB2Storage<GlobalCurveEntry> sGlobalCurveStore("GlobalCurve.db2", GlobalCurveLoadInfo::Instance()); -DB2Storage<GlyphBindableSpellEntry> sGlyphBindableSpellStore("GlyphBindableSpell.db2", GlyphBindableSpellLoadInfo::Instance()); -DB2Storage<GlyphPropertiesEntry> sGlyphPropertiesStore("GlyphProperties.db2", GlyphPropertiesLoadInfo::Instance()); -DB2Storage<GlyphRequiredSpecEntry> sGlyphRequiredSpecStore("GlyphRequiredSpec.db2", GlyphRequiredSpecLoadInfo::Instance()); -DB2Storage<GossipNPCOptionEntry> sGossipNPCOptionStore("GossipNPCOption.db2", GossipNpcOptionLoadInfo::Instance()); -DB2Storage<GuildColorBackgroundEntry> sGuildColorBackgroundStore("GuildColorBackground.db2", GuildColorBackgroundLoadInfo::Instance()); -DB2Storage<GuildColorBorderEntry> sGuildColorBorderStore("GuildColorBorder.db2", GuildColorBorderLoadInfo::Instance()); -DB2Storage<GuildColorEmblemEntry> sGuildColorEmblemStore("GuildColorEmblem.db2", GuildColorEmblemLoadInfo::Instance()); -DB2Storage<GuildPerkSpellsEntry> sGuildPerkSpellsStore("GuildPerkSpells.db2", GuildPerkSpellsLoadInfo::Instance()); -DB2Storage<HeirloomEntry> sHeirloomStore("Heirloom.db2", HeirloomLoadInfo::Instance()); -DB2Storage<HolidaysEntry> sHolidaysStore("Holidays.db2", HolidaysLoadInfo::Instance()); -DB2Storage<ImportPriceArmorEntry> sImportPriceArmorStore("ImportPriceArmor.db2", ImportPriceArmorLoadInfo::Instance()); -DB2Storage<ImportPriceQualityEntry> sImportPriceQualityStore("ImportPriceQuality.db2", ImportPriceQualityLoadInfo::Instance()); -DB2Storage<ImportPriceShieldEntry> sImportPriceShieldStore("ImportPriceShield.db2", ImportPriceShieldLoadInfo::Instance()); -DB2Storage<ImportPriceWeaponEntry> sImportPriceWeaponStore("ImportPriceWeapon.db2", ImportPriceWeaponLoadInfo::Instance()); -DB2Storage<ItemAppearanceEntry> sItemAppearanceStore("ItemAppearance.db2", ItemAppearanceLoadInfo::Instance()); -DB2Storage<ItemArmorQualityEntry> sItemArmorQualityStore("ItemArmorQuality.db2", ItemArmorQualityLoadInfo::Instance()); -DB2Storage<ItemArmorShieldEntry> sItemArmorShieldStore("ItemArmorShield.db2", ItemArmorShieldLoadInfo::Instance()); -DB2Storage<ItemArmorTotalEntry> sItemArmorTotalStore("ItemArmorTotal.db2", ItemArmorTotalLoadInfo::Instance()); -DB2Storage<ItemBagFamilyEntry> sItemBagFamilyStore("ItemBagFamily.db2", ItemBagFamilyLoadInfo::Instance()); -DB2Storage<ItemBonusEntry> sItemBonusStore("ItemBonus.db2", ItemBonusLoadInfo::Instance()); -DB2Storage<ItemBonusListLevelDeltaEntry> sItemBonusListLevelDeltaStore("ItemBonusListLevelDelta.db2", ItemBonusListLevelDeltaLoadInfo::Instance()); -DB2Storage<ItemBonusTreeNodeEntry> sItemBonusTreeNodeStore("ItemBonusTreeNode.db2", ItemBonusTreeNodeLoadInfo::Instance()); -DB2Storage<ItemChildEquipmentEntry> sItemChildEquipmentStore("ItemChildEquipment.db2", ItemChildEquipmentLoadInfo::Instance()); -DB2Storage<ItemClassEntry> sItemClassStore("ItemClass.db2", ItemClassLoadInfo::Instance()); -DB2Storage<ItemCurrencyCostEntry> sItemCurrencyCostStore("ItemCurrencyCost.db2", ItemCurrencyCostLoadInfo::Instance()); -DB2Storage<ItemDamageAmmoEntry> sItemDamageAmmoStore("ItemDamageAmmo.db2", ItemDamageAmmoLoadInfo::Instance()); -DB2Storage<ItemDamageOneHandEntry> sItemDamageOneHandStore("ItemDamageOneHand.db2", ItemDamageOneHandLoadInfo::Instance()); -DB2Storage<ItemDamageOneHandCasterEntry> sItemDamageOneHandCasterStore("ItemDamageOneHandCaster.db2", ItemDamageOneHandCasterLoadInfo::Instance()); -DB2Storage<ItemDamageTwoHandEntry> sItemDamageTwoHandStore("ItemDamageTwoHand.db2", ItemDamageTwoHandLoadInfo::Instance()); -DB2Storage<ItemDamageTwoHandCasterEntry> sItemDamageTwoHandCasterStore("ItemDamageTwoHandCaster.db2", ItemDamageTwoHandCasterLoadInfo::Instance()); -DB2Storage<ItemDisenchantLootEntry> sItemDisenchantLootStore("ItemDisenchantLoot.db2", ItemDisenchantLootLoadInfo::Instance()); -DB2Storage<ItemEffectEntry> sItemEffectStore("ItemEffect.db2", ItemEffectLoadInfo::Instance()); -DB2Storage<ItemEntry> sItemStore("Item.db2", ItemLoadInfo::Instance()); -DB2Storage<ItemExtendedCostEntry> sItemExtendedCostStore("ItemExtendedCost.db2", ItemExtendedCostLoadInfo::Instance()); -DB2Storage<ItemLevelSelectorEntry> sItemLevelSelectorStore("ItemLevelSelector.db2", ItemLevelSelectorLoadInfo::Instance()); -DB2Storage<ItemLevelSelectorQualityEntry> sItemLevelSelectorQualityStore("ItemLevelSelectorQuality.db2", ItemLevelSelectorQualityLoadInfo::Instance()); -DB2Storage<ItemLevelSelectorQualitySetEntry> sItemLevelSelectorQualitySetStore("ItemLevelSelectorQualitySet.db2", ItemLevelSelectorQualitySetLoadInfo::Instance()); -DB2Storage<ItemLimitCategoryEntry> sItemLimitCategoryStore("ItemLimitCategory.db2", ItemLimitCategoryLoadInfo::Instance()); -DB2Storage<ItemLimitCategoryConditionEntry> sItemLimitCategoryConditionStore("ItemLimitCategoryCondition.db2", ItemLimitCategoryConditionLoadInfo::Instance()); -DB2Storage<ItemModifiedAppearanceEntry> sItemModifiedAppearanceStore("ItemModifiedAppearance.db2", ItemModifiedAppearanceLoadInfo::Instance()); -DB2Storage<ItemModifiedAppearanceExtraEntry> sItemModifiedAppearanceExtraStore("ItemModifiedAppearanceExtra.db2", ItemModifiedAppearanceExtraLoadInfo::Instance()); -DB2Storage<ItemNameDescriptionEntry> sItemNameDescriptionStore("ItemNameDescription.db2", ItemNameDescriptionLoadInfo::Instance()); -DB2Storage<ItemPriceBaseEntry> sItemPriceBaseStore("ItemPriceBase.db2", ItemPriceBaseLoadInfo::Instance()); -DB2Storage<ItemSearchNameEntry> sItemSearchNameStore("ItemSearchName.db2", ItemSearchNameLoadInfo::Instance()); -DB2Storage<ItemSetEntry> sItemSetStore("ItemSet.db2", ItemSetLoadInfo::Instance()); -DB2Storage<ItemSetSpellEntry> sItemSetSpellStore("ItemSetSpell.db2", ItemSetSpellLoadInfo::Instance()); -DB2Storage<ItemSparseEntry> sItemSparseStore("ItemSparse.db2", ItemSparseLoadInfo::Instance()); -DB2Storage<ItemSpecEntry> sItemSpecStore("ItemSpec.db2", ItemSpecLoadInfo::Instance()); -DB2Storage<ItemSpecOverrideEntry> sItemSpecOverrideStore("ItemSpecOverride.db2", ItemSpecOverrideLoadInfo::Instance()); -DB2Storage<ItemXBonusTreeEntry> sItemXBonusTreeStore("ItemXBonusTree.db2", ItemXBonusTreeLoadInfo::Instance()); -DB2Storage<ItemXItemEffectEntry> sItemXItemEffectStore("ItemXItemEffect.db2", ItemXItemEffectLoadInfo::Instance()); -DB2Storage<JournalEncounterEntry> sJournalEncounterStore("JournalEncounter.db2", JournalEncounterLoadInfo::Instance()); -DB2Storage<JournalEncounterSectionEntry> sJournalEncounterSectionStore("JournalEncounterSection.db2", JournalEncounterSectionLoadInfo::Instance()); -DB2Storage<JournalInstanceEntry> sJournalInstanceStore("JournalInstance.db2", JournalInstanceLoadInfo::Instance()); -DB2Storage<JournalTierEntry> sJournalTierStore("JournalTier.db2", JournalTierLoadInfo::Instance()); -DB2Storage<KeychainEntry> sKeychainStore("Keychain.db2", KeychainLoadInfo::Instance()); -DB2Storage<KeystoneAffixEntry> sKeystoneAffixStore("KeystoneAffix.db2", KeystoneAffixLoadInfo::Instance()); -DB2Storage<LanguageWordsEntry> sLanguageWordsStore("LanguageWords.db2", LanguageWordsLoadInfo::Instance()); -DB2Storage<LanguagesEntry> sLanguagesStore("Languages.db2", LanguagesLoadInfo::Instance()); -DB2Storage<LFGDungeonsEntry> sLFGDungeonsStore("LFGDungeons.db2", LfgDungeonsLoadInfo::Instance()); -DB2Storage<LightEntry> sLightStore("Light.db2", LightLoadInfo::Instance()); -DB2Storage<LiquidTypeEntry> sLiquidTypeStore("LiquidType.db2", LiquidTypeLoadInfo::Instance()); -DB2Storage<LockEntry> sLockStore("Lock.db2", LockLoadInfo::Instance()); -DB2Storage<MailTemplateEntry> sMailTemplateStore("MailTemplate.db2", MailTemplateLoadInfo::Instance()); -DB2Storage<MapEntry> sMapStore("Map.db2", MapLoadInfo::Instance()); -DB2Storage<MapChallengeModeEntry> sMapChallengeModeStore("MapChallengeMode.db2", MapChallengeModeLoadInfo::Instance()); -DB2Storage<MapDifficultyEntry> sMapDifficultyStore("MapDifficulty.db2", MapDifficultyLoadInfo::Instance()); -DB2Storage<MapDifficultyXConditionEntry> sMapDifficultyXConditionStore("MapDifficultyXCondition.db2", MapDifficultyXConditionLoadInfo::Instance()); -DB2Storage<MawPowerEntry> sMawPowerStore("MawPower.db2", MawPowerLoadInfo::Instance()); -DB2Storage<ModifierTreeEntry> sModifierTreeStore("ModifierTree.db2", ModifierTreeLoadInfo::Instance()); -DB2Storage<MountCapabilityEntry> sMountCapabilityStore("MountCapability.db2", MountCapabilityLoadInfo::Instance()); -DB2Storage<MountEntry> sMountStore("Mount.db2", MountLoadInfo::Instance()); -DB2Storage<MountTypeXCapabilityEntry> sMountTypeXCapabilityStore("MountTypeXCapability.db2", MountTypeXCapabilityLoadInfo::Instance()); -DB2Storage<MountXDisplayEntry> sMountXDisplayStore("MountXDisplay.db2", MountXDisplayLoadInfo::Instance()); -DB2Storage<MovieEntry> sMovieStore("Movie.db2", MovieLoadInfo::Instance()); -DB2Storage<NameGenEntry> sNameGenStore("NameGen.db2", NameGenLoadInfo::Instance()); -DB2Storage<NamesProfanityEntry> sNamesProfanityStore("NamesProfanity.db2", NamesProfanityLoadInfo::Instance()); -DB2Storage<NamesReservedEntry> sNamesReservedStore("NamesReserved.db2", NamesReservedLoadInfo::Instance()); -DB2Storage<NamesReservedLocaleEntry> sNamesReservedLocaleStore("NamesReservedLocale.db2", NamesReservedLocaleLoadInfo::Instance()); -DB2Storage<NumTalentsAtLevelEntry> sNumTalentsAtLevelStore("NumTalentsAtLevel.db2", NumTalentsAtLevelLoadInfo::Instance()); -DB2Storage<OverrideSpellDataEntry> sOverrideSpellDataStore("OverrideSpellData.db2", OverrideSpellDataLoadInfo::Instance()); -DB2Storage<ParagonReputationEntry> sParagonReputationStore("ParagonReputation.db2", ParagonReputationLoadInfo::Instance()); -DB2Storage<PhaseEntry> sPhaseStore("Phase.db2", PhaseLoadInfo::Instance()); -DB2Storage<PhaseXPhaseGroupEntry> sPhaseXPhaseGroupStore("PhaseXPhaseGroup.db2", PhaseXPhaseGroupLoadInfo::Instance()); -DB2Storage<PlayerConditionEntry> sPlayerConditionStore("PlayerCondition.db2", PlayerConditionLoadInfo::Instance()); -DB2Storage<PowerDisplayEntry> sPowerDisplayStore("PowerDisplay.db2", PowerDisplayLoadInfo::Instance()); -DB2Storage<PowerTypeEntry> sPowerTypeStore("PowerType.db2", PowerTypeLoadInfo::Instance()); -DB2Storage<PrestigeLevelInfoEntry> sPrestigeLevelInfoStore("PrestigeLevelInfo.db2", PrestigeLevelInfoLoadInfo::Instance()); -DB2Storage<PVPDifficultyEntry> sPVPDifficultyStore("PVPDifficulty.db2", PvpDifficultyLoadInfo::Instance()); -DB2Storage<PVPItemEntry> sPVPItemStore("PVPItem.db2", PvpItemLoadInfo::Instance()); -DB2Storage<PvpTalentEntry> sPvpTalentStore("PvpTalent.db2", PvpTalentLoadInfo::Instance()); -DB2Storage<PvpTalentCategoryEntry> sPvpTalentCategoryStore("PvpTalentCategory.db2", PvpTalentCategoryLoadInfo::Instance()); -DB2Storage<PvpTalentSlotUnlockEntry> sPvpTalentSlotUnlockStore("PvpTalentSlotUnlock.db2", PvpTalentSlotUnlockLoadInfo::Instance()); -DB2Storage<PvpTierEntry> sPvpTierStore("PvpTier.db2", PvpTierLoadInfo::Instance()); -DB2Storage<QuestFactionRewardEntry> sQuestFactionRewardStore("QuestFactionReward.db2", QuestFactionRewardLoadInfo::Instance()); -DB2Storage<QuestInfoEntry> sQuestInfoStore("QuestInfo.db2", QuestInfoLoadInfo::Instance()); -DB2Storage<QuestLineXQuestEntry> sQuestLineXQuestStore("QuestLineXQuest.db2", QuestLineXQuestLoadInfo::Instance()); -DB2Storage<QuestMoneyRewardEntry> sQuestMoneyRewardStore("QuestMoneyReward.db2", QuestMoneyRewardLoadInfo::Instance()); -DB2Storage<QuestPackageItemEntry> sQuestPackageItemStore("QuestPackageItem.db2", QuestPackageItemLoadInfo::Instance()); -DB2Storage<QuestSortEntry> sQuestSortStore("QuestSort.db2", QuestSortLoadInfo::Instance()); -DB2Storage<QuestV2Entry> sQuestV2Store("QuestV2.db2", QuestV2LoadInfo::Instance()); -DB2Storage<QuestXPEntry> sQuestXPStore("QuestXP.db2", QuestXpLoadInfo::Instance()); -DB2Storage<RandPropPointsEntry> sRandPropPointsStore("RandPropPoints.db2", RandPropPointsLoadInfo::Instance()); -DB2Storage<RewardPackEntry> sRewardPackStore("RewardPack.db2", RewardPackLoadInfo::Instance()); -DB2Storage<RewardPackXCurrencyTypeEntry> sRewardPackXCurrencyTypeStore("RewardPackXCurrencyType.db2", RewardPackXCurrencyTypeLoadInfo::Instance()); -DB2Storage<RewardPackXItemEntry> sRewardPackXItemStore("RewardPackXItem.db2", RewardPackXItemLoadInfo::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<SkillLineXTraitTreeEntry> sSkillLineXTraitTreeStore("SkillLineXTraitTree.db2", SkillLineXTraitTreeLoadInfo::Instance()); -DB2Storage<SkillRaceClassInfoEntry> sSkillRaceClassInfoStore("SkillRaceClassInfo.db2", SkillRaceClassInfoLoadInfo::Instance()); -DB2Storage<SoulbindConduitRankEntry> sSoulbindConduitRankStore("SoulbindConduitRank.db2", SoulbindConduitRankLoadInfo::Instance()); -DB2Storage<SoundKitEntry> sSoundKitStore("SoundKit.db2", SoundKitLoadInfo::Instance()); -DB2Storage<SpecializationSpellsEntry> sSpecializationSpellsStore("SpecializationSpells.db2", SpecializationSpellsLoadInfo::Instance()); -DB2Storage<SpecSetMemberEntry> sSpecSetMemberStore("SpecSetMember.db2", SpecSetMemberLoadInfo::Instance()); -DB2Storage<SpellAuraOptionsEntry> sSpellAuraOptionsStore("SpellAuraOptions.db2", SpellAuraOptionsLoadInfo::Instance()); -DB2Storage<SpellAuraRestrictionsEntry> sSpellAuraRestrictionsStore("SpellAuraRestrictions.db2", SpellAuraRestrictionsLoadInfo::Instance()); -DB2Storage<SpellCastTimesEntry> sSpellCastTimesStore("SpellCastTimes.db2", SpellCastTimesLoadInfo::Instance()); -DB2Storage<SpellCastingRequirementsEntry> sSpellCastingRequirementsStore("SpellCastingRequirements.db2", SpellCastingRequirementsLoadInfo::Instance()); -DB2Storage<SpellCategoriesEntry> sSpellCategoriesStore("SpellCategories.db2", SpellCategoriesLoadInfo::Instance()); -DB2Storage<SpellCategoryEntry> sSpellCategoryStore("SpellCategory.db2", SpellCategoryLoadInfo::Instance()); -DB2Storage<SpellClassOptionsEntry> sSpellClassOptionsStore("SpellClassOptions.db2", SpellClassOptionsLoadInfo::Instance()); -DB2Storage<SpellCooldownsEntry> sSpellCooldownsStore("SpellCooldowns.db2", SpellCooldownsLoadInfo::Instance()); -DB2Storage<SpellDurationEntry> sSpellDurationStore("SpellDuration.db2", SpellDurationLoadInfo::Instance()); -DB2Storage<SpellEffectEntry> sSpellEffectStore("SpellEffect.db2", SpellEffectLoadInfo::Instance()); -DB2Storage<SpellEquippedItemsEntry> sSpellEquippedItemsStore("SpellEquippedItems.db2", SpellEquippedItemsLoadInfo::Instance()); -DB2Storage<SpellFocusObjectEntry> sSpellFocusObjectStore("SpellFocusObject.db2", SpellFocusObjectLoadInfo::Instance()); -DB2Storage<SpellInterruptsEntry> sSpellInterruptsStore("SpellInterrupts.db2", SpellInterruptsLoadInfo::Instance()); -DB2Storage<SpellItemEnchantmentEntry> sSpellItemEnchantmentStore("SpellItemEnchantment.db2", SpellItemEnchantmentLoadInfo::Instance()); -DB2Storage<SpellItemEnchantmentConditionEntry> sSpellItemEnchantmentConditionStore("SpellItemEnchantmentCondition.db2", SpellItemEnchantmentConditionLoadInfo::Instance()); -DB2Storage<SpellLabelEntry> sSpellLabelStore("SpellLabel.db2", SpellLabelLoadInfo::Instance()); -DB2Storage<SpellLearnSpellEntry> sSpellLearnSpellStore("SpellLearnSpell.db2", SpellLearnSpellLoadInfo::Instance()); -DB2Storage<SpellLevelsEntry> sSpellLevelsStore("SpellLevels.db2", SpellLevelsLoadInfo::Instance()); -DB2Storage<SpellMiscEntry> sSpellMiscStore("SpellMisc.db2", SpellMiscLoadInfo::Instance()); -DB2Storage<SpellNameEntry> sSpellNameStore("SpellName.db2", SpellNameLoadInfo::Instance()); -DB2Storage<SpellPowerEntry> sSpellPowerStore("SpellPower.db2", SpellPowerLoadInfo::Instance()); -DB2Storage<SpellPowerDifficultyEntry> sSpellPowerDifficultyStore("SpellPowerDifficulty.db2", SpellPowerDifficultyLoadInfo::Instance()); -DB2Storage<SpellProcsPerMinuteEntry> sSpellProcsPerMinuteStore("SpellProcsPerMinute.db2", SpellProcsPerMinuteLoadInfo::Instance()); -DB2Storage<SpellProcsPerMinuteModEntry> sSpellProcsPerMinuteModStore("SpellProcsPerMinuteMod.db2", SpellProcsPerMinuteModLoadInfo::Instance()); -DB2Storage<SpellRadiusEntry> sSpellRadiusStore("SpellRadius.db2", SpellRadiusLoadInfo::Instance()); -DB2Storage<SpellRangeEntry> sSpellRangeStore("SpellRange.db2", SpellRangeLoadInfo::Instance()); -DB2Storage<SpellReagentsEntry> sSpellReagentsStore("SpellReagents.db2", SpellReagentsLoadInfo::Instance()); -DB2Storage<SpellReagentsCurrencyEntry> sSpellReagentsCurrencyStore("SpellReagentsCurrency.db2", SpellReagentsCurrencyLoadInfo::Instance()); -DB2Storage<SpellScalingEntry> sSpellScalingStore("SpellScaling.db2", SpellScalingLoadInfo::Instance()); -DB2Storage<SpellShapeshiftEntry> sSpellShapeshiftStore("SpellShapeshift.db2", SpellShapeshiftLoadInfo::Instance()); -DB2Storage<SpellShapeshiftFormEntry> sSpellShapeshiftFormStore("SpellShapeshiftForm.db2", SpellShapeshiftFormLoadInfo::Instance()); -DB2Storage<SpellTargetRestrictionsEntry> sSpellTargetRestrictionsStore("SpellTargetRestrictions.db2", SpellTargetRestrictionsLoadInfo::Instance()); -DB2Storage<SpellTotemsEntry> sSpellTotemsStore("SpellTotems.db2", SpellTotemsLoadInfo::Instance()); -DB2Storage<SpellVisualEntry> sSpellVisualStore("SpellVisual.db2", SpellVisualLoadInfo::Instance()); -DB2Storage<SpellVisualEffectNameEntry> sSpellVisualEffectNameStore("SpellVisualEffectName.db2", SpellVisualEffectNameLoadInfo::Instance()); -DB2Storage<SpellVisualMissileEntry> sSpellVisualMissileStore("SpellVisualMissile.db2", SpellVisualMissileLoadInfo::Instance()); -DB2Storage<SpellVisualKitEntry> sSpellVisualKitStore("SpellVisualKit.db2", SpellVisualKitLoadInfo::Instance()); -DB2Storage<SpellXSpellVisualEntry> sSpellXSpellVisualStore("SpellXSpellVisual.db2", SpellXSpellVisualLoadInfo::Instance()); -DB2Storage<SummonPropertiesEntry> sSummonPropertiesStore("SummonProperties.db2", SummonPropertiesLoadInfo::Instance()); -DB2Storage<TactKeyEntry> sTactKeyStore("TactKey.db2", TactKeyLoadInfo::Instance()); -DB2Storage<TalentEntry> sTalentStore("Talent.db2", TalentLoadInfo::Instance()); -DB2Storage<TaxiNodesEntry> sTaxiNodesStore("TaxiNodes.db2", TaxiNodesLoadInfo::Instance()); -DB2Storage<TaxiPathEntry> sTaxiPathStore("TaxiPath.db2", TaxiPathLoadInfo::Instance()); -DB2Storage<TaxiPathNodeEntry> sTaxiPathNodeStore("TaxiPathNode.db2", TaxiPathNodeLoadInfo::Instance()); -DB2Storage<TotemCategoryEntry> sTotemCategoryStore("TotemCategory.db2", TotemCategoryLoadInfo::Instance()); -DB2Storage<ToyEntry> sToyStore("Toy.db2", ToyLoadInfo::Instance()); -DB2Storage<TraitCondEntry> sTraitCondStore("TraitCond.db2", TraitCondLoadInfo::Instance()); -DB2Storage<TraitCostEntry> sTraitCostStore("TraitCost.db2", TraitCostLoadInfo::Instance()); -DB2Storage<TraitCurrencyEntry> sTraitCurrencyStore("TraitCurrency.db2", TraitCurrencyLoadInfo::Instance()); -DB2Storage<TraitCurrencySourceEntry> sTraitCurrencySourceStore("TraitCurrencySource.db2", TraitCurrencySourceLoadInfo::Instance()); -DB2Storage<TraitDefinitionEntry> sTraitDefinitionStore("TraitDefinition.db2", TraitDefinitionLoadInfo::Instance()); -DB2Storage<TraitDefinitionEffectPointsEntry> sTraitDefinitionEffectPointsStore("TraitDefinitionEffectPoints.db2", TraitDefinitionEffectPointsLoadInfo::Instance()); -DB2Storage<TraitEdgeEntry> sTraitEdgeStore("TraitEdge.db2", TraitEdgeLoadInfo::Instance()); -DB2Storage<TraitNodeEntry> sTraitNodeStore("TraitNode.db2", TraitNodeLoadInfo::Instance()); -DB2Storage<TraitNodeEntryEntry> sTraitNodeEntryStore("TraitNodeEntry.db2", TraitNodeEntryLoadInfo::Instance()); -DB2Storage<TraitNodeEntryXTraitCondEntry> sTraitNodeEntryXTraitCondStore("TraitNodeEntryXTraitCond.db2", TraitNodeEntryXTraitCondLoadInfo::Instance()); -DB2Storage<TraitNodeEntryXTraitCostEntry> sTraitNodeEntryXTraitCostStore("TraitNodeEntryXTraitCost.db2", TraitNodeEntryXTraitCostLoadInfo::Instance()); -DB2Storage<TraitNodeGroupEntry> sTraitNodeGroupStore("TraitNodeGroup.db2", TraitNodeGroupLoadInfo::Instance()); -DB2Storage<TraitNodeGroupXTraitCondEntry> sTraitNodeGroupXTraitCondStore("TraitNodeGroupXTraitCond.db2", TraitNodeGroupXTraitCondLoadInfo::Instance()); -DB2Storage<TraitNodeGroupXTraitCostEntry> sTraitNodeGroupXTraitCostStore("TraitNodeGroupXTraitCost.db2", TraitNodeGroupXTraitCostLoadInfo::Instance()); -DB2Storage<TraitNodeGroupXTraitNodeEntry> sTraitNodeGroupXTraitNodeStore("TraitNodeGroupXTraitNode.db2", TraitNodeGroupXTraitNodeLoadInfo::Instance()); -DB2Storage<TraitNodeXTraitCondEntry> sTraitNodeXTraitCondStore("TraitNodeXTraitCond.db2", TraitNodeXTraitCondLoadInfo::Instance()); -DB2Storage<TraitNodeXTraitCostEntry> sTraitNodeXTraitCostStore("TraitNodeXTraitCost.db2", TraitNodeXTraitCostLoadInfo::Instance()); -DB2Storage<TraitNodeXTraitNodeEntryEntry> sTraitNodeXTraitNodeEntryStore("TraitNodeXTraitNodeEntry.db2", TraitNodeXTraitNodeEntryLoadInfo::Instance()); -DB2Storage<TraitTreeEntry> sTraitTreeStore("TraitTree.db2", TraitTreeLoadInfo::Instance()); -DB2Storage<TraitTreeLoadoutEntry> sTraitTreeLoadoutStore("TraitTreeLoadout.db2", TraitTreeLoadoutLoadInfo::Instance()); -DB2Storage<TraitTreeLoadoutEntryEntry> sTraitTreeLoadoutEntryStore("TraitTreeLoadoutEntry.db2", TraitTreeLoadoutEntryLoadInfo::Instance()); -DB2Storage<TraitTreeXTraitCostEntry> sTraitTreeXTraitCostStore("TraitTreeXTraitCost.db2", TraitTreeXTraitCostLoadInfo::Instance()); -DB2Storage<TraitTreeXTraitCurrencyEntry> sTraitTreeXTraitCurrencyStore("TraitTreeXTraitCurrency.db2", TraitTreeXTraitCurrencyLoadInfo::Instance()); -DB2Storage<TransmogHolidayEntry> sTransmogHolidayStore("TransmogHoliday.db2", TransmogHolidayLoadInfo::Instance()); -DB2Storage<TransmogIllusionEntry> sTransmogIllusionStore("TransmogIllusion.db2", TransmogIllusionLoadInfo::Instance()); -DB2Storage<TransmogSetEntry> sTransmogSetStore("TransmogSet.db2", TransmogSetLoadInfo::Instance()); -DB2Storage<TransmogSetGroupEntry> sTransmogSetGroupStore("TransmogSetGroup.db2", TransmogSetGroupLoadInfo::Instance()); -DB2Storage<TransmogSetItemEntry> sTransmogSetItemStore("TransmogSetItem.db2", TransmogSetItemLoadInfo::Instance()); -DB2Storage<TransportAnimationEntry> sTransportAnimationStore("TransportAnimation.db2", TransportAnimationLoadInfo::Instance()); -DB2Storage<TransportRotationEntry> sTransportRotationStore("TransportRotation.db2", TransportRotationLoadInfo::Instance()); -DB2Storage<UiMapEntry> sUiMapStore("UiMap.db2", UiMapLoadInfo::Instance()); -DB2Storage<UiMapAssignmentEntry> sUiMapAssignmentStore("UiMapAssignment.db2", UiMapAssignmentLoadInfo::Instance()); -DB2Storage<UiMapLinkEntry> sUiMapLinkStore("UiMapLink.db2", UiMapLinkLoadInfo::Instance()); -DB2Storage<UiMapXMapArtEntry> sUiMapXMapArtStore("UiMapXMapArt.db2", UiMapXMapArtLoadInfo::Instance()); -DB2Storage<UISplashScreenEntry> sUISplashScreenStore("UISplashScreen.db2", UiSplashScreenLoadInfo::Instance()); -DB2Storage<UnitConditionEntry> sUnitConditionStore("UnitCondition.db2", UnitConditionLoadInfo::Instance()); -DB2Storage<UnitPowerBarEntry> sUnitPowerBarStore("UnitPowerBar.db2", UnitPowerBarLoadInfo::Instance()); -DB2Storage<VehicleEntry> sVehicleStore("Vehicle.db2", VehicleLoadInfo::Instance()); -DB2Storage<VehicleSeatEntry> sVehicleSeatStore("VehicleSeat.db2", VehicleSeatLoadInfo::Instance()); -DB2Storage<WMOAreaTableEntry> sWMOAreaTableStore("WMOAreaTable.db2", WmoAreaTableLoadInfo::Instance()); -DB2Storage<WorldEffectEntry> sWorldEffectStore("WorldEffect.db2", WorldEffectLoadInfo::Instance()); -DB2Storage<WorldMapOverlayEntry> sWorldMapOverlayStore("WorldMapOverlay.db2", WorldMapOverlayLoadInfo::Instance()); -DB2Storage<WorldStateExpressionEntry> sWorldStateExpressionStore("WorldStateExpression.db2", WorldStateExpressionLoadInfo::Instance()); +DB2Storage<AchievementEntry> sAchievementStore("Achievement.db2", &AchievementLoadInfo::Instance); +DB2Storage<Achievement_CategoryEntry> sAchievementCategoryStore("Achievement_Category.db2", &AchievementCategoryLoadInfo::Instance); +DB2Storage<AdventureJournalEntry> sAdventureJournalStore("AdventureJournal.db2", &AdventureJournalLoadInfo::Instance); +DB2Storage<AdventureMapPOIEntry> sAdventureMapPOIStore("AdventureMapPOI.db2", &AdventureMapPoiLoadInfo::Instance); +DB2Storage<AnimationDataEntry> sAnimationDataStore("AnimationData.db2", &AnimationDataLoadInfo::Instance); +DB2Storage<AnimKitEntry> sAnimKitStore("AnimKit.db2", &AnimKitLoadInfo::Instance); +DB2Storage<AreaGroupMemberEntry> sAreaGroupMemberStore("AreaGroupMember.db2", &AreaGroupMemberLoadInfo::Instance); +DB2Storage<AreaTableEntry> sAreaTableStore("AreaTable.db2", &AreaTableLoadInfo::Instance); +DB2Storage<AreaTriggerEntry> sAreaTriggerStore("AreaTrigger.db2", &AreaTriggerLoadInfo::Instance); +DB2Storage<ArmorLocationEntry> sArmorLocationStore("ArmorLocation.db2", &ArmorLocationLoadInfo::Instance); +DB2Storage<ArtifactEntry> sArtifactStore("Artifact.db2", &ArtifactLoadInfo::Instance); +DB2Storage<ArtifactAppearanceEntry> sArtifactAppearanceStore("ArtifactAppearance.db2", &ArtifactAppearanceLoadInfo::Instance); +DB2Storage<ArtifactAppearanceSetEntry> sArtifactAppearanceSetStore("ArtifactAppearanceSet.db2", &ArtifactAppearanceSetLoadInfo::Instance); +DB2Storage<ArtifactCategoryEntry> sArtifactCategoryStore("ArtifactCategory.db2", &ArtifactCategoryLoadInfo::Instance); +DB2Storage<ArtifactPowerEntry> sArtifactPowerStore("ArtifactPower.db2", &ArtifactPowerLoadInfo::Instance); +DB2Storage<ArtifactPowerLinkEntry> sArtifactPowerLinkStore("ArtifactPowerLink.db2", &ArtifactPowerLinkLoadInfo::Instance); +DB2Storage<ArtifactPowerPickerEntry> sArtifactPowerPickerStore("ArtifactPowerPicker.db2", &ArtifactPowerPickerLoadInfo::Instance); +DB2Storage<ArtifactPowerRankEntry> sArtifactPowerRankStore("ArtifactPowerRank.db2", &ArtifactPowerRankLoadInfo::Instance); +DB2Storage<ArtifactQuestXPEntry> sArtifactQuestXPStore("ArtifactQuestXP.db2", &ArtifactQuestXpLoadInfo::Instance); +DB2Storage<ArtifactTierEntry> sArtifactTierStore("ArtifactTier.db2", &ArtifactTierLoadInfo::Instance); +DB2Storage<ArtifactUnlockEntry> sArtifactUnlockStore("ArtifactUnlock.db2", &ArtifactUnlockLoadInfo::Instance); +DB2Storage<AuctionHouseEntry> sAuctionHouseStore("AuctionHouse.db2", &AuctionHouseLoadInfo::Instance); +DB2Storage<AzeriteEmpoweredItemEntry> sAzeriteEmpoweredItemStore("AzeriteEmpoweredItem.db2", &AzeriteEmpoweredItemLoadInfo::Instance); +DB2Storage<AzeriteEssenceEntry> sAzeriteEssenceStore("AzeriteEssence.db2", &AzeriteEssenceLoadInfo::Instance); +DB2Storage<AzeriteEssencePowerEntry> sAzeriteEssencePowerStore("AzeriteEssencePower.db2", &AzeriteEssencePowerLoadInfo::Instance); +DB2Storage<AzeriteItemEntry> sAzeriteItemStore("AzeriteItem.db2", &AzeriteItemLoadInfo::Instance); +DB2Storage<AzeriteItemMilestonePowerEntry> sAzeriteItemMilestonePowerStore("AzeriteItemMilestonePower.db2", &AzeriteItemMilestonePowerLoadInfo::Instance); +DB2Storage<AzeriteKnowledgeMultiplierEntry> sAzeriteKnowledgeMultiplierStore("AzeriteKnowledgeMultiplier.db2", &AzeriteKnowledgeMultiplierLoadInfo::Instance); +DB2Storage<AzeriteLevelInfoEntry> sAzeriteLevelInfoStore("AzeriteLevelInfo.db2", &AzeriteLevelInfoLoadInfo::Instance); +DB2Storage<AzeritePowerEntry> sAzeritePowerStore("AzeritePower.db2", &AzeritePowerLoadInfo::Instance); +DB2Storage<AzeritePowerSetMemberEntry> sAzeritePowerSetMemberStore("AzeritePowerSetMember.db2", &AzeritePowerSetMemberLoadInfo::Instance); +DB2Storage<AzeriteTierUnlockEntry> sAzeriteTierUnlockStore("AzeriteTierUnlock.db2", &AzeriteTierUnlockLoadInfo::Instance); +DB2Storage<AzeriteTierUnlockSetEntry> sAzeriteTierUnlockSetStore("AzeriteTierUnlockSet.db2", &AzeriteTierUnlockSetLoadInfo::Instance); +DB2Storage<AzeriteUnlockMappingEntry> sAzeriteUnlockMappingStore("AzeriteUnlockMapping.db2", &AzeriteUnlockMappingLoadInfo::Instance); +DB2Storage<BankBagSlotPricesEntry> sBankBagSlotPricesStore("BankBagSlotPrices.db2", &BankBagSlotPricesLoadInfo::Instance); +DB2Storage<BannedAddonsEntry> sBannedAddonsStore("BannedAddons.db2", &BannedAddonsLoadInfo::Instance); +DB2Storage<BarberShopStyleEntry> sBarberShopStyleStore("BarberShopStyle.db2", &BarberShopStyleLoadInfo::Instance); +DB2Storage<BattlePetBreedQualityEntry> sBattlePetBreedQualityStore("BattlePetBreedQuality.db2", &BattlePetBreedQualityLoadInfo::Instance); +DB2Storage<BattlePetBreedStateEntry> sBattlePetBreedStateStore("BattlePetBreedState.db2", &BattlePetBreedStateLoadInfo::Instance); +DB2Storage<BattlePetSpeciesEntry> sBattlePetSpeciesStore("BattlePetSpecies.db2", &BattlePetSpeciesLoadInfo::Instance); +DB2Storage<BattlePetSpeciesStateEntry> sBattlePetSpeciesStateStore("BattlePetSpeciesState.db2", &BattlePetSpeciesStateLoadInfo::Instance); +DB2Storage<BattlemasterListEntry> sBattlemasterListStore("BattlemasterList.db2", &BattlemasterListLoadInfo::Instance); +DB2Storage<BroadcastTextEntry> sBroadcastTextStore("BroadcastText.db2", &BroadcastTextLoadInfo::Instance); +DB2Storage<BroadcastTextDurationEntry> sBroadcastTextDurationStore("BroadcastTextDuration.db2", &BroadcastTextDurationLoadInfo::Instance); +DB2Storage<Cfg_RegionsEntry> sCfgRegionsStore("Cfg_Regions.db2", &CfgRegionsLoadInfo::Instance); +DB2Storage<CharTitlesEntry> sCharTitlesStore("CharTitles.db2", &CharTitlesLoadInfo::Instance); +DB2Storage<CharacterLoadoutEntry> sCharacterLoadoutStore("CharacterLoadout.db2", &CharacterLoadoutLoadInfo::Instance); +DB2Storage<CharacterLoadoutItemEntry> sCharacterLoadoutItemStore("CharacterLoadoutItem.db2", &CharacterLoadoutItemLoadInfo::Instance); +DB2Storage<ChatChannelsEntry> sChatChannelsStore("ChatChannels.db2", &ChatChannelsLoadInfo::Instance); +DB2Storage<ChrClassUIDisplayEntry> sChrClassUIDisplayStore("ChrClassUIDisplay.db2", &ChrClassUiDisplayLoadInfo::Instance); +DB2Storage<ChrClassesEntry> sChrClassesStore("ChrClasses.db2", &ChrClassesLoadInfo::Instance); +DB2Storage<ChrClassesXPowerTypesEntry> sChrClassesXPowerTypesStore("ChrClassesXPowerTypes.db2", &ChrClassesXPowerTypesLoadInfo::Instance); +DB2Storage<ChrCustomizationChoiceEntry> sChrCustomizationChoiceStore("ChrCustomizationChoice.db2", &ChrCustomizationChoiceLoadInfo::Instance); +DB2Storage<ChrCustomizationDisplayInfoEntry> sChrCustomizationDisplayInfoStore("ChrCustomizationDisplayInfo.db2", &ChrCustomizationDisplayInfoLoadInfo::Instance); +DB2Storage<ChrCustomizationElementEntry> sChrCustomizationElementStore("ChrCustomizationElement.db2", &ChrCustomizationElementLoadInfo::Instance); +DB2Storage<ChrCustomizationOptionEntry> sChrCustomizationOptionStore("ChrCustomizationOption.db2", &ChrCustomizationOptionLoadInfo::Instance); +DB2Storage<ChrCustomizationReqEntry> sChrCustomizationReqStore("ChrCustomizationReq.db2", &ChrCustomizationReqLoadInfo::Instance); +DB2Storage<ChrCustomizationReqChoiceEntry> sChrCustomizationReqChoiceStore("ChrCustomizationReqChoice.db2", &ChrCustomizationReqChoiceLoadInfo::Instance); +DB2Storage<ChrModelEntry> sChrModelStore("ChrModel.db2", &ChrModelLoadInfo::Instance); +DB2Storage<ChrRaceXChrModelEntry> sChrRaceXChrModelStore("ChrRaceXChrModel.db2", &ChrRaceXChrModelLoadInfo::Instance); +DB2Storage<ChrRacesEntry> sChrRacesStore("ChrRaces.db2", &ChrRacesLoadInfo::Instance); +DB2Storage<ChrSpecializationEntry> sChrSpecializationStore("ChrSpecialization.db2", &ChrSpecializationLoadInfo::Instance); +DB2Storage<CinematicCameraEntry> sCinematicCameraStore("CinematicCamera.db2", &CinematicCameraLoadInfo::Instance); +DB2Storage<CinematicSequencesEntry> sCinematicSequencesStore("CinematicSequences.db2", &CinematicSequencesLoadInfo::Instance); +DB2Storage<ContentTuningEntry> sContentTuningStore("ContentTuning.db2", &ContentTuningLoadInfo::Instance); +DB2Storage<ContentTuningXExpectedEntry> sContentTuningXExpectedStore("ContentTuningXExpected.db2", &ContentTuningXExpectedLoadInfo::Instance); +DB2Storage<ConversationLineEntry> sConversationLineStore("ConversationLine.db2", &ConversationLineLoadInfo::Instance); +DB2Storage<CorruptionEffectsEntry> sCorruptionEffectsStore("CorruptionEffects.db2", &CorruptionEffectsLoadInfo::Instance); +DB2Storage<CreatureDisplayInfoEntry> sCreatureDisplayInfoStore("CreatureDisplayInfo.db2", &CreatureDisplayInfoLoadInfo::Instance); +DB2Storage<CreatureDisplayInfoExtraEntry> sCreatureDisplayInfoExtraStore("CreatureDisplayInfoExtra.db2", &CreatureDisplayInfoExtraLoadInfo::Instance); +DB2Storage<CreatureFamilyEntry> sCreatureFamilyStore("CreatureFamily.db2", &CreatureFamilyLoadInfo::Instance); +DB2Storage<CreatureModelDataEntry> sCreatureModelDataStore("CreatureModelData.db2", &CreatureModelDataLoadInfo::Instance); +DB2Storage<CreatureTypeEntry> sCreatureTypeStore("CreatureType.db2", &CreatureTypeLoadInfo::Instance); +DB2Storage<CriteriaEntry> sCriteriaStore("Criteria.db2", &CriteriaLoadInfo::Instance); +DB2Storage<CriteriaTreeEntry> sCriteriaTreeStore("CriteriaTree.db2", &CriteriaTreeLoadInfo::Instance); +DB2Storage<CurrencyContainerEntry> sCurrencyContainerStore("CurrencyContainer.db2", &CurrencyContainerLoadInfo::Instance); +DB2Storage<CurrencyTypesEntry> sCurrencyTypesStore("CurrencyTypes.db2", &CurrencyTypesLoadInfo::Instance); +DB2Storage<CurveEntry> sCurveStore("Curve.db2", &CurveLoadInfo::Instance); +DB2Storage<CurvePointEntry> sCurvePointStore("CurvePoint.db2", &CurvePointLoadInfo::Instance); +DB2Storage<DestructibleModelDataEntry> sDestructibleModelDataStore("DestructibleModelData.db2", &DestructibleModelDataLoadInfo::Instance); +DB2Storage<DifficultyEntry> sDifficultyStore("Difficulty.db2", &DifficultyLoadInfo::Instance); +DB2Storage<DungeonEncounterEntry> sDungeonEncounterStore("DungeonEncounter.db2", &DungeonEncounterLoadInfo::Instance); +DB2Storage<DurabilityCostsEntry> sDurabilityCostsStore("DurabilityCosts.db2", &DurabilityCostsLoadInfo::Instance); +DB2Storage<DurabilityQualityEntry> sDurabilityQualityStore("DurabilityQuality.db2", &DurabilityQualityLoadInfo::Instance); +DB2Storage<EmotesEntry> sEmotesStore("Emotes.db2", &EmotesLoadInfo::Instance); +DB2Storage<EmotesTextEntry> sEmotesTextStore("EmotesText.db2", &EmotesTextLoadInfo::Instance); +DB2Storage<EmotesTextSoundEntry> sEmotesTextSoundStore("EmotesTextSound.db2", &EmotesTextSoundLoadInfo::Instance); +DB2Storage<ExpectedStatEntry> sExpectedStatStore("ExpectedStat.db2", &ExpectedStatLoadInfo::Instance); +DB2Storage<ExpectedStatModEntry> sExpectedStatModStore("ExpectedStatMod.db2", &ExpectedStatModLoadInfo::Instance); +DB2Storage<FactionEntry> sFactionStore("Faction.db2", &FactionLoadInfo::Instance); +DB2Storage<FactionTemplateEntry> sFactionTemplateStore("FactionTemplate.db2", &FactionTemplateLoadInfo::Instance); +DB2Storage<FriendshipRepReactionEntry> sFriendshipRepReactionStore("FriendshipRepReaction.db2", &FriendshipRepReactionLoadInfo::Instance); +DB2Storage<FriendshipReputationEntry> sFriendshipReputationStore("FriendshipReputation.db2", &FriendshipReputationLoadInfo::Instance); +DB2Storage<GameObjectArtKitEntry> sGameObjectArtKitStore("GameObjectArtKit.db2", &GameobjectArtKitLoadInfo::Instance); +DB2Storage<GameObjectDisplayInfoEntry> sGameObjectDisplayInfoStore("GameObjectDisplayInfo.db2", &GameobjectDisplayInfoLoadInfo::Instance); +DB2Storage<GameObjectsEntry> sGameObjectsStore("GameObjects.db2", &GameobjectsLoadInfo::Instance); +DB2Storage<GarrAbilityEntry> sGarrAbilityStore("GarrAbility.db2", &GarrAbilityLoadInfo::Instance); +DB2Storage<GarrBuildingEntry> sGarrBuildingStore("GarrBuilding.db2", &GarrBuildingLoadInfo::Instance); +DB2Storage<GarrBuildingPlotInstEntry> sGarrBuildingPlotInstStore("GarrBuildingPlotInst.db2", &GarrBuildingPlotInstLoadInfo::Instance); +DB2Storage<GarrClassSpecEntry> sGarrClassSpecStore("GarrClassSpec.db2", &GarrClassSpecLoadInfo::Instance); +DB2Storage<GarrFollowerEntry> sGarrFollowerStore("GarrFollower.db2", &GarrFollowerLoadInfo::Instance); +DB2Storage<GarrFollowerXAbilityEntry> sGarrFollowerXAbilityStore("GarrFollowerXAbility.db2", &GarrFollowerXAbilityLoadInfo::Instance); +DB2Storage<GarrMissionEntry> sGarrMissionStore("GarrMission.db2", &GarrMissionLoadInfo::Instance); +DB2Storage<GarrPlotEntry> sGarrPlotStore("GarrPlot.db2", &GarrPlotLoadInfo::Instance); +DB2Storage<GarrPlotBuildingEntry> sGarrPlotBuildingStore("GarrPlotBuilding.db2", &GarrPlotBuildingLoadInfo::Instance); +DB2Storage<GarrPlotInstanceEntry> sGarrPlotInstanceStore("GarrPlotInstance.db2", &GarrPlotInstanceLoadInfo::Instance); +DB2Storage<GarrSiteLevelEntry> sGarrSiteLevelStore("GarrSiteLevel.db2", &GarrSiteLevelLoadInfo::Instance); +DB2Storage<GarrSiteLevelPlotInstEntry> sGarrSiteLevelPlotInstStore("GarrSiteLevelPlotInst.db2", &GarrSiteLevelPlotInstLoadInfo::Instance); +DB2Storage<GarrTalentTreeEntry> sGarrTalentTreeStore("GarrTalentTree.db2", &GarrTalentTreeLoadInfo::Instance); +DB2Storage<GemPropertiesEntry> sGemPropertiesStore("GemProperties.db2", &GemPropertiesLoadInfo::Instance); +DB2Storage<GlobalCurveEntry> sGlobalCurveStore("GlobalCurve.db2", &GlobalCurveLoadInfo::Instance); +DB2Storage<GlyphBindableSpellEntry> sGlyphBindableSpellStore("GlyphBindableSpell.db2", &GlyphBindableSpellLoadInfo::Instance); +DB2Storage<GlyphPropertiesEntry> sGlyphPropertiesStore("GlyphProperties.db2", &GlyphPropertiesLoadInfo::Instance); +DB2Storage<GlyphRequiredSpecEntry> sGlyphRequiredSpecStore("GlyphRequiredSpec.db2", &GlyphRequiredSpecLoadInfo::Instance); +DB2Storage<GossipNPCOptionEntry> sGossipNPCOptionStore("GossipNPCOption.db2", &GossipNpcOptionLoadInfo::Instance); +DB2Storage<GuildColorBackgroundEntry> sGuildColorBackgroundStore("GuildColorBackground.db2", &GuildColorBackgroundLoadInfo::Instance); +DB2Storage<GuildColorBorderEntry> sGuildColorBorderStore("GuildColorBorder.db2", &GuildColorBorderLoadInfo::Instance); +DB2Storage<GuildColorEmblemEntry> sGuildColorEmblemStore("GuildColorEmblem.db2", &GuildColorEmblemLoadInfo::Instance); +DB2Storage<GuildPerkSpellsEntry> sGuildPerkSpellsStore("GuildPerkSpells.db2", &GuildPerkSpellsLoadInfo::Instance); +DB2Storage<HeirloomEntry> sHeirloomStore("Heirloom.db2", &HeirloomLoadInfo::Instance); +DB2Storage<HolidaysEntry> sHolidaysStore("Holidays.db2", &HolidaysLoadInfo::Instance); +DB2Storage<ImportPriceArmorEntry> sImportPriceArmorStore("ImportPriceArmor.db2", &ImportPriceArmorLoadInfo::Instance); +DB2Storage<ImportPriceQualityEntry> sImportPriceQualityStore("ImportPriceQuality.db2", &ImportPriceQualityLoadInfo::Instance); +DB2Storage<ImportPriceShieldEntry> sImportPriceShieldStore("ImportPriceShield.db2", &ImportPriceShieldLoadInfo::Instance); +DB2Storage<ImportPriceWeaponEntry> sImportPriceWeaponStore("ImportPriceWeapon.db2", &ImportPriceWeaponLoadInfo::Instance); +DB2Storage<ItemAppearanceEntry> sItemAppearanceStore("ItemAppearance.db2", &ItemAppearanceLoadInfo::Instance); +DB2Storage<ItemArmorQualityEntry> sItemArmorQualityStore("ItemArmorQuality.db2", &ItemArmorQualityLoadInfo::Instance); +DB2Storage<ItemArmorShieldEntry> sItemArmorShieldStore("ItemArmorShield.db2", &ItemArmorShieldLoadInfo::Instance); +DB2Storage<ItemArmorTotalEntry> sItemArmorTotalStore("ItemArmorTotal.db2", &ItemArmorTotalLoadInfo::Instance); +DB2Storage<ItemBagFamilyEntry> sItemBagFamilyStore("ItemBagFamily.db2", &ItemBagFamilyLoadInfo::Instance); +DB2Storage<ItemBonusEntry> sItemBonusStore("ItemBonus.db2", &ItemBonusLoadInfo::Instance); +DB2Storage<ItemBonusListLevelDeltaEntry> sItemBonusListLevelDeltaStore("ItemBonusListLevelDelta.db2", &ItemBonusListLevelDeltaLoadInfo::Instance); +DB2Storage<ItemBonusTreeNodeEntry> sItemBonusTreeNodeStore("ItemBonusTreeNode.db2", &ItemBonusTreeNodeLoadInfo::Instance); +DB2Storage<ItemChildEquipmentEntry> sItemChildEquipmentStore("ItemChildEquipment.db2", &ItemChildEquipmentLoadInfo::Instance); +DB2Storage<ItemClassEntry> sItemClassStore("ItemClass.db2", &ItemClassLoadInfo::Instance); +DB2Storage<ItemCurrencyCostEntry> sItemCurrencyCostStore("ItemCurrencyCost.db2", &ItemCurrencyCostLoadInfo::Instance); +DB2Storage<ItemDamageAmmoEntry> sItemDamageAmmoStore("ItemDamageAmmo.db2", &ItemDamageAmmoLoadInfo::Instance); +DB2Storage<ItemDamageOneHandEntry> sItemDamageOneHandStore("ItemDamageOneHand.db2", &ItemDamageOneHandLoadInfo::Instance); +DB2Storage<ItemDamageOneHandCasterEntry> sItemDamageOneHandCasterStore("ItemDamageOneHandCaster.db2", &ItemDamageOneHandCasterLoadInfo::Instance); +DB2Storage<ItemDamageTwoHandEntry> sItemDamageTwoHandStore("ItemDamageTwoHand.db2", &ItemDamageTwoHandLoadInfo::Instance); +DB2Storage<ItemDamageTwoHandCasterEntry> sItemDamageTwoHandCasterStore("ItemDamageTwoHandCaster.db2", &ItemDamageTwoHandCasterLoadInfo::Instance); +DB2Storage<ItemDisenchantLootEntry> sItemDisenchantLootStore("ItemDisenchantLoot.db2", &ItemDisenchantLootLoadInfo::Instance); +DB2Storage<ItemEffectEntry> sItemEffectStore("ItemEffect.db2", &ItemEffectLoadInfo::Instance); +DB2Storage<ItemEntry> sItemStore("Item.db2", &ItemLoadInfo::Instance); +DB2Storage<ItemExtendedCostEntry> sItemExtendedCostStore("ItemExtendedCost.db2", &ItemExtendedCostLoadInfo::Instance); +DB2Storage<ItemLevelSelectorEntry> sItemLevelSelectorStore("ItemLevelSelector.db2", &ItemLevelSelectorLoadInfo::Instance); +DB2Storage<ItemLevelSelectorQualityEntry> sItemLevelSelectorQualityStore("ItemLevelSelectorQuality.db2", &ItemLevelSelectorQualityLoadInfo::Instance); +DB2Storage<ItemLevelSelectorQualitySetEntry> sItemLevelSelectorQualitySetStore("ItemLevelSelectorQualitySet.db2", &ItemLevelSelectorQualitySetLoadInfo::Instance); +DB2Storage<ItemLimitCategoryEntry> sItemLimitCategoryStore("ItemLimitCategory.db2", &ItemLimitCategoryLoadInfo::Instance); +DB2Storage<ItemLimitCategoryConditionEntry> sItemLimitCategoryConditionStore("ItemLimitCategoryCondition.db2", &ItemLimitCategoryConditionLoadInfo::Instance); +DB2Storage<ItemModifiedAppearanceEntry> sItemModifiedAppearanceStore("ItemModifiedAppearance.db2", &ItemModifiedAppearanceLoadInfo::Instance); +DB2Storage<ItemModifiedAppearanceExtraEntry> sItemModifiedAppearanceExtraStore("ItemModifiedAppearanceExtra.db2", &ItemModifiedAppearanceExtraLoadInfo::Instance); +DB2Storage<ItemNameDescriptionEntry> sItemNameDescriptionStore("ItemNameDescription.db2", &ItemNameDescriptionLoadInfo::Instance); +DB2Storage<ItemPriceBaseEntry> sItemPriceBaseStore("ItemPriceBase.db2", &ItemPriceBaseLoadInfo::Instance); +DB2Storage<ItemSearchNameEntry> sItemSearchNameStore("ItemSearchName.db2", &ItemSearchNameLoadInfo::Instance); +DB2Storage<ItemSetEntry> sItemSetStore("ItemSet.db2", &ItemSetLoadInfo::Instance); +DB2Storage<ItemSetSpellEntry> sItemSetSpellStore("ItemSetSpell.db2", &ItemSetSpellLoadInfo::Instance); +DB2Storage<ItemSparseEntry> sItemSparseStore("ItemSparse.db2", &ItemSparseLoadInfo::Instance); +DB2Storage<ItemSpecEntry> sItemSpecStore("ItemSpec.db2", &ItemSpecLoadInfo::Instance); +DB2Storage<ItemSpecOverrideEntry> sItemSpecOverrideStore("ItemSpecOverride.db2", &ItemSpecOverrideLoadInfo::Instance); +DB2Storage<ItemXBonusTreeEntry> sItemXBonusTreeStore("ItemXBonusTree.db2", &ItemXBonusTreeLoadInfo::Instance); +DB2Storage<ItemXItemEffectEntry> sItemXItemEffectStore("ItemXItemEffect.db2", &ItemXItemEffectLoadInfo::Instance); +DB2Storage<JournalEncounterEntry> sJournalEncounterStore("JournalEncounter.db2", &JournalEncounterLoadInfo::Instance); +DB2Storage<JournalEncounterSectionEntry> sJournalEncounterSectionStore("JournalEncounterSection.db2", &JournalEncounterSectionLoadInfo::Instance); +DB2Storage<JournalInstanceEntry> sJournalInstanceStore("JournalInstance.db2", &JournalInstanceLoadInfo::Instance); +DB2Storage<JournalTierEntry> sJournalTierStore("JournalTier.db2", &JournalTierLoadInfo::Instance); +DB2Storage<KeychainEntry> sKeychainStore("Keychain.db2", &KeychainLoadInfo::Instance); +DB2Storage<KeystoneAffixEntry> sKeystoneAffixStore("KeystoneAffix.db2", &KeystoneAffixLoadInfo::Instance); +DB2Storage<LanguageWordsEntry> sLanguageWordsStore("LanguageWords.db2", &LanguageWordsLoadInfo::Instance); +DB2Storage<LanguagesEntry> sLanguagesStore("Languages.db2", &LanguagesLoadInfo::Instance); +DB2Storage<LFGDungeonsEntry> sLFGDungeonsStore("LFGDungeons.db2", &LfgDungeonsLoadInfo::Instance); +DB2Storage<LightEntry> sLightStore("Light.db2", &LightLoadInfo::Instance); +DB2Storage<LiquidTypeEntry> sLiquidTypeStore("LiquidType.db2", &LiquidTypeLoadInfo::Instance); +DB2Storage<LockEntry> sLockStore("Lock.db2", &LockLoadInfo::Instance); +DB2Storage<MailTemplateEntry> sMailTemplateStore("MailTemplate.db2", &MailTemplateLoadInfo::Instance); +DB2Storage<MapEntry> sMapStore("Map.db2", &MapLoadInfo::Instance); +DB2Storage<MapChallengeModeEntry> sMapChallengeModeStore("MapChallengeMode.db2", &MapChallengeModeLoadInfo::Instance); +DB2Storage<MapDifficultyEntry> sMapDifficultyStore("MapDifficulty.db2", &MapDifficultyLoadInfo::Instance); +DB2Storage<MapDifficultyXConditionEntry> sMapDifficultyXConditionStore("MapDifficultyXCondition.db2", &MapDifficultyXConditionLoadInfo::Instance); +DB2Storage<MawPowerEntry> sMawPowerStore("MawPower.db2", &MawPowerLoadInfo::Instance); +DB2Storage<ModifierTreeEntry> sModifierTreeStore("ModifierTree.db2", &ModifierTreeLoadInfo::Instance); +DB2Storage<MountCapabilityEntry> sMountCapabilityStore("MountCapability.db2", &MountCapabilityLoadInfo::Instance); +DB2Storage<MountEntry> sMountStore("Mount.db2", &MountLoadInfo::Instance); +DB2Storage<MountTypeXCapabilityEntry> sMountTypeXCapabilityStore("MountTypeXCapability.db2", &MountTypeXCapabilityLoadInfo::Instance); +DB2Storage<MountXDisplayEntry> sMountXDisplayStore("MountXDisplay.db2", &MountXDisplayLoadInfo::Instance); +DB2Storage<MovieEntry> sMovieStore("Movie.db2", &MovieLoadInfo::Instance); +DB2Storage<NameGenEntry> sNameGenStore("NameGen.db2", &NameGenLoadInfo::Instance); +DB2Storage<NamesProfanityEntry> sNamesProfanityStore("NamesProfanity.db2", &NamesProfanityLoadInfo::Instance); +DB2Storage<NamesReservedEntry> sNamesReservedStore("NamesReserved.db2", &NamesReservedLoadInfo::Instance); +DB2Storage<NamesReservedLocaleEntry> sNamesReservedLocaleStore("NamesReservedLocale.db2", &NamesReservedLocaleLoadInfo::Instance); +DB2Storage<NumTalentsAtLevelEntry> sNumTalentsAtLevelStore("NumTalentsAtLevel.db2", &NumTalentsAtLevelLoadInfo::Instance); +DB2Storage<OverrideSpellDataEntry> sOverrideSpellDataStore("OverrideSpellData.db2", &OverrideSpellDataLoadInfo::Instance); +DB2Storage<ParagonReputationEntry> sParagonReputationStore("ParagonReputation.db2", &ParagonReputationLoadInfo::Instance); +DB2Storage<PhaseEntry> sPhaseStore("Phase.db2", &PhaseLoadInfo::Instance); +DB2Storage<PhaseXPhaseGroupEntry> sPhaseXPhaseGroupStore("PhaseXPhaseGroup.db2", &PhaseXPhaseGroupLoadInfo::Instance); +DB2Storage<PlayerConditionEntry> sPlayerConditionStore("PlayerCondition.db2", &PlayerConditionLoadInfo::Instance); +DB2Storage<PowerDisplayEntry> sPowerDisplayStore("PowerDisplay.db2", &PowerDisplayLoadInfo::Instance); +DB2Storage<PowerTypeEntry> sPowerTypeStore("PowerType.db2", &PowerTypeLoadInfo::Instance); +DB2Storage<PrestigeLevelInfoEntry> sPrestigeLevelInfoStore("PrestigeLevelInfo.db2", &PrestigeLevelInfoLoadInfo::Instance); +DB2Storage<PVPDifficultyEntry> sPVPDifficultyStore("PVPDifficulty.db2", &PvpDifficultyLoadInfo::Instance); +DB2Storage<PVPItemEntry> sPVPItemStore("PVPItem.db2", &PvpItemLoadInfo::Instance); +DB2Storage<PvpTalentEntry> sPvpTalentStore("PvpTalent.db2", &PvpTalentLoadInfo::Instance); +DB2Storage<PvpTalentCategoryEntry> sPvpTalentCategoryStore("PvpTalentCategory.db2", &PvpTalentCategoryLoadInfo::Instance); +DB2Storage<PvpTalentSlotUnlockEntry> sPvpTalentSlotUnlockStore("PvpTalentSlotUnlock.db2", &PvpTalentSlotUnlockLoadInfo::Instance); +DB2Storage<PvpTierEntry> sPvpTierStore("PvpTier.db2", &PvpTierLoadInfo::Instance); +DB2Storage<QuestFactionRewardEntry> sQuestFactionRewardStore("QuestFactionReward.db2", &QuestFactionRewardLoadInfo::Instance); +DB2Storage<QuestInfoEntry> sQuestInfoStore("QuestInfo.db2", &QuestInfoLoadInfo::Instance); +DB2Storage<QuestLineXQuestEntry> sQuestLineXQuestStore("QuestLineXQuest.db2", &QuestLineXQuestLoadInfo::Instance); +DB2Storage<QuestMoneyRewardEntry> sQuestMoneyRewardStore("QuestMoneyReward.db2", &QuestMoneyRewardLoadInfo::Instance); +DB2Storage<QuestPackageItemEntry> sQuestPackageItemStore("QuestPackageItem.db2", &QuestPackageItemLoadInfo::Instance); +DB2Storage<QuestSortEntry> sQuestSortStore("QuestSort.db2", &QuestSortLoadInfo::Instance); +DB2Storage<QuestV2Entry> sQuestV2Store("QuestV2.db2", &QuestV2LoadInfo::Instance); +DB2Storage<QuestXPEntry> sQuestXPStore("QuestXP.db2", &QuestXpLoadInfo::Instance); +DB2Storage<RandPropPointsEntry> sRandPropPointsStore("RandPropPoints.db2", &RandPropPointsLoadInfo::Instance); +DB2Storage<RewardPackEntry> sRewardPackStore("RewardPack.db2", &RewardPackLoadInfo::Instance); +DB2Storage<RewardPackXCurrencyTypeEntry> sRewardPackXCurrencyTypeStore("RewardPackXCurrencyType.db2", &RewardPackXCurrencyTypeLoadInfo::Instance); +DB2Storage<RewardPackXItemEntry> sRewardPackXItemStore("RewardPackXItem.db2", &RewardPackXItemLoadInfo::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<SkillLineXTraitTreeEntry> sSkillLineXTraitTreeStore("SkillLineXTraitTree.db2", &SkillLineXTraitTreeLoadInfo::Instance); +DB2Storage<SkillRaceClassInfoEntry> sSkillRaceClassInfoStore("SkillRaceClassInfo.db2", &SkillRaceClassInfoLoadInfo::Instance); +DB2Storage<SoulbindConduitRankEntry> sSoulbindConduitRankStore("SoulbindConduitRank.db2", &SoulbindConduitRankLoadInfo::Instance); +DB2Storage<SoundKitEntry> sSoundKitStore("SoundKit.db2", &SoundKitLoadInfo::Instance); +DB2Storage<SpecializationSpellsEntry> sSpecializationSpellsStore("SpecializationSpells.db2", &SpecializationSpellsLoadInfo::Instance); +DB2Storage<SpecSetMemberEntry> sSpecSetMemberStore("SpecSetMember.db2", &SpecSetMemberLoadInfo::Instance); +DB2Storage<SpellAuraOptionsEntry> sSpellAuraOptionsStore("SpellAuraOptions.db2", &SpellAuraOptionsLoadInfo::Instance); +DB2Storage<SpellAuraRestrictionsEntry> sSpellAuraRestrictionsStore("SpellAuraRestrictions.db2", &SpellAuraRestrictionsLoadInfo::Instance); +DB2Storage<SpellCastTimesEntry> sSpellCastTimesStore("SpellCastTimes.db2", &SpellCastTimesLoadInfo::Instance); +DB2Storage<SpellCastingRequirementsEntry> sSpellCastingRequirementsStore("SpellCastingRequirements.db2", &SpellCastingRequirementsLoadInfo::Instance); +DB2Storage<SpellCategoriesEntry> sSpellCategoriesStore("SpellCategories.db2", &SpellCategoriesLoadInfo::Instance); +DB2Storage<SpellCategoryEntry> sSpellCategoryStore("SpellCategory.db2", &SpellCategoryLoadInfo::Instance); +DB2Storage<SpellClassOptionsEntry> sSpellClassOptionsStore("SpellClassOptions.db2", &SpellClassOptionsLoadInfo::Instance); +DB2Storage<SpellCooldownsEntry> sSpellCooldownsStore("SpellCooldowns.db2", &SpellCooldownsLoadInfo::Instance); +DB2Storage<SpellDurationEntry> sSpellDurationStore("SpellDuration.db2", &SpellDurationLoadInfo::Instance); +DB2Storage<SpellEffectEntry> sSpellEffectStore("SpellEffect.db2", &SpellEffectLoadInfo::Instance); +DB2Storage<SpellEquippedItemsEntry> sSpellEquippedItemsStore("SpellEquippedItems.db2", &SpellEquippedItemsLoadInfo::Instance); +DB2Storage<SpellFocusObjectEntry> sSpellFocusObjectStore("SpellFocusObject.db2", &SpellFocusObjectLoadInfo::Instance); +DB2Storage<SpellInterruptsEntry> sSpellInterruptsStore("SpellInterrupts.db2", &SpellInterruptsLoadInfo::Instance); +DB2Storage<SpellItemEnchantmentEntry> sSpellItemEnchantmentStore("SpellItemEnchantment.db2", &SpellItemEnchantmentLoadInfo::Instance); +DB2Storage<SpellItemEnchantmentConditionEntry> sSpellItemEnchantmentConditionStore("SpellItemEnchantmentCondition.db2", &SpellItemEnchantmentConditionLoadInfo::Instance); +DB2Storage<SpellLabelEntry> sSpellLabelStore("SpellLabel.db2", &SpellLabelLoadInfo::Instance); +DB2Storage<SpellLearnSpellEntry> sSpellLearnSpellStore("SpellLearnSpell.db2", &SpellLearnSpellLoadInfo::Instance); +DB2Storage<SpellLevelsEntry> sSpellLevelsStore("SpellLevels.db2", &SpellLevelsLoadInfo::Instance); +DB2Storage<SpellMiscEntry> sSpellMiscStore("SpellMisc.db2", &SpellMiscLoadInfo::Instance); +DB2Storage<SpellNameEntry> sSpellNameStore("SpellName.db2", &SpellNameLoadInfo::Instance); +DB2Storage<SpellPowerEntry> sSpellPowerStore("SpellPower.db2", &SpellPowerLoadInfo::Instance); +DB2Storage<SpellPowerDifficultyEntry> sSpellPowerDifficultyStore("SpellPowerDifficulty.db2", &SpellPowerDifficultyLoadInfo::Instance); +DB2Storage<SpellProcsPerMinuteEntry> sSpellProcsPerMinuteStore("SpellProcsPerMinute.db2", &SpellProcsPerMinuteLoadInfo::Instance); +DB2Storage<SpellProcsPerMinuteModEntry> sSpellProcsPerMinuteModStore("SpellProcsPerMinuteMod.db2", &SpellProcsPerMinuteModLoadInfo::Instance); +DB2Storage<SpellRadiusEntry> sSpellRadiusStore("SpellRadius.db2", &SpellRadiusLoadInfo::Instance); +DB2Storage<SpellRangeEntry> sSpellRangeStore("SpellRange.db2", &SpellRangeLoadInfo::Instance); +DB2Storage<SpellReagentsEntry> sSpellReagentsStore("SpellReagents.db2", &SpellReagentsLoadInfo::Instance); +DB2Storage<SpellReagentsCurrencyEntry> sSpellReagentsCurrencyStore("SpellReagentsCurrency.db2", &SpellReagentsCurrencyLoadInfo::Instance); +DB2Storage<SpellScalingEntry> sSpellScalingStore("SpellScaling.db2", &SpellScalingLoadInfo::Instance); +DB2Storage<SpellShapeshiftEntry> sSpellShapeshiftStore("SpellShapeshift.db2", &SpellShapeshiftLoadInfo::Instance); +DB2Storage<SpellShapeshiftFormEntry> sSpellShapeshiftFormStore("SpellShapeshiftForm.db2", &SpellShapeshiftFormLoadInfo::Instance); +DB2Storage<SpellTargetRestrictionsEntry> sSpellTargetRestrictionsStore("SpellTargetRestrictions.db2", &SpellTargetRestrictionsLoadInfo::Instance); +DB2Storage<SpellTotemsEntry> sSpellTotemsStore("SpellTotems.db2", &SpellTotemsLoadInfo::Instance); +DB2Storage<SpellVisualEntry> sSpellVisualStore("SpellVisual.db2", &SpellVisualLoadInfo::Instance); +DB2Storage<SpellVisualEffectNameEntry> sSpellVisualEffectNameStore("SpellVisualEffectName.db2", &SpellVisualEffectNameLoadInfo::Instance); +DB2Storage<SpellVisualMissileEntry> sSpellVisualMissileStore("SpellVisualMissile.db2", &SpellVisualMissileLoadInfo::Instance); +DB2Storage<SpellVisualKitEntry> sSpellVisualKitStore("SpellVisualKit.db2", &SpellVisualKitLoadInfo::Instance); +DB2Storage<SpellXSpellVisualEntry> sSpellXSpellVisualStore("SpellXSpellVisual.db2", &SpellXSpellVisualLoadInfo::Instance); +DB2Storage<SummonPropertiesEntry> sSummonPropertiesStore("SummonProperties.db2", &SummonPropertiesLoadInfo::Instance); +DB2Storage<TactKeyEntry> sTactKeyStore("TactKey.db2", &TactKeyLoadInfo::Instance); +DB2Storage<TalentEntry> sTalentStore("Talent.db2", &TalentLoadInfo::Instance); +DB2Storage<TaxiNodesEntry> sTaxiNodesStore("TaxiNodes.db2", &TaxiNodesLoadInfo::Instance); +DB2Storage<TaxiPathEntry> sTaxiPathStore("TaxiPath.db2", &TaxiPathLoadInfo::Instance); +DB2Storage<TaxiPathNodeEntry> sTaxiPathNodeStore("TaxiPathNode.db2", &TaxiPathNodeLoadInfo::Instance); +DB2Storage<TotemCategoryEntry> sTotemCategoryStore("TotemCategory.db2", &TotemCategoryLoadInfo::Instance); +DB2Storage<ToyEntry> sToyStore("Toy.db2", &ToyLoadInfo::Instance); +DB2Storage<TraitCondEntry> sTraitCondStore("TraitCond.db2", &TraitCondLoadInfo::Instance); +DB2Storage<TraitCostEntry> sTraitCostStore("TraitCost.db2", &TraitCostLoadInfo::Instance); +DB2Storage<TraitCurrencyEntry> sTraitCurrencyStore("TraitCurrency.db2", &TraitCurrencyLoadInfo::Instance); +DB2Storage<TraitCurrencySourceEntry> sTraitCurrencySourceStore("TraitCurrencySource.db2", &TraitCurrencySourceLoadInfo::Instance); +DB2Storage<TraitDefinitionEntry> sTraitDefinitionStore("TraitDefinition.db2", &TraitDefinitionLoadInfo::Instance); +DB2Storage<TraitDefinitionEffectPointsEntry> sTraitDefinitionEffectPointsStore("TraitDefinitionEffectPoints.db2", &TraitDefinitionEffectPointsLoadInfo::Instance); +DB2Storage<TraitEdgeEntry> sTraitEdgeStore("TraitEdge.db2", &TraitEdgeLoadInfo::Instance); +DB2Storage<TraitNodeEntry> sTraitNodeStore("TraitNode.db2", &TraitNodeLoadInfo::Instance); +DB2Storage<TraitNodeEntryEntry> sTraitNodeEntryStore("TraitNodeEntry.db2", &TraitNodeEntryLoadInfo::Instance); +DB2Storage<TraitNodeEntryXTraitCondEntry> sTraitNodeEntryXTraitCondStore("TraitNodeEntryXTraitCond.db2", &TraitNodeEntryXTraitCondLoadInfo::Instance); +DB2Storage<TraitNodeEntryXTraitCostEntry> sTraitNodeEntryXTraitCostStore("TraitNodeEntryXTraitCost.db2", &TraitNodeEntryXTraitCostLoadInfo::Instance); +DB2Storage<TraitNodeGroupEntry> sTraitNodeGroupStore("TraitNodeGroup.db2", &TraitNodeGroupLoadInfo::Instance); +DB2Storage<TraitNodeGroupXTraitCondEntry> sTraitNodeGroupXTraitCondStore("TraitNodeGroupXTraitCond.db2", &TraitNodeGroupXTraitCondLoadInfo::Instance); +DB2Storage<TraitNodeGroupXTraitCostEntry> sTraitNodeGroupXTraitCostStore("TraitNodeGroupXTraitCost.db2", &TraitNodeGroupXTraitCostLoadInfo::Instance); +DB2Storage<TraitNodeGroupXTraitNodeEntry> sTraitNodeGroupXTraitNodeStore("TraitNodeGroupXTraitNode.db2", &TraitNodeGroupXTraitNodeLoadInfo::Instance); +DB2Storage<TraitNodeXTraitCondEntry> sTraitNodeXTraitCondStore("TraitNodeXTraitCond.db2", &TraitNodeXTraitCondLoadInfo::Instance); +DB2Storage<TraitNodeXTraitCostEntry> sTraitNodeXTraitCostStore("TraitNodeXTraitCost.db2", &TraitNodeXTraitCostLoadInfo::Instance); +DB2Storage<TraitNodeXTraitNodeEntryEntry> sTraitNodeXTraitNodeEntryStore("TraitNodeXTraitNodeEntry.db2", &TraitNodeXTraitNodeEntryLoadInfo::Instance); +DB2Storage<TraitTreeEntry> sTraitTreeStore("TraitTree.db2", &TraitTreeLoadInfo::Instance); +DB2Storage<TraitTreeLoadoutEntry> sTraitTreeLoadoutStore("TraitTreeLoadout.db2", &TraitTreeLoadoutLoadInfo::Instance); +DB2Storage<TraitTreeLoadoutEntryEntry> sTraitTreeLoadoutEntryStore("TraitTreeLoadoutEntry.db2", &TraitTreeLoadoutEntryLoadInfo::Instance); +DB2Storage<TraitTreeXTraitCostEntry> sTraitTreeXTraitCostStore("TraitTreeXTraitCost.db2", &TraitTreeXTraitCostLoadInfo::Instance); +DB2Storage<TraitTreeXTraitCurrencyEntry> sTraitTreeXTraitCurrencyStore("TraitTreeXTraitCurrency.db2", &TraitTreeXTraitCurrencyLoadInfo::Instance); +DB2Storage<TransmogHolidayEntry> sTransmogHolidayStore("TransmogHoliday.db2", &TransmogHolidayLoadInfo::Instance); +DB2Storage<TransmogIllusionEntry> sTransmogIllusionStore("TransmogIllusion.db2", &TransmogIllusionLoadInfo::Instance); +DB2Storage<TransmogSetEntry> sTransmogSetStore("TransmogSet.db2", &TransmogSetLoadInfo::Instance); +DB2Storage<TransmogSetGroupEntry> sTransmogSetGroupStore("TransmogSetGroup.db2", &TransmogSetGroupLoadInfo::Instance); +DB2Storage<TransmogSetItemEntry> sTransmogSetItemStore("TransmogSetItem.db2", &TransmogSetItemLoadInfo::Instance); +DB2Storage<TransportAnimationEntry> sTransportAnimationStore("TransportAnimation.db2", &TransportAnimationLoadInfo::Instance); +DB2Storage<TransportRotationEntry> sTransportRotationStore("TransportRotation.db2", &TransportRotationLoadInfo::Instance); +DB2Storage<UiMapEntry> sUiMapStore("UiMap.db2", &UiMapLoadInfo::Instance); +DB2Storage<UiMapAssignmentEntry> sUiMapAssignmentStore("UiMapAssignment.db2", &UiMapAssignmentLoadInfo::Instance); +DB2Storage<UiMapLinkEntry> sUiMapLinkStore("UiMapLink.db2", &UiMapLinkLoadInfo::Instance); +DB2Storage<UiMapXMapArtEntry> sUiMapXMapArtStore("UiMapXMapArt.db2", &UiMapXMapArtLoadInfo::Instance); +DB2Storage<UISplashScreenEntry> sUISplashScreenStore("UISplashScreen.db2", &UiSplashScreenLoadInfo::Instance); +DB2Storage<UnitConditionEntry> sUnitConditionStore("UnitCondition.db2", &UnitConditionLoadInfo::Instance); +DB2Storage<UnitPowerBarEntry> sUnitPowerBarStore("UnitPowerBar.db2", &UnitPowerBarLoadInfo::Instance); +DB2Storage<VehicleEntry> sVehicleStore("Vehicle.db2", &VehicleLoadInfo::Instance); +DB2Storage<VehicleSeatEntry> sVehicleSeatStore("VehicleSeat.db2", &VehicleSeatLoadInfo::Instance); +DB2Storage<WMOAreaTableEntry> sWMOAreaTableStore("WMOAreaTable.db2", &WmoAreaTableLoadInfo::Instance); +DB2Storage<WorldEffectEntry> sWorldEffectStore("WorldEffect.db2", &WorldEffectLoadInfo::Instance); +DB2Storage<WorldMapOverlayEntry> sWorldMapOverlayStore("WorldMapOverlay.db2", &WorldMapOverlayLoadInfo::Instance); +DB2Storage<WorldStateExpressionEntry> sWorldStateExpressionStore("WorldStateExpression.db2", &WorldStateExpressionLoadInfo::Instance); TaxiMask sTaxiNodesMask; TaxiMask sOldContinentsNodesMask; @@ -527,8 +527,8 @@ void LoadDB2(std::bitset<TOTAL_LOCALES>& availableDb2Locales, std::vector<std::s LocaleConstant defaultLocale, std::size_t cppRecordSize) { // validate structure - DB2LoadInfo const* loadInfo = storage->GetLoadInfo(); { + DB2LoadInfo const* loadInfo = storage->GetLoadInfo(); std::string clientMetaString, ourMetaString; for (std::size_t i = 0; i < loadInfo->Meta->FieldCount; ++i) { @@ -536,16 +536,16 @@ void LoadDB2(std::bitset<TOTAL_LOCALES>& availableDb2Locales, std::vector<std::s { if (i >= loadInfo->Meta->FileFieldCount && int32(i) == loadInfo->Meta->ParentIndexField) { - clientMetaString += FT_INT; + clientMetaString += char(FT_INT); continue; } - clientMetaString += loadInfo->Meta->Fields[i].Type; + clientMetaString += char(loadInfo->Meta->Fields[i].Type); } } for (std::size_t i = loadInfo->Meta->HasIndexFieldInData() ? 0 : 1; i < loadInfo->FieldCount; ++i) - ourMetaString += loadInfo->Fields[i].Type; + ourMetaString += char(loadInfo->Fields[i].Type); ASSERT(clientMetaString == ourMetaString, "%s C++ structure fields %s do not match generated types from the client %s", |