aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/hotfixes/master/2018_02_18_00_hotfixes.sql702
-rw-r--r--src/common/DataStores/DB2FileLoader.cpp892
-rw-r--r--src/common/DataStores/DB2FileLoader.h21
-rw-r--r--src/common/DataStores/DB2Meta.cpp73
-rw-r--r--src/common/DataStores/DB2Meta.h24
-rw-r--r--src/common/Define.h3
-rw-r--r--src/server/database/Database/Field.cpp39
-rw-r--r--src/server/database/Database/Field.h1
-rw-r--r--src/server/database/Database/Implementation/HotfixDatabase.cpp317
-rw-r--r--src/server/database/Database/Implementation/HotfixDatabase.h8
-rw-r--r--src/server/game/DataStores/DB2LoadInfo.h565
-rw-r--r--src/server/game/DataStores/DB2Metadata.h2368
-rw-r--r--src/server/game/DataStores/DB2Stores.cpp29
-rw-r--r--src/server/game/DataStores/DB2Stores.h3
-rw-r--r--src/server/game/DataStores/DB2Structure.h357
-rw-r--r--src/server/game/DataStores/DBCEnums.h10
-rw-r--r--src/server/game/Entities/Item/Item.cpp315
-rw-r--r--src/server/game/Entities/Item/Item.h14
-rw-r--r--src/server/game/Entities/Item/ItemTemplate.h5
-rw-r--r--src/server/game/Entities/Player/Player.cpp6
-rw-r--r--src/server/game/Entities/Player/PlayerTaxi.cpp6
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp5
-rw-r--r--src/server/game/Entities/Unit/Unit.h2
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp48
-rw-r--r--src/server/game/Groups/Group.cpp32
-rw-r--r--src/server/game/Groups/Group.h1
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp2
-rw-r--r--src/server/game/Handlers/TransmogrificationHandler.cpp2
-rw-r--r--src/server/game/Miscellaneous/SharedDefines.h46
-rw-r--r--src/server/game/Reputation/ReputationMgr.cpp4
-rw-r--r--src/server/game/Spells/Spell.cpp21
-rw-r--r--src/server/game/Spells/SpellEffects.cpp3
-rw-r--r--src/server/game/Spells/SpellInfo.cpp20
-rw-r--r--src/server/game/Spells/SpellInfo.h5
-rw-r--r--src/server/game/Spells/SpellMgr.cpp11
-rw-r--r--src/server/shared/DataStores/DB2DatabaseLoader.cpp7
-rw-r--r--src/server/shared/DataStores/DB2Store.cpp8
-rw-r--r--src/tools/extractor_common/DB2CascFileSource.cpp8
-rw-r--r--src/tools/extractor_common/DB2CascFileSource.h1
-rw-r--r--src/tools/map_extractor/System.cpp39
-rw-r--r--src/tools/map_extractor/loadlib/DBFilesClientList.h17
-rw-r--r--src/tools/vmap4_extractor/gameobject_extract.cpp3
-rw-r--r--src/tools/vmap4_extractor/vmapexport.cpp17
43 files changed, 3308 insertions, 2752 deletions
diff --git a/sql/updates/hotfixes/master/2018_02_18_00_hotfixes.sql b/sql/updates/hotfixes/master/2018_02_18_00_hotfixes.sql
new file mode 100644
index 00000000000..a3c8eadfdd1
--- /dev/null
+++ b/sql/updates/hotfixes/master/2018_02_18_00_hotfixes.sql
@@ -0,0 +1,702 @@
+--
+-- Table structure for table `achievement`
+--
+ALTER TABLE `achievement` CHANGE `Reward` `Reward` text AFTER `Description`;
+
+--
+-- Table structure for table `area_group_member`
+--
+ALTER TABLE `area_group_member` CHANGE `AreaGroupID` `AreaGroupID` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `AreaID`;
+
+--
+-- Table structure for table `area_table`
+--
+ALTER TABLE `area_table`
+ CHANGE `ZoneName` `ZoneName` text AFTER `ID`,
+ CHANGE `AreaName` `AreaName` text AFTER `ZoneName`;
+
+--
+-- Table structure for table `artifact_appearance_set`
+--
+ALTER TABLE `artifact_appearance_set` CHANGE `ArtifactID` `ArtifactID` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `ID`;
+
+--
+-- Table structure for table `artifact_power_rank`
+--
+ALTER TABLE `artifact_power_rank` CHANGE `ArtifactPowerID` `ArtifactPowerID` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `Rank`;
+
+--
+-- Table structure for table `battle_pet_breed_state`
+--
+ALTER TABLE `battle_pet_breed_state` CHANGE `BreedID` `BreedID` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `State`;
+
+--
+-- Table structure for table `battle_pet_species`
+--
+ALTER TABLE `battle_pet_species`
+ CHANGE `SourceText` `SourceText` text FIRST,
+ CHANGE `Description` `Description` text AFTER `SourceText`;
+
+--
+-- Table structure for table `battle_pet_species_state`
+--
+ALTER TABLE `battle_pet_species_state` CHANGE `SpeciesID` `SpeciesID` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `State`;
+
+--
+-- Table structure for table `battlemaster_list`
+--
+ALTER TABLE `battlemaster_list`
+ CHANGE `GameType` `GameType` text AFTER `Name`,
+ CHANGE `ShortDescription` `ShortDescription` text AFTER `GameType`,
+ CHANGE `LongDescription` `LongDescription` text AFTER `ShortDescription`;
+
+--
+-- Table structure for table `broadcast_text`
+--
+ALTER TABLE `broadcast_text`
+ CHANGE `SoundID1` `SoundID1` int(10) unsigned NOT NULL DEFAULT '0' AFTER `PlayerConditionID`,
+ CHANGE `SoundID2` `SoundID2` int(10) unsigned NOT NULL DEFAULT '0' AFTER `SoundID1`;
+
+--
+-- Table structure for table `char_start_outfit`
+--
+ALTER TABLE `char_start_outfit` CHANGE `RaceID` `RaceID` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `PetFamilyID`;
+
+--
+-- Table structure for table `chat_channels`
+--
+ALTER TABLE `chat_channels`
+ CHANGE `Name` `Name` text AFTER `ID`,
+ CHANGE `Shortcut` `Shortcut` text AFTER `Name`;
+
+--
+-- Table structure for table `chr_classes`
+--
+ALTER TABLE `chr_classes` ADD `StartingLevel` int(10) unsigned NOT NULL DEFAULT '0' AFTER `LowResScreenFileDataID`;
+
+--
+--
+-- Table structure for table `chr_classes_x_power_types`
+--
+ALTER TABLE `chr_classes_x_power_types` CHANGE `ClassID` `ClassID` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `PowerType`;
+
+-- Table structure for table `chr_races`
+--
+ALTER TABLE `chr_races`
+ CHANGE `ClientPrefix` `ClientPrefix` text FIRST,
+ CHANGE `ClientFileString` `ClientFileString` text AFTER `ClientPrefix`,
+ CHANGE `Name` `Name` text AFTER `ClientFileString`,
+ CHANGE `NameFemale` `NameFemale` text AFTER `Name`,
+ DROP `NameMale`,
+ DROP `FacialHairCustomization1`,
+ DROP `FacialHairCustomization2`,
+ DROP `HairCustomization`,
+ ADD `LowercaseName` text AFTER `NameFemale`,
+ ADD `LowercaseNameFemale` text AFTER `LowercaseName`,
+ ADD `StartingLevel` int(10) unsigned NOT NULL DEFAULT '0' AFTER `LowResScreenFileDataID`,
+ ADD `UIDisplayOrder` int(10) unsigned NOT NULL DEFAULT '0' AFTER `StartingLevel`,
+ CHANGE `ID` `ID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `CharComponentTexLayoutHiResID`,
+ ADD `HeritageArmorAchievementID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `HighResFemaleDisplayID`,
+ ADD `MaleCorpseBonesModelFileDataID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `HeritageArmorAchievementID`,
+ ADD `FemaleCorpseBonesModelFileDataID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `MaleCorpseBonesModelFileDataID`;
+
+--
+-- Table structure for table `chr_races_locale`
+--
+ALTER TABLE `chr_races_locale`
+ ADD `LowercaseName_lang` text AFTER `NameFemale_lang`,
+ ADD `LowercaseNameFemale_lang` text AFTER `LowercaseName_lang`,
+ DROP `NameMale_lang`;
+
+--
+-- Table structure for table `chr_specialization`
+--
+ALTER TABLE `chr_specialization`
+ CHANGE `Name` `Name` text FIRST,
+ CHANGE `Name2` `Name2` text AFTER `Name`,
+ CHANGE `Description` `Description` text AFTER `Name2`;
+
+--
+-- Table structure for table `creature_display_info`
+--
+ALTER TABLE `creature_display_info`
+ CHANGE `TextureVariation1` `TextureVariation1` int(10) unsigned NOT NULL DEFAULT '0' AFTER `MountSpellVisualKitID`,
+ CHANGE `TextureVariation2` `TextureVariation2` int(10) unsigned NOT NULL DEFAULT '0' AFTER `TextureVariation1`,
+ CHANGE `TextureVariation3` `TextureVariation3` int(10) unsigned NOT NULL DEFAULT '0' AFTER `TextureVariation2`;
+
+--
+-- Table structure for table `creature_family`
+--
+ALTER TABLE `creature_family` CHANGE `Name` `Name` text AFTER `ID`;
+
+--
+-- Table structure for table `criteria_tree`
+--
+ALTER TABLE `criteria_tree` CHANGE `Description` `Description` text AFTER `ID`;
+
+--
+-- Table structure for table `currency_types`
+--
+ALTER TABLE `currency_types` CHANGE `Description` `Description` text AFTER `Name`;
+
+--
+-- Table structure for table `emotes`
+--
+ALTER TABLE `emotes` CHANGE `RaceMask` `RaceMask` bigint(20) NOT NULL DEFAULT '0' AFTER `ID`;
+
+--
+-- Table structure for table `emotes_text_sound`
+--
+ALTER TABLE `emotes_text_sound` CHANGE `EmotesTextId` `EmotesTextId` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `SoundId`;
+
+--
+-- Table structure for table `faction`
+--
+ALTER TABLE `faction`
+ CHANGE `ReputationRaceMask1` `ReputationRaceMask1` bigint(20) unsigned NOT NULL DEFAULT '0' FIRST,
+ CHANGE `ReputationRaceMask2` `ReputationRaceMask2` bigint(20) unsigned NOT NULL DEFAULT '0' AFTER `ReputationRaceMask1`,
+ CHANGE `ReputationRaceMask3` `ReputationRaceMask3` bigint(20) unsigned NOT NULL DEFAULT '0' AFTER `ReputationRaceMask2`,
+ CHANGE `ReputationRaceMask4` `ReputationRaceMask4` bigint(20) unsigned NOT NULL DEFAULT '0' AFTER `ReputationRaceMask3`,
+ CHANGE `Name` `Name` text AFTER `ReputationRaceMask4`,
+ CHANGE `Description` `Description` text AFTER `Name`;
+
+--
+-- Table structure for table `gameobjects`
+--
+ALTER TABLE `gameobjects` CHANGE `Name` `Name` text FIRST;
+
+--
+-- Table structure for table `garr_building`
+--
+ALTER TABLE `garr_building`
+ CHANGE `NameAlliance` `NameAlliance` text AFTER `ID`,
+ CHANGE `NameHorde` `NameHorde` text AFTER `NameAlliance`,
+ CHANGE `Description` `Description` text AFTER `NameHorde`,
+ CHANGE `Tooltip` `Tooltip` text AFTER `Description`;
+
+--
+-- Table structure for table `garr_follower`
+--
+ALTER TABLE `garr_follower`
+ CHANGE `HordeSourceText` `HordeSourceText` text FIRST,
+ CHANGE `AllianceSourceText` `AllianceSourceText` text AFTER `HordeSourceText`,
+ CHANGE `Name` `Name` text AFTER `AllianceSourceText`;
+
+--
+-- Table structure for table `garr_follower_x_ability`
+--
+ALTER TABLE `garr_follower_x_ability` CHANGE `GarrFollowerID` `GarrFollowerID` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `FactionIndex`;
+
+--
+-- Table structure for table `glyph_required_spec`
+--
+ALTER TABLE `glyph_required_spec` CHANGE `GlyphPropertiesID` `GlyphPropertiesID` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `ChrSpecializationID`;
+
+--
+-- Table structure for table `heirloom`
+--
+ALTER TABLE `heirloom` CHANGE `SourceText` `SourceText` text FIRST;
+
+--
+-- Table structure for table `item_bonus`
+--
+ALTER TABLE `item_bonus` ADD `Value3` int(11) NOT NULL DEFAULT '0' AFTER `Value2`;
+
+--
+-- Table structure for table `item_bonus_tree_node`
+--
+ALTER TABLE `item_bonus_tree_node` CHANGE `BonusTreeID` `BonusTreeID` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `BonusTreeModID`;
+
+--
+-- Table structure for table `item_child_equipment`
+--
+ALTER TABLE `item_child_equipment` CHANGE `ItemID` `ItemID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `AltEquipmentSlot`;
+
+--
+-- Table structure for table `item_class`
+--
+ALTER TABLE `item_class` CHANGE `Name` `Name` text AFTER `ID`;
+
+--
+-- Table structure for table `item_disenchant_loot`
+--
+ALTER TABLE `item_disenchant_loot`
+ ADD `Expansion` tinyint(4) NOT NULL DEFAULT '0' AFTER `ItemQuality`,
+ CHANGE `ItemClass` `ItemClass` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `Expansion`;
+
+--
+-- Table structure for table `item_effect`
+--
+ALTER TABLE `item_effect` CHANGE `ItemID` `ItemID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `Trigger`;
+
+--
+-- Table structure for table `item_level_selector_quality`
+--
+ALTER TABLE `item_level_selector_quality` CHANGE `ItemLevelSelectorQualitySetID` `ItemLevelSelectorQualitySetID` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `Quality`;
+
+--
+-- Table structure for table `item_modified_appearance`
+--
+ALTER TABLE `item_modified_appearance`
+ CHANGE `ID` `ID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `ItemID`,
+ CHANGE `AppearanceModID` `AppearanceModID` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `ID`;
+
+--
+-- Table structure for table `item_search_name`
+--
+ALTER TABLE `item_search_name`
+ CHANGE `AllowableRace` `AllowableRace` bigint(20) unsigned NOT NULL DEFAULT '0' FIRST,
+ CHANGE `Name` `Name` text AFTER `AllowableRace`,
+ CHANGE `AllowableClass` `AllowableClass` int(11) NOT NULL DEFAULT '0' AFTER `RequiredReputationRank`;
+
+--
+-- Table structure for table `item_set_spell`
+--
+ALTER TABLE `item_set_spell` CHANGE `ItemSetID` `ItemSetID` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `Threshold`;
+
+--
+-- Table structure for table `item_sparse`
+--
+ALTER TABLE `item_sparse`
+ CHANGE `AllowableRace` `AllowableRace` bigint(20) NOT NULL DEFAULT '0' AFTER `ID`,
+ CHANGE `Name` `Name` text AFTER `AllowableRace`,
+ CHANGE `Name2` `Name2` text AFTER `Name`,
+ CHANGE `Name3` `Name3` text AFTER `Name2`,
+ CHANGE `Name4` `Name4` text AFTER `Name3`,
+ CHANGE `Description` `Description` text AFTER `Name4`;
+
+--
+-- Table structure for table `item_spec_override`
+--
+ALTER TABLE `item_spec_override` CHANGE `ItemID` `ItemID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `SpecID`;
+
+--
+-- Table structure for table `item_x_bonus_tree`
+--
+ALTER TABLE `item_x_bonus_tree` CHANGE `ItemID` `ItemID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `BonusTreeID`;
+
+--
+-- Table structure for table `lfg_dungeons`
+--
+ALTER TABLE `lfg_dungeons` CHANGE `Description` `Description` text AFTER `Name`;
+
+--
+-- Table structure for table `liquid_type`
+--
+ALTER TABLE `liquid_type`
+ CHANGE `Texture1` `Texture1` text AFTER `Name`,
+ CHANGE `Texture2` `Texture2` text AFTER `Texture1`,
+ CHANGE `Texture3` `Texture3` text AFTER `Texture2`,
+ CHANGE `Texture4` `Texture4` text AFTER `Texture3`,
+ CHANGE `Texture5` `Texture5` text AFTER `Texture4`,
+ CHANGE `Texture6` `Texture6` text AFTER `Texture5`;
+
+--
+-- Table structure for table `map`
+--
+ALTER TABLE `map`
+ CHANGE `MapName` `MapName` text AFTER `Directory`,
+ CHANGE `MapDescription0` `MapDescription0` text AFTER `MapName`,
+ CHANGE `MapDescription1` `MapDescription1` text AFTER `MapDescription0`,
+ CHANGE `ShortDescription` `ShortDescription` text AFTER `MapDescription1`,
+ CHANGE `LongDescription` `LongDescription` text AFTER `ShortDescription`;
+
+--
+-- Table structure for table `map_difficulty`
+--
+ALTER TABLE `map_difficulty` CHANGE `MapID` `MapID` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `Context`;
+
+--
+-- Table structure for table `mount`
+--
+ALTER TABLE `mount`
+ CHANGE `Name` `Name` text FIRST,
+ CHANGE `Description` `Description` text AFTER `Name`,
+ CHANGE `SourceDescription` `SourceDescription` text AFTER `Description`;
+
+--
+-- Table structure for table `mount_x_display`
+--
+ALTER TABLE `mount_x_display` CHANGE `MountID` `MountID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `PlayerConditionID`;
+
+--
+-- Table structure for table `player_condition`
+--
+ALTER TABLE `player_condition`
+ CHANGE `RaceMask` `RaceMask` bigint(20) NOT NULL DEFAULT '0' FIRST ,
+ CHANGE `FailureDescription` `FailureDescription` text AFTER `RaceMask`,
+ CHANGE `Flags` `Flags` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `ID`,
+ CHANGE `MinLevel` `MinLevel` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `Flags`,
+ CHANGE `MaxLevel` `MaxLevel` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `MinLevel`,
+ CHANGE `ClassMask` `ClassMask` int(11) NOT NULL DEFAULT '0' AFTER `MaxLevel`,
+ CHANGE `Gender` `Gender` tinyint(4) NOT NULL DEFAULT '0' AFTER `ClassMask`,
+ CHANGE `NativeGender` `NativeGender` tinyint(4) NOT NULL DEFAULT '0' AFTER `Gender`,
+ CHANGE `SkillLogic` `SkillLogic` int(10) unsigned NOT NULL DEFAULT '0' AFTER `NativeGender`,
+ CHANGE `LanguageID` `LanguageID` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `SkillLogic`,
+ CHANGE `MinLanguage` `MinLanguage` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `LanguageID`,
+ CHANGE `MaxLanguage` `MaxLanguage` int(11) NOT NULL DEFAULT '0' AFTER `MinLanguage`,
+ CHANGE `MaxFactionID` `MaxFactionID` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `MaxLanguage`,
+ CHANGE `MaxReputation` `MaxReputation` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `MaxFactionID`,
+ CHANGE `ReputationLogic` `ReputationLogic` int(10) unsigned NOT NULL DEFAULT '0' AFTER `MaxReputation`,
+ CHANGE `Unknown1` `Unknown1` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `ReputationLogic`,
+ CHANGE `MinPVPRank` `MinPVPRank` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `Unknown1`,
+ CHANGE `MaxPVPRank` `MaxPVPRank` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `MinPVPRank`,
+ CHANGE `PvpMedal` `PvpMedal` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `MaxPVPRank`,
+ CHANGE `PrevQuestLogic` `PrevQuestLogic` int(10) unsigned NOT NULL DEFAULT '0' AFTER `PvpMedal`,
+ CHANGE `CurrQuestLogic` `CurrQuestLogic` int(10) unsigned NOT NULL DEFAULT '0' AFTER `PrevQuestLogic`,
+ CHANGE `CurrentCompletedQuestLogic` `CurrentCompletedQuestLogic` int(10) unsigned NOT NULL DEFAULT '0' AFTER `CurrQuestLogic`,
+ CHANGE `SpellLogic` `SpellLogic` int(10) unsigned NOT NULL DEFAULT '0' AFTER `CurrentCompletedQuestLogic`,
+ CHANGE `ItemLogic` `ItemLogic` int(10) unsigned NOT NULL DEFAULT '0' AFTER `SpellLogic`,
+ CHANGE `ItemFlags` `ItemFlags` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `ItemLogic`,
+ CHANGE `AuraSpellLogic` `AuraSpellLogic` int(10) unsigned NOT NULL DEFAULT '0' AFTER `ItemFlags`,
+ CHANGE `WorldStateExpressionID` `WorldStateExpressionID` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `AuraSpellLogic`,
+ CHANGE `WeatherID` `WeatherID` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `WorldStateExpressionID`,
+ CHANGE `PartyStatus` `PartyStatus` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `WeatherID`,
+ CHANGE `LifetimeMaxPVPRank` `LifetimeMaxPVPRank` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `PartyStatus`,
+ CHANGE `AchievementLogic` `AchievementLogic` int(10) unsigned NOT NULL DEFAULT '0' AFTER `LifetimeMaxPVPRank`,
+ CHANGE `LfgLogic` `LfgLogic` int(10) unsigned NOT NULL DEFAULT '0' AFTER `AchievementLogic`,
+ CHANGE `AreaLogic` `AreaLogic` int(10) unsigned NOT NULL DEFAULT '0' AFTER `LfgLogic`,
+ CHANGE `CurrencyLogic` `CurrencyLogic` int(10) unsigned NOT NULL DEFAULT '0' AFTER `AreaLogic`,
+ CHANGE `QuestKillID` `QuestKillID` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `CurrencyLogic`,
+ CHANGE `QuestKillLogic` `QuestKillLogic` int(10) unsigned NOT NULL DEFAULT '0' AFTER `QuestKillID`,
+ CHANGE `MinExpansionLevel` `MinExpansionLevel` tinyint(4) NOT NULL DEFAULT '0' AFTER `QuestKillLogic`,
+ CHANGE `MaxExpansionLevel` `MaxExpansionLevel` tinyint(4) NOT NULL DEFAULT '0' AFTER `MinExpansionLevel`,
+ CHANGE `MinExpansionTier` `MinExpansionTier` tinyint(4) NOT NULL DEFAULT '0' AFTER `MaxExpansionLevel`,
+ CHANGE `MaxExpansionTier` `MaxExpansionTier` tinyint(4) NOT NULL DEFAULT '0' AFTER `MinExpansionTier`,
+ CHANGE `MinGuildLevel` `MinGuildLevel` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `MaxExpansionTier`,
+ CHANGE `MaxGuildLevel` `MaxGuildLevel` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `MinGuildLevel`,
+ CHANGE `PhaseUseFlags` `PhaseUseFlags` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `MaxGuildLevel`,
+ CHANGE `PhaseID` `PhaseID` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `PhaseUseFlags`,
+ CHANGE `PhaseGroupID` `PhaseGroupID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `PhaseID`,
+ CHANGE `MinAvgItemLevel` `MinAvgItemLevel` int(11) NOT NULL DEFAULT '0' AFTER `PhaseGroupID`,
+ CHANGE `MaxAvgItemLevel` `MaxAvgItemLevel` int(11) NOT NULL DEFAULT '0' AFTER `MinAvgItemLevel`,
+ CHANGE `MinAvgEquippedItemLevel` `MinAvgEquippedItemLevel` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `MaxAvgItemLevel`,
+ CHANGE `MaxAvgEquippedItemLevel` `MaxAvgEquippedItemLevel` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `MinAvgEquippedItemLevel`,
+ CHANGE `ChrSpecializationIndex` `ChrSpecializationIndex` tinyint(4) NOT NULL DEFAULT '0' AFTER `MaxAvgEquippedItemLevel`,
+ CHANGE `ChrSpecializationRole` `ChrSpecializationRole` tinyint(4) NOT NULL DEFAULT '0' AFTER `ChrSpecializationIndex`,
+ CHANGE `PowerType` `PowerType` tinyint(4) NOT NULL DEFAULT '0' AFTER `ChrSpecializationRole`,
+ CHANGE `PowerTypeComp` `PowerTypeComp` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `PowerType`,
+ CHANGE `PowerTypeValue` `PowerTypeValue` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `PowerTypeComp`,
+ CHANGE `ModifierTreeID` `ModifierTreeID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `PowerTypeValue`,
+ CHANGE `MainHandItemSubclassMask` `MainHandItemSubclassMask` int(11) NOT NULL DEFAULT '0' AFTER `ModifierTreeID`,
+ CHANGE `SkillID1` `SkillID1` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `MainHandItemSubclassMask`,
+ CHANGE `SkillID2` `SkillID2` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `SkillID1`,
+ CHANGE `SkillID3` `SkillID3` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `SkillID2`,
+ CHANGE `SkillID4` `SkillID4` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `SkillID3`,
+ CHANGE `MinSkill1` `MinSkill1` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `SkillID4`,
+ CHANGE `MinSkill2` `MinSkill2` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `MinSkill1`,
+ CHANGE `MinSkill3` `MinSkill3` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `MinSkill2`,
+ CHANGE `MinSkill4` `MinSkill4` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `MinSkill3`,
+ CHANGE `MaxSkill1` `MaxSkill1` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `MinSkill4`,
+ CHANGE `MaxSkill2` `MaxSkill2` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `MaxSkill1`,
+ CHANGE `MaxSkill3` `MaxSkill3` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `MaxSkill2`,
+ CHANGE `MaxSkill4` `MaxSkill4` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `MaxSkill3`,
+ CHANGE `MinFactionID1` `MinFactionID1` int(10) unsigned NOT NULL DEFAULT '0' AFTER `MaxSkill4`,
+ CHANGE `MinFactionID2` `MinFactionID2` int(10) unsigned NOT NULL DEFAULT '0' AFTER `MinFactionID1`,
+ CHANGE `MinFactionID3` `MinFactionID3` int(10) unsigned NOT NULL DEFAULT '0' AFTER `MinFactionID2`,
+ CHANGE `MinReputation1` `MinReputation1` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `MinFactionID3`,
+ CHANGE `MinReputation2` `MinReputation2` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `MinReputation1`,
+ CHANGE `MinReputation3` `MinReputation3` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `MinReputation2`,
+ CHANGE `PrevQuestID1` `PrevQuestID1` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `MinReputation3`,
+ CHANGE `PrevQuestID2` `PrevQuestID2` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `PrevQuestID1`,
+ CHANGE `PrevQuestID3` `PrevQuestID3` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `PrevQuestID2`,
+ CHANGE `PrevQuestID4` `PrevQuestID4` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `PrevQuestID3`,
+ CHANGE `CurrQuestID1` `CurrQuestID1` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `PrevQuestID4`,
+ CHANGE `CurrQuestID2` `CurrQuestID2` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `CurrQuestID1`,
+ CHANGE `CurrQuestID3` `CurrQuestID3` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `CurrQuestID2`,
+ CHANGE `CurrQuestID4` `CurrQuestID4` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `CurrQuestID3`,
+ CHANGE `CurrentCompletedQuestID1` `CurrentCompletedQuestID1` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `CurrQuestID4`,
+ CHANGE `CurrentCompletedQuestID2` `CurrentCompletedQuestID2` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `CurrentCompletedQuestID1`,
+ CHANGE `CurrentCompletedQuestID3` `CurrentCompletedQuestID3` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `CurrentCompletedQuestID2`,
+ CHANGE `CurrentCompletedQuestID4` `CurrentCompletedQuestID4` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `CurrentCompletedQuestID3`,
+ CHANGE `SpellID1` `SpellID1` int(11) NOT NULL DEFAULT '0' AFTER `CurrentCompletedQuestID4`,
+ CHANGE `SpellID2` `SpellID2` int(11) NOT NULL DEFAULT '0' AFTER `SpellID1`,
+ CHANGE `SpellID3` `SpellID3` int(11) NOT NULL DEFAULT '0' AFTER `SpellID2`,
+ CHANGE `SpellID4` `SpellID4` int(11) NOT NULL DEFAULT '0' AFTER `SpellID3`,
+ CHANGE `ItemID1` `ItemID1` int(11) NOT NULL DEFAULT '0' AFTER `SpellID4`,
+ CHANGE `ItemID2` `ItemID2` int(11) NOT NULL DEFAULT '0' AFTER `ItemID1`,
+ CHANGE `ItemID3` `ItemID3` int(11) NOT NULL DEFAULT '0' AFTER `ItemID2`,
+ CHANGE `ItemID4` `ItemID4` int(11) NOT NULL DEFAULT '0' AFTER `ItemID3`,
+ CHANGE `ItemCount1` `ItemCount1` int(10) unsigned NOT NULL DEFAULT '0' AFTER `ItemID4`,
+ CHANGE `ItemCount2` `ItemCount2` int(10) unsigned NOT NULL DEFAULT '0' AFTER `ItemCount1`,
+ CHANGE `ItemCount3` `ItemCount3` int(10) unsigned NOT NULL DEFAULT '0' AFTER `ItemCount2`,
+ CHANGE `ItemCount4` `ItemCount4` int(10) unsigned NOT NULL DEFAULT '0' AFTER `ItemCount3`,
+ CHANGE `Explored1` `Explored1` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `ItemCount4`,
+ CHANGE `Explored2` `Explored2` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `Explored1`,
+ CHANGE `AuraCount1` `AuraCount1` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `AuraSpellID4`,
+ CHANGE `AuraCount2` `AuraCount2` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `AuraCount1`,
+ CHANGE `AuraCount3` `AuraCount3` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `AuraCount2`,
+ CHANGE `AuraCount4` `AuraCount4` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `AuraCount3`,
+ CHANGE `LfgStatus1` `LfgStatus1` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `Achievement4`,
+ CHANGE `LfgStatus2` `LfgStatus2` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `LfgStatus1`,
+ CHANGE `LfgStatus3` `LfgStatus3` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `LfgStatus2`,
+ CHANGE `LfgStatus4` `LfgStatus4` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `LfgStatus3`,
+ CHANGE `LfgCompare1` `LfgCompare1` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `LfgStatus4`,
+ CHANGE `LfgCompare2` `LfgCompare2` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `LfgCompare1`,
+ CHANGE `LfgCompare3` `LfgCompare3` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `LfgCompare2`,
+ CHANGE `LfgCompare4` `LfgCompare4` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `LfgCompare3`,
+ CHANGE `LfgValue1` `LfgValue1` int(10) unsigned NOT NULL DEFAULT '0' AFTER `LfgCompare4`,
+ CHANGE `LfgValue2` `LfgValue2` int(10) unsigned NOT NULL DEFAULT '0' AFTER `LfgValue1`,
+ CHANGE `LfgValue3` `LfgValue3` int(10) unsigned NOT NULL DEFAULT '0' AFTER `LfgValue2`,
+ CHANGE `LfgValue4` `LfgValue4` int(10) unsigned NOT NULL DEFAULT '0' AFTER `LfgValue3`,
+ CHANGE `CurrencyID1` `CurrencyID1` int(10) unsigned NOT NULL DEFAULT '0' AFTER `AreaID4`,
+ CHANGE `CurrencyID2` `CurrencyID2` int(10) unsigned NOT NULL DEFAULT '0' AFTER `CurrencyID1`,
+ CHANGE `CurrencyID3` `CurrencyID3` int(10) unsigned NOT NULL DEFAULT '0' AFTER `CurrencyID2`,
+ CHANGE `CurrencyID4` `CurrencyID4` int(10) unsigned NOT NULL DEFAULT '0' AFTER `CurrencyID3`,
+ CHANGE `CurrencyCount1` `CurrencyCount1` int(10) unsigned NOT NULL DEFAULT '0' AFTER `CurrencyID4`,
+ CHANGE `CurrencyCount2` `CurrencyCount2` int(10) unsigned NOT NULL DEFAULT '0' AFTER `CurrencyCount1`,
+ CHANGE `CurrencyCount3` `CurrencyCount3` int(10) unsigned NOT NULL DEFAULT '0' AFTER `CurrencyCount2`,
+ CHANGE `CurrencyCount4` `CurrencyCount4` int(10) unsigned NOT NULL DEFAULT '0' AFTER `CurrencyCount3`;
+
+--
+-- Table structure for table `prestige_level_info`
+--
+ALTER TABLE `prestige_level_info` CHANGE `PrestigeText` `PrestigeText` text AFTER `ID`;
+
+--
+-- Table structure for table `pvp_difficulty`
+--
+ALTER TABLE `pvp_difficulty` CHANGE `MapID` `MapID` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `MaxLevel`;
+
+--
+-- Table structure for table `reward_pack_x_item`
+--
+ALTER TABLE `reward_pack_x_item` CHANGE `RewardPackID` `RewardPackID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `Amount`;
+
+--
+-- Table structure for table `sandbox_scaling`
+--
+DROP TABLE IF EXISTS `sandbox_scaling`;
+CREATE TABLE `sandbox_scaling` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `MinLevel` int(10) unsigned NOT NULL DEFAULT '0',
+ `MaxLevel` int(10) unsigned NOT NULL DEFAULT '0',
+ `Flags` int(10) unsigned NOT NULL DEFAULT '0',
+ `VerifiedBuild` smallint(6) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+--
+-- Table structure for table `scene_script`
+--
+ALTER TABLE `scene_script`
+ DROP `Name`,
+ DROP `Script`;
+
+--
+-- Table structure for table `scene_script_global_text`
+--
+DROP TABLE IF EXISTS `scene_script_global_text`;
+CREATE TABLE `scene_script_global_text` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `Name` text,
+ `Script` text,
+ `VerifiedBuild` smallint(6) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+--
+-- Table structure for table `scene_script_text`
+--
+DROP TABLE IF EXISTS `scene_script_text`;
+CREATE TABLE `scene_script_text` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `Name` text,
+ `Script` text,
+ `VerifiedBuild` smallint(6) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+--
+-- Table structure for table `skill_line_ability`
+--
+ALTER TABLE `skill_line_ability`
+ CHANGE `RaceMask` `RaceMask` bigint(20) unsigned NOT NULL DEFAULT '0' FIRST,
+ CHANGE `MinSkillLineRank` `MinSkillLineRank` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `ClassMask`,
+ CHANGE `AcquireMethod` `AcquireMethod` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `MinSkillLineRank`,
+ CHANGE `Unknown703` `Flags` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `AcquireMethod`;
+
+--
+-- Table structure for table `skill_race_class_info`
+--
+ALTER TABLE `skill_race_class_info` CHANGE `RaceMask` `RaceMask` bigint(20) NOT NULL DEFAULT '0' AFTER `ID`;
+
+--
+-- Table structure for table `specialization_spells`
+--
+ALTER TABLE `specialization_spells` CHANGE `Description` `Description` text FIRST ;
+
+--
+-- Table structure for table `spell`
+--
+ALTER TABLE `spell`
+ CHANGE `ID` `ID` int(10) unsigned NOT NULL DEFAULT '0' FIRST,
+ DROP `MiscID`,
+ DROP `DescriptionVariablesID`;
+
+--
+-- Table structure for table `spell_aura_options`
+--
+ALTER TABLE `spell_aura_options` CHANGE `SpellID` `SpellID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `ProcChance`;
+
+--
+-- Table structure for table `spell_aura_restrictions`
+--
+ALTER TABLE `spell_aura_restrictions` CHANGE `SpellID` `SpellID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `ExcludeTargetAuraState`;
+
+--
+-- Table structure for table `spell_categories`
+--
+ALTER TABLE `spell_categories` CHANGE `SpellID` `SpellID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `PreventionType`;
+
+--
+-- Table structure for table `spell_cooldowns`
+--
+ALTER TABLE `spell_cooldowns` CHANGE `SpellID` `SpellID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `DifficultyID`;
+
+--
+-- Table structure for table `spell_effect`
+--
+ALTER TABLE `spell_effect`
+ CHANGE `EffectAura` `EffectAura` int(10) unsigned NOT NULL DEFAULT '0' AFTER `EffectIndex`,
+ ADD `Coefficient` float NOT NULL DEFAULT '0' AFTER `PvPMultiplier`,
+ ADD `Variance` float NOT NULL DEFAULT '0' AFTER `Coefficient`,
+ ADD `ResourceCoefficient` float NOT NULL DEFAULT '0' AFTER `Variance`,
+ ADD `GroupSizeCoefficient` float NOT NULL DEFAULT '0' AFTER `ResourceCoefficient`,
+ CHANGE `EffectSpellClassMask1` `EffectSpellClassMask1` int(10) unsigned NOT NULL DEFAULT '0' AFTER `GroupSizeCoefficient`,
+ CHANGE `EffectSpellClassMask2` `EffectSpellClassMask2` int(10) unsigned NOT NULL DEFAULT '0' AFTER `EffectSpellClassMask1`,
+ CHANGE `EffectSpellClassMask3` `EffectSpellClassMask3` int(10) unsigned NOT NULL DEFAULT '0' AFTER `EffectSpellClassMask2`,
+ CHANGE `EffectSpellClassMask4` `EffectSpellClassMask4` int(10) unsigned NOT NULL DEFAULT '0' AFTER `EffectSpellClassMask3`,
+ CHANGE `EffectMiscValue` `EffectMiscValue` int(11) NOT NULL DEFAULT '0' AFTER `EffectSpellClassMask4`,
+ CHANGE `EffectMiscValueB` `EffectMiscValueB` int(11) NOT NULL DEFAULT '0' AFTER `EffectMiscValue`,
+ CHANGE `EffectRadiusIndex` `EffectRadiusIndex` int(10) unsigned NOT NULL DEFAULT '0' AFTER `EffectMiscValueB`,
+ CHANGE `EffectRadiusMaxIndex` `EffectRadiusMaxIndex` int(10) unsigned NOT NULL DEFAULT '0' AFTER `EffectRadiusIndex`,
+ CHANGE `ImplicitTarget1` `ImplicitTarget1` int(10) unsigned NOT NULL DEFAULT '0' AFTER `EffectRadiusMaxIndex`,
+ CHANGE `ImplicitTarget2` `ImplicitTarget2` int(10) unsigned NOT NULL DEFAULT '0' AFTER `ImplicitTarget1`,
+ CHANGE `SpellID` `SpellID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `ImplicitTarget2`;
+
+--
+-- Table structure for table `spell_effect_scaling`
+--
+DROP TABLE `spell_effect_scaling`;
+
+--
+-- Table structure for table `spell_interrupts`
+--
+ALTER TABLE `spell_interrupts`
+ CHANGE `DifficultyID` `DifficultyID` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `ID`,
+ CHANGE `InterruptFlags` `InterruptFlags` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `DifficultyID`,
+ CHANGE `SpellID` `SpellID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `ChannelInterruptFlags2`;
+
+--
+-- Table structure for table `spell_item_enchantment`
+--
+ALTER TABLE `spell_item_enchantment` CHANGE `Name` `Name` text AFTER `ID`;
+
+--
+-- Table structure for table `spell_item_enchantment_condition`
+--
+ALTER TABLE `spell_item_enchantment_condition`
+ CHANGE `LTOperand1` `LTOperand1` int(10) unsigned NOT NULL DEFAULT '0' AFTER `ID`,
+ CHANGE `LTOperand2` `LTOperand2` int(10) unsigned NOT NULL DEFAULT '0' AFTER `LTOperand1`,
+ CHANGE `LTOperand3` `LTOperand3` int(10) unsigned NOT NULL DEFAULT '0' AFTER `LTOperand2`,
+ CHANGE `LTOperand4` `LTOperand4` int(10) unsigned NOT NULL DEFAULT '0' AFTER `LTOperand3`,
+ CHANGE `LTOperand5` `LTOperand5` int(10) unsigned NOT NULL DEFAULT '0' AFTER `LTOperand4`;
+
+--
+-- Table structure for table `spell_levels`
+--
+ALTER TABLE `spell_levels` CHANGE `SpellID` `SpellID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `MaxUsableLevel`;
+
+--
+-- Table structure for table `spell_misc`
+--
+ALTER TABLE `spell_misc`
+ CHANGE `CastingTimeIndex` `CastingTimeIndex` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `ID`,
+ CHANGE `DurationIndex` `DurationIndex` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `CastingTimeIndex`,
+ CHANGE `RangeIndex` `RangeIndex` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `DurationIndex`,
+ CHANGE `SchoolMask` `SchoolMask` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `RangeIndex`,
+ CHANGE `IconFileDataID` `IconFileDataID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `SchoolMask`,
+ CHANGE `Speed` `Speed` float NOT NULL DEFAULT '0' AFTER `IconFileDataID`,
+ CHANGE `ActiveIconFileDataID` `ActiveIconFileDataID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `Speed`,
+ CHANGE `MultistrikeSpeedMod` `MultistrikeSpeedMod` float NOT NULL DEFAULT '0' AFTER `ActiveIconFileDataID`,
+ ADD `DifficultyID` tinyint(3) unsigned NOT NULL DEFAULT '0' AFTER `MultistrikeSpeedMod`,
+ ADD `SpellID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `AttributesExM`;
+
+--
+-- Table structure for table `spell_power`
+--
+ALTER TABLE `spell_power` CHANGE `SpellID` `SpellID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `UnitPowerBarID`;
+
+--
+-- Table structure for table `spell_procs_per_minute_mod`
+--
+ALTER TABLE `spell_procs_per_minute_mod` CHANGE `SpellProcsPerMinuteID` `SpellProcsPerMinuteID` smallint(5) unsigned NOT NULL DEFAULT '0' AFTER `Type`;
+
+--
+-- Table structure for table `spell_range`
+--
+ALTER TABLE `spell_range`
+ CHANGE `DisplayName` `DisplayName` text AFTER `ID`,
+ CHANGE `DisplayNameShort` `DisplayNameShort` text AFTER `DisplayName`;
+
+--
+-- Table structure for table `spell_target_restrictions`
+--
+ALTER TABLE `spell_target_restrictions` CHANGE `SpellID` `SpellID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `MaxTargetLevel`;
+
+--
+-- Table structure for table `spell_x_spell_visual`
+--
+ALTER TABLE `spell_x_spell_visual` CHANGE `SpellID` `SpellID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `Priority`;
+
+--
+-- Table structure for table `talent`
+--
+ALTER TABLE `talent` CHANGE `Description` `Description` text AFTER `ID`;
+
+--
+-- Table structure for table `taxi_nodes`
+--
+ALTER TABLE `taxi_nodes` CHANGE `Name` `Name` text AFTER `ID`;
+
+--
+-- Table structure for table `toy`
+--
+ALTER TABLE `toy` CHANGE `Description` `Description` text FIRST ;
+
+--
+-- Table structure for table `transport_animation`
+--
+ALTER TABLE `transport_animation` CHANGE `TransportID` `TransportID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `SequenceID`;
+
+--
+-- Table structure for table `transport_rotation`
+--
+ALTER TABLE `transport_rotation` CHANGE `TransportID` `TransportID` int(10) unsigned NOT NULL DEFAULT '0' AFTER `W`;
+
+--
+-- Table structure for table `unit_power_bar`
+--
+ALTER TABLE `unit_power_bar`
+ CHANGE `Name` `Name` text AFTER `ID`,
+ CHANGE `Cost` `Cost` text AFTER `Name`,
+ CHANGE `OutOfError` `OutOfError` text AFTER `Cost`,
+ CHANGE `ToolTip` `ToolTip` text AFTER `OutOfError`;
+
+--
+-- Table structure for table `wmo_area_table`
+--
+ALTER TABLE `wmo_area_table`
+ CHANGE `AreaName` `AreaName` text FIRST,
+ CHANGE `WMOID` `WMOID` smallint(6) NOT NULL DEFAULT '0' AFTER `UWZoneMusic`;
+
+--
+-- Table structure for table `world_map_overlay`
+--
+ALTER TABLE `world_map_overlay` CHANGE `TextureName` `TextureName` text FIRST ;
+
+--
+-- Table structure for table `world_safe_locs`
+--
+ALTER TABLE `world_safe_locs` CHANGE `AreaName` `AreaName` text AFTER `ID`;
diff --git a/src/common/DataStores/DB2FileLoader.cpp b/src/common/DataStores/DB2FileLoader.cpp
index a0668a730f6..f0c1e0a6a01 100644
--- a/src/common/DataStores/DB2FileLoader.cpp
+++ b/src/common/DataStores/DB2FileLoader.cpp
@@ -23,6 +23,90 @@
#include "Log.h"
#include <sstream>
+enum class DB2ColumnCompression : uint32
+{
+ None,
+ Immediate,
+ CommonData,
+ Pallet,
+ PalletArray
+};
+
+#pragma pack(push, 1)
+
+struct DB2FieldEntry
+{
+ int16 UnusedBits;
+ uint16 Offset;
+};
+
+struct DB2CatalogEntry
+{
+ uint32 FileOffset;
+ uint16 RecordSize;
+};
+
+struct DB2ColumnMeta
+{
+ uint16 BitOffset;
+ uint16 BitSize;
+ uint32 AdditionalDataSize;
+ DB2ColumnCompression CompressionType;
+ union
+ {
+ struct
+ {
+ uint32 BitOffset;
+ uint32 BitWidth;
+ bool Signed;
+ } immediate;
+
+ struct
+ {
+ uint32 Value;
+ } commonData;
+
+ struct
+ {
+ uint32 BitOffset;
+ uint32 BitWidth;
+ uint32 ArraySize;
+ } pallet;
+ } CompressionData;
+};
+
+struct DB2CommonValue
+{
+ uint32 RecordId;
+ uint32 Value;
+};
+
+struct DB2PalletValue
+{
+ uint32 Value;
+};
+
+struct DB2IndexDataInfo
+{
+ uint32 NumEntries;
+ uint32 MinId;
+ uint32 MaxId;
+};
+
+struct DB2IndexEntry
+{
+ uint32 ParentId;
+ uint32 RecordIndex;
+};
+
+#pragma pack(pop)
+
+struct DB2IndexData
+{
+ DB2IndexDataInfo Info;
+ std::unique_ptr<DB2IndexEntry[]> Entries;
+};
+
DB2FileLoadInfo::DB2FileLoadInfo() : Fields(nullptr), FieldCount(0), Meta(nullptr)
{
}
@@ -70,7 +154,12 @@ class DB2FileLoaderImpl
{
public:
virtual ~DB2FileLoaderImpl() { }
- virtual bool Load(DB2FileSource* source, DB2FileLoadInfo const* loadInfo, DB2Header const* header) = 0;
+ virtual bool LoadTableData(DB2FileSource* source) = 0;
+ virtual bool LoadCatalogData(DB2FileSource* source) = 0;
+ virtual void SetAdditionalData(std::unique_ptr<DB2FieldEntry[]> fields, std::unique_ptr<uint32[]> idTable, std::unique_ptr<DB2RecordCopy[]> copyTable,
+ std::unique_ptr<DB2ColumnMeta[]> columnMeta, std::unique_ptr<std::unique_ptr<DB2PalletValue[]>[]> palletValues,
+ std::unique_ptr<std::unique_ptr<DB2PalletValue[]>[]> palletArrayValues, std::unique_ptr<std::unordered_map<uint32, uint32>[]> commonValues,
+ std::unique_ptr<DB2IndexData[]> parentIndexes) = 0;
virtual char* AutoProduceData(uint32& count, char**& indexTable, std::vector<char*>& stringPool) = 0;
virtual char* AutoProduceStrings(char* dataTable, uint32 locale) = 0;
virtual void AutoProduceRecordCopies(uint32 records, char** indexTable, char* dataTable) = 0;
@@ -84,13 +173,14 @@ public:
private:
friend class DB2Record;
virtual unsigned char const* GetRawRecordData(uint32 recordNumber) const = 0;
- virtual uint32 RecordGetId(unsigned char const* record, uint32 recordIndex) const = 0;
- virtual uint8 RecordGetUInt8(unsigned char const* record, uint32 field, uint32 arrayIndex) const = 0;
- virtual uint16 RecordGetUInt16(unsigned char const* record, uint32 field, uint32 arrayIndex) const = 0;
- virtual uint32 RecordGetUInt32(unsigned char const* record, uint32 field, uint32 arrayIndex) const = 0;
- virtual int32 RecordGetInt32(unsigned char const* record, uint32 field, uint32 arrayIndex) const = 0;
- virtual float RecordGetFloat(unsigned char const* record, uint32 field, uint32 arrayIndex) const = 0;
- virtual char const* RecordGetString(unsigned char const* record, uint32 field, uint32 arrayIndex) const = 0;
+ virtual uint32 RecordGetId(uint8 const* record, uint32 recordIndex) const = 0;
+ virtual uint8 RecordGetUInt8(uint8 const* record, uint32 field, uint32 arrayIndex) const = 0;
+ virtual uint16 RecordGetUInt16(uint8 const* record, uint32 field, uint32 arrayIndex) const = 0;
+ virtual uint32 RecordGetUInt32(uint8 const* record, uint32 field, uint32 arrayIndex) const = 0;
+ virtual int32 RecordGetInt32(uint8 const* record, uint32 field, uint32 arrayIndex) const = 0;
+ virtual uint64 RecordGetUInt64(uint8 const* record, uint32 field, uint32 arrayIndex) const = 0;
+ virtual float RecordGetFloat(uint8 const* record, uint32 field, uint32 arrayIndex) const = 0;
+ virtual char const* RecordGetString(uint8 const* record, uint32 field, uint32 arrayIndex) const = 0;
virtual std::size_t* RecordCreateDetachedFieldOffsets(std::size_t* oldOffsets) const = 0;
virtual void RecordDestroyFieldOffsets(std::size_t*& fieldOffsets) const = 0;
};
@@ -98,10 +188,15 @@ private:
class DB2FileLoaderRegularImpl final : public DB2FileLoaderImpl
{
public:
- DB2FileLoaderRegularImpl();
+ DB2FileLoaderRegularImpl(char const* fileName, DB2FileLoadInfo const* loadInfo, DB2Header const* header);
~DB2FileLoaderRegularImpl();
- bool Load(DB2FileSource* source, DB2FileLoadInfo const* loadInfo, DB2Header const* header) override;
+ bool LoadTableData(DB2FileSource* source) override;
+ bool LoadCatalogData(DB2FileSource* /*source*/) override { return true; }
+ void SetAdditionalData(std::unique_ptr<DB2FieldEntry[]> fields, std::unique_ptr<uint32[]> idTable, std::unique_ptr<DB2RecordCopy[]> copyTable,
+ std::unique_ptr<DB2ColumnMeta[]> columnMeta, std::unique_ptr<std::unique_ptr<DB2PalletValue[]>[]> palletValues,
+ std::unique_ptr<std::unique_ptr<DB2PalletValue[]>[]> palletArrayValues, std::unique_ptr<std::unordered_map<uint32, uint32>[]> commonValues,
+ std::unique_ptr<DB2IndexData[]> parentIndexes) override;
char* AutoProduceData(uint32& count, char**& indexTable, std::vector<char*>& stringPool) override;
char* AutoProduceStrings(char* dataTable, uint32 locale) override;
void AutoProduceRecordCopies(uint32 records, char** indexTable, char* dataTable) override;
@@ -113,50 +208,49 @@ public:
DB2FileLoadInfo const* GetLoadInfo() const override;
private:
- void FillCommonValues(char** indexTable);
- unsigned char const* GetRawRecordData(uint32 recordNumber) const override;
- uint32 RecordGetId(unsigned char const* record, uint32 recordIndex) const override;
- uint8 RecordGetUInt8(unsigned char const* record, uint32 field, uint32 arrayIndex) const override;
- uint16 RecordGetUInt16(unsigned char const* record, uint32 field, uint32 arrayIndex) const override;
- uint32 RecordGetUInt32(unsigned char const* record, uint32 field, uint32 arrayIndex) const override;
- int32 RecordGetInt32(unsigned char const* record, uint32 field, uint32 arrayIndex) const override;
- float RecordGetFloat(unsigned char const* record, uint32 field, uint32 arrayIndex) const override;
- char const* RecordGetString(unsigned char const* record, uint32 field, uint32 arrayIndex) const override;
- uint32 RecordGetVarInt(unsigned char const* record, uint32 field, uint32 arrayIndex, bool isSigned) const;
+ void FillParentLookup(char* dataTable);
+ uint8 const* GetRawRecordData(uint32 recordNumber) const override;
+ uint32 RecordGetId(uint8 const* record, uint32 recordIndex) const override;
+ uint8 RecordGetUInt8(uint8 const* record, uint32 field, uint32 arrayIndex) const override;
+ uint16 RecordGetUInt16(uint8 const* record, uint32 field, uint32 arrayIndex) const override;
+ uint32 RecordGetUInt32(uint8 const* record, uint32 field, uint32 arrayIndex) const override;
+ int32 RecordGetInt32(uint8 const* record, uint32 field, uint32 arrayIndex) const override;
+ uint64 RecordGetUInt64(uint8 const* record, uint32 field, uint32 arrayIndex) const override;
+ float RecordGetFloat(uint8 const* record, uint32 field, uint32 arrayIndex) const override;
+ char const* RecordGetString(uint8 const* record, uint32 field, uint32 arrayIndex) const override;
+ template<typename T>
+ T RecordGetVarInt(uint8 const* record, uint32 field, uint32 arrayIndex) const;
+ uint64 RecordGetPackedValue(uint8 const* packedRecordData, uint32 bitWidth, uint32 bitOffset) const;
uint16 GetFieldOffset(uint32 field) const;
- uint16 GetFieldSize(uint32 field) const;
std::size_t* RecordCreateDetachedFieldOffsets(std::size_t* oldOffsets) const override;
void RecordDestroyFieldOffsets(std::size_t*& fieldOffsets) const override;
-#pragma pack(push, 1)
- struct FieldEntry
- {
- uint16 UnusedBits;
- uint16 Offset;
- };
-#pragma pack(pop)
-
- char const* fileName;
+ char const* _fileName;
DB2FileLoadInfo const* _loadInfo;
-
DB2Header const* _header;
-
- unsigned char* data;
- unsigned char* stringTable;
- unsigned char* idTable;
- uint32 idTableSize;
- DB2RecordCopy* copyTable;
- FieldEntry* fields;
- unsigned char* commonData;
+ std::unique_ptr<uint8[]> _data;
+ uint8* _stringTable;
+ std::unique_ptr<uint32[]> _idTable;
+ std::unique_ptr<DB2RecordCopy[]> _copyTable;
+ std::unique_ptr<DB2ColumnMeta[]> _columnMeta;
+ std::unique_ptr<std::unique_ptr<DB2PalletValue[]>[]> _palletValues;
+ std::unique_ptr<std::unique_ptr<DB2PalletValue[]>[]> _palletArrayValues;
+ std::unique_ptr<std::unordered_map<uint32, uint32>[]> _commonValues;
+ std::unique_ptr<DB2IndexData[]> _parentIndexes;
};
class DB2FileLoaderSparseImpl final : public DB2FileLoaderImpl
{
public:
- DB2FileLoaderSparseImpl();
+ DB2FileLoaderSparseImpl(char const* fileName, DB2FileLoadInfo const* loadInfo, DB2Header const* header);
~DB2FileLoaderSparseImpl();
- bool Load(DB2FileSource* source, DB2FileLoadInfo const* loadInfo, DB2Header const* header) override;
+ bool LoadTableData(DB2FileSource* source) override;
+ bool LoadCatalogData(DB2FileSource* source) override;
+ void SetAdditionalData(std::unique_ptr<DB2FieldEntry[]> fields, std::unique_ptr<uint32[]> idTable, std::unique_ptr<DB2RecordCopy[]> copyTable,
+ std::unique_ptr<DB2ColumnMeta[]> columnMeta, std::unique_ptr<std::unique_ptr<DB2PalletValue[]>[]> palletValues,
+ std::unique_ptr<std::unique_ptr<DB2PalletValue[]>[]> palletArrayValues, std::unique_ptr<std::unordered_map<uint32, uint32>[]> commonValues,
+ std::unique_ptr<DB2IndexData[]> parentIndexes) override;
char* AutoProduceData(uint32& records, char**& indexTable, std::vector<char*>& stringPool) override;
char* AutoProduceStrings(char* dataTable, uint32 locale) override;
void AutoProduceRecordCopies(uint32 /*records*/, char** /*indexTable*/, char* /*dataTable*/) override { }
@@ -168,127 +262,72 @@ public:
DB2FileLoadInfo const* GetLoadInfo() const override;
private:
- unsigned char const* GetRawRecordData(uint32 recordNumber) const override;
- uint32 RecordGetId(unsigned char const* record, uint32 recordIndex) const override;
- uint8 RecordGetUInt8(unsigned char const* record, uint32 field, uint32 arrayIndex) const override;
- uint16 RecordGetUInt16(unsigned char const* record, uint32 field, uint32 arrayIndex) const override;
- uint32 RecordGetUInt32(unsigned char const* record, uint32 field, uint32 arrayIndex) const override;
- int32 RecordGetInt32(unsigned char const* record, uint32 field, uint32 arrayIndex) const override;
- float RecordGetFloat(unsigned char const* record, uint32 field, uint32 arrayIndex) const override;
- char const* RecordGetString(unsigned char const* record, uint32 field, uint32 arrayIndex) const override;
- uint32 RecordGetVarInt(unsigned char const* record, uint32 field, uint32 arrayIndex, bool isSigned) const;
+ uint8 const* GetRawRecordData(uint32 recordNumber) const override;
+ uint32 RecordGetId(uint8 const* record, uint32 recordIndex) const override;
+ uint8 RecordGetUInt8(uint8 const* record, uint32 field, uint32 arrayIndex) const override;
+ uint16 RecordGetUInt16(uint8 const* record, uint32 field, uint32 arrayIndex) const override;
+ uint32 RecordGetUInt32(uint8 const* record, uint32 field, uint32 arrayIndex) const override;
+ int32 RecordGetInt32(uint8 const* record, uint32 field, uint32 arrayIndex) const override;
+ uint64 RecordGetUInt64(uint8 const* record, uint32 field, uint32 arrayIndex) const override;
+ float RecordGetFloat(uint8 const* record, uint32 field, uint32 arrayIndex) const override;
+ char const* RecordGetString(uint8 const* record, uint32 field, uint32 arrayIndex) const override;
+ uint32 RecordGetVarInt(uint8 const* record, uint32 field, uint32 arrayIndex, bool isSigned) const;
uint16 GetFieldOffset(uint32 field, uint32 arrayIndex) const;
uint16 GetFieldSize(uint32 field) const;
std::size_t* RecordCreateDetachedFieldOffsets(std::size_t* oldOffsets) const override;
void RecordDestroyFieldOffsets(std::size_t*& fieldOffsets) const override;
- void CalculateAndStoreFieldOffsets(unsigned char const* rawRecord) const;
+ void CalculateAndStoreFieldOffsets(uint8 const* rawRecord) const;
#pragma pack(push, 1)
- struct OffsetTableEntry
- {
- uint32 FileOffset;
- uint16 RecordSize;
- };
- struct FieldEntry
- {
- uint16 UnusedBits;
- uint16 Offset;
- };
#pragma pack(pop)
- char const* fileName;
+ char const* _fileName;
DB2FileLoadInfo const* _loadInfo;
- std::size_t* _fieldAndArrayOffsets;
-
DB2Header const* _header;
- FieldEntry* fields;
-
- std::size_t dataStart;
- unsigned char* data;
- OffsetTableEntry* offsets;
+ std::size_t _dataStart;
+ std::unique_ptr<uint8[]> _data;
+ std::unique_ptr<DB2FieldEntry[]> _fields;
+ std::unique_ptr<std::size_t[]> _fieldAndArrayOffsets;
+ std::unique_ptr<DB2CatalogEntry[]> _catalog;
};
-DB2FileLoaderRegularImpl::DB2FileLoaderRegularImpl()
+DB2FileLoaderRegularImpl::DB2FileLoaderRegularImpl(char const* fileName, DB2FileLoadInfo const* loadInfo, DB2Header const* header) :
+ _fileName(fileName),
+ _loadInfo(loadInfo),
+ _header(header),
+ _stringTable(nullptr)
{
- fileName = nullptr;
- _loadInfo = nullptr;
- _header = nullptr;
- data = nullptr;
- stringTable = nullptr;
- idTable = nullptr;
- idTableSize = 0;
- copyTable = nullptr;
- fields = nullptr;
- commonData = nullptr;
}
-bool DB2FileLoaderRegularImpl::Load(DB2FileSource* source, DB2FileLoadInfo const* loadInfo, DB2Header const* header)
+bool DB2FileLoaderRegularImpl::LoadTableData(DB2FileSource* source)
{
- _loadInfo = loadInfo;
- _header = header;
- ASSERT(_loadInfo->Meta->IndexField == -1 || _loadInfo->Meta->IndexField == int32(header->IndexField));
-
- fileName = source->GetFileName();
- fields = new FieldEntry[header->FieldCount];
- if (!source->Read(fields, header->FieldCount * sizeof(FieldEntry)))
- return false;
-
- if (!_loadInfo->Meta->HasIndexFieldInData())
- idTableSize = header->RecordCount * sizeof(uint32);
-
- data = new unsigned char[header->RecordSize * header->RecordCount + header->StringTableSize];
- stringTable = data + header->RecordSize * header->RecordCount;
-
- if (!source->Read(data, header->RecordSize * header->RecordCount + header->StringTableSize))
- return false;
-
- if (idTableSize)
- {
- idTable = new unsigned char[idTableSize];
- if (!source->Read(idTable, idTableSize))
- return false;
- }
-
- if (header->CopyTableSize)
- {
- copyTable = new DB2RecordCopy[header->CopyTableSize / sizeof(DB2RecordCopy)];
- if (!source->Read(copyTable, header->CopyTableSize))
- return false;
- }
-
- if (header->CommonDataSize)
- {
- uint32 commonFieldCount;
- if (!source->Read(&commonFieldCount, sizeof(uint32)))
- return false;
-
- if (commonFieldCount != header->TotalFieldCount)
- return false;
-
- commonData = new unsigned char[header->CommonDataSize - sizeof(uint32)];
- if (!source->Read(commonData, header->CommonDataSize - sizeof(uint32)))
- return false;
- }
+ _data = Trinity::make_unique<uint8[]>(_header->RecordSize * _header->RecordCount + _header->StringTableSize);
+ _stringTable = &_data[_header->RecordSize * _header->RecordCount];
+ return source->Read(_data.get(), _header->RecordSize * _header->RecordCount + _header->StringTableSize);
+}
- return true;
+void DB2FileLoaderRegularImpl::SetAdditionalData(std::unique_ptr<DB2FieldEntry[]> /*fields*/, std::unique_ptr<uint32[]> idTable, std::unique_ptr<DB2RecordCopy[]> copyTable,
+ std::unique_ptr<DB2ColumnMeta[]> columnMeta, std::unique_ptr<std::unique_ptr<DB2PalletValue[]>[]> palletValues,
+ std::unique_ptr<std::unique_ptr<DB2PalletValue[]>[]> palletArrayValues, std::unique_ptr<std::unordered_map<uint32, uint32>[]> commonValues,
+ std::unique_ptr<DB2IndexData[]> parentIndexes)
+{
+ _idTable = std::move(idTable);
+ _copyTable = std::move(copyTable);
+ _columnMeta = std::move(columnMeta);
+ _palletValues = std::move(palletValues);
+ _palletArrayValues = std::move(palletArrayValues);
+ _commonValues = std::move(commonValues);
+ _parentIndexes = std::move(parentIndexes);
}
DB2FileLoaderRegularImpl::~DB2FileLoaderRegularImpl()
{
- delete[] data;
- delete[] idTable;
- delete[] copyTable;
- delete[] fields;
- delete[] commonData;
}
static char const* const nullStr = "";
char* DB2FileLoaderRegularImpl::AutoProduceData(uint32& records, char**& indexTable, std::vector<char*>& stringPool)
{
- if (_loadInfo->Meta->FieldCount != _header->TotalFieldCount)
- return nullptr;
-
//get struct size and index pos
uint32 recordsize = _loadInfo->Meta->GetRecordSize();
@@ -354,7 +393,7 @@ char* DB2FileLoaderRegularImpl::AutoProduceData(uint32& records, char**& indexTa
offset += 4;
break;
case FT_INT:
- *((uint32*)(&dataTable[offset])) = RecordGetVarInt(rawRecord, x, z, _loadInfo->Fields[fieldIndex].IsSigned);
+ *((uint32*)(&dataTable[offset])) = RecordGetVarInt<uint32>(rawRecord, x, z);
offset += 4;
break;
case FT_BYTE:
@@ -365,6 +404,10 @@ char* DB2FileLoaderRegularImpl::AutoProduceData(uint32& records, char**& indexTa
*((uint16*)(&dataTable[offset])) = RecordGetUInt16(rawRecord, x, z);
offset += 2;
break;
+ case FT_LONG:
+ *((uint64*)(&dataTable[offset])) = RecordGetUInt64(rawRecord, x, z);
+ offset += 8;
+ break;
case FT_STRING:
case FT_STRING_NOT_LOCALIZED:
{
@@ -380,35 +423,39 @@ char* DB2FileLoaderRegularImpl::AutoProduceData(uint32& records, char**& indexTa
break;
}
default:
- ASSERT(false, "Unknown format character '%c' found in %s meta", _loadInfo->TypesString[x], fileName);
+ ASSERT(false, "Unknown format character '%c' found in %s meta", _loadInfo->TypesString[x], _fileName);
break;
}
++fieldIndex;
}
}
- for (uint32 x = _header->FieldCount; x < _header->TotalFieldCount; ++x)
+ for (uint32 x = _header->FieldCount; x < _loadInfo->Meta->FieldCount; ++x)
{
for (uint32 z = 0; z < _loadInfo->Meta->ArraySizes[x]; ++z)
{
switch (_loadInfo->TypesString[fieldIndex])
{
case FT_FLOAT:
- *((float*)(&dataTable[offset])) = _loadInfo->Meta->FieldDefaults[x].AsFloat;
+ *((float*)(&dataTable[offset])) = 0;
offset += 4;
break;
case FT_INT:
- *((uint32*)(&dataTable[offset])) = _loadInfo->Meta->FieldDefaults[x].AsUInt32;
+ *((uint32*)(&dataTable[offset])) = 0;
offset += 4;
break;
case FT_BYTE:
- *((uint8*)(&dataTable[offset])) = _loadInfo->Meta->FieldDefaults[x].AsUInt8;
+ *((uint8*)(&dataTable[offset])) = 0;
offset += 1;
break;
case FT_SHORT:
- *((uint16*)(&dataTable[offset])) = _loadInfo->Meta->FieldDefaults[x].AsUInt16;
+ *((uint16*)(&dataTable[offset])) = 0;
offset += 2;
break;
+ case FT_LONG:
+ *((uint64*)(&dataTable[offset])) = 0;
+ offset += 8;
+ break;
case FT_STRING:
case FT_STRING_NOT_LOCALIZED:
{
@@ -424,7 +471,7 @@ char* DB2FileLoaderRegularImpl::AutoProduceData(uint32& records, char**& indexTa
break;
}
default:
- ASSERT(false, "Unknown format character '%c' found in %s meta", _loadInfo->TypesString[x], fileName);
+ ASSERT(false, "Unknown format character '%c' found in %s meta", _loadInfo->TypesString[x], _fileName);
break;
}
++fieldIndex;
@@ -432,17 +479,14 @@ char* DB2FileLoaderRegularImpl::AutoProduceData(uint32& records, char**& indexTa
}
}
- if (commonData)
- FillCommonValues(indexTable);
+ if (_parentIndexes)
+ FillParentLookup(dataTable);
return dataTable;
}
char* DB2FileLoaderRegularImpl::AutoProduceStrings(char* dataTable, uint32 locale)
{
- if (_loadInfo->Meta->FieldCount != _header->TotalFieldCount)
- return nullptr;
-
if (!(_header->Locale & (1 << locale)))
{
char const* sep = "";
@@ -456,12 +500,12 @@ char* DB2FileLoaderRegularImpl::AutoProduceStrings(char* dataTable, uint32 local
}
}
- TC_LOG_ERROR("", "Attempted to load %s which has locales %s as %s. Check if you placed your localized db2 files in correct directory.", fileName, str.str().c_str(), localeNames[locale]);
+ TC_LOG_ERROR("", "Attempted to load %s which has locales %s as %s. Check if you placed your localized db2 files in correct directory.", _fileName, str.str().c_str(), localeNames[locale]);
return nullptr;
}
char* stringPool = new char[_header->StringTableSize];
- memcpy(stringPool, stringTable, _header->StringTableSize);
+ memcpy(stringPool, _stringTable, _header->StringTableSize);
uint32 offset = 0;
@@ -475,7 +519,7 @@ char* DB2FileLoaderRegularImpl::AutoProduceStrings(char* dataTable, uint32 local
++fieldIndex;
}
- for (uint32 x = 0; x < _header->TotalFieldCount; ++x)
+ for (uint32 x = 0; x < _loadInfo->Meta->FieldCount; ++x)
{
for (uint32 z = 0; z < _loadInfo->Meta->ArraySizes[x]; ++z)
{
@@ -491,6 +535,9 @@ char* DB2FileLoaderRegularImpl::AutoProduceStrings(char* dataTable, uint32 local
case FT_SHORT:
offset += 2;
break;
+ case FT_LONG:
+ offset += 8;
+ break;
case FT_STRING:
{
// fill only not filled entries
@@ -498,7 +545,7 @@ char* DB2FileLoaderRegularImpl::AutoProduceStrings(char* dataTable, uint32 local
if (db2str->Str[locale] == nullStr)
{
char const* st = RecordGetString(rawRecord, x, z);
- db2str->Str[locale] = stringPool + (st - (char const*)stringTable);
+ db2str->Str[locale] = stringPool + (st - (char const*)_stringTable);
}
offset += sizeof(char*);
@@ -508,12 +555,12 @@ char* DB2FileLoaderRegularImpl::AutoProduceStrings(char* dataTable, uint32 local
{
char** db2str = (char**)(&dataTable[offset]);
char const* st = RecordGetString(rawRecord, x, z);
- *db2str = stringPool + (st - (char const*)stringTable);
+ *db2str = stringPool + (st - (char const*)_stringTable);
offset += sizeof(char*);
break;
}
default:
- ASSERT(false, "Unknown format character '%c' found in %s meta", _loadInfo->TypesString[x], fileName);
+ ASSERT(false, "Unknown format character '%c' found in %s meta", _loadInfo->TypesString[x], _fileName);
break;
}
++fieldIndex;
@@ -528,6 +575,7 @@ void DB2FileLoaderRegularImpl::AutoProduceRecordCopies(uint32 records, char** in
{
uint32 recordsize = _loadInfo->Meta->GetRecordSize();
uint32 offset = _header->RecordCount * recordsize;
+ uint32 idFieldOffset = _loadInfo->Meta->HasIndexFieldInData() ? GetFieldOffset(_loadInfo->Meta->GetIndexField()) : 0;
for (uint32 c = 0; c < GetRecordCopyCount(); ++c)
{
DB2RecordCopy copy = GetRecordCopy(c);
@@ -535,96 +583,34 @@ void DB2FileLoaderRegularImpl::AutoProduceRecordCopies(uint32 records, char** in
{
indexTable[copy.NewRowId] = &dataTable[offset];
memcpy(indexTable[copy.NewRowId], indexTable[copy.SourceRowId], recordsize);
-
- if (_loadInfo->Meta->HasIndexFieldInData())
- *((uint32*)(&dataTable[offset + GetFieldOffset(_loadInfo->Meta->GetIndexField())])) = copy.NewRowId;
- else
- *((uint32*)(&dataTable[offset])) = copy.NewRowId;
-
+ *((uint32*)(&dataTable[offset + idFieldOffset])) = copy.NewRowId;
offset += recordsize;
}
}
}
-void DB2FileLoaderRegularImpl::FillCommonValues(char** indexTable)
+void DB2FileLoaderRegularImpl::FillParentLookup(char* dataTable)
{
- uint32 fieldOffset = 0;
- if (!_loadInfo->Meta->HasIndexFieldInData())
- fieldOffset += 4;
-
- unsigned char* commonDataItr = commonData;
- for (uint32 field = 0; field < _header->TotalFieldCount; ++field)
+ int32 parentIdOffset = _loadInfo->Meta->GetParentIndexFieldOffset();
+ uint32 recordSize = _loadInfo->Meta->GetRecordSize();
+ for (uint32 i = 0; i < _parentIndexes[0].Info.NumEntries; ++i)
{
- uint32 numExtraValuesForField = *reinterpret_cast<uint32*>(commonDataItr);
- commonDataItr += sizeof(uint32);
- uint8 dataType = *reinterpret_cast<uint8*>(commonDataItr);
- commonDataItr += sizeof(uint8);
- for (uint32 record = 0; record < numExtraValuesForField; ++record)
- {
- uint32 recordId = *reinterpret_cast<uint32*>(commonDataItr);
- commonDataItr += sizeof(uint32);
-
- char* recordData = indexTable[recordId];
-
- switch (dataType)
- {
- case 1:
- {
- ASSERT(_loadInfo->Meta->Types[field] == FT_SHORT);
- uint16 value = *reinterpret_cast<uint16*>(commonDataItr);
- EndianConvert(value);
- for (uint32 arrayIndex = 0; arrayIndex < _loadInfo->Meta->ArraySizes[field]; ++arrayIndex)
- *reinterpret_cast<uint16*>(&recordData[fieldOffset + sizeof(uint16) * arrayIndex]) = value;
- break;
- }
- case 2:
- {
- ASSERT(_loadInfo->Meta->Types[field] == FT_BYTE);
- uint8 value = *reinterpret_cast<uint8*>(commonDataItr);
- for (uint32 arrayIndex = 0; arrayIndex < _loadInfo->Meta->ArraySizes[field]; ++arrayIndex)
- *reinterpret_cast<uint8*>(&recordData[fieldOffset + sizeof(uint8) * arrayIndex]) = value;
- break;
- }
- case 3:
- {
- ASSERT(_loadInfo->Meta->Types[field] == FT_FLOAT);
- float value = *reinterpret_cast<float*>(commonDataItr);
- EndianConvert(value);
- for (uint32 arrayIndex = 0; arrayIndex < _loadInfo->Meta->ArraySizes[field]; ++arrayIndex)
- *reinterpret_cast<float*>(&recordData[fieldOffset + sizeof(float) * arrayIndex]) = value;
- break;
- }
- case 4:
- {
- ASSERT(_loadInfo->Meta->Types[field] == FT_INT);
- uint32 value = *reinterpret_cast<uint32*>(commonDataItr);
- EndianConvert(value);
- for (uint32 arrayIndex = 0; arrayIndex < _loadInfo->Meta->ArraySizes[field]; ++arrayIndex)
- *reinterpret_cast<uint32*>(&recordData[fieldOffset + sizeof(uint32) * arrayIndex]) = value;
- break;
- }
- default:
- ASSERT(false, "Unhandled common value type %d found in %s", dataType, fileName);
- break;
- }
-
- commonDataItr += sizeof(uint32);
- }
+ uint32 parentId = _parentIndexes[0].Entries[i].ParentId;
+ char* recordData = &dataTable[_parentIndexes[0].Entries[i].RecordIndex * recordSize];
- switch (_loadInfo->Meta->Types[field])
+ switch (_loadInfo->Meta->Types[_loadInfo->Meta->ParentIndexField])
{
- case FT_FLOAT:
- case FT_INT:
- fieldOffset += 4 * _loadInfo->Meta->ArraySizes[field];
+ case FT_SHORT:
+ *reinterpret_cast<uint16*>(&recordData[parentIdOffset]) = uint16(parentId);
break;
case FT_BYTE:
- fieldOffset += 1 * _loadInfo->Meta->ArraySizes[field];
+ *reinterpret_cast<uint8*>(&recordData[parentIdOffset]) = uint8(parentId);
break;
- case FT_SHORT:
- fieldOffset += 2 * _loadInfo->Meta->ArraySizes[field];
+ case FT_INT:
+ *reinterpret_cast<uint32*>(&recordData[parentIdOffset]) = parentId;
break;
- case FT_STRING:
- fieldOffset += sizeof(char*) * _loadInfo->Meta->ArraySizes[field];
+ default:
+ ASSERT(false, "Unhandled parent id type '%c' found in %s", _loadInfo->Meta->Types[_loadInfo->Meta->ParentIndexField], _fileName);
break;
}
}
@@ -640,7 +626,7 @@ DB2RecordCopy DB2FileLoaderRegularImpl::GetRecordCopy(uint32 copyNumber) const
if (copyNumber >= GetRecordCopyCount())
return DB2RecordCopy{};
- return copyTable[copyNumber];
+ return _copyTable[copyNumber];
}
uint32 DB2FileLoaderRegularImpl::GetRecordCount() const
@@ -653,86 +639,154 @@ uint32 DB2FileLoaderRegularImpl::GetRecordCopyCount() const
return _header->CopyTableSize / sizeof(DB2RecordCopy);
}
-unsigned char const* DB2FileLoaderRegularImpl::GetRawRecordData(uint32 recordNumber) const
+uint8 const* DB2FileLoaderRegularImpl::GetRawRecordData(uint32 recordNumber) const
{
if (recordNumber >= _header->RecordCount)
return nullptr;
- return data + recordNumber * _header->RecordSize;
+ return &_data[recordNumber * _header->RecordSize];
}
-uint32 DB2FileLoaderRegularImpl::RecordGetId(unsigned char const* record, uint32 recordIndex) const
+uint32 DB2FileLoaderRegularImpl::RecordGetId(uint8 const* record, uint32 recordIndex) const
{
if (_loadInfo->Meta->HasIndexFieldInData())
- return RecordGetVarInt(record, _loadInfo->Meta->GetIndexField(), 0, false);
+ return RecordGetVarInt<uint32>(record, _loadInfo->Meta->GetIndexField(), 0);
- return (reinterpret_cast<uint32 const*>(idTable))[recordIndex];
+ return _idTable[recordIndex];
}
-uint8 DB2FileLoaderRegularImpl::RecordGetUInt8(unsigned char const* record, uint32 field, uint32 arrayIndex) const
+uint8 DB2FileLoaderRegularImpl::RecordGetUInt8(uint8 const* record, uint32 field, uint32 arrayIndex) const
{
- ASSERT(field < _header->FieldCount);
- ASSERT(GetFieldSize(field) == 1);
- return *reinterpret_cast<uint8 const*>(record + GetFieldOffset(field) + arrayIndex * sizeof(uint8));
+ return RecordGetVarInt<uint8>(record, field, arrayIndex);
}
-uint16 DB2FileLoaderRegularImpl::RecordGetUInt16(unsigned char const* record, uint32 field, uint32 arrayIndex) const
+uint16 DB2FileLoaderRegularImpl::RecordGetUInt16(uint8 const* record, uint32 field, uint32 arrayIndex) const
{
- ASSERT(field < _header->FieldCount);
- ASSERT(GetFieldSize(field) == 2);
- uint16 val = *reinterpret_cast<uint16 const*>(record + GetFieldOffset(field) + arrayIndex * sizeof(uint16));
- EndianConvert(val);
- return val;
+ return RecordGetVarInt<uint16>(record, field, arrayIndex);
}
-uint32 DB2FileLoaderRegularImpl::RecordGetUInt32(unsigned char const* record, uint32 field, uint32 arrayIndex) const
+uint32 DB2FileLoaderRegularImpl::RecordGetUInt32(uint8 const* record, uint32 field, uint32 arrayIndex) const
{
- return RecordGetVarInt(record, field, arrayIndex, false);
+ return RecordGetVarInt<uint32>(record, field, arrayIndex);
}
-int32 DB2FileLoaderRegularImpl::RecordGetInt32(unsigned char const* record, uint32 field, uint32 arrayIndex) const
+int32 DB2FileLoaderRegularImpl::RecordGetInt32(uint8 const* record, uint32 field, uint32 arrayIndex) const
{
- return int32(RecordGetVarInt(record, field, arrayIndex, true));
+ return RecordGetVarInt<int32>(record, field, arrayIndex);
}
-float DB2FileLoaderRegularImpl::RecordGetFloat(unsigned char const* record, uint32 field, uint32 arrayIndex) const
+uint64 DB2FileLoaderRegularImpl::RecordGetUInt64(uint8 const* record, uint32 field, uint32 arrayIndex) const
{
- ASSERT(field < _header->FieldCount);
- float val = *reinterpret_cast<float const*>(record + GetFieldOffset(field) + arrayIndex * sizeof(float));
- EndianConvert(val);
- return val;
+ return RecordGetVarInt<uint64>(record, field, arrayIndex);
}
-char const* DB2FileLoaderRegularImpl::RecordGetString(unsigned char const* record, uint32 field, uint32 arrayIndex) const
+float DB2FileLoaderRegularImpl::RecordGetFloat(uint8 const* record, uint32 field, uint32 arrayIndex) const
{
- ASSERT(field < _header->FieldCount);
- uint32 stringOffset = *reinterpret_cast<uint32 const*>(record + GetFieldOffset(field) + arrayIndex * sizeof(uint32));
- EndianConvert(stringOffset);
+ return RecordGetVarInt<float>(record, field, arrayIndex);
+}
+
+char const* DB2FileLoaderRegularImpl::RecordGetString(uint8 const* record, uint32 field, uint32 arrayIndex) const
+{
+ uint32 stringOffset = RecordGetVarInt<uint32>(record, field, arrayIndex);
ASSERT(stringOffset < _header->StringTableSize);
- return reinterpret_cast<char*>(stringTable + stringOffset);
+ return reinterpret_cast<char*>(_stringTable + stringOffset);
}
-uint32 DB2FileLoaderRegularImpl::RecordGetVarInt(unsigned char const* record, uint32 field, uint32 arrayIndex, bool isSigned) const
+template<typename T>
+T DB2FileLoaderRegularImpl::RecordGetVarInt(uint8 const* record, uint32 field, uint32 arrayIndex) const
{
ASSERT(field < _header->FieldCount);
- uint32 val = *reinterpret_cast<uint32 const*>(record + GetFieldOffset(field) + arrayIndex * (4 - fields[field].UnusedBits / 8));
- EndianConvert(val);
- if (isSigned)
- return int32(val) << fields[field].UnusedBits >> fields[field].UnusedBits;
+ switch (_columnMeta[field].CompressionType)
+ {
+ case DB2ColumnCompression::None:
+ {
+ T val = *reinterpret_cast<T const*>(record + GetFieldOffset(field) + sizeof(T) * arrayIndex);
+ EndianConvert(val);
+ return val;
+ }
+ case DB2ColumnCompression::Immediate:
+ {
+ ASSERT(arrayIndex == 0);
+ uint64 immediateValue = RecordGetPackedValue(record + GetFieldOffset(field),
+ _columnMeta[field].CompressionData.immediate.BitWidth, _columnMeta[field].CompressionData.immediate.BitOffset);
+ EndianConvert(immediateValue);
+ if (_columnMeta[field].CompressionData.immediate.Signed)
+ {
+ uint64 mask = UI64LIT(1) << (_columnMeta[field].CompressionData.immediate.BitWidth - 1);
+ immediateValue = (immediateValue ^ mask) - mask;
+ }
+ T value;
+ memcpy(&value, &immediateValue, std::min(sizeof(T), sizeof(immediateValue)));
+ return value;
+ }
+ case DB2ColumnCompression::CommonData:
+ {
+ uint32 id = RecordGetId(record, (_data.get() - record) / _header->RecordSize);
+ T value;
+ auto valueItr = _commonValues[field].find(id);
+ if (valueItr != _commonValues[field].end())
+ memcpy(&value, &valueItr->second, std::min(sizeof(T), sizeof(uint32)));
+ else
+ memcpy(&value, &_columnMeta[field].CompressionData.commonData.Value, std::min(sizeof(T), sizeof(uint32)));
+ return value;
+ }
+ case DB2ColumnCompression::Pallet:
+ {
+ ASSERT(arrayIndex == 0);
+ uint64 palletIndex = RecordGetPackedValue(record + GetFieldOffset(field),
+ _columnMeta[field].CompressionData.pallet.BitWidth, _columnMeta[field].CompressionData.pallet.BitOffset);
+ EndianConvert(palletIndex);
+ uint32 palletValue = _palletValues[field][palletIndex].Value;
+ EndianConvert(palletValue);
+ T value;
+ memcpy(&value, &palletValue, std::min(sizeof(T), sizeof(palletValue)));
+ return value;
+ }
+ case DB2ColumnCompression::PalletArray:
+ {
+ uint64 palletIndex = RecordGetPackedValue(record + GetFieldOffset(field),
+ _columnMeta[field].CompressionData.pallet.BitWidth, _columnMeta[field].CompressionData.pallet.BitOffset);
+ EndianConvert(palletIndex);
+ uint32 palletValue = _palletArrayValues[field][palletIndex * _columnMeta[field].CompressionData.pallet.ArraySize + arrayIndex].Value;
+ EndianConvert(palletValue);
+ T value;
+ memcpy(&value, &palletValue, std::min(sizeof(T), sizeof(palletValue)));
+ return value;
+ }
+ default:
+ ASSERT(false, "Unhandled compression type %u in %s", uint32(_columnMeta[field].CompressionType), _fileName);
+ break;
+ }
- return val << fields[field].UnusedBits >> fields[field].UnusedBits;
+ return 0;
}
-uint16 DB2FileLoaderRegularImpl::GetFieldOffset(uint32 field) const
+uint64 DB2FileLoaderRegularImpl::RecordGetPackedValue(uint8 const* packedRecordData, uint32 bitWidth, uint32 bitOffset) const
{
- ASSERT(field < _header->FieldCount);
- return fields[field].Offset;
+ uint32 bitsToRead = bitOffset & 7;
+ return *reinterpret_cast<uint64 const*>(packedRecordData) << (64 - bitsToRead - bitWidth) >> (64 - bitWidth);
}
-uint16 DB2FileLoaderRegularImpl::GetFieldSize(uint32 field) const
+uint16 DB2FileLoaderRegularImpl::GetFieldOffset(uint32 field) const
{
ASSERT(field < _header->FieldCount);
- return 4 - fields[field].UnusedBits / 8;
+ switch (_columnMeta[field].CompressionType)
+ {
+ case DB2ColumnCompression::None:
+ return _columnMeta[field].BitOffset / 8;
+ case DB2ColumnCompression::Immediate:
+ return _columnMeta[field].CompressionData.immediate.BitOffset / 8 + _header->PackedDataOffset;
+ case DB2ColumnCompression::CommonData:
+ return 0xFFFF;
+ case DB2ColumnCompression::Pallet:
+ case DB2ColumnCompression::PalletArray:
+ return _columnMeta[field].CompressionData.pallet.BitOffset / 8 + _header->PackedDataOffset;
+ default:
+ ASSERT(false, "Unhandled compression type %u in %s", uint32(_columnMeta[field].CompressionType), _fileName);
+ break;
+ }
+
+ return 0;
}
std::size_t* DB2FileLoaderRegularImpl::RecordCreateDetachedFieldOffsets(std::size_t* /*oldOffsets*/) const
@@ -769,49 +823,38 @@ DB2FileLoadInfo const* DB2FileLoaderRegularImpl::GetLoadInfo() const
return _loadInfo;
}
-DB2FileLoaderSparseImpl::DB2FileLoaderSparseImpl()
+DB2FileLoaderSparseImpl::DB2FileLoaderSparseImpl(char const* fileName, DB2FileLoadInfo const* loadInfo, DB2Header const* header) :
+ _fileName(fileName),
+ _loadInfo(loadInfo),
+ _header(header),
+ _dataStart(0),
+ _fieldAndArrayOffsets(Trinity::make_unique<std::size_t[]>(loadInfo->Meta->FieldCount + loadInfo->FieldCount - (!loadInfo->Meta->HasIndexFieldInData() ? 1 : 0)))
{
- fileName = nullptr;
- _loadInfo = nullptr;
- _fieldAndArrayOffsets = nullptr;
- _header = nullptr;
- fields = nullptr;
- dataStart = 0;
- data = nullptr;
- offsets = nullptr;
}
DB2FileLoaderSparseImpl::~DB2FileLoaderSparseImpl()
{
- delete[] _fieldAndArrayOffsets;
- delete[] data;
- delete[] offsets;
- delete[] fields;
}
-bool DB2FileLoaderSparseImpl::Load(DB2FileSource* source, DB2FileLoadInfo const* loadInfo, DB2Header const* header)
+bool DB2FileLoaderSparseImpl::LoadTableData(DB2FileSource* source)
{
- _loadInfo = loadInfo;
- _header = header;
- fileName = source->GetFileName();
-
- fields = new FieldEntry[header->FieldCount];
- if (!source->Read(fields, header->FieldCount * sizeof(FieldEntry)))
- return false;
-
- dataStart = source->GetPosition();
-
- data = new unsigned char[header->StringTableSize - dataStart];
-
- if (!source->Read(data, header->StringTableSize - dataStart))
- return false;
+ _dataStart = source->GetPosition();
+ _data = Trinity::make_unique<uint8[]>(_header->CatalogDataOffset - _dataStart);
+ return source->Read(_data.get(), _header->CatalogDataOffset - _dataStart);
+}
- offsets = new OffsetTableEntry[header->MaxId - header->MinId + 1];
- if (!source->Read(offsets, (header->MaxId - header->MinId + 1) * 6))
- return false;
+bool DB2FileLoaderSparseImpl::LoadCatalogData(DB2FileSource* source)
+{
+ _catalog = Trinity::make_unique<DB2CatalogEntry[]>(_header->MaxId - _header->MinId + 1);
+ return source->Read(_catalog.get(), sizeof(DB2CatalogEntry) * (_header->MaxId - _header->MinId + 1));
+}
- _fieldAndArrayOffsets = new std::size_t[_loadInfo->Meta->FieldCount + _loadInfo->FieldCount - (!_loadInfo->Meta->HasIndexFieldInData() ? 1 : 0)];
- return true;
+void DB2FileLoaderSparseImpl::SetAdditionalData(std::unique_ptr<DB2FieldEntry[]> fields, std::unique_ptr<uint32[]> /*idTable*/, std::unique_ptr<DB2RecordCopy[]> /*copyTable*/,
+ std::unique_ptr<DB2ColumnMeta[]> /*columnMeta*/, std::unique_ptr<std::unique_ptr<DB2PalletValue[]>[]> /*palletValues*/,
+ std::unique_ptr<std::unique_ptr<DB2PalletValue[]>[]> /*palletArrayValues*/, std::unique_ptr<std::unordered_map<uint32, uint32>[]> /*commonValues*/,
+ std::unique_ptr<DB2IndexData[]> /*parentIndexes*/)
+{
+ _fields = std::move(fields);
}
char* DB2FileLoaderSparseImpl::AutoProduceData(uint32& maxId, char**& indexTable, std::vector<char*>& stringPool)
@@ -827,10 +870,10 @@ char* DB2FileLoaderSparseImpl::AutoProduceData(uint32& maxId, char**& indexTable
uint32 expandedDataSize = 0;
for (uint32 i = 0; i < offsetCount; ++i)
{
- if (offsets[i].FileOffset && offsets[i].RecordSize)
+ if (_catalog[i].FileOffset && _catalog[i].RecordSize)
{
++records;
- expandedDataSize += offsets[i].RecordSize;
+ expandedDataSize += _catalog[i].RecordSize;
}
}
@@ -904,6 +947,10 @@ char* DB2FileLoaderSparseImpl::AutoProduceData(uint32& maxId, char**& indexTable
*((uint16*)(&dataTable[offset])) = RecordGetUInt16(rawRecord, x, z);
offset += 2;
break;
+ case FT_LONG:
+ *((uint64*)(&dataTable[offset])) = RecordGetUInt64(rawRecord, x, z);
+ offset += 8;
+ break;
case FT_STRING:
{
LocalizedString** slot = (LocalizedString**)(&dataTable[offset]);
@@ -929,7 +976,7 @@ char* DB2FileLoaderSparseImpl::AutoProduceData(uint32& maxId, char**& indexTable
break;
}
default:
- ASSERT(false, "Unknown format character '%c' found in %s meta", _loadInfo->TypesString[x], fileName);
+ ASSERT(false, "Unknown format character '%c' found in %s meta", _loadInfo->TypesString[x], _fileName);
break;
}
++fieldIndex;
@@ -960,20 +1007,20 @@ char* DB2FileLoaderSparseImpl::AutoProduceStrings(char* dataTable, uint32 locale
}
}
- TC_LOG_ERROR("", "Attempted to load %s which has locales %s as %s. Check if you placed your localized db2 files in correct directory.", fileName, str.str().c_str(), localeNames[locale]);
+ TC_LOG_ERROR("", "Attempted to load %s which has locales %s as %s. Check if you placed your localized db2 files in correct directory.", _fileName, str.str().c_str(), localeNames[locale]);
return nullptr;
}
uint32 offsetCount = _header->MaxId - _header->MinId + 1;
uint32 records = 0;
for (uint32 i = 0; i < offsetCount; ++i)
- if (offsets[i].FileOffset && offsets[i].RecordSize)
+ if (_catalog[i].FileOffset && _catalog[i].RecordSize)
++records;
uint32 recordsize = _loadInfo->Meta->GetRecordSize();
std::size_t stringFields = _loadInfo->GetStringFieldCount(true);
- char* stringTable = new char[_header->StringTableSize - dataStart - records * ((recordsize - (!_loadInfo->Meta->HasIndexFieldInData() ? 4 : 0)) - stringFields * sizeof(char*))];
- memset(stringTable, 0, _header->StringTableSize - dataStart - records * ((recordsize - (!_loadInfo->Meta->HasIndexFieldInData() ? 4 : 0)) - stringFields * sizeof(char*)));
+ char* stringTable = new char[_header->CatalogDataOffset - _dataStart - records * ((recordsize - (!_loadInfo->Meta->HasIndexFieldInData() ? 4 : 0)) - stringFields * sizeof(char*))];
+ memset(stringTable, 0, _header->CatalogDataOffset - _dataStart - records * ((recordsize - (!_loadInfo->Meta->HasIndexFieldInData() ? 4 : 0)) - stringFields * sizeof(char*)));
char* stringPtr = stringTable;
uint32 offset = 0;
@@ -1009,6 +1056,9 @@ char* DB2FileLoaderSparseImpl::AutoProduceStrings(char* dataTable, uint32 locale
case FT_SHORT:
offset += 2;
break;
+ case FT_LONG:
+ offset += 8;
+ break;
case FT_STRING:
{
LocalizedString* db2str = *(LocalizedString**)(&dataTable[offset]);
@@ -1022,7 +1072,7 @@ char* DB2FileLoaderSparseImpl::AutoProduceStrings(char* dataTable, uint32 locale
offset += sizeof(char*);
break;
default:
- ASSERT(false, "Unknown format character '%c' found in %s meta", _loadInfo->TypesString[x], fileName);
+ ASSERT(false, "Unknown format character '%c' found in %s meta", _loadInfo->TypesString[x], _fileName);
break;
}
++fieldIndex;
@@ -1035,7 +1085,7 @@ char* DB2FileLoaderSparseImpl::AutoProduceStrings(char* dataTable, uint32 locale
DB2Record DB2FileLoaderSparseImpl::GetRecord(uint32 recordNumber) const
{
- return DB2Record(*this, recordNumber, _fieldAndArrayOffsets);
+ return DB2Record(*this, recordNumber, _fieldAndArrayOffsets.get());
}
DB2RecordCopy DB2FileLoaderSparseImpl::GetRecordCopy(uint32 /*recordId*/) const
@@ -1053,17 +1103,17 @@ uint32 DB2FileLoaderSparseImpl::GetRecordCopyCount() const
return 0;
}
-unsigned char const* DB2FileLoaderSparseImpl::GetRawRecordData(uint32 recordNumber) const
+uint8 const* DB2FileLoaderSparseImpl::GetRawRecordData(uint32 recordNumber) const
{
- if (recordNumber > (_header->MaxId - _header->MinId) || !offsets[recordNumber].FileOffset || !offsets[recordNumber].RecordSize)
+ if (recordNumber > (_header->MaxId - _header->MinId) || !_catalog[recordNumber].FileOffset || !_catalog[recordNumber].RecordSize)
return nullptr;
- unsigned char const* rawRecord = &data[offsets[recordNumber].FileOffset - dataStart];
+ uint8 const* rawRecord = &_data[_catalog[recordNumber].FileOffset - _dataStart];
CalculateAndStoreFieldOffsets(rawRecord);
return rawRecord;
}
-uint32 DB2FileLoaderSparseImpl::RecordGetId(unsigned char const* record, uint32 recordIndex) const
+uint32 DB2FileLoaderSparseImpl::RecordGetId(uint8 const* record, uint32 recordIndex) const
{
if (_loadInfo->Meta->HasIndexFieldInData())
return RecordGetVarInt(record, _loadInfo->Meta->GetIndexField(), 0, false);
@@ -1071,33 +1121,39 @@ uint32 DB2FileLoaderSparseImpl::RecordGetId(unsigned char const* record, uint32
return _header->MinId + recordIndex;
}
-uint8 DB2FileLoaderSparseImpl::RecordGetUInt8(unsigned char const* record, uint32 field, uint32 arrayIndex) const
+uint8 DB2FileLoaderSparseImpl::RecordGetUInt8(uint8 const* record, uint32 field, uint32 arrayIndex) const
{
ASSERT(field < _header->FieldCount);
- ASSERT(GetFieldSize(field) == 1);
return *reinterpret_cast<uint8 const*>(record + GetFieldOffset(field, arrayIndex));
}
-uint16 DB2FileLoaderSparseImpl::RecordGetUInt16(unsigned char const* record, uint32 field, uint32 arrayIndex) const
+uint16 DB2FileLoaderSparseImpl::RecordGetUInt16(uint8 const* record, uint32 field, uint32 arrayIndex) const
{
ASSERT(field < _header->FieldCount);
- ASSERT(GetFieldSize(field) == 2);
uint16 val = *reinterpret_cast<uint16 const*>(record + GetFieldOffset(field, arrayIndex));
EndianConvert(val);
return val;
}
-uint32 DB2FileLoaderSparseImpl::RecordGetUInt32(unsigned char const* record, uint32 field, uint32 arrayIndex) const
+uint32 DB2FileLoaderSparseImpl::RecordGetUInt32(uint8 const* record, uint32 field, uint32 arrayIndex) const
{
return RecordGetVarInt(record, field, arrayIndex, false);
}
-int32 DB2FileLoaderSparseImpl::RecordGetInt32(unsigned char const* record, uint32 field, uint32 arrayIndex) const
+int32 DB2FileLoaderSparseImpl::RecordGetInt32(uint8 const* record, uint32 field, uint32 arrayIndex) const
{
return int32(RecordGetVarInt(record, field, arrayIndex, true));
}
-float DB2FileLoaderSparseImpl::RecordGetFloat(unsigned char const* record, uint32 field, uint32 arrayIndex) const
+uint64 DB2FileLoaderSparseImpl::RecordGetUInt64(uint8 const* record, uint32 field, uint32 arrayIndex) const
+{
+ ASSERT(field < _header->FieldCount);
+ uint64 val = *reinterpret_cast<uint64 const*>(record + GetFieldOffset(field, arrayIndex));
+ EndianConvert(val);
+ return val;
+}
+
+float DB2FileLoaderSparseImpl::RecordGetFloat(uint8 const* record, uint32 field, uint32 arrayIndex) const
{
ASSERT(field < _header->FieldCount);
float val = *reinterpret_cast<float const*>(record + GetFieldOffset(field, arrayIndex));
@@ -1105,22 +1161,22 @@ float DB2FileLoaderSparseImpl::RecordGetFloat(unsigned char const* record, uint3
return val;
}
-char const* DB2FileLoaderSparseImpl::RecordGetString(unsigned char const* record, uint32 field, uint32 arrayIndex) const
+char const* DB2FileLoaderSparseImpl::RecordGetString(uint8 const* record, uint32 field, uint32 arrayIndex) const
{
ASSERT(field < _header->FieldCount);
return reinterpret_cast<char const*>(record + GetFieldOffset(field, arrayIndex));
}
-uint32 DB2FileLoaderSparseImpl::RecordGetVarInt(unsigned char const* record, uint32 field, uint32 arrayIndex, bool isSigned) const
+uint32 DB2FileLoaderSparseImpl::RecordGetVarInt(uint8 const* record, uint32 field, uint32 arrayIndex, bool isSigned) const
{
ASSERT(field < _header->FieldCount);
uint32 val = 0;
memcpy(&val, record + GetFieldOffset(field, arrayIndex), GetFieldSize(field));
EndianConvert(val);
if (isSigned)
- return int32(val) << fields[field].UnusedBits >> fields[field].UnusedBits;
+ return int32(val) << _fields[field].UnusedBits >> _fields[field].UnusedBits;
- return val << fields[field].UnusedBits >> fields[field].UnusedBits;
+ return val << _fields[field].UnusedBits >> _fields[field].UnusedBits;
}
uint16 DB2FileLoaderSparseImpl::GetFieldOffset(uint32 field, uint32 arrayIndex) const
@@ -1131,30 +1187,30 @@ uint16 DB2FileLoaderSparseImpl::GetFieldOffset(uint32 field, uint32 arrayIndex)
uint16 DB2FileLoaderSparseImpl::GetFieldSize(uint32 field) const
{
ASSERT(field < _header->FieldCount);
- return 4 - fields[field].UnusedBits / 8;
+ return 4 - _fields[field].UnusedBits / 8;
}
std::size_t* DB2FileLoaderSparseImpl::RecordCreateDetachedFieldOffsets(std::size_t* oldOffsets) const
{
- if (oldOffsets != _fieldAndArrayOffsets)
+ if (oldOffsets != _fieldAndArrayOffsets.get())
return oldOffsets;
std::size_t size = _loadInfo->Meta->FieldCount + _loadInfo->FieldCount - (!_loadInfo->Meta->HasIndexFieldInData() ? 1 : 0);
std::size_t* newOffsets = new std::size_t[size];
- memcpy(newOffsets, _fieldAndArrayOffsets, size * sizeof(std::size_t));
+ memcpy(newOffsets, _fieldAndArrayOffsets.get(), size * sizeof(std::size_t));
return newOffsets;
}
void DB2FileLoaderSparseImpl::RecordDestroyFieldOffsets(std::size_t*& fieldOffsets) const
{
- if (fieldOffsets == _fieldAndArrayOffsets)
+ if (fieldOffsets == _fieldAndArrayOffsets.get())
return;
delete[] fieldOffsets;
fieldOffsets = nullptr;
}
-void DB2FileLoaderSparseImpl::CalculateAndStoreFieldOffsets(unsigned char const* rawRecord) const
+void DB2FileLoaderSparseImpl::CalculateAndStoreFieldOffsets(uint8 const* rawRecord) const
{
std::size_t offset = 0;
uint32 combinedField = _loadInfo->Meta->FieldCount;
@@ -1169,6 +1225,7 @@ void DB2FileLoaderSparseImpl::CalculateAndStoreFieldOffsets(unsigned char const*
case FT_BYTE:
case FT_SHORT:
case FT_INT:
+ case FT_LONG:
offset += GetFieldSize(field);
break;
case FT_FLOAT:
@@ -1178,7 +1235,7 @@ void DB2FileLoaderSparseImpl::CalculateAndStoreFieldOffsets(unsigned char const*
offset += strlen(reinterpret_cast<char const*>(rawRecord) + offset) + 1;
break;
default:
- ASSERT(false, "Unknown format character '%c' found in %s meta", _loadInfo->Meta->Types[field], fileName);
+ ASSERT(false, "Unknown format character '%c' found in %s meta", _loadInfo->Meta->Types[field], _fileName);
break;
}
++combinedField;
@@ -1264,6 +1321,18 @@ int32 DB2Record::GetInt32(char const* fieldName) const
return _db2.RecordGetInt32(_recordData, uint32(fieldIndex.first), uint32(fieldIndex.second));
}
+uint64 DB2Record::GetUInt64(uint32 field, uint32 arrayIndex) const
+{
+ return _db2.RecordGetUInt64(_recordData, field, arrayIndex);
+}
+
+uint64 DB2Record::GetUInt64(char const* fieldName) const
+{
+ std::pair<int32, int32> fieldIndex = _db2.GetLoadInfo()->GetFieldIndexByName(fieldName);
+ ASSERT(fieldIndex.first != -1, "Field with name %s does not exist!", fieldName);
+ return _db2.RecordGetUInt64(_recordData, uint32(fieldIndex.first), uint32(fieldIndex.second));
+}
+
float DB2Record::GetFloat(uint32 field, uint32 arrayIndex) const
{
return _db2.RecordGetFloat(_recordData, field, arrayIndex);
@@ -1324,20 +1393,165 @@ bool DB2FileLoader::Load(DB2FileSource* source, DB2FileLoadInfo const* loadInfo)
EndianConvert(_header.Flags);
EndianConvert(_header.IndexField);
EndianConvert(_header.TotalFieldCount);
+ EndianConvert(_header.PackedDataOffset);
+ EndianConvert(_header.ParentLookupCount);
+ EndianConvert(_header.CatalogDataOffset);
+ EndianConvert(_header.IdTableSize);
+ EndianConvert(_header.ColumnMetaSize);
EndianConvert(_header.CommonDataSize);
+ EndianConvert(_header.PalletDataSize);
+ EndianConvert(_header.ParentLookupDataSize);
- if (_header.Signature != 0x36424457) //'WDB6'
+ if (_header.Signature != 0x31434457) //'WCH1'
return false;
if (_header.LayoutHash != loadInfo->Meta->LayoutHash)
return false;
if (!(_header.Flags & 0x1))
- _impl = new DB2FileLoaderRegularImpl();
+ {
+ std::size_t expectedFileSize =
+ sizeof(DB2Header) +
+ sizeof(DB2FieldEntry) * _header.FieldCount +
+ _header.RecordCount * _header.RecordSize +
+ _header.StringTableSize +
+ _header.IdTableSize +
+ _header.CopyTableSize +
+ _header.ColumnMetaSize +
+ _header.PalletDataSize +
+ _header.CommonDataSize +
+ _header.ParentLookupDataSize;
+
+ if (source->GetFileSize() != expectedFileSize)
+ return false;
+ }
+
+ if (_header.ParentLookupCount > 1)
+ return false;
+
+ if (_header.TotalFieldCount + (loadInfo->Meta->ParentIndexField >= int32(_header.TotalFieldCount) ? 1 : 0) != loadInfo->Meta->FieldCount)
+ return false;
+
+ if (_header.ParentLookupCount && loadInfo->Meta->ParentIndexField == -1)
+ return false;
+
+ if (!(_header.Flags & 0x1))
+ _impl = new DB2FileLoaderRegularImpl(source->GetFileName(), loadInfo, &_header);
else
- _impl = new DB2FileLoaderSparseImpl();
+ _impl = new DB2FileLoaderSparseImpl(source->GetFileName(), loadInfo, &_header);
+
+ std::unique_ptr<DB2FieldEntry[]> fieldData = Trinity::make_unique<DB2FieldEntry[]>(_header.FieldCount);
+ if (!source->Read(fieldData.get(), sizeof(DB2FieldEntry) * _header.FieldCount))
+ return false;
+
+ if (!_impl->LoadTableData(source))
+ return false;
+
+ if (!_impl->LoadCatalogData(source))
+ return false;
+
+ ASSERT(!loadInfo->Meta->HasIndexFieldInData() || _header.IdTableSize == 0);
+ ASSERT(loadInfo->Meta->HasIndexFieldInData() || _header.IdTableSize == 4 * _header.RecordCount);
+
+ std::unique_ptr<uint32[]> idTable;
+ if (!loadInfo->Meta->HasIndexFieldInData() && _header.IdTableSize)
+ {
+ idTable = Trinity::make_unique<uint32[]>(_header.RecordCount);
+ if (!source->Read(idTable.get(), _header.IdTableSize))
+ return false;
+ }
+
+ std::unique_ptr<DB2RecordCopy[]> copyTable;
+ if (_header.CopyTableSize)
+ {
+ copyTable = Trinity::make_unique<DB2RecordCopy[]>(_header.CopyTableSize / sizeof(DB2RecordCopy));
+ if (!source->Read(copyTable.get(), _header.CopyTableSize))
+ return false;
+ }
+
+ std::unique_ptr<DB2ColumnMeta[]> columnMeta;
+ std::unique_ptr<std::unique_ptr<DB2PalletValue[]>[]> palletValues;
+ std::unique_ptr<std::unique_ptr<DB2PalletValue[]>[]> palletArrayValues;
+ std::unique_ptr<std::unordered_map<uint32, uint32>[]> commonValues;
+ if (_header.ColumnMetaSize)
+ {
+ columnMeta = Trinity::make_unique<DB2ColumnMeta[]>(_header.TotalFieldCount);
+ if (!source->Read(columnMeta.get(), _header.ColumnMetaSize))
+ return false;
+
+ ASSERT(!loadInfo->Meta->HasIndexFieldInData() ||
+ columnMeta[loadInfo->Meta->IndexField].CompressionType == DB2ColumnCompression::None ||
+ columnMeta[loadInfo->Meta->IndexField].CompressionType == DB2ColumnCompression::Immediate);
+
+ palletValues = Trinity::make_unique<std::unique_ptr<DB2PalletValue[]>[]>(_header.TotalFieldCount);
+ for (uint32 i = 0; i < _header.TotalFieldCount; ++i)
+ {
+ if (columnMeta[i].CompressionType != DB2ColumnCompression::Pallet)
+ continue;
+
+ palletValues[i] = Trinity::make_unique<DB2PalletValue[]>(columnMeta[i].AdditionalDataSize / sizeof(DB2PalletValue));
+ if (!source->Read(palletValues[i].get(), columnMeta[i].AdditionalDataSize))
+ return false;
+ }
+
+ palletArrayValues = Trinity::make_unique<std::unique_ptr<DB2PalletValue[]>[]>(_header.TotalFieldCount);
+ for (uint32 i = 0; i < _header.TotalFieldCount; ++i)
+ {
+ if (columnMeta[i].CompressionType != DB2ColumnCompression::PalletArray)
+ continue;
+
+ palletArrayValues[i] = Trinity::make_unique<DB2PalletValue[]>(columnMeta[i].AdditionalDataSize / sizeof(DB2PalletValue));
+ if (!source->Read(palletArrayValues[i].get(), columnMeta[i].AdditionalDataSize))
+ return false;
+ }
+
+ std::unique_ptr<std::unique_ptr<DB2CommonValue[]>[]> commonData = Trinity::make_unique<std::unique_ptr<DB2CommonValue[]>[]>(_header.TotalFieldCount);
+ commonValues = Trinity::make_unique<std::unordered_map<uint32, uint32>[]>(_header.TotalFieldCount);
+ for (uint32 i = 0; i < _header.TotalFieldCount; ++i)
+ {
+ if (columnMeta[i].CompressionType != DB2ColumnCompression::CommonData)
+ continue;
+
+ if (!columnMeta[i].AdditionalDataSize)
+ continue;
+
+ commonData[i] = Trinity::make_unique<DB2CommonValue[]>(columnMeta[i].AdditionalDataSize / sizeof(DB2CommonValue));
+ if (!source->Read(commonData[i].get(), columnMeta[i].AdditionalDataSize))
+ return false;
- return _impl->Load(source, loadInfo, &_header);
+ uint32 numExtraValuesForField = columnMeta[i].AdditionalDataSize / sizeof(DB2CommonValue);
+ for (uint32 record = 0; record < numExtraValuesForField; ++record)
+ {
+ uint32 recordId = commonData[i][record].RecordId;
+ uint32 value = commonData[i][record].Value;
+ EndianConvert(value);
+ commonValues[i][recordId] = value;
+ }
+ }
+ }
+
+ std::unique_ptr<DB2IndexData[]> parentIndexes;
+ if (_header.ParentLookupCount)
+ {
+ parentIndexes = Trinity::make_unique<DB2IndexData[]>(_header.ParentLookupCount);
+ for (uint32 i = 0; i < _header.ParentLookupCount; ++i)
+ {
+ if (!source->Read(&parentIndexes[i].Info, sizeof(DB2IndexDataInfo)))
+ return false;
+
+ if (!parentIndexes[i].Info.NumEntries)
+ continue;
+
+ parentIndexes[i].Entries = Trinity::make_unique<DB2IndexEntry[]>(parentIndexes[i].Info.NumEntries);
+ if (!source->Read(parentIndexes[i].Entries.get(), sizeof(DB2IndexEntry) * parentIndexes[i].Info.NumEntries))
+ return false;
+ }
+ }
+
+ _impl->SetAdditionalData(std::move(fieldData), std::move(idTable), std::move(copyTable), std::move(columnMeta),
+ std::move(palletValues), std::move(palletArrayValues), std::move(commonValues), std::move(parentIndexes));
+
+ return true;
}
char* DB2FileLoader::AutoProduceData(uint32& count, char**& indexTable, std::vector<char*>& stringPool)
diff --git a/src/common/DataStores/DB2FileLoader.h b/src/common/DataStores/DB2FileLoader.h
index 7b54cd2bd64..2bc273d195b 100644
--- a/src/common/DataStores/DB2FileLoader.h
+++ b/src/common/DataStores/DB2FileLoader.h
@@ -43,7 +43,14 @@ struct DB2Header
uint16 Flags;
int16 IndexField;
uint32 TotalFieldCount;
+ uint32 PackedDataOffset;
+ uint32 ParentLookupCount;
+ uint32 CatalogDataOffset;
+ uint32 IdTableSize;
+ uint32 ColumnMetaSize;
uint32 CommonDataSize;
+ uint32 PalletDataSize;
+ uint32 ParentLookupDataSize;
};
#pragma pack(pop)
@@ -65,16 +72,18 @@ struct TC_COMMON_API DB2FileSource
{
virtual ~DB2FileSource();
- ///
- /**
- * Returns true when the source is open for reading
- */
+ // Returns true when the source is open for reading
virtual bool IsOpen() const = 0;
// Reads numBytes bytes from source and places them into buffer
- // Retu
+ // Returns true if numBytes was read successfully
virtual bool Read(void* buffer, std::size_t numBytes) = 0;
+
+ // Returns current read position in file
virtual std::size_t GetPosition() const = 0;
+
+ virtual std::size_t GetFileSize() const = 0;
+
virtual char const* GetFileName() const = 0;
};
@@ -96,6 +105,8 @@ public:
uint32 GetUInt32(char const* fieldName) const;
int32 GetInt32(uint32 field, uint32 arrayIndex) const;
int32 GetInt32(char const* fieldName) const;
+ uint64 GetUInt64(uint32 field, uint32 arrayIndex) const;
+ uint64 GetUInt64(char const* fieldName) const;
float GetFloat(uint32 field, uint32 arrayIndex) const;
float GetFloat(char const* fieldName) const;
char const* GetString(uint32 field, uint32 arrayIndex) const;
diff --git a/src/common/DataStores/DB2Meta.cpp b/src/common/DataStores/DB2Meta.cpp
index af2968bcf13..1389c50c6d3 100644
--- a/src/common/DataStores/DB2Meta.cpp
+++ b/src/common/DataStores/DB2Meta.cpp
@@ -18,33 +18,8 @@
#include "DB2Meta.h"
#include "Errors.h"
-DB2FieldDefault::DB2FieldDefault(uint8 u8)
-{
- AsUInt8 = u8;
-}
-
-DB2FieldDefault::DB2FieldDefault(uint16 u16)
-{
- AsUInt16 = u16;
-}
-
-DB2FieldDefault::DB2FieldDefault(uint32 u32)
-{
- AsUInt32 = u32;
-}
-
-DB2FieldDefault::DB2FieldDefault(float f)
-{
- AsFloat = f;
-}
-
-DB2FieldDefault::DB2FieldDefault(char const* str)
-{
- AsString = str;
-}
-
-DB2Meta::DB2Meta(int32 indexField, uint32 fieldCount, uint32 layoutHash, char const* types, uint8 const* arraySizes, DB2FieldDefault const* fieldDefaults)
- : IndexField(indexField), FieldCount(fieldCount), LayoutHash(layoutHash), Types(types), ArraySizes(arraySizes), FieldDefaults(fieldDefaults)
+DB2Meta::DB2Meta(int32 indexField, uint32 fieldCount, uint32 layoutHash, char const* types, uint8 const* arraySizes, int32 parentIndexField)
+ : IndexField(indexField), FieldCount(fieldCount), LayoutHash(layoutHash), Types(types), ArraySizes(arraySizes), ParentIndexField(parentIndexField)
{
}
@@ -77,6 +52,9 @@ uint32 DB2Meta::GetRecordSize() const
case FT_INT:
size += 4;
break;
+ case FT_LONG:
+ size += 8;
+ break;
case FT_STRING:
size += sizeof(char*);
break;
@@ -93,6 +71,47 @@ uint32 DB2Meta::GetRecordSize() const
return size;
}
+int32 DB2Meta::GetParentIndexFieldOffset() const
+{
+ if (ParentIndexField == -1)
+ return -1;
+
+ uint32 offset = 0;
+ if (!HasIndexFieldInData())
+ offset += 4;
+
+ for (int32 i = 0; i < ParentIndexField; ++i)
+ {
+ for (uint8 j = 0; j < ArraySizes[i]; ++j)
+ {
+ switch (Types[i])
+ {
+ case FT_BYTE:
+ offset += 1;
+ break;
+ case FT_SHORT:
+ offset += 2;
+ break;
+ case FT_FLOAT:
+ case FT_INT:
+ offset += 4;
+ break;
+ case FT_LONG:
+ offset += 8;
+ break;
+ case FT_STRING:
+ offset += sizeof(char*);
+ break;
+ default:
+ ASSERT(false, "Unsupported column type specified %c", Types[i]);
+ break;
+ }
+ }
+ }
+
+ return offset;
+}
+
uint32 DB2Meta::GetDbIndexField() const
{
if (IndexField == -1)
diff --git a/src/common/DataStores/DB2Meta.h b/src/common/DataStores/DB2Meta.h
index 9112728215a..dc98f59ca2a 100644
--- a/src/common/DataStores/DB2Meta.h
+++ b/src/common/DataStores/DB2Meta.h
@@ -20,27 +20,9 @@
#include "Define.h"
-struct TC_COMMON_API DB2FieldDefault
-{
- DB2FieldDefault(uint8 u8);
- DB2FieldDefault(uint16 u16);
- DB2FieldDefault(uint32 u32);
- DB2FieldDefault(float f);
- DB2FieldDefault(char const* str);
-
- union
- {
- uint8 AsUInt8;
- uint16 AsUInt16;
- uint32 AsUInt32;
- float AsFloat;
- char const* AsString;
- };
-};
-
struct TC_COMMON_API DB2Meta
{
- DB2Meta(int32 indexField, uint32 fieldCount, uint32 layoutHash, char const* types, uint8 const* arraySizes, DB2FieldDefault const* fieldDefaults);
+ DB2Meta(int32 indexField, uint32 fieldCount, uint32 layoutHash, char const* types, uint8 const* arraySizes, int32 parentIndexField);
bool HasIndexFieldInData() const;
@@ -50,15 +32,17 @@ struct TC_COMMON_API DB2Meta
// Returns size of final loaded structure
uint32 GetRecordSize() const;
+ int32 GetParentIndexFieldOffset() const;
+
uint32 GetDbIndexField() const;
uint32 GetDbFieldCount() const;
int32 IndexField;
+ int32 ParentIndexField;
uint32 FieldCount;
uint32 LayoutHash;
char const* Types;
uint8 const* ArraySizes;
- DB2FieldDefault const* FieldDefaults;
};
struct TC_COMMON_API DB2FieldMeta
diff --git a/src/common/Define.h b/src/common/Define.h
index 530e5e25fbb..44898148508 100644
--- a/src/common/Define.h
+++ b/src/common/Define.h
@@ -158,7 +158,8 @@ enum DBCFormer
FT_FLOAT = 'f', // float
FT_INT = 'i', // uint32
FT_BYTE = 'b', // uint8
- FT_SHORT = 'h' // uint16
+ FT_SHORT = 'h', // uint16
+ FT_LONG = 'l' // uint64
};
#endif //TRINITY_DEFINE_H
diff --git a/src/server/database/Database/Field.cpp b/src/server/database/Database/Field.cpp
index 7859a648218..bb0c25a7660 100644
--- a/src/server/database/Database/Field.cpp
+++ b/src/server/database/Database/Field.cpp
@@ -39,8 +39,7 @@ uint8 Field::GetUInt8() const
#ifdef TRINITY_DEBUG
if (!IsType(DatabaseFieldTypes::Int8))
{
- TC_LOG_WARN("sql.sql", "Warning: GetUInt8() on non-tinyint field %s.%s (%s.%s) at index %u. Using type: %s.",
- meta.TableAlias, meta.Alias, meta.TableName, meta.Name, meta.Index, meta.Type);
+ LogWrongType(__FUNCTION__);
return 0;
}
#endif
@@ -58,8 +57,7 @@ int8 Field::GetInt8() const
#ifdef TRINITY_DEBUG
if (!IsType(DatabaseFieldTypes::Int8))
{
- TC_LOG_WARN("sql.sql", "Warning: GetInt8() on non-tinyint field %s.%s (%s.%s) at index %u. Using type: %s.",
- meta.TableAlias, meta.Alias, meta.TableName, meta.Name, meta.Index, meta.Type);
+ LogWrongType(__FUNCTION__);
return 0;
}
#endif
@@ -77,8 +75,7 @@ uint16 Field::GetUInt16() const
#ifdef TRINITY_DEBUG
if (!IsType(DatabaseFieldTypes::Int16))
{
- TC_LOG_WARN("sql.sql", "Warning: GetUInt16() on non-smallint field %s.%s (%s.%s) at index %u. Using type: %s.",
- meta.TableAlias, meta.Alias, meta.TableName, meta.Name, meta.Index, meta.Type);
+ LogWrongType(__FUNCTION__);
return 0;
}
#endif
@@ -96,8 +93,7 @@ int16 Field::GetInt16() const
#ifdef TRINITY_DEBUG
if (!IsType(DatabaseFieldTypes::Int16))
{
- TC_LOG_WARN("sql.sql", "Warning: GetInt16() on non-smallint field %s.%s (%s.%s) at index %u. Using type: %s.",
- meta.TableAlias, meta.Alias, meta.TableName, meta.Name, meta.Index, meta.Type);
+ LogWrongType(__FUNCTION__);
return 0;
}
#endif
@@ -115,8 +111,7 @@ uint32 Field::GetUInt32() const
#ifdef TRINITY_DEBUG
if (!IsType(DatabaseFieldTypes::Int32))
{
- TC_LOG_WARN("sql.sql", "Warning: GetUInt32() on non-(medium)int field %s.%s (%s.%s) at index %u. Using type: %s.",
- meta.TableAlias, meta.Alias, meta.TableName, meta.Name, meta.Index, meta.Type);
+ LogWrongType(__FUNCTION__);
return 0;
}
#endif
@@ -134,8 +129,7 @@ int32 Field::GetInt32() const
#ifdef TRINITY_DEBUG
if (!IsType(DatabaseFieldTypes::Int32))
{
- TC_LOG_WARN("sql.sql", "Warning: GetInt32() on non-(medium)int field %s.%s (%s.%s) at index %u. Using type: %s.",
- meta.TableAlias, meta.Alias, meta.TableName, meta.Name, meta.Index, meta.Type);
+ LogWrongType(__FUNCTION__);
return 0;
}
#endif
@@ -153,8 +147,7 @@ uint64 Field::GetUInt64() const
#ifdef TRINITY_DEBUG
if (!IsType(DatabaseFieldTypes::Int64))
{
- TC_LOG_WARN("sql.sql", "Warning: GetUInt64() on non-bigint field %s.%s (%s.%s) at index %u. Using type: %s.",
- meta.TableAlias, meta.Alias, meta.TableName, meta.Name, meta.Index, meta.Type);
+ LogWrongType(__FUNCTION__);
return 0;
}
#endif
@@ -172,8 +165,7 @@ int64 Field::GetInt64() const
#ifdef TRINITY_DEBUG
if (!IsType(DatabaseFieldTypes::Int64))
{
- TC_LOG_WARN("sql.sql", "Warning: GetInt64() on non-bigint field %s.%s (%s.%s) at index %u. Using type: %s.",
- meta.TableAlias, meta.Alias, meta.TableName, meta.Name, meta.Index, meta.Type);
+ LogWrongType(__FUNCTION__);
return 0;
}
#endif
@@ -191,8 +183,7 @@ float Field::GetFloat() const
#ifdef TRINITY_DEBUG
if (!IsType(DatabaseFieldTypes::Float))
{
- TC_LOG_WARN("sql.sql", "Warning: GetFloat() on non-float field %s.%s (%s.%s) at index %u. Using type: %s.",
- meta.TableAlias, meta.Alias, meta.TableName, meta.Name, meta.Index, meta.Type);
+ LogWrongType(__FUNCTION__);
return 0.0f;
}
#endif
@@ -210,8 +201,7 @@ double Field::GetDouble() const
#ifdef TRINITY_DEBUG
if (!IsType(DatabaseFieldTypes::Double) && !IsType(DatabaseFieldTypes::Decimal))
{
- TC_LOG_WARN("sql.sql", "Warning: GetDouble() on non-double/non-decimal field %s.%s (%s.%s) at index %u. Using type: %s.",
- meta.TableAlias, meta.Alias, meta.TableName, meta.Name, meta.Index, meta.Type);
+ LogWrongType(__FUNCTION__);
return 0.0f;
}
#endif
@@ -229,8 +219,7 @@ char const* Field::GetCString() const
#ifdef TRINITY_DEBUG
if (IsNumeric() && data.raw)
{
- TC_LOG_WARN("sql.sql", "Error: GetCString() on numeric field %s.%s (%s.%s) at index %u. Using type: %s.",
- meta.TableAlias, meta.Alias, meta.TableName, meta.Name, meta.Index, meta.Type);
+ LogWrongType(__FUNCTION__);
return NULL;
}
#endif
@@ -304,6 +293,12 @@ bool Field::IsNumeric() const
#ifdef TRINITY_DEBUG
+void Field::LogWrongType(char* getter) const
+{
+ TC_LOG_WARN("sql.sql", "Warning: %s on %s field %s.%s (%s.%s) at index %u.",
+ getter, meta.Type, meta.TableAlias, meta.Alias, meta.TableName, meta.Name, meta.Index);
+}
+
#ifdef _WIN32 // hack for broken mysql.h not including the correct winsock header for SOCKET definition, fixed in 5.7
#include <winsock2.h>
#endif
diff --git a/src/server/database/Database/Field.h b/src/server/database/Database/Field.h
index 56dae5b3fa0..da0683927a8 100644
--- a/src/server/database/Database/Field.h
+++ b/src/server/database/Database/Field.h
@@ -137,6 +137,7 @@ class TC_DATABASE_API Field
private:
#ifdef TRINITY_DEBUG
+ void LogWrongType(char* getter) const;
void SetMetadata(MYSQL_FIELD* field, uint32 fieldIndex);
Metadata meta;
#endif
diff --git a/src/server/database/Database/Implementation/HotfixDatabase.cpp b/src/server/database/Database/Implementation/HotfixDatabase.cpp
index 325cc751a6f..18119e98096 100644
--- a/src/server/database/Database/Implementation/HotfixDatabase.cpp
+++ b/src/server/database/Database/Implementation/HotfixDatabase.cpp
@@ -32,7 +32,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()
m_stmts.resize(MAX_HOTFIXDATABASE_STATEMENTS);
// Achievement.db2
- PrepareStatement(HOTFIX_SEL_ACHIEVEMENT, "SELECT Title, Description, Flags, Reward, MapID, Supercedes, Category, UIOrder, SharesCriteria, "
+ PrepareStatement(HOTFIX_SEL_ACHIEVEMENT, "SELECT Title, Description, Reward, Flags, MapID, Supercedes, Category, UIOrder, SharesCriteria, "
"Faction, Points, MinimumCriteria, ID, IconFileDataID, CriteriaTree FROM achievement ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_ACHIEVEMENT, "SELECT ID, Title_lang, Description_lang, Reward_lang FROM achievement_locale WHERE locale = ?", CONNECTION_SYNCH);
@@ -40,10 +40,10 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PrepareStatement(HOTFIX_SEL_ANIM_KIT, "SELECT ID, OneShotDuration, OneShotStopAnimKitID, LowDefAnimKitID FROM anim_kit ORDER BY ID DESC", CONNECTION_SYNCH);
// AreaGroupMember.db2
- PrepareStatement(HOTFIX_SEL_AREA_GROUP_MEMBER, "SELECT ID, AreaGroupID, AreaID FROM area_group_member ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_AREA_GROUP_MEMBER, "SELECT ID, AreaID, AreaGroupID FROM area_group_member ORDER BY ID DESC", CONNECTION_SYNCH);
// AreaTable.db2
- PrepareStatement(HOTFIX_SEL_AREA_TABLE, "SELECT ID, Flags1, Flags2, ZoneName, AmbientMultiplier, AreaName, MapID, ParentAreaID, AreaBit, "
+ PrepareStatement(HOTFIX_SEL_AREA_TABLE, "SELECT ID, ZoneName, AreaName, Flags1, Flags2, AmbientMultiplier, MapID, ParentAreaID, AreaBit, "
"AmbienceID, ZoneMusic, IntroSound, LiquidTypeID1, LiquidTypeID2, LiquidTypeID3, LiquidTypeID4, UWZoneMusic, UWAmbience, "
"PvPCombatWorldStateID, SoundProviderPref, SoundProviderPrefUnderwater, ExplorationLevel, FactionGroupMask, MountFlags, "
"WildBattlePetLevelMin, WildBattlePetLevelMax, WindSettingsID, UWIntroSound FROM area_table ORDER BY ID DESC", CONNECTION_SYNCH);
@@ -68,8 +68,8 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_LOCALE_STMT(HOTFIX_SEL_ARTIFACT_APPEARANCE, "SELECT ID, Name_lang FROM artifact_appearance_locale WHERE locale = ?", CONNECTION_SYNCH);
// ArtifactAppearanceSet.db2
- PrepareStatement(HOTFIX_SEL_ARTIFACT_APPEARANCE_SET, "SELECT Name, Name2, UiCameraID, AltHandUICameraID, ArtifactID, DisplayIndex, "
- "AttachmentPoint, Flags, ID FROM artifact_appearance_set ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_ARTIFACT_APPEARANCE_SET, "SELECT Name, Name2, UiCameraID, AltHandUICameraID, DisplayIndex, AttachmentPoint, Flags, "
+ "ID, ArtifactID FROM artifact_appearance_set ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_ARTIFACT_APPEARANCE_SET, "SELECT ID, Name_lang, Name2_lang FROM artifact_appearance_set_locale WHERE locale = ?", CONNECTION_SYNCH);
// ArtifactCategory.db2
@@ -87,7 +87,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PrepareStatement(HOTFIX_SEL_ARTIFACT_POWER_PICKER, "SELECT ID, PlayerConditionID FROM artifact_power_picker ORDER BY ID DESC", CONNECTION_SYNCH);
// ArtifactPowerRank.db2
- PrepareStatement(HOTFIX_SEL_ARTIFACT_POWER_RANK, "SELECT ID, SpellID, Value, ArtifactPowerID, Unknown, Rank FROM artifact_power_rank"
+ PrepareStatement(HOTFIX_SEL_ARTIFACT_POWER_RANK, "SELECT ID, SpellID, Value, Unknown, Rank, ArtifactPowerID FROM artifact_power_rank"
" ORDER BY ID DESC", CONNECTION_SYNCH);
// ArtifactQuestXp.db2
@@ -113,18 +113,18 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PrepareStatement(HOTFIX_SEL_BATTLE_PET_BREED_QUALITY, "SELECT ID, Modifier, Quality FROM battle_pet_breed_quality ORDER BY ID DESC", CONNECTION_SYNCH);
// BattlePetBreedState.db2
- PrepareStatement(HOTFIX_SEL_BATTLE_PET_BREED_STATE, "SELECT ID, Value, BreedID, State FROM battle_pet_breed_state ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_BATTLE_PET_BREED_STATE, "SELECT ID, Value, State, BreedID FROM battle_pet_breed_state ORDER BY ID DESC", CONNECTION_SYNCH);
// BattlePetSpecies.db2
- PrepareStatement(HOTFIX_SEL_BATTLE_PET_SPECIES, "SELECT CreatureID, IconFileID, SummonSpellID, SourceText, Description, Flags, PetType, Source, "
+ PrepareStatement(HOTFIX_SEL_BATTLE_PET_SPECIES, "SELECT SourceText, Description, CreatureID, IconFileID, SummonSpellID, Flags, PetType, Source, "
"ID, CardModelSceneID, LoadoutModelSceneID FROM battle_pet_species ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_BATTLE_PET_SPECIES, "SELECT ID, SourceText_lang, Description_lang FROM battle_pet_species_locale WHERE locale = ?", CONNECTION_SYNCH);
// BattlePetSpeciesState.db2
- PrepareStatement(HOTFIX_SEL_BATTLE_PET_SPECIES_STATE, "SELECT ID, Value, SpeciesID, State FROM battle_pet_species_state ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_BATTLE_PET_SPECIES_STATE, "SELECT ID, Value, State, SpeciesID FROM battle_pet_species_state ORDER BY ID DESC", CONNECTION_SYNCH);
// BattlemasterList.db2
- PrepareStatement(HOTFIX_SEL_BATTLEMASTER_LIST, "SELECT ID, Name, IconFileDataID, GameType, ShortDescription, LongDescription, MapID1, MapID2, "
+ PrepareStatement(HOTFIX_SEL_BATTLEMASTER_LIST, "SELECT ID, Name, GameType, ShortDescription, LongDescription, IconFileDataID, MapID1, MapID2, "
"MapID3, MapID4, MapID5, MapID6, MapID7, MapID8, MapID9, MapID10, MapID11, MapID12, MapID13, MapID14, MapID15, MapID16, HolidayWorldState, "
"PlayerConditionID, InstanceType, GroupsAllowed, MaxGroupSize, MinLevel, MaxLevel, RatedPlayers, MinPlayers, MaxPlayers, Flags"
" FROM battlemaster_list ORDER BY ID DESC", CONNECTION_SYNCH);
@@ -133,7 +133,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()
// BroadcastText.db2
PrepareStatement(HOTFIX_SEL_BROADCAST_TEXT, "SELECT ID, MaleText, FemaleText, EmoteID1, EmoteID2, EmoteID3, EmoteDelay1, EmoteDelay2, "
- "EmoteDelay3, UnkEmoteID, Language, Type, SoundID1, SoundID2, PlayerConditionID FROM broadcast_text ORDER BY ID DESC", CONNECTION_SYNCH);
+ "EmoteDelay3, UnkEmoteID, Language, Type, PlayerConditionID, SoundID1, SoundID2 FROM broadcast_text ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_BROADCAST_TEXT, "SELECT ID, MaleText_lang, FemaleText_lang FROM broadcast_text_locale WHERE locale = ?", CONNECTION_SYNCH);
// CharacterFacialHairStyles.db2
@@ -150,38 +150,40 @@ void HotfixDatabaseConnection::DoPrepareStatements()
// CharStartOutfit.db2
PrepareStatement(HOTFIX_SEL_CHAR_START_OUTFIT, "SELECT ID, ItemID1, ItemID2, ItemID3, ItemID4, ItemID5, ItemID6, ItemID7, ItemID8, ItemID9, "
"ItemID10, ItemID11, ItemID12, ItemID13, ItemID14, ItemID15, ItemID16, ItemID17, ItemID18, ItemID19, ItemID20, ItemID21, ItemID22, ItemID23, "
- "ItemID24, PetDisplayID, RaceID, ClassID, GenderID, OutfitID, PetFamilyID FROM char_start_outfit ORDER BY ID DESC", CONNECTION_SYNCH);
+ "ItemID24, PetDisplayID, ClassID, GenderID, OutfitID, PetFamilyID, RaceID FROM char_start_outfit ORDER BY ID DESC", CONNECTION_SYNCH);
// CharTitles.db2
PrepareStatement(HOTFIX_SEL_CHAR_TITLES, "SELECT ID, NameMale, NameFemale, MaskID, Flags FROM char_titles ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_CHAR_TITLES, "SELECT ID, NameMale_lang, NameFemale_lang FROM char_titles_locale WHERE locale = ?", CONNECTION_SYNCH);
// ChatChannels.db2
- PrepareStatement(HOTFIX_SEL_CHAT_CHANNELS, "SELECT ID, Flags, Name, Shortcut, FactionGroup FROM chat_channels ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_CHAT_CHANNELS, "SELECT ID, Name, Shortcut, Flags, FactionGroup FROM chat_channels ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_CHAT_CHANNELS, "SELECT ID, Name_lang, Shortcut_lang FROM chat_channels_locale WHERE locale = ?", CONNECTION_SYNCH);
// ChrClasses.db2
PrepareStatement(HOTFIX_SEL_CHR_CLASSES, "SELECT PetNameToken, Name, NameFemale, NameMale, Filename, CreateScreenFileDataID, "
- "SelectScreenFileDataID, IconFileDataID, LowResScreenFileDataID, Flags, CinematicSequenceID, DefaultSpec, PowerType, SpellClassSet, "
- "AttackPowerPerStrength, AttackPowerPerAgility, RangedAttackPowerPerAgility, Unk1, ID FROM chr_classes ORDER BY ID DESC", CONNECTION_SYNCH);
+ "SelectScreenFileDataID, IconFileDataID, LowResScreenFileDataID, StartingLevel, Flags, CinematicSequenceID, DefaultSpec, PowerType, "
+ "SpellClassSet, AttackPowerPerStrength, AttackPowerPerAgility, RangedAttackPowerPerAgility, Unk1, ID FROM chr_classes ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_CHR_CLASSES, "SELECT ID, Name_lang, NameFemale_lang, NameMale_lang FROM chr_classes_locale WHERE locale = ?", CONNECTION_SYNCH);
// ChrClassesXPowerTypes.db2
- PrepareStatement(HOTFIX_SEL_CHR_CLASSES_X_POWER_TYPES, "SELECT ID, ClassID, PowerType FROM chr_classes_x_power_types ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_CHR_CLASSES_X_POWER_TYPES, "SELECT ID, PowerType, ClassID FROM chr_classes_x_power_types ORDER BY ID DESC", CONNECTION_SYNCH);
// ChrRaces.db2
- PrepareStatement(HOTFIX_SEL_CHR_RACES, "SELECT ID, Flags, MaleDisplayID, FemaleDisplayID, ClientPrefix, ClientFileString, Name, NameFemale, "
- "NameMale, FacialHairCustomization1, FacialHairCustomization2, HairCustomization, CreateScreenFileDataID, SelectScreenFileDataID, "
- "MaleCustomizeOffset1, MaleCustomizeOffset2, MaleCustomizeOffset3, FemaleCustomizeOffset1, FemaleCustomizeOffset2, FemaleCustomizeOffset3, "
- "LowResScreenFileDataID, FactionID, ResSicknessSpellID, SplashSoundID, CinematicSequenceID, BaseLanguage, CreatureType, TeamID, RaceRelated, "
+ PrepareStatement(HOTFIX_SEL_CHR_RACES, "SELECT ClientPrefix, ClientFileString, Name, NameFemale, LowercaseName, LowercaseNameFemale, Flags, "
+ "MaleDisplayID, FemaleDisplayID, CreateScreenFileDataID, SelectScreenFileDataID, MaleCustomizeOffset1, MaleCustomizeOffset2, "
+ "MaleCustomizeOffset3, FemaleCustomizeOffset1, FemaleCustomizeOffset2, FemaleCustomizeOffset3, LowResScreenFileDataID, StartingLevel, "
+ "UIDisplayOrder, FactionID, ResSicknessSpellID, SplashSoundID, CinematicSequenceID, BaseLanguage, CreatureType, TeamID, RaceRelated, "
"UnalteredVisualRaceID, CharComponentTextureLayoutID, DefaultClassID, NeutralRaceID, ItemAppearanceFrameRaceID, "
- "CharComponentTexLayoutHiResID, HighResMaleDisplayID, HighResFemaleDisplayID, AlteredFormTransitionSpellVisualID1, "
- "AlteredFormTransitionSpellVisualID2, AlteredFormTransitionSpellVisualID3, AlteredFormTransitionSpellVisualKitID1, "
- "AlteredFormTransitionSpellVisualKitID2, AlteredFormTransitionSpellVisualKitID3 FROM chr_races ORDER BY ID DESC", CONNECTION_SYNCH);
- PREPARE_LOCALE_STMT(HOTFIX_SEL_CHR_RACES, "SELECT ID, Name_lang, NameFemale_lang, NameMale_lang FROM chr_races_locale WHERE locale = ?", CONNECTION_SYNCH);
+ "CharComponentTexLayoutHiResID, ID, HighResMaleDisplayID, HighResFemaleDisplayID, HeritageArmorAchievementID, MaleCorpseBonesModelFileDataID, "
+ "FemaleCorpseBonesModelFileDataID, AlteredFormTransitionSpellVisualID1, AlteredFormTransitionSpellVisualID2, "
+ "AlteredFormTransitionSpellVisualID3, AlteredFormTransitionSpellVisualKitID1, AlteredFormTransitionSpellVisualKitID2, "
+ "AlteredFormTransitionSpellVisualKitID3 FROM chr_races ORDER BY ID DESC", CONNECTION_SYNCH);
+ PREPARE_LOCALE_STMT(HOTFIX_SEL_CHR_RACES, "SELECT ID, Name_lang, NameFemale_lang, LowercaseName_lang, LowercaseNameFemale_lang"
+ " FROM chr_races_locale WHERE locale = ?", CONNECTION_SYNCH);
// ChrSpecialization.db2
- PrepareStatement(HOTFIX_SEL_CHR_SPECIALIZATION, "SELECT MasterySpellID1, MasterySpellID2, Name, Name2, Description, ClassID, OrderIndex, "
+ PrepareStatement(HOTFIX_SEL_CHR_SPECIALIZATION, "SELECT Name, Name2, Description, MasterySpellID1, MasterySpellID2, ClassID, OrderIndex, "
"PetTalentType, Role, PrimaryStatOrder, ID, IconFileDataID, Flags, AnimReplacementSetID FROM chr_specialization ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_CHR_SPECIALIZATION, "SELECT ID, Name_lang, Name2_lang, Description_lang FROM chr_specialization_locale"
" WHERE locale = ?", CONNECTION_SYNCH);
@@ -200,9 +202,10 @@ void HotfixDatabaseConnection::DoPrepareStatements()
// CreatureDisplayInfo.db2
PrepareStatement(HOTFIX_SEL_CREATURE_DISPLAY_INFO, "SELECT ID, CreatureModelScale, ModelID, NPCSoundID, SizeClass, Flags, Gender, "
- "ExtendedDisplayInfoID, TextureVariation1, TextureVariation2, TextureVariation3, PortraitTextureFileDataID, CreatureModelAlpha, SoundID, "
- "PlayerModelScale, PortraitCreatureDisplayInfoID, BloodID, ParticleColorID, CreatureGeosetData, ObjectEffectPackageID, AnimReplacementSetID, "
- "UnarmedWeaponSubclass, StateSpellVisualKitID, InstanceOtherPlayerPetScale, MountSpellVisualKitID FROM creature_display_info ORDER BY ID DESC", CONNECTION_SYNCH);
+ "ExtendedDisplayInfoID, PortraitTextureFileDataID, CreatureModelAlpha, SoundID, PlayerModelScale, PortraitCreatureDisplayInfoID, BloodID, "
+ "ParticleColorID, CreatureGeosetData, ObjectEffectPackageID, AnimReplacementSetID, UnarmedWeaponSubclass, StateSpellVisualKitID, "
+ "InstanceOtherPlayerPetScale, MountSpellVisualKitID, TextureVariation1, TextureVariation2, TextureVariation3 FROM creature_display_info"
+ " ORDER BY ID DESC", CONNECTION_SYNCH);
// CreatureDisplayInfoExtra.db2
PrepareStatement(HOTFIX_SEL_CREATURE_DISPLAY_INFO_EXTRA, "SELECT ID, FileDataID, HDFileDataID, DisplayRaceID, DisplaySexID, DisplayClassID, "
@@ -210,7 +213,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()
" FROM creature_display_info_extra ORDER BY ID DESC", CONNECTION_SYNCH);
// CreatureFamily.db2
- PrepareStatement(HOTFIX_SEL_CREATURE_FAMILY, "SELECT ID, MinScale, MaxScale, Name, IconFileDataID, SkillLine1, SkillLine2, PetFoodMask, "
+ PrepareStatement(HOTFIX_SEL_CREATURE_FAMILY, "SELECT ID, Name, MinScale, MaxScale, IconFileDataID, SkillLine1, SkillLine2, PetFoodMask, "
"MinScaleLevel, MaxScaleLevel, PetTalentType FROM creature_family ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_CREATURE_FAMILY, "SELECT ID, Name_lang FROM creature_family_locale WHERE locale = ?", CONNECTION_SYNCH);
@@ -230,12 +233,12 @@ void HotfixDatabaseConnection::DoPrepareStatements()
"StartEvent, FailEvent, Flags, EligibilityWorldStateValue FROM criteria ORDER BY ID DESC", CONNECTION_SYNCH);
// CriteriaTree.db2
- PrepareStatement(HOTFIX_SEL_CRITERIA_TREE, "SELECT ID, Amount, Description, Flags, Operator, CriteriaID, Parent, OrderIndex FROM criteria_tree"
+ PrepareStatement(HOTFIX_SEL_CRITERIA_TREE, "SELECT ID, Description, Amount, Flags, Operator, CriteriaID, Parent, OrderIndex FROM criteria_tree"
" ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_CRITERIA_TREE, "SELECT ID, Description_lang FROM criteria_tree_locale WHERE locale = ?", CONNECTION_SYNCH);
// CurrencyTypes.db2
- PrepareStatement(HOTFIX_SEL_CURRENCY_TYPES, "SELECT ID, Name, MaxQty, MaxEarnablePerWeek, Flags, Description, CategoryID, SpellCategory, Quality, "
+ PrepareStatement(HOTFIX_SEL_CURRENCY_TYPES, "SELECT ID, Name, Description, MaxQty, MaxEarnablePerWeek, Flags, CategoryID, SpellCategory, Quality, "
"InventoryIconFileDataID, SpellWeight FROM currency_types ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_CURRENCY_TYPES, "SELECT ID, Name_lang, Description_lang FROM currency_types_locale WHERE locale = ?", CONNECTION_SYNCH);
@@ -276,7 +279,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PrepareStatement(HOTFIX_SEL_DURABILITY_QUALITY, "SELECT ID, QualityMod FROM durability_quality ORDER BY ID DESC", CONNECTION_SYNCH);
// Emotes.db2
- PrepareStatement(HOTFIX_SEL_EMOTES, "SELECT ID, EmoteSlashCommand, SpellVisualKitID, EmoteFlags, RaceMask, AnimID, EmoteSpecProc, "
+ PrepareStatement(HOTFIX_SEL_EMOTES, "SELECT ID, RaceMask, EmoteSlashCommand, SpellVisualKitID, EmoteFlags, AnimID, EmoteSpecProc, "
"EmoteSpecProcParam, EmoteSoundID, ClassMask FROM emotes ORDER BY ID DESC", CONNECTION_SYNCH);
// EmotesText.db2
@@ -284,11 +287,11 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_LOCALE_STMT(HOTFIX_SEL_EMOTES_TEXT, "SELECT ID, Name_lang FROM emotes_text_locale WHERE locale = ?", CONNECTION_SYNCH);
// EmotesTextSound.db2
- PrepareStatement(HOTFIX_SEL_EMOTES_TEXT_SOUND, "SELECT ID, EmotesTextId, RaceId, SexId, ClassId, SoundId FROM emotes_text_sound ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_EMOTES_TEXT_SOUND, "SELECT ID, RaceId, SexId, ClassId, SoundId, EmotesTextId FROM emotes_text_sound ORDER BY ID DESC", CONNECTION_SYNCH);
// Faction.db2
- PrepareStatement(HOTFIX_SEL_FACTION, "SELECT ID, ReputationRaceMask1, ReputationRaceMask2, ReputationRaceMask3, ReputationRaceMask4, "
- "ReputationBase1, ReputationBase2, ReputationBase3, ReputationBase4, ParentFactionModIn, ParentFactionModOut, Name, Description, "
+ PrepareStatement(HOTFIX_SEL_FACTION, "SELECT ReputationRaceMask1, ReputationRaceMask2, ReputationRaceMask3, ReputationRaceMask4, Name, "
+ "Description, ID, ReputationBase1, ReputationBase2, ReputationBase3, ReputationBase4, ParentFactionModIn, ParentFactionModOut, "
"ReputationMax1, ReputationMax2, ReputationMax3, ReputationMax4, ReputationIndex, ReputationClassMask1, ReputationClassMask2, "
"ReputationClassMask3, ReputationClassMask4, ReputationFlags1, ReputationFlags2, ReputationFlags3, ReputationFlags4, ParentFactionID, "
"ParagonFactionID, ParentFactionCapIn, ParentFactionCapOut, Expansion, Flags, FriendshipRepID FROM faction ORDER BY ID DESC", CONNECTION_SYNCH);
@@ -299,8 +302,8 @@ void HotfixDatabaseConnection::DoPrepareStatements()
"Friends4, Mask, FriendMask, EnemyMask FROM faction_template ORDER BY ID DESC", CONNECTION_SYNCH);
// Gameobjects.db2
- PrepareStatement(HOTFIX_SEL_GAMEOBJECTS, "SELECT PositionX, PositionY, PositionZ, RotationX, RotationY, RotationZ, RotationW, Size, Data1, Data2, "
- "Data3, Data4, Data5, Data6, Data7, Data8, Name, MapID, DisplayID, PhaseID, PhaseGroupID, PhaseUseFlags, Type, ID FROM gameobjects"
+ PrepareStatement(HOTFIX_SEL_GAMEOBJECTS, "SELECT Name, PositionX, PositionY, PositionZ, RotationX, RotationY, RotationZ, RotationW, Size, Data1, "
+ "Data2, Data3, Data4, Data5, Data6, Data7, Data8, MapID, DisplayID, PhaseID, PhaseGroupID, PhaseUseFlags, Type, ID FROM gameobjects"
" ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_GAMEOBJECTS, "SELECT ID, Name_lang FROM gameobjects_locale WHERE locale = ?", CONNECTION_SYNCH);
@@ -314,7 +317,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_LOCALE_STMT(HOTFIX_SEL_GARR_ABILITY, "SELECT ID, Name_lang, Description_lang FROM garr_ability_locale WHERE locale = ?", CONNECTION_SYNCH);
// GarrBuilding.db2
- PrepareStatement(HOTFIX_SEL_GARR_BUILDING, "SELECT ID, HordeGameObjectID, AllianceGameObjectID, NameAlliance, NameHorde, Description, Tooltip, "
+ PrepareStatement(HOTFIX_SEL_GARR_BUILDING, "SELECT ID, NameAlliance, NameHorde, Description, Tooltip, HordeGameObjectID, AllianceGameObjectID, "
"IconFileDataID, CostCurrencyID, HordeTexPrefixKitID, AllianceTexPrefixKitID, AllianceActivationScenePackageID, "
"HordeActivationScenePackageID, FollowerRequiredGarrAbilityID, FollowerGarrAbilityEffectID, CostMoney, Unknown, Type, Level, Flags, "
"MaxShipments, GarrTypeID, BuildDuration, CostCurrencyAmount, BonusAmount FROM garr_building ORDER BY ID DESC", CONNECTION_SYNCH);
@@ -332,16 +335,17 @@ void HotfixDatabaseConnection::DoPrepareStatements()
" WHERE locale = ?", CONNECTION_SYNCH);
// GarrFollower.db2
- PrepareStatement(HOTFIX_SEL_GARR_FOLLOWER, "SELECT HordeCreatureID, AllianceCreatureID, HordeSourceText, AllianceSourceText, HordePortraitIconID, "
- "AlliancePortraitIconID, HordeAddedBroadcastTextID, AllianceAddedBroadcastTextID, Name, HordeGarrFollItemSetID, AllianceGarrFollItemSetID, "
- "ItemLevelWeapon, ItemLevelArmor, HordeListPortraitTextureKitID, AllianceListPortraitTextureKitID, FollowerTypeID, HordeUiAnimRaceInfoID, "
- "AllianceUiAnimRaceInfoID, Quality, HordeGarrClassSpecID, AllianceGarrClassSpecID, Level, Unknown1, Flags, Unknown2, Unknown3, GarrTypeID, "
- "MaxDurability, Class, HordeFlavorTextGarrStringID, AllianceFlavorTextGarrStringID, ID FROM garr_follower ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_GARR_FOLLOWER, "SELECT HordeSourceText, AllianceSourceText, Name, HordeCreatureID, AllianceCreatureID, "
+ "HordePortraitIconID, AlliancePortraitIconID, HordeAddedBroadcastTextID, AllianceAddedBroadcastTextID, HordeGarrFollItemSetID, "
+ "AllianceGarrFollItemSetID, ItemLevelWeapon, ItemLevelArmor, HordeListPortraitTextureKitID, AllianceListPortraitTextureKitID, FollowerTypeID, "
+ "HordeUiAnimRaceInfoID, AllianceUiAnimRaceInfoID, Quality, HordeGarrClassSpecID, AllianceGarrClassSpecID, Level, Unknown1, Flags, Unknown2, "
+ "Unknown3, GarrTypeID, MaxDurability, Class, HordeFlavorTextGarrStringID, AllianceFlavorTextGarrStringID, ID FROM garr_follower"
+ " ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_GARR_FOLLOWER, "SELECT ID, HordeSourceText_lang, AllianceSourceText_lang, Name_lang FROM garr_follower_locale"
" WHERE locale = ?", CONNECTION_SYNCH);
// GarrFollowerXAbility.db2
- PrepareStatement(HOTFIX_SEL_GARR_FOLLOWER_X_ABILITY, "SELECT ID, GarrFollowerID, GarrAbilityID, FactionIndex FROM garr_follower_x_ability"
+ PrepareStatement(HOTFIX_SEL_GARR_FOLLOWER_X_ABILITY, "SELECT ID, GarrAbilityID, FactionIndex, GarrFollowerID FROM garr_follower_x_ability"
" ORDER BY ID DESC", CONNECTION_SYNCH);
// GarrPlot.db2
@@ -375,7 +379,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()
" ORDER BY ID DESC", CONNECTION_SYNCH);
// GlyphRequiredSpec.db2
- PrepareStatement(HOTFIX_SEL_GLYPH_REQUIRED_SPEC, "SELECT ID, GlyphPropertiesID, ChrSpecializationID FROM glyph_required_spec ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_GLYPH_REQUIRED_SPEC, "SELECT ID, ChrSpecializationID, GlyphPropertiesID FROM glyph_required_spec ORDER BY ID DESC", CONNECTION_SYNCH);
// GuildColorBackground.db2
PrepareStatement(HOTFIX_SEL_GUILD_COLOR_BACKGROUND, "SELECT ID, Red, Green, Blue FROM guild_color_background ORDER BY ID DESC", CONNECTION_SYNCH);
@@ -390,7 +394,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PrepareStatement(HOTFIX_SEL_GUILD_PERK_SPELLS, "SELECT ID, SpellID FROM guild_perk_spells ORDER BY ID DESC", CONNECTION_SYNCH);
// Heirloom.db2
- PrepareStatement(HOTFIX_SEL_HEIRLOOM, "SELECT ItemID, SourceText, OldItem1, OldItem2, NextDifficultyItemID, UpgradeItemID1, UpgradeItemID2, "
+ PrepareStatement(HOTFIX_SEL_HEIRLOOM, "SELECT SourceText, ItemID, OldItem1, OldItem2, NextDifficultyItemID, UpgradeItemID1, UpgradeItemID2, "
"UpgradeItemID3, ItemBonusListID1, ItemBonusListID2, ItemBonusListID3, Flags, Source, ID FROM heirloom ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_HEIRLOOM, "SELECT ID, SourceText_lang FROM heirloom_locale WHERE locale = ?", CONNECTION_SYNCH);
@@ -438,20 +442,20 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_LOCALE_STMT(HOTFIX_SEL_ITEM_BAG_FAMILY, "SELECT ID, Name_lang FROM item_bag_family_locale WHERE locale = ?", CONNECTION_SYNCH);
// ItemBonus.db2
- PrepareStatement(HOTFIX_SEL_ITEM_BONUS, "SELECT ID, Value1, Value2, BonusListID, Type, `Index` FROM item_bonus ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_ITEM_BONUS, "SELECT ID, Value1, Value2, Value3, BonusListID, Type, `Index` FROM item_bonus ORDER BY ID DESC", CONNECTION_SYNCH);
// ItemBonusListLevelDelta.db2
PrepareStatement(HOTFIX_SEL_ITEM_BONUS_LIST_LEVEL_DELTA, "SELECT Delta, ID FROM item_bonus_list_level_delta ORDER BY ID DESC", CONNECTION_SYNCH);
// ItemBonusTreeNode.db2
- PrepareStatement(HOTFIX_SEL_ITEM_BONUS_TREE_NODE, "SELECT ID, BonusTreeID, SubTreeID, BonusListID, ItemLevelSelectorID, BonusTreeModID"
+ PrepareStatement(HOTFIX_SEL_ITEM_BONUS_TREE_NODE, "SELECT ID, SubTreeID, BonusListID, ItemLevelSelectorID, BonusTreeModID, BonusTreeID"
" FROM item_bonus_tree_node ORDER BY ID DESC", CONNECTION_SYNCH);
// ItemChildEquipment.db2
- PrepareStatement(HOTFIX_SEL_ITEM_CHILD_EQUIPMENT, "SELECT ID, ItemID, AltItemID, AltEquipmentSlot FROM item_child_equipment ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_ITEM_CHILD_EQUIPMENT, "SELECT ID, AltItemID, AltEquipmentSlot, ItemID FROM item_child_equipment ORDER BY ID DESC", CONNECTION_SYNCH);
// ItemClass.db2
- PrepareStatement(HOTFIX_SEL_ITEM_CLASS, "SELECT ID, PriceMod, Name, OldEnumValue, Flags FROM item_class ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_ITEM_CLASS, "SELECT ID, Name, PriceMod, OldEnumValue, Flags FROM item_class ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_ITEM_CLASS, "SELECT ID, Name_lang FROM item_class_locale WHERE locale = ?", CONNECTION_SYNCH);
// ItemCurrencyCost.db2
@@ -478,12 +482,12 @@ void HotfixDatabaseConnection::DoPrepareStatements()
" FROM item_damage_two_hand_caster ORDER BY ID DESC", CONNECTION_SYNCH);
// ItemDisenchantLoot.db2
- PrepareStatement(HOTFIX_SEL_ITEM_DISENCHANT_LOOT, "SELECT ID, MinItemLevel, MaxItemLevel, RequiredDisenchantSkill, ItemClass, ItemSubClass, "
- "ItemQuality FROM item_disenchant_loot ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_ITEM_DISENCHANT_LOOT, "SELECT ID, MinItemLevel, MaxItemLevel, RequiredDisenchantSkill, ItemSubClass, ItemQuality, "
+ "Expansion, ItemClass FROM item_disenchant_loot ORDER BY ID DESC", CONNECTION_SYNCH);
// ItemEffect.db2
- PrepareStatement(HOTFIX_SEL_ITEM_EFFECT, "SELECT ID, ItemID, SpellID, Cooldown, CategoryCooldown, Charges, Category, ChrSpecializationID, "
- "OrderIndex, `Trigger` FROM item_effect ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_ITEM_EFFECT, "SELECT ID, SpellID, Cooldown, CategoryCooldown, Charges, Category, ChrSpecializationID, OrderIndex, "
+ "`Trigger`, ItemID FROM item_effect ORDER BY ID DESC", CONNECTION_SYNCH);
// ItemExtendedCost.db2
PrepareStatement(HOTFIX_SEL_ITEM_EXTENDED_COST, "SELECT ID, RequiredItem1, RequiredItem2, RequiredItem3, RequiredItem4, RequiredItem5, "
@@ -496,7 +500,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PrepareStatement(HOTFIX_SEL_ITEM_LEVEL_SELECTOR, "SELECT ID, ItemLevel, ItemLevelSelectorQualitySetID FROM item_level_selector ORDER BY ID DESC", CONNECTION_SYNCH);
// ItemLevelSelectorQuality.db2
- PrepareStatement(HOTFIX_SEL_ITEM_LEVEL_SELECTOR_QUALITY, "SELECT ID, ItemBonusListID, ItemLevelSelectorQualitySetID, Quality"
+ PrepareStatement(HOTFIX_SEL_ITEM_LEVEL_SELECTOR_QUALITY, "SELECT ID, ItemBonusListID, Quality, ItemLevelSelectorQualitySetID"
" FROM item_level_selector_quality ORDER BY ID DESC", CONNECTION_SYNCH);
// ItemLevelSelectorQualitySet.db2
@@ -508,7 +512,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_LOCALE_STMT(HOTFIX_SEL_ITEM_LIMIT_CATEGORY, "SELECT ID, Name_lang FROM item_limit_category_locale WHERE locale = ?", CONNECTION_SYNCH);
// ItemModifiedAppearance.db2
- PrepareStatement(HOTFIX_SEL_ITEM_MODIFIED_APPEARANCE, "SELECT ItemID, AppearanceID, AppearanceModID, `Index`, SourceType, ID"
+ PrepareStatement(HOTFIX_SEL_ITEM_MODIFIED_APPEARANCE, "SELECT ItemID, ID, AppearanceModID, AppearanceID, `Index`, SourceType"
" FROM item_modified_appearance ORDER BY ID DESC", CONNECTION_SYNCH);
// ItemPriceBase.db2
@@ -525,8 +529,8 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_LOCALE_STMT(HOTFIX_SEL_ITEM_RANDOM_SUFFIX, "SELECT ID, Name_lang FROM item_random_suffix_locale WHERE locale = ?", CONNECTION_SYNCH);
// ItemSearchName.db2
- PrepareStatement(HOTFIX_SEL_ITEM_SEARCH_NAME, "SELECT ID, Name, Flags1, Flags2, Flags3, AllowableRace, ItemLevel, Quality, RequiredExpansion, "
- "RequiredLevel, AllowableClass, RequiredReputationFaction, RequiredReputationRank, RequiredSkill, RequiredSkillRank, RequiredSpell"
+ PrepareStatement(HOTFIX_SEL_ITEM_SEARCH_NAME, "SELECT AllowableRace, Name, ID, Flags1, Flags2, Flags3, ItemLevel, Quality, RequiredExpansion, "
+ "RequiredLevel, RequiredReputationFaction, RequiredReputationRank, AllowableClass, RequiredSkill, RequiredSkillRank, RequiredSpell"
" FROM item_search_name ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_ITEM_SEARCH_NAME, "SELECT ID, Name_lang FROM item_search_name_locale WHERE locale = ?", CONNECTION_SYNCH);
@@ -537,23 +541,23 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_LOCALE_STMT(HOTFIX_SEL_ITEM_SET, "SELECT ID, Name_lang FROM item_set_locale WHERE locale = ?", CONNECTION_SYNCH);
// ItemSetSpell.db2
- PrepareStatement(HOTFIX_SEL_ITEM_SET_SPELL, "SELECT ID, SpellID, ItemSetID, ChrSpecID, Threshold FROM item_set_spell ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_ITEM_SET_SPELL, "SELECT ID, SpellID, ChrSpecID, Threshold, ItemSetID FROM item_set_spell ORDER BY ID DESC", CONNECTION_SYNCH);
// ItemSparse.db2
- PrepareStatement(HOTFIX_SEL_ITEM_SPARSE, "SELECT ID, Flags1, Flags2, Flags3, Flags4, Unk1, Unk2, BuyCount, BuyPrice, SellPrice, AllowableRace, "
- "RequiredSpell, MaxCount, Stackable, ItemStatAllocation1, ItemStatAllocation2, ItemStatAllocation3, ItemStatAllocation4, ItemStatAllocation5, "
- "ItemStatAllocation6, ItemStatAllocation7, ItemStatAllocation8, ItemStatAllocation9, ItemStatAllocation10, ItemStatSocketCostMultiplier1, "
- "ItemStatSocketCostMultiplier2, ItemStatSocketCostMultiplier3, ItemStatSocketCostMultiplier4, ItemStatSocketCostMultiplier5, "
- "ItemStatSocketCostMultiplier6, ItemStatSocketCostMultiplier7, ItemStatSocketCostMultiplier8, ItemStatSocketCostMultiplier9, "
- "ItemStatSocketCostMultiplier10, RangedModRange, Name, Name2, Name3, Name4, Description, BagFamily, ArmorDamageModifier, Duration, "
- "StatScalingFactor, AllowableClass, ItemLevel, RequiredSkill, RequiredSkillRank, RequiredReputationFaction, ItemStatValue1, ItemStatValue2, "
- "ItemStatValue3, ItemStatValue4, ItemStatValue5, ItemStatValue6, ItemStatValue7, ItemStatValue8, ItemStatValue9, ItemStatValue10, "
- "ScalingStatDistribution, Delay, PageText, StartQuest, LockID, RandomProperty, RandomSuffix, ItemSet, Area, Map, TotemCategory, SocketBonus, "
- "GemProperties, ItemLimitCategory, HolidayID, RequiredTransmogHolidayID, ItemNameDescriptionID, Quality, InventoryType, RequiredLevel, "
- "RequiredHonorRank, RequiredCityRank, RequiredReputationRank, ContainerSlots, ItemStatType1, ItemStatType2, ItemStatType3, ItemStatType4, "
- "ItemStatType5, ItemStatType6, ItemStatType7, ItemStatType8, ItemStatType9, ItemStatType10, DamageType, Bonding, LanguageID, PageMaterial, "
- "Material, Sheath, SocketColor1, SocketColor2, SocketColor3, CurrencySubstitutionID, CurrencySubstitutionCount, ArtifactID, "
- "RequiredExpansion FROM item_sparse ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_ITEM_SPARSE, "SELECT ID, AllowableRace, Name, Name2, Name3, Name4, Description, Flags1, Flags2, Flags3, Flags4, Unk1, "
+ "Unk2, BuyCount, BuyPrice, SellPrice, RequiredSpell, MaxCount, Stackable, ItemStatAllocation1, ItemStatAllocation2, ItemStatAllocation3, "
+ "ItemStatAllocation4, ItemStatAllocation5, ItemStatAllocation6, ItemStatAllocation7, ItemStatAllocation8, ItemStatAllocation9, "
+ "ItemStatAllocation10, ItemStatSocketCostMultiplier1, ItemStatSocketCostMultiplier2, ItemStatSocketCostMultiplier3, "
+ "ItemStatSocketCostMultiplier4, ItemStatSocketCostMultiplier5, ItemStatSocketCostMultiplier6, ItemStatSocketCostMultiplier7, "
+ "ItemStatSocketCostMultiplier8, ItemStatSocketCostMultiplier9, ItemStatSocketCostMultiplier10, RangedModRange, BagFamily, "
+ "ArmorDamageModifier, Duration, StatScalingFactor, AllowableClass, ItemLevel, RequiredSkill, RequiredSkillRank, RequiredReputationFaction, "
+ "ItemStatValue1, ItemStatValue2, ItemStatValue3, ItemStatValue4, ItemStatValue5, ItemStatValue6, ItemStatValue7, ItemStatValue8, "
+ "ItemStatValue9, ItemStatValue10, ScalingStatDistribution, Delay, PageText, StartQuest, LockID, RandomProperty, RandomSuffix, ItemSet, Area, "
+ "Map, TotemCategory, SocketBonus, GemProperties, ItemLimitCategory, HolidayID, RequiredTransmogHolidayID, ItemNameDescriptionID, Quality, "
+ "InventoryType, RequiredLevel, RequiredHonorRank, RequiredCityRank, RequiredReputationRank, ContainerSlots, ItemStatType1, ItemStatType2, "
+ "ItemStatType3, ItemStatType4, ItemStatType5, ItemStatType6, ItemStatType7, ItemStatType8, ItemStatType9, ItemStatType10, DamageType, "
+ "Bonding, LanguageID, PageMaterial, Material, Sheath, SocketColor1, SocketColor2, SocketColor3, CurrencySubstitutionID, "
+ "CurrencySubstitutionCount, ArtifactID, RequiredExpansion FROM item_sparse ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_ITEM_SPARSE, "SELECT ID, Name_lang, Name2_lang, Name3_lang, Name4_lang, Description_lang FROM item_sparse_locale"
" WHERE locale = ?", CONNECTION_SYNCH);
@@ -562,14 +566,14 @@ void HotfixDatabaseConnection::DoPrepareStatements()
" ORDER BY ID DESC", CONNECTION_SYNCH);
// ItemSpecOverride.db2
- PrepareStatement(HOTFIX_SEL_ITEM_SPEC_OVERRIDE, "SELECT ID, ItemID, SpecID FROM item_spec_override ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_ITEM_SPEC_OVERRIDE, "SELECT ID, SpecID, ItemID FROM item_spec_override ORDER BY ID DESC", CONNECTION_SYNCH);
// ItemUpgrade.db2
PrepareStatement(HOTFIX_SEL_ITEM_UPGRADE, "SELECT ID, CurrencyCost, PrevItemUpgradeID, CurrencyID, ItemUpgradePathID, ItemLevelBonus"
" FROM item_upgrade ORDER BY ID DESC", CONNECTION_SYNCH);
// ItemXBonusTree.db2
- PrepareStatement(HOTFIX_SEL_ITEM_X_BONUS_TREE, "SELECT ID, ItemID, BonusTreeID FROM item_x_bonus_tree ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_ITEM_X_BONUS_TREE, "SELECT ID, BonusTreeID, ItemID FROM item_x_bonus_tree ORDER BY ID DESC", CONNECTION_SYNCH);
// Keychain.db2
PrepareStatement(HOTFIX_SEL_KEYCHAIN, "SELECT ID, Key1, Key2, Key3, Key4, Key5, Key6, Key7, Key8, Key9, Key10, Key11, Key12, Key13, Key14, Key15, "
@@ -577,7 +581,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()
" ORDER BY ID DESC", CONNECTION_SYNCH);
// LfgDungeons.db2
- PrepareStatement(HOTFIX_SEL_LFG_DUNGEONS, "SELECT ID, Name, Flags, Description, MinItemLevel, MaxLevel, TargetLevelMax, MapID, RandomID, "
+ PrepareStatement(HOTFIX_SEL_LFG_DUNGEONS, "SELECT ID, Name, Description, Flags, MinItemLevel, MaxLevel, TargetLevelMax, MapID, RandomID, "
"ScenarioID, LastBossJournalEncounterID, BonusReputationAmount, MentorItemLevel, PlayerConditionID, MinLevel, TargetLevel, TargetLevelMin, "
"DifficultyID, Type, Faction, Expansion, OrderIndex, GroupID, CountTank, CountHealer, CountDamage, MinCountTank, MinCountHealer, "
"MinCountDamage, SubType, MentorCharLevel, TextureFileDataID, RewardIconFileDataID, ProposalTextureFileDataID FROM lfg_dungeons"
@@ -589,8 +593,8 @@ void HotfixDatabaseConnection::DoPrepareStatements()
"LightParamsID4, LightParamsID5, LightParamsID6, LightParamsID7, LightParamsID8 FROM light ORDER BY ID DESC", CONNECTION_SYNCH);
// LiquidType.db2
- PrepareStatement(HOTFIX_SEL_LIQUID_TYPE, "SELECT ID, Name, SpellID, MaxDarkenDepth, FogDarkenIntensity, AmbDarkenIntensity, DirDarkenIntensity, "
- "ParticleScale, Texture1, Texture2, Texture3, Texture4, Texture5, Texture6, Color1, Color2, Float1, Float2, Float3, `Float4`, Float5, Float6, "
+ PrepareStatement(HOTFIX_SEL_LIQUID_TYPE, "SELECT ID, Name, Texture1, Texture2, Texture3, Texture4, Texture5, Texture6, SpellID, MaxDarkenDepth, "
+ "FogDarkenIntensity, AmbDarkenIntensity, DirDarkenIntensity, ParticleScale, Color1, Color2, Float1, Float2, Float3, `Float4`, Float5, Float6, "
"Float7, `Float8`, Float9, Float10, Float11, Float12, Float13, Float14, Float15, Float16, Float17, Float18, `Int1`, `Int2`, `Int3`, `Int4`, "
"Flags, LightID, Type, ParticleMovement, ParticleTexSlots, MaterialID, DepthTexCount1, DepthTexCount2, DepthTexCount3, DepthTexCount4, "
"DepthTexCount5, DepthTexCount6, SoundID FROM liquid_type ORDER BY ID DESC", CONNECTION_SYNCH);
@@ -606,22 +610,22 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_LOCALE_STMT(HOTFIX_SEL_MAIL_TEMPLATE, "SELECT ID, Body_lang FROM mail_template_locale WHERE locale = ?", CONNECTION_SYNCH);
// Map.db2
- PrepareStatement(HOTFIX_SEL_MAP, "SELECT ID, Directory, Flags1, Flags2, MinimapIconScale, CorpsePosX, CorpsePosY, MapName, MapDescription0, "
- "MapDescription1, ShortDescription, LongDescription, AreaTableID, LoadingScreenID, CorpseMapID, TimeOfDayOverride, ParentMapID, "
+ PrepareStatement(HOTFIX_SEL_MAP, "SELECT ID, Directory, MapName, MapDescription0, MapDescription1, ShortDescription, LongDescription, Flags1, "
+ "Flags2, MinimapIconScale, CorpsePosX, CorpsePosY, AreaTableID, LoadingScreenID, CorpseMapID, TimeOfDayOverride, ParentMapID, "
"CosmeticParentMapID, WindSettingsID, InstanceType, unk5, ExpansionID, MaxPlayers, TimeOffset FROM map ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_MAP, "SELECT ID, MapName_lang, MapDescription0_lang, MapDescription1_lang, ShortDescription_lang, "
"LongDescription_lang FROM map_locale WHERE locale = ?", CONNECTION_SYNCH);
// MapDifficulty.db2
- PrepareStatement(HOTFIX_SEL_MAP_DIFFICULTY, "SELECT ID, Message, MapID, DifficultyID, RaidDurationType, MaxPlayers, LockID, Flags, "
- "ItemBonusTreeModID, Context FROM map_difficulty ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_MAP_DIFFICULTY, "SELECT ID, Message, DifficultyID, RaidDurationType, MaxPlayers, LockID, Flags, ItemBonusTreeModID, "
+ "Context, MapID FROM map_difficulty ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_MAP_DIFFICULTY, "SELECT ID, Message_lang FROM map_difficulty_locale WHERE locale = ?", CONNECTION_SYNCH);
// ModifierTree.db2
PrepareStatement(HOTFIX_SEL_MODIFIER_TREE, "SELECT ID, Asset1, Asset2, Parent, Type, Unk700, Operator, Amount FROM modifier_tree ORDER BY ID DESC", CONNECTION_SYNCH);
// Mount.db2
- PrepareStatement(HOTFIX_SEL_MOUNT, "SELECT SpellId, Name, Description, SourceDescription, CameraPivotMultiplier, MountTypeId, Flags, Source, ID, "
+ PrepareStatement(HOTFIX_SEL_MOUNT, "SELECT Name, Description, SourceDescription, SpellId, CameraPivotMultiplier, MountTypeId, Flags, Source, ID, "
"PlayerConditionId, UiModelSceneID FROM mount ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_MOUNT, "SELECT ID, Name_lang, Description_lang, SourceDescription_lang FROM mount_locale WHERE locale = ?", CONNECTION_SYNCH);
@@ -634,7 +638,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()
" ORDER BY ID DESC", CONNECTION_SYNCH);
// MountXDisplay.db2
- PrepareStatement(HOTFIX_SEL_MOUNT_X_DISPLAY, "SELECT ID, MountID, DisplayID, PlayerConditionID FROM mount_x_display ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_MOUNT_X_DISPLAY, "SELECT ID, DisplayID, PlayerConditionID, MountID FROM mount_x_display ORDER BY ID DESC", CONNECTION_SYNCH);
// Movie.db2
PrepareStatement(HOTFIX_SEL_MOVIE, "SELECT ID, AudioFileDataID, SubtitleFileDataID, Volume, KeyID FROM movie ORDER BY ID DESC", CONNECTION_SYNCH);
@@ -663,22 +667,22 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PrepareStatement(HOTFIX_SEL_PHASE_X_PHASE_GROUP, "SELECT ID, PhaseID, PhaseGroupID FROM phase_x_phase_group ORDER BY ID DESC", CONNECTION_SYNCH);
// PlayerCondition.db2
- PrepareStatement(HOTFIX_SEL_PLAYER_CONDITION, "SELECT ID, RaceMask, Time1, Time2, AuraSpellID1, AuraSpellID2, AuraSpellID3, AuraSpellID4, "
- "FailureDescription, SkillID1, SkillID2, SkillID3, SkillID4, MinSkill1, MinSkill2, MinSkill3, MinSkill4, MaxSkill1, MaxSkill2, MaxSkill3, "
- "MaxSkill4, PrevQuestID1, PrevQuestID2, PrevQuestID3, PrevQuestID4, CurrQuestID1, CurrQuestID2, CurrQuestID3, CurrQuestID4, "
- "CurrentCompletedQuestID1, CurrentCompletedQuestID2, CurrentCompletedQuestID3, CurrentCompletedQuestID4, Explored1, Explored2, Achievement1, "
- "Achievement2, Achievement3, Achievement4, AreaID1, AreaID2, AreaID3, AreaID4, Flags, MinReputation1, MinReputation2, MinReputation3, "
- "AuraCount1, AuraCount2, AuraCount3, AuraCount4, LfgStatus1, LfgStatus2, LfgStatus3, LfgStatus4, LfgCompare1, LfgCompare2, LfgCompare3, "
- "LfgCompare4, CurrencyCount1, CurrencyCount2, CurrencyCount3, CurrencyCount4, ClassMask, MinFactionID1, MinFactionID2, MinFactionID3, "
- "SpellID1, SpellID2, SpellID3, SpellID4, ItemID1, ItemID2, ItemID3, ItemID4, ItemCount1, ItemCount2, ItemCount3, ItemCount4, LfgValue1, "
- "LfgValue2, LfgValue3, LfgValue4, CurrencyID1, CurrencyID2, CurrencyID3, CurrencyID4, QuestKillMonster1, QuestKillMonster2, "
- "QuestKillMonster3, QuestKillMonster4, QuestKillMonster5, QuestKillMonster6, MovementFlags1, MovementFlags2, MinLevel, MaxLevel, Gender, "
+ PrepareStatement(HOTFIX_SEL_PLAYER_CONDITION, "SELECT RaceMask, FailureDescription, ID, Flags, MinLevel, MaxLevel, ClassMask, Gender, "
"NativeGender, SkillLogic, LanguageID, MinLanguage, MaxLanguage, MaxFactionID, MaxReputation, ReputationLogic, Unknown1, MinPVPRank, "
"MaxPVPRank, PvpMedal, PrevQuestLogic, CurrQuestLogic, CurrentCompletedQuestLogic, SpellLogic, ItemLogic, ItemFlags, AuraSpellLogic, "
"WorldStateExpressionID, WeatherID, PartyStatus, LifetimeMaxPVPRank, AchievementLogic, LfgLogic, AreaLogic, CurrencyLogic, QuestKillID, "
"QuestKillLogic, MinExpansionLevel, MaxExpansionLevel, MinExpansionTier, MaxExpansionTier, MinGuildLevel, MaxGuildLevel, PhaseUseFlags, "
"PhaseID, PhaseGroupID, MinAvgItemLevel, MaxAvgItemLevel, MinAvgEquippedItemLevel, MaxAvgEquippedItemLevel, ChrSpecializationIndex, "
- "ChrSpecializationRole, PowerType, PowerTypeComp, PowerTypeValue, ModifierTreeID, MainHandItemSubclassMask FROM player_condition"
+ "ChrSpecializationRole, PowerType, PowerTypeComp, PowerTypeValue, ModifierTreeID, MainHandItemSubclassMask, SkillID1, SkillID2, SkillID3, "
+ "SkillID4, MinSkill1, MinSkill2, MinSkill3, MinSkill4, MaxSkill1, MaxSkill2, MaxSkill3, MaxSkill4, MinFactionID1, MinFactionID2, "
+ "MinFactionID3, MinReputation1, MinReputation2, MinReputation3, PrevQuestID1, PrevQuestID2, PrevQuestID3, PrevQuestID4, CurrQuestID1, "
+ "CurrQuestID2, CurrQuestID3, CurrQuestID4, CurrentCompletedQuestID1, CurrentCompletedQuestID2, CurrentCompletedQuestID3, "
+ "CurrentCompletedQuestID4, SpellID1, SpellID2, SpellID3, SpellID4, ItemID1, ItemID2, ItemID3, ItemID4, ItemCount1, ItemCount2, ItemCount3, "
+ "ItemCount4, Explored1, Explored2, Time1, Time2, AuraSpellID1, AuraSpellID2, AuraSpellID3, AuraSpellID4, AuraCount1, AuraCount2, AuraCount3, "
+ "AuraCount4, Achievement1, Achievement2, Achievement3, Achievement4, LfgStatus1, LfgStatus2, LfgStatus3, LfgStatus4, LfgCompare1, "
+ "LfgCompare2, LfgCompare3, LfgCompare4, LfgValue1, LfgValue2, LfgValue3, LfgValue4, AreaID1, AreaID2, AreaID3, AreaID4, CurrencyID1, "
+ "CurrencyID2, CurrencyID3, CurrencyID4, CurrencyCount1, CurrencyCount2, CurrencyCount3, CurrencyCount4, QuestKillMonster1, QuestKillMonster2, "
+ "QuestKillMonster3, QuestKillMonster4, QuestKillMonster5, QuestKillMonster6, MovementFlags1, MovementFlags2 FROM player_condition"
" ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_PLAYER_CONDITION, "SELECT ID, FailureDescription_lang FROM player_condition_locale WHERE locale = ?", CONNECTION_SYNCH);
@@ -690,11 +694,11 @@ void HotfixDatabaseConnection::DoPrepareStatements()
"RegenerationDelay, Flags, PowerTypeEnum, RegenerationMin, RegenerationCenter, RegenerationMax, UIModifier FROM power_type ORDER BY ID DESC", CONNECTION_SYNCH);
// PrestigeLevelInfo.db2
- PrepareStatement(HOTFIX_SEL_PRESTIGE_LEVEL_INFO, "SELECT ID, IconID, PrestigeText, PrestigeLevel, Flags FROM prestige_level_info ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_PRESTIGE_LEVEL_INFO, "SELECT ID, PrestigeText, IconID, PrestigeLevel, Flags FROM prestige_level_info ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_PRESTIGE_LEVEL_INFO, "SELECT ID, PrestigeText_lang FROM prestige_level_info_locale WHERE locale = ?", CONNECTION_SYNCH);
// PvpDifficulty.db2
- PrepareStatement(HOTFIX_SEL_PVP_DIFFICULTY, "SELECT ID, MapID, BracketID, MinLevel, MaxLevel FROM pvp_difficulty ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_PVP_DIFFICULTY, "SELECT ID, BracketID, MinLevel, MaxLevel, MapID FROM pvp_difficulty ORDER BY ID DESC", CONNECTION_SYNCH);
// PvpReward.db2
PrepareStatement(HOTFIX_SEL_PVP_REWARD, "SELECT ID, HonorLevel, Prestige, RewardPackID FROM pvp_reward ORDER BY ID DESC", CONNECTION_SYNCH);
@@ -732,11 +736,14 @@ void HotfixDatabaseConnection::DoPrepareStatements()
" FROM reward_pack ORDER BY ID DESC", CONNECTION_SYNCH);
// RewardPackXItem.db2
- PrepareStatement(HOTFIX_SEL_REWARD_PACK_X_ITEM, "SELECT ID, ItemID, RewardPackID, Amount FROM reward_pack_x_item ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_REWARD_PACK_X_ITEM, "SELECT ID, ItemID, Amount, RewardPackID FROM reward_pack_x_item ORDER BY ID DESC", CONNECTION_SYNCH);
// RulesetItemUpgrade.db2
PrepareStatement(HOTFIX_SEL_RULESET_ITEM_UPGRADE, "SELECT ID, ItemID, ItemUpgradeID FROM ruleset_item_upgrade ORDER BY ID DESC", CONNECTION_SYNCH);
+ // SandboxScaling.db2
+ PrepareStatement(HOTFIX_SEL_SANDBOX_SCALING, "SELECT ID, MinLevel, MaxLevel, Flags FROM sandbox_scaling ORDER BY ID DESC", CONNECTION_SYNCH);
+
// ScalingStatDistribution.db2
PrepareStatement(HOTFIX_SEL_SCALING_STAT_DISTRIBUTION, "SELECT ID, ItemLevelCurveID, MinLevel, MaxLevel FROM scaling_stat_distribution"
" ORDER BY ID DESC", CONNECTION_SYNCH);
@@ -751,11 +758,17 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_LOCALE_STMT(HOTFIX_SEL_SCENARIO_STEP, "SELECT ID, Description_lang, Name_lang FROM scenario_step_locale WHERE locale = ?", CONNECTION_SYNCH);
// SceneScript.db2
- PrepareStatement(HOTFIX_SEL_SCENE_SCRIPT, "SELECT ID, Name, Script, PrevScriptId, NextScriptId FROM scene_script ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_SCENE_SCRIPT, "SELECT ID, PrevScriptId, NextScriptId FROM scene_script ORDER BY ID DESC", CONNECTION_SYNCH);
+
+ // SceneScriptGlobalText.db2
+ PrepareStatement(HOTFIX_SEL_SCENE_SCRIPT_GLOBAL_TEXT, "SELECT ID, Name, Script FROM scene_script_global_text ORDER BY ID DESC", CONNECTION_SYNCH);
// SceneScriptPackage.db2
PrepareStatement(HOTFIX_SEL_SCENE_SCRIPT_PACKAGE, "SELECT ID, Name FROM scene_script_package ORDER BY ID DESC", CONNECTION_SYNCH);
+ // SceneScriptText.db2
+ PrepareStatement(HOTFIX_SEL_SCENE_SCRIPT_TEXT, "SELECT ID, Name, Script FROM scene_script_text ORDER BY ID DESC", CONNECTION_SYNCH);
+
// SkillLine.db2
PrepareStatement(HOTFIX_SEL_SKILL_LINE, "SELECT ID, DisplayName, Description, AlternateVerb, Flags, CategoryID, CanLink, IconFileDataID, "
"ParentSkillLineID FROM skill_line ORDER BY ID DESC", CONNECTION_SYNCH);
@@ -763,8 +776,8 @@ void HotfixDatabaseConnection::DoPrepareStatements()
" WHERE locale = ?", CONNECTION_SYNCH);
// SkillLineAbility.db2
- PrepareStatement(HOTFIX_SEL_SKILL_LINE_ABILITY, "SELECT ID, SpellID, RaceMask, SupercedesSpell, SkillLine, MinSkillLineRank, "
- "TrivialSkillLineRankHigh, TrivialSkillLineRankLow, UniqueBit, TradeSkillCategoryID, AcquireMethod, NumSkillUps, Unknown703, ClassMask"
+ PrepareStatement(HOTFIX_SEL_SKILL_LINE_ABILITY, "SELECT RaceMask, ID, SpellID, SupercedesSpell, SkillLine, TrivialSkillLineRankHigh, "
+ "TrivialSkillLineRankLow, UniqueBit, TradeSkillCategoryID, NumSkillUps, ClassMask, MinSkillLineRank, AcquireMethod, Flags"
" FROM skill_line_ability ORDER BY ID DESC", CONNECTION_SYNCH);
// SkillRaceClassInfo.db2
@@ -777,23 +790,22 @@ void HotfixDatabaseConnection::DoPrepareStatements()
" FROM sound_kit ORDER BY ID DESC", CONNECTION_SYNCH);
// SpecializationSpells.db2
- PrepareStatement(HOTFIX_SEL_SPECIALIZATION_SPELLS, "SELECT SpellID, OverridesSpellID, Description, SpecID, OrderIndex, ID"
+ PrepareStatement(HOTFIX_SEL_SPECIALIZATION_SPELLS, "SELECT Description, SpellID, OverridesSpellID, SpecID, OrderIndex, ID"
" FROM specialization_spells ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_SPECIALIZATION_SPELLS, "SELECT ID, Description_lang FROM specialization_spells_locale WHERE locale = ?", CONNECTION_SYNCH);
// Spell.db2
- PrepareStatement(HOTFIX_SEL_SPELL, "SELECT Name, NameSubtext, Description, AuraDescription, MiscID, ID, DescriptionVariablesID FROM spell"
- " ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_SPELL, "SELECT ID, Name, NameSubtext, Description, AuraDescription FROM spell ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_SPELL, "SELECT ID, Name_lang, NameSubtext_lang, Description_lang, AuraDescription_lang FROM spell_locale"
" WHERE locale = ?", CONNECTION_SYNCH);
// SpellAuraOptions.db2
- PrepareStatement(HOTFIX_SEL_SPELL_AURA_OPTIONS, "SELECT ID, SpellID, ProcCharges, ProcTypeMask, ProcCategoryRecovery, CumulativeAura, "
- "SpellProcsPerMinuteID, DifficultyID, ProcChance FROM spell_aura_options ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_SPELL_AURA_OPTIONS, "SELECT ID, ProcCharges, ProcTypeMask, ProcCategoryRecovery, CumulativeAura, "
+ "SpellProcsPerMinuteID, DifficultyID, ProcChance, SpellID FROM spell_aura_options ORDER BY ID DESC", CONNECTION_SYNCH);
// SpellAuraRestrictions.db2
- PrepareStatement(HOTFIX_SEL_SPELL_AURA_RESTRICTIONS, "SELECT ID, SpellID, CasterAuraSpell, TargetAuraSpell, ExcludeCasterAuraSpell, "
- "ExcludeTargetAuraSpell, DifficultyID, CasterAuraState, TargetAuraState, ExcludeCasterAuraState, ExcludeTargetAuraState"
+ PrepareStatement(HOTFIX_SEL_SPELL_AURA_RESTRICTIONS, "SELECT ID, CasterAuraSpell, TargetAuraSpell, ExcludeCasterAuraSpell, "
+ "ExcludeTargetAuraSpell, DifficultyID, CasterAuraState, TargetAuraState, ExcludeCasterAuraState, ExcludeTargetAuraState, SpellID"
" FROM spell_aura_restrictions ORDER BY ID DESC", CONNECTION_SYNCH);
// SpellCastTimes.db2
@@ -804,8 +816,8 @@ void HotfixDatabaseConnection::DoPrepareStatements()
"FacingCasterFlags, MinReputation, RequiredAuraVision FROM spell_casting_requirements ORDER BY ID DESC", CONNECTION_SYNCH);
// SpellCategories.db2
- PrepareStatement(HOTFIX_SEL_SPELL_CATEGORIES, "SELECT ID, SpellID, Category, StartRecoveryCategory, ChargeCategory, DifficultyID, DefenseType, "
- "DispelType, Mechanic, PreventionType FROM spell_categories ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_SPELL_CATEGORIES, "SELECT ID, Category, StartRecoveryCategory, ChargeCategory, DifficultyID, DefenseType, DispelType, "
+ "Mechanic, PreventionType, SpellID FROM spell_categories ORDER BY ID DESC", CONNECTION_SYNCH);
// SpellCategory.db2
PrepareStatement(HOTFIX_SEL_SPELL_CATEGORY, "SELECT ID, Name, ChargeRecoveryTime, Flags, UsesPerWeek, MaxCharges, ChargeCategoryType"
@@ -817,22 +829,19 @@ void HotfixDatabaseConnection::DoPrepareStatements()
"SpellClassSet, ModalNextSpell FROM spell_class_options ORDER BY ID DESC", CONNECTION_SYNCH);
// SpellCooldowns.db2
- PrepareStatement(HOTFIX_SEL_SPELL_COOLDOWNS, "SELECT ID, SpellID, CategoryRecoveryTime, RecoveryTime, StartRecoveryTime, DifficultyID"
+ PrepareStatement(HOTFIX_SEL_SPELL_COOLDOWNS, "SELECT ID, CategoryRecoveryTime, RecoveryTime, StartRecoveryTime, DifficultyID, SpellID"
" FROM spell_cooldowns ORDER BY ID DESC", CONNECTION_SYNCH);
// SpellDuration.db2
PrepareStatement(HOTFIX_SEL_SPELL_DURATION, "SELECT ID, Duration, MaxDuration, DurationPerLevel FROM spell_duration ORDER BY ID DESC", CONNECTION_SYNCH);
// SpellEffect.db2
- PrepareStatement(HOTFIX_SEL_SPELL_EFFECT, "SELECT EffectSpellClassMask1, EffectSpellClassMask2, EffectSpellClassMask3, EffectSpellClassMask4, ID, "
- "SpellID, Effect, EffectAura, EffectBasePoints, EffectIndex, EffectMiscValue, EffectMiscValueB, EffectRadiusIndex, EffectRadiusMaxIndex, "
- "ImplicitTarget1, ImplicitTarget2, DifficultyID, EffectAmplitude, EffectAuraPeriod, EffectBonusCoefficient, EffectChainAmplitude, "
- "EffectChainTargets, EffectDieSides, EffectItemType, EffectMechanic, EffectPointsPerResource, EffectRealPointsPerLevel, EffectTriggerSpell, "
- "EffectPosFacing, EffectAttributes, BonusCoefficientFromAP, PvPMultiplier FROM spell_effect ORDER BY ID DESC", CONNECTION_SYNCH);
-
- // SpellEffectScaling.db2
- PrepareStatement(HOTFIX_SEL_SPELL_EFFECT_SCALING, "SELECT ID, Coefficient, Variance, ResourceCoefficient, SpellEffectID FROM spell_effect_scaling"
- " ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_SPELL_EFFECT, "SELECT ID, Effect, EffectBasePoints, EffectIndex, EffectAura, DifficultyID, EffectAmplitude, "
+ "EffectAuraPeriod, EffectBonusCoefficient, EffectChainAmplitude, EffectChainTargets, EffectDieSides, EffectItemType, EffectMechanic, "
+ "EffectPointsPerResource, EffectRealPointsPerLevel, EffectTriggerSpell, EffectPosFacing, EffectAttributes, BonusCoefficientFromAP, "
+ "PvPMultiplier, Coefficient, Variance, ResourceCoefficient, GroupSizeCoefficient, EffectSpellClassMask1, EffectSpellClassMask2, "
+ "EffectSpellClassMask3, EffectSpellClassMask4, EffectMiscValue, EffectMiscValueB, EffectRadiusIndex, EffectRadiusMaxIndex, ImplicitTarget1, "
+ "ImplicitTarget2, SpellID FROM spell_effect ORDER BY ID DESC", CONNECTION_SYNCH);
// SpellEquippedItems.db2
PrepareStatement(HOTFIX_SEL_SPELL_EQUIPPED_ITEMS, "SELECT ID, SpellID, EquippedItemInventoryTypeMask, EquippedItemSubClassMask, "
@@ -843,39 +852,39 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_LOCALE_STMT(HOTFIX_SEL_SPELL_FOCUS_OBJECT, "SELECT ID, Name_lang FROM spell_focus_object_locale WHERE locale = ?", CONNECTION_SYNCH);
// SpellInterrupts.db2
- PrepareStatement(HOTFIX_SEL_SPELL_INTERRUPTS, "SELECT ID, SpellID, AuraInterruptFlags1, AuraInterruptFlags2, ChannelInterruptFlags1, "
- "ChannelInterruptFlags2, InterruptFlags, DifficultyID FROM spell_interrupts ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_SPELL_INTERRUPTS, "SELECT ID, DifficultyID, InterruptFlags, AuraInterruptFlags1, AuraInterruptFlags2, "
+ "ChannelInterruptFlags1, ChannelInterruptFlags2, SpellID FROM spell_interrupts ORDER BY ID DESC", CONNECTION_SYNCH);
// SpellItemEnchantment.db2
- PrepareStatement(HOTFIX_SEL_SPELL_ITEM_ENCHANTMENT, "SELECT ID, EffectSpellID1, EffectSpellID2, EffectSpellID3, Name, EffectScalingPoints1, "
+ PrepareStatement(HOTFIX_SEL_SPELL_ITEM_ENCHANTMENT, "SELECT ID, Name, EffectSpellID1, EffectSpellID2, EffectSpellID3, EffectScalingPoints1, "
"EffectScalingPoints2, EffectScalingPoints3, TransmogCost, TextureFileDataID, EffectPointsMin1, EffectPointsMin2, EffectPointsMin3, "
"ItemVisual, Flags, RequiredSkillID, RequiredSkillRank, ItemLevel, Charges, Effect1, Effect2, Effect3, ConditionID, MinLevel, MaxLevel, "
"ScalingClass, ScalingClassRestricted, PlayerConditionID FROM spell_item_enchantment ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_SPELL_ITEM_ENCHANTMENT, "SELECT ID, Name_lang FROM spell_item_enchantment_locale WHERE locale = ?", CONNECTION_SYNCH);
// SpellItemEnchantmentCondition.db2
- PrepareStatement(HOTFIX_SEL_SPELL_ITEM_ENCHANTMENT_CONDITION, "SELECT ID, LTOperandType1, LTOperandType2, LTOperandType3, LTOperandType4, "
- "LTOperandType5, Operator1, Operator2, Operator3, Operator4, Operator5, RTOperandType1, RTOperandType2, RTOperandType3, RTOperandType4, "
- "RTOperandType5, RTOperand1, RTOperand2, RTOperand3, RTOperand4, RTOperand5, Logic1, Logic2, Logic3, Logic4, Logic5, LTOperand1, LTOperand2, "
- "LTOperand3, LTOperand4, LTOperand5 FROM spell_item_enchantment_condition ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_SPELL_ITEM_ENCHANTMENT_CONDITION, "SELECT ID, LTOperand1, LTOperand2, LTOperand3, LTOperand4, LTOperand5, "
+ "LTOperandType1, LTOperandType2, LTOperandType3, LTOperandType4, LTOperandType5, Operator1, Operator2, Operator3, Operator4, Operator5, "
+ "RTOperandType1, RTOperandType2, RTOperandType3, RTOperandType4, RTOperandType5, RTOperand1, RTOperand2, RTOperand3, RTOperand4, RTOperand5, "
+ "Logic1, Logic2, Logic3, Logic4, Logic5 FROM spell_item_enchantment_condition ORDER BY ID DESC", CONNECTION_SYNCH);
// SpellLearnSpell.db2
PrepareStatement(HOTFIX_SEL_SPELL_LEARN_SPELL, "SELECT ID, LearnSpellID, SpellID, OverridesSpellID FROM spell_learn_spell ORDER BY ID DESC", CONNECTION_SYNCH);
// SpellLevels.db2
- PrepareStatement(HOTFIX_SEL_SPELL_LEVELS, "SELECT ID, SpellID, BaseLevel, MaxLevel, SpellLevel, DifficultyID, MaxUsableLevel FROM spell_levels"
+ PrepareStatement(HOTFIX_SEL_SPELL_LEVELS, "SELECT ID, BaseLevel, MaxLevel, SpellLevel, DifficultyID, MaxUsableLevel, SpellID FROM spell_levels"
" ORDER BY ID DESC", CONNECTION_SYNCH);
// SpellMisc.db2
- PrepareStatement(HOTFIX_SEL_SPELL_MISC, "SELECT ID, Attributes, AttributesEx, AttributesExB, AttributesExC, AttributesExD, AttributesExE, "
- "AttributesExF, AttributesExG, AttributesExH, AttributesExI, AttributesExJ, AttributesExK, AttributesExL, AttributesExM, Speed, "
- "MultistrikeSpeedMod, CastingTimeIndex, DurationIndex, RangeIndex, SchoolMask, IconFileDataID, ActiveIconFileDataID FROM spell_misc"
- " ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_SPELL_MISC, "SELECT ID, CastingTimeIndex, DurationIndex, RangeIndex, SchoolMask, IconFileDataID, Speed, "
+ "ActiveIconFileDataID, MultistrikeSpeedMod, DifficultyID, Attributes, AttributesEx, AttributesExB, AttributesExC, AttributesExD, "
+ "AttributesExE, AttributesExF, AttributesExG, AttributesExH, AttributesExI, AttributesExJ, AttributesExK, AttributesExL, AttributesExM, "
+ "SpellID FROM spell_misc ORDER BY ID DESC", CONNECTION_SYNCH);
// SpellPower.db2
- PrepareStatement(HOTFIX_SEL_SPELL_POWER, "SELECT SpellID, ManaCost, ManaCostPercentage, ManaCostPercentagePerSecond, RequiredAura, "
- "HealthCostPercentage, PowerIndex, PowerType, ID, ManaCostPerLevel, ManaCostPerSecond, ManaCostAdditional, PowerDisplayID, UnitPowerBarID"
- " FROM spell_power ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_SPELL_POWER, "SELECT ManaCost, ManaCostPercentage, ManaCostPercentagePerSecond, RequiredAura, HealthCostPercentage, "
+ "PowerIndex, PowerType, ID, ManaCostPerLevel, ManaCostPerSecond, ManaCostAdditional, PowerDisplayID, UnitPowerBarID, SpellID FROM spell_power"
+ " ORDER BY ID DESC", CONNECTION_SYNCH);
// SpellPowerDifficulty.db2
PrepareStatement(HOTFIX_SEL_SPELL_POWER_DIFFICULTY, "SELECT DifficultyID, PowerIndex, ID FROM spell_power_difficulty ORDER BY ID DESC", CONNECTION_SYNCH);
@@ -884,15 +893,15 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PrepareStatement(HOTFIX_SEL_SPELL_PROCS_PER_MINUTE, "SELECT ID, BaseProcRate, Flags FROM spell_procs_per_minute ORDER BY ID DESC", CONNECTION_SYNCH);
// SpellProcsPerMinuteMod.db2
- PrepareStatement(HOTFIX_SEL_SPELL_PROCS_PER_MINUTE_MOD, "SELECT ID, Coeff, Param, SpellProcsPerMinuteID, Type FROM spell_procs_per_minute_mod"
+ PrepareStatement(HOTFIX_SEL_SPELL_PROCS_PER_MINUTE_MOD, "SELECT ID, Coeff, Param, Type, SpellProcsPerMinuteID FROM spell_procs_per_minute_mod"
" ORDER BY ID DESC", CONNECTION_SYNCH);
// SpellRadius.db2
PrepareStatement(HOTFIX_SEL_SPELL_RADIUS, "SELECT ID, Radius, RadiusPerLevel, RadiusMin, RadiusMax FROM spell_radius ORDER BY ID DESC", CONNECTION_SYNCH);
// SpellRange.db2
- PrepareStatement(HOTFIX_SEL_SPELL_RANGE, "SELECT ID, MinRangeHostile, MinRangeFriend, MaxRangeHostile, MaxRangeFriend, DisplayName, "
- "DisplayNameShort, Flags FROM spell_range ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_SPELL_RANGE, "SELECT ID, DisplayName, DisplayNameShort, MinRangeHostile, MinRangeFriend, MaxRangeHostile, "
+ "MaxRangeFriend, Flags FROM spell_range ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_SPELL_RANGE, "SELECT ID, DisplayName_lang, DisplayNameShort_lang FROM spell_range_locale WHERE locale = ?", CONNECTION_SYNCH);
// SpellReagents.db2
@@ -916,16 +925,16 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_LOCALE_STMT(HOTFIX_SEL_SPELL_SHAPESHIFT_FORM, "SELECT ID, Name_lang FROM spell_shapeshift_form_locale WHERE locale = ?", CONNECTION_SYNCH);
// SpellTargetRestrictions.db2
- PrepareStatement(HOTFIX_SEL_SPELL_TARGET_RESTRICTIONS, "SELECT ID, SpellID, ConeAngle, Width, Targets, TargetCreatureType, DifficultyID, "
- "MaxAffectedTargets, MaxTargetLevel FROM spell_target_restrictions ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_SPELL_TARGET_RESTRICTIONS, "SELECT ID, ConeAngle, Width, Targets, TargetCreatureType, DifficultyID, "
+ "MaxAffectedTargets, MaxTargetLevel, SpellID FROM spell_target_restrictions ORDER BY ID DESC", CONNECTION_SYNCH);
// SpellTotems.db2
PrepareStatement(HOTFIX_SEL_SPELL_TOTEMS, "SELECT ID, SpellID, Totem1, Totem2, RequiredTotemCategoryID1, RequiredTotemCategoryID2"
" FROM spell_totems ORDER BY ID DESC", CONNECTION_SYNCH);
// SpellXSpellVisual.db2
- PrepareStatement(HOTFIX_SEL_SPELL_X_SPELL_VISUAL, "SELECT SpellID, SpellVisualID, ID, Chance, CasterPlayerConditionID, CasterUnitConditionID, "
- "PlayerConditionID, UnitConditionID, IconFileDataID, ActiveIconFileDataID, Flags, DifficultyID, Priority FROM spell_x_spell_visual"
+ PrepareStatement(HOTFIX_SEL_SPELL_X_SPELL_VISUAL, "SELECT SpellVisualID, ID, Chance, CasterPlayerConditionID, CasterUnitConditionID, "
+ "PlayerConditionID, UnitConditionID, IconFileDataID, ActiveIconFileDataID, Flags, DifficultyID, Priority, SpellID FROM spell_x_spell_visual"
" ORDER BY ID DESC", CONNECTION_SYNCH);
// SummonProperties.db2
@@ -936,12 +945,12 @@ void HotfixDatabaseConnection::DoPrepareStatements()
"Key16 FROM tact_key ORDER BY ID DESC", CONNECTION_SYNCH);
// Talent.db2
- PrepareStatement(HOTFIX_SEL_TALENT, "SELECT ID, SpellID, OverridesSpellID, Description, SpecID, TierID, ColumnIndex, Flags, CategoryMask1, "
+ PrepareStatement(HOTFIX_SEL_TALENT, "SELECT ID, Description, SpellID, OverridesSpellID, SpecID, TierID, ColumnIndex, Flags, CategoryMask1, "
"CategoryMask2, ClassID FROM talent ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_TALENT, "SELECT ID, Description_lang FROM talent_locale WHERE locale = ?", CONNECTION_SYNCH);
// TaxiNodes.db2
- PrepareStatement(HOTFIX_SEL_TAXI_NODES, "SELECT ID, PosX, PosY, PosZ, Name, MountCreatureID1, MountCreatureID2, MapOffsetX, MapOffsetY, Unk730, "
+ PrepareStatement(HOTFIX_SEL_TAXI_NODES, "SELECT ID, Name, PosX, PosY, PosZ, MountCreatureID1, MountCreatureID2, MapOffsetX, MapOffsetY, Unk730, "
"FlightMapOffsetX, FlightMapOffsetY, MapID, ConditionID, LearnableIndex, Flags, UiTextureKitPrefixID, SpecialAtlasIconPlayerConditionID"
" FROM taxi_nodes ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_TAXI_NODES, "SELECT ID, Name_lang FROM taxi_nodes_locale WHERE locale = ?", CONNECTION_SYNCH);
@@ -958,7 +967,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_LOCALE_STMT(HOTFIX_SEL_TOTEM_CATEGORY, "SELECT ID, Name_lang FROM totem_category_locale WHERE locale = ?", CONNECTION_SYNCH);
// Toy.db2
- PrepareStatement(HOTFIX_SEL_TOY, "SELECT ItemID, Description, Flags, CategoryFilter, ID FROM toy ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_TOY, "SELECT Description, ItemID, Flags, CategoryFilter, ID FROM toy ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_TOY, "SELECT ID, Description_lang FROM toy_locale WHERE locale = ?", CONNECTION_SYNCH);
// TransmogHoliday.db2
@@ -977,16 +986,16 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PrepareStatement(HOTFIX_SEL_TRANSMOG_SET_ITEM, "SELECT ID, TransmogSetID, ItemModifiedAppearanceID, Flags FROM transmog_set_item ORDER BY ID DESC", CONNECTION_SYNCH);
// TransportAnimation.db2
- PrepareStatement(HOTFIX_SEL_TRANSPORT_ANIMATION, "SELECT ID, TransportID, TimeIndex, PosX, PosY, PosZ, SequenceID FROM transport_animation"
+ PrepareStatement(HOTFIX_SEL_TRANSPORT_ANIMATION, "SELECT ID, TimeIndex, PosX, PosY, PosZ, SequenceID, TransportID FROM transport_animation"
" ORDER BY ID DESC", CONNECTION_SYNCH);
// TransportRotation.db2
- PrepareStatement(HOTFIX_SEL_TRANSPORT_ROTATION, "SELECT ID, TransportID, TimeIndex, X, Y, Z, W FROM transport_rotation ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_TRANSPORT_ROTATION, "SELECT ID, TimeIndex, X, Y, Z, W, TransportID FROM transport_rotation ORDER BY ID DESC", CONNECTION_SYNCH);
// UnitPowerBar.db2
- PrepareStatement(HOTFIX_SEL_UNIT_POWER_BAR, "SELECT ID, RegenerationPeace, RegenerationCombat, FileDataID1, FileDataID2, FileDataID3, "
- "FileDataID4, FileDataID5, FileDataID6, Color1, Color2, Color3, Color4, Color5, Color6, Name, Cost, OutOfError, ToolTip, StartInset, "
- "EndInset, StartPower, Flags, CenterPower, BarType, MinPower, MaxPower FROM unit_power_bar ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_UNIT_POWER_BAR, "SELECT ID, Name, Cost, OutOfError, ToolTip, RegenerationPeace, RegenerationCombat, FileDataID1, "
+ "FileDataID2, FileDataID3, FileDataID4, FileDataID5, FileDataID6, Color1, Color2, Color3, Color4, Color5, Color6, StartInset, EndInset, "
+ "StartPower, Flags, CenterPower, BarType, MinPower, MaxPower FROM unit_power_bar ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_UNIT_POWER_BAR, "SELECT ID, Name_lang, Cost_lang, OutOfError_lang, ToolTip_lang FROM unit_power_bar_locale"
" WHERE locale = ?", CONNECTION_SYNCH);
@@ -1009,8 +1018,8 @@ void HotfixDatabaseConnection::DoPrepareStatements()
" ORDER BY ID DESC", CONNECTION_SYNCH);
// WmoAreaTable.db2
- PrepareStatement(HOTFIX_SEL_WMO_AREA_TABLE, "SELECT WMOGroupID, AreaName, WMOID, AmbienceID, ZoneMusic, IntroSound, AreaTableID, UWIntroSound, "
- "UWAmbience, NameSet, SoundProviderPref, SoundProviderPrefUnderwater, Flags, ID, UWZoneMusic FROM wmo_area_table ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_WMO_AREA_TABLE, "SELECT AreaName, WMOGroupID, AmbienceID, ZoneMusic, IntroSound, AreaTableID, UWIntroSound, "
+ "UWAmbience, NameSet, SoundProviderPref, SoundProviderPrefUnderwater, Flags, ID, UWZoneMusic, WMOID FROM wmo_area_table ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_WMO_AREA_TABLE, "SELECT ID, AreaName_lang FROM wmo_area_table_locale WHERE locale = ?", CONNECTION_SYNCH);
// WorldEffect.db2
@@ -1023,7 +1032,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()
" FROM world_map_area ORDER BY ID DESC", CONNECTION_SYNCH);
// WorldMapOverlay.db2
- PrepareStatement(HOTFIX_SEL_WORLD_MAP_OVERLAY, "SELECT ID, TextureName, TextureWidth, TextureHeight, MapAreaID, AreaID1, AreaID2, AreaID3, "
+ PrepareStatement(HOTFIX_SEL_WORLD_MAP_OVERLAY, "SELECT TextureName, ID, TextureWidth, TextureHeight, MapAreaID, AreaID1, AreaID2, AreaID3, "
"AreaID4, OffsetX, OffsetY, HitRectTop, HitRectLeft, HitRectBottom, HitRectRight, PlayerConditionID, Flags FROM world_map_overlay"
" ORDER BY ID DESC", CONNECTION_SYNCH);
@@ -1033,7 +1042,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()
" ORDER BY ID DESC", CONNECTION_SYNCH);
// WorldSafeLocs.db2
- PrepareStatement(HOTFIX_SEL_WORLD_SAFE_LOCS, "SELECT ID, LocX, LocY, LocZ, Facing, AreaName, MapID FROM world_safe_locs ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_WORLD_SAFE_LOCS, "SELECT ID, AreaName, LocX, LocY, LocZ, Facing, MapID FROM world_safe_locs ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_WORLD_SAFE_LOCS, "SELECT ID, AreaName_lang FROM world_safe_locs_locale WHERE locale = ?", CONNECTION_SYNCH);
}
diff --git a/src/server/database/Database/Implementation/HotfixDatabase.h b/src/server/database/Database/Implementation/HotfixDatabase.h
index 86d72a37efe..d8fcbe9ab11 100644
--- a/src/server/database/Database/Implementation/HotfixDatabase.h
+++ b/src/server/database/Database/Implementation/HotfixDatabase.h
@@ -396,6 +396,8 @@ enum HotfixDatabaseStatements : uint32
HOTFIX_SEL_RULESET_ITEM_UPGRADE,
+ HOTFIX_SEL_SANDBOX_SCALING,
+
HOTFIX_SEL_SCALING_STAT_DISTRIBUTION,
HOTFIX_SEL_SCENARIO,
@@ -406,8 +408,12 @@ enum HotfixDatabaseStatements : uint32
HOTFIX_SEL_SCENE_SCRIPT,
+ HOTFIX_SEL_SCENE_SCRIPT_GLOBAL_TEXT,
+
HOTFIX_SEL_SCENE_SCRIPT_PACKAGE,
+ HOTFIX_SEL_SCENE_SCRIPT_TEXT,
+
HOTFIX_SEL_SKILL_LINE,
HOTFIX_SEL_SKILL_LINE_LOCALE,
@@ -444,8 +450,6 @@ enum HotfixDatabaseStatements : uint32
HOTFIX_SEL_SPELL_EFFECT,
- HOTFIX_SEL_SPELL_EFFECT_SCALING,
-
HOTFIX_SEL_SPELL_EQUIPPED_ITEMS,
HOTFIX_SEL_SPELL_FOCUS_OBJECT,
diff --git a/src/server/game/DataStores/DB2LoadInfo.h b/src/server/game/DataStores/DB2LoadInfo.h
index 9b5dff88fb5..ba065ad4fbe 100644
--- a/src/server/game/DataStores/DB2LoadInfo.h
+++ b/src/server/game/DataStores/DB2LoadInfo.h
@@ -32,8 +32,8 @@ struct AchievementLoadInfo
{
{ false, FT_STRING, "Title" },
{ false, FT_STRING, "Description" },
- { false, FT_INT, "Flags" },
{ false, FT_STRING, "Reward" },
+ { false, FT_INT, "Flags" },
{ true, FT_SHORT, "MapID" },
{ false, FT_SHORT, "Supercedes" },
{ false, FT_SHORT, "Category" },
@@ -74,8 +74,8 @@ struct AreaGroupMemberLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_SHORT, "AreaGroupID" },
{ false, FT_SHORT, "AreaID" },
+ { false, FT_SHORT, "AreaGroupID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, AreaGroupMemberMeta::Instance(), HOTFIX_SEL_AREA_GROUP_MEMBER);
return &loadInfo;
@@ -89,11 +89,11 @@ struct AreaTableLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
+ { false, FT_STRING_NOT_LOCALIZED, "ZoneName" },
+ { false, FT_STRING, "AreaName" },
{ false, FT_INT, "Flags1" },
{ false, FT_INT, "Flags2" },
- { false, FT_STRING_NOT_LOCALIZED, "ZoneName" },
{ false, FT_FLOAT, "AmbientMultiplier" },
- { false, FT_STRING, "AreaName" },
{ false, FT_SHORT, "MapID" },
{ false, FT_SHORT, "ParentAreaID" },
{ true, FT_SHORT, "AreaBit" },
@@ -229,11 +229,11 @@ struct ArtifactAppearanceSetLoadInfo
{ false, FT_STRING, "Name2" },
{ false, FT_SHORT, "UiCameraID" },
{ false, FT_SHORT, "AltHandUICameraID" },
- { false, FT_BYTE, "ArtifactID" },
{ false, FT_BYTE, "DisplayIndex" },
{ false, FT_BYTE, "AttachmentPoint" },
{ false, FT_BYTE, "Flags" },
{ false, FT_INT, "ID" },
+ { false, FT_BYTE, "ArtifactID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ArtifactAppearanceSetMeta::Instance(), HOTFIX_SEL_ARTIFACT_APPEARANCE_SET);
return &loadInfo;
@@ -313,9 +313,9 @@ struct ArtifactPowerRankLoadInfo
{ false, FT_INT, "ID" },
{ false, FT_INT, "SpellID" },
{ false, FT_FLOAT, "Value" },
- { false, FT_SHORT, "ArtifactPowerID" },
{ false, FT_SHORT, "Unknown" },
{ false, FT_BYTE, "Rank" },
+ { false, FT_SHORT, "ArtifactPowerID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ArtifactPowerRankMeta::Instance(), HOTFIX_SEL_ARTIFACT_POWER_RANK);
return &loadInfo;
@@ -435,8 +435,8 @@ struct BattlePetBreedStateLoadInfo
{
{ false, FT_INT, "ID" },
{ true, FT_SHORT, "Value" },
- { false, FT_BYTE, "BreedID" },
{ false, FT_BYTE, "State" },
+ { false, FT_BYTE, "BreedID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, BattlePetBreedStateMeta::Instance(), HOTFIX_SEL_BATTLE_PET_BREED_STATE);
return &loadInfo;
@@ -449,11 +449,11 @@ struct BattlePetSpeciesLoadInfo
{
static DB2FieldMeta const fields[] =
{
+ { false, FT_STRING, "SourceText" },
+ { false, FT_STRING, "Description" },
{ false, FT_INT, "CreatureID" },
{ false, FT_INT, "IconFileID" },
{ false, FT_INT, "SummonSpellID" },
- { false, FT_STRING, "SourceText" },
- { false, FT_STRING, "Description" },
{ false, FT_SHORT, "Flags" },
{ false, FT_BYTE, "PetType" },
{ true, FT_BYTE, "Source" },
@@ -474,8 +474,8 @@ struct BattlePetSpeciesStateLoadInfo
{
{ false, FT_INT, "ID" },
{ true, FT_INT, "Value" },
- { false, FT_SHORT, "SpeciesID" },
{ false, FT_BYTE, "State" },
+ { false, FT_SHORT, "SpeciesID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, BattlePetSpeciesStateMeta::Instance(), HOTFIX_SEL_BATTLE_PET_SPECIES_STATE);
return &loadInfo;
@@ -490,10 +490,10 @@ struct BattlemasterListLoadInfo
{
{ false, FT_INT, "ID" },
{ false, FT_STRING, "Name" },
- { false, FT_INT, "IconFileDataID" },
{ false, FT_STRING, "GameType" },
{ false, FT_STRING, "ShortDescription" },
{ false, FT_STRING, "LongDescription" },
+ { false, FT_INT, "IconFileDataID" },
{ true, FT_SHORT, "MapID1" },
{ true, FT_SHORT, "MapID2" },
{ true, FT_SHORT, "MapID3" },
@@ -545,9 +545,9 @@ struct BroadcastTextLoadInfo
{ false, FT_SHORT, "UnkEmoteID" },
{ false, FT_BYTE, "Language" },
{ false, FT_BYTE, "Type" },
+ { false, FT_INT, "PlayerConditionID" },
{ false, FT_INT, "SoundID1" },
{ false, FT_INT, "SoundID2" },
- { false, FT_INT, "PlayerConditionID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, BroadcastTextMeta::Instance(), HOTFIX_SEL_BROADCAST_TEXT);
return &loadInfo;
@@ -645,11 +645,11 @@ struct CharStartOutfitLoadInfo
{ true, FT_INT, "ItemID23" },
{ true, FT_INT, "ItemID24" },
{ false, FT_INT, "PetDisplayID" },
- { false, FT_BYTE, "RaceID" },
{ false, FT_BYTE, "ClassID" },
{ false, FT_BYTE, "GenderID" },
{ false, FT_BYTE, "OutfitID" },
{ false, FT_BYTE, "PetFamilyID" },
+ { false, FT_BYTE, "RaceID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, CharStartOutfitMeta::Instance(), HOTFIX_SEL_CHAR_START_OUTFIT);
return &loadInfo;
@@ -680,9 +680,9 @@ struct ChatChannelsLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_INT, "Flags" },
{ false, FT_STRING, "Name" },
{ false, FT_STRING, "Shortcut" },
+ { false, FT_INT, "Flags" },
{ false, FT_BYTE, "FactionGroup" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ChatChannelsMeta::Instance(), HOTFIX_SEL_CHAT_CHANNELS);
@@ -705,6 +705,7 @@ struct ChrClassesLoadInfo
{ false, FT_INT, "SelectScreenFileDataID" },
{ false, FT_INT, "IconFileDataID" },
{ false, FT_INT, "LowResScreenFileDataID" },
+ { false, FT_INT, "StartingLevel" },
{ false, FT_SHORT, "Flags" },
{ false, FT_SHORT, "CinematicSequenceID" },
{ false, FT_SHORT, "DefaultSpec" },
@@ -728,8 +729,8 @@ struct ChrClassesXPowerTypesLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_BYTE, "ClassID" },
{ false, FT_BYTE, "PowerType" },
+ { false, FT_BYTE, "ClassID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ChrClassesXPowerTypesMeta::Instance(), HOTFIX_SEL_CHR_CLASSES_X_POWER_TYPES);
return &loadInfo;
@@ -742,18 +743,15 @@ struct ChrRacesLoadInfo
{
static DB2FieldMeta const fields[] =
{
- { false, FT_INT, "ID" },
- { false, FT_INT, "Flags" },
- { false, FT_INT, "MaleDisplayID" },
- { false, FT_INT, "FemaleDisplayID" },
{ false, FT_STRING_NOT_LOCALIZED, "ClientPrefix" },
{ false, FT_STRING_NOT_LOCALIZED, "ClientFileString" },
{ false, FT_STRING, "Name" },
{ false, FT_STRING, "NameFemale" },
- { false, FT_STRING, "NameMale" },
- { false, FT_STRING_NOT_LOCALIZED, "FacialHairCustomization1" },
- { false, FT_STRING_NOT_LOCALIZED, "FacialHairCustomization2" },
- { false, FT_STRING_NOT_LOCALIZED, "HairCustomization" },
+ { false, FT_STRING, "LowercaseName" },
+ { false, FT_STRING, "LowercaseNameFemale" },
+ { false, FT_INT, "Flags" },
+ { false, FT_INT, "MaleDisplayID" },
+ { false, FT_INT, "FemaleDisplayID" },
{ false, FT_INT, "CreateScreenFileDataID" },
{ false, FT_INT, "SelectScreenFileDataID" },
{ false, FT_FLOAT, "MaleCustomizeOffset1" },
@@ -763,6 +761,8 @@ struct ChrRacesLoadInfo
{ false, FT_FLOAT, "FemaleCustomizeOffset2" },
{ false, FT_FLOAT, "FemaleCustomizeOffset3" },
{ false, FT_INT, "LowResScreenFileDataID" },
+ { false, FT_INT, "StartingLevel" },
+ { false, FT_INT, "UIDisplayOrder" },
{ false, FT_SHORT, "FactionID" },
{ false, FT_SHORT, "ResSicknessSpellID" },
{ false, FT_SHORT, "SplashSoundID" },
@@ -777,8 +777,12 @@ struct ChrRacesLoadInfo
{ false, FT_BYTE, "NeutralRaceID" },
{ false, FT_BYTE, "ItemAppearanceFrameRaceID" },
{ false, FT_BYTE, "CharComponentTexLayoutHiResID" },
+ { false, FT_INT, "ID" },
{ false, FT_INT, "HighResMaleDisplayID" },
{ false, FT_INT, "HighResFemaleDisplayID" },
+ { false, FT_INT, "HeritageArmorAchievementID" },
+ { false, FT_INT, "MaleCorpseBonesModelFileDataID" },
+ { false, FT_INT, "FemaleCorpseBonesModelFileDataID" },
{ false, FT_INT, "AlteredFormTransitionSpellVisualID1" },
{ false, FT_INT, "AlteredFormTransitionSpellVisualID2" },
{ false, FT_INT, "AlteredFormTransitionSpellVisualID3" },
@@ -797,11 +801,11 @@ struct ChrSpecializationLoadInfo
{
static DB2FieldMeta const fields[] =
{
- { false, FT_INT, "MasterySpellID1" },
- { false, FT_INT, "MasterySpellID2" },
{ false, FT_STRING, "Name" },
{ false, FT_STRING, "Name2" },
{ false, FT_STRING, "Description" },
+ { false, FT_INT, "MasterySpellID1" },
+ { false, FT_INT, "MasterySpellID2" },
{ false, FT_BYTE, "ClassID" },
{ false, FT_BYTE, "OrderIndex" },
{ false, FT_BYTE, "PetTalentType" },
@@ -893,9 +897,6 @@ struct CreatureDisplayInfoLoadInfo
{ false, FT_BYTE, "Flags" },
{ true, FT_BYTE, "Gender" },
{ false, FT_INT, "ExtendedDisplayInfoID" },
- { false, FT_INT, "TextureVariation1" },
- { false, FT_INT, "TextureVariation2" },
- { false, FT_INT, "TextureVariation3" },
{ false, FT_INT, "PortraitTextureFileDataID" },
{ false, FT_BYTE, "CreatureModelAlpha" },
{ false, FT_SHORT, "SoundID" },
@@ -910,6 +911,9 @@ struct CreatureDisplayInfoLoadInfo
{ false, FT_INT, "StateSpellVisualKitID" },
{ false, FT_FLOAT, "InstanceOtherPlayerPetScale" },
{ false, FT_INT, "MountSpellVisualKitID" },
+ { false, FT_INT, "TextureVariation1" },
+ { false, FT_INT, "TextureVariation2" },
+ { false, FT_INT, "TextureVariation3" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, CreatureDisplayInfoMeta::Instance(), HOTFIX_SEL_CREATURE_DISPLAY_INFO);
return &loadInfo;
@@ -950,9 +954,9 @@ struct CreatureFamilyLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
+ { false, FT_STRING, "Name" },
{ false, FT_FLOAT, "MinScale" },
{ false, FT_FLOAT, "MaxScale" },
- { false, FT_STRING, "Name" },
{ false, FT_INT, "IconFileDataID" },
{ false, FT_SHORT, "SkillLine1" },
{ false, FT_SHORT, "SkillLine2" },
@@ -1058,8 +1062,8 @@ struct CriteriaTreeLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_INT, "Amount" },
{ false, FT_STRING, "Description" },
+ { false, FT_INT, "Amount" },
{ false, FT_SHORT, "Flags" },
{ false, FT_BYTE, "Operator" },
{ false, FT_INT, "CriteriaID" },
@@ -1079,10 +1083,10 @@ struct CurrencyTypesLoadInfo
{
{ false, FT_INT, "ID" },
{ false, FT_STRING, "Name" },
+ { false, FT_STRING, "Description" },
{ false, FT_INT, "MaxQty" },
{ false, FT_INT, "MaxEarnablePerWeek" },
{ false, FT_INT, "Flags" },
- { false, FT_STRING, "Description" },
{ false, FT_BYTE, "CategoryID" },
{ false, FT_BYTE, "SpellCategory" },
{ false, FT_BYTE, "Quality" },
@@ -1271,10 +1275,10 @@ struct EmotesLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
+ { true, FT_LONG, "RaceMask" },
{ false, FT_STRING_NOT_LOCALIZED, "EmoteSlashCommand" },
{ false, FT_INT, "SpellVisualKitID" },
{ false, FT_INT, "EmoteFlags" },
- { true, FT_INT, "RaceMask" },
{ false, FT_SHORT, "AnimID" },
{ false, FT_BYTE, "EmoteSpecProc" },
{ false, FT_INT, "EmoteSpecProcParam" },
@@ -1308,11 +1312,11 @@ struct EmotesTextSoundLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_SHORT, "EmotesTextId" },
{ false, FT_BYTE, "RaceId" },
{ false, FT_BYTE, "SexId" },
{ false, FT_BYTE, "ClassId" },
{ false, FT_INT, "SoundId" },
+ { false, FT_SHORT, "EmotesTextId" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, EmotesTextSoundMeta::Instance(), HOTFIX_SEL_EMOTES_TEXT_SOUND);
return &loadInfo;
@@ -1325,19 +1329,19 @@ struct FactionLoadInfo
{
static DB2FieldMeta const fields[] =
{
+ { false, FT_LONG, "ReputationRaceMask1" },
+ { false, FT_LONG, "ReputationRaceMask2" },
+ { false, FT_LONG, "ReputationRaceMask3" },
+ { false, FT_LONG, "ReputationRaceMask4" },
+ { false, FT_STRING, "Name" },
+ { false, FT_STRING, "Description" },
{ false, FT_INT, "ID" },
- { false, FT_INT, "ReputationRaceMask1" },
- { false, FT_INT, "ReputationRaceMask2" },
- { false, FT_INT, "ReputationRaceMask3" },
- { false, FT_INT, "ReputationRaceMask4" },
{ true, FT_INT, "ReputationBase1" },
{ true, FT_INT, "ReputationBase2" },
{ true, FT_INT, "ReputationBase3" },
{ true, FT_INT, "ReputationBase4" },
{ false, FT_FLOAT, "ParentFactionModIn" },
{ false, FT_FLOAT, "ParentFactionModOut" },
- { false, FT_STRING, "Name" },
- { false, FT_STRING, "Description" },
{ false, FT_INT, "ReputationMax1" },
{ false, FT_INT, "ReputationMax2" },
{ false, FT_INT, "ReputationMax3" },
@@ -1396,6 +1400,7 @@ struct GameobjectsLoadInfo
{
static DB2FieldMeta const fields[] =
{
+ { false, FT_STRING, "Name" },
{ false, FT_FLOAT, "PositionX" },
{ false, FT_FLOAT, "PositionY" },
{ false, FT_FLOAT, "PositionZ" },
@@ -1412,7 +1417,6 @@ struct GameobjectsLoadInfo
{ true, FT_INT, "Data6" },
{ true, FT_INT, "Data7" },
{ true, FT_INT, "Data8" },
- { false, FT_STRING, "Name" },
{ false, FT_SHORT, "MapID" },
{ false, FT_SHORT, "DisplayID" },
{ false, FT_SHORT, "PhaseID" },
@@ -1476,12 +1480,12 @@ struct GarrBuildingLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_INT, "HordeGameObjectID" },
- { false, FT_INT, "AllianceGameObjectID" },
{ false, FT_STRING, "NameAlliance" },
{ false, FT_STRING, "NameHorde" },
{ false, FT_STRING, "Description" },
{ false, FT_STRING, "Tooltip" },
+ { false, FT_INT, "HordeGameObjectID" },
+ { false, FT_INT, "AllianceGameObjectID" },
{ false, FT_INT, "IconFileDataID" },
{ false, FT_SHORT, "CostCurrencyID" },
{ false, FT_SHORT, "HordeTexPrefixKitID" },
@@ -1550,15 +1554,15 @@ struct GarrFollowerLoadInfo
{
static DB2FieldMeta const fields[] =
{
- { false, FT_INT, "HordeCreatureID" },
- { false, FT_INT, "AllianceCreatureID" },
{ false, FT_STRING, "HordeSourceText" },
{ false, FT_STRING, "AllianceSourceText" },
+ { false, FT_STRING, "Name" },
+ { false, FT_INT, "HordeCreatureID" },
+ { false, FT_INT, "AllianceCreatureID" },
{ false, FT_INT, "HordePortraitIconID" },
{ false, FT_INT, "AlliancePortraitIconID" },
{ false, FT_INT, "HordeAddedBroadcastTextID" },
{ false, FT_INT, "AllianceAddedBroadcastTextID" },
- { false, FT_STRING, "Name" },
{ false, FT_SHORT, "HordeGarrFollItemSetID" },
{ false, FT_SHORT, "AllianceGarrFollItemSetID" },
{ false, FT_SHORT, "ItemLevelWeapon" },
@@ -1595,9 +1599,9 @@ struct GarrFollowerXAbilityLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_SHORT, "GarrFollowerID" },
{ false, FT_SHORT, "GarrAbilityID" },
{ false, FT_BYTE, "FactionIndex" },
+ { false, FT_SHORT, "GarrFollowerID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, GarrFollowerXAbilityMeta::Instance(), HOTFIX_SEL_GARR_FOLLOWER_X_ABILITY);
return &loadInfo;
@@ -1751,8 +1755,8 @@ struct GlyphRequiredSpecLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_SHORT, "GlyphPropertiesID" },
{ false, FT_SHORT, "ChrSpecializationID" },
+ { false, FT_SHORT, "GlyphPropertiesID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, GlyphRequiredSpecMeta::Instance(), HOTFIX_SEL_GLYPH_REQUIRED_SPEC);
return &loadInfo;
@@ -1827,8 +1831,8 @@ struct HeirloomLoadInfo
{
static DB2FieldMeta const fields[] =
{
- { false, FT_INT, "ItemID" },
{ false, FT_STRING, "SourceText" },
+ { false, FT_INT, "ItemID" },
{ false, FT_INT, "OldItem1" },
{ false, FT_INT, "OldItem2" },
{ false, FT_INT, "NextDifficultyItemID" },
@@ -2086,6 +2090,7 @@ struct ItemBonusLoadInfo
{ false, FT_INT, "ID" },
{ true, FT_INT, "Value1" },
{ true, FT_INT, "Value2" },
+ { true, FT_INT, "Value3" },
{ false, FT_SHORT, "BonusListID" },
{ false, FT_BYTE, "Type" },
{ false, FT_BYTE, "Index" },
@@ -2116,11 +2121,11 @@ struct ItemBonusTreeNodeLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_SHORT, "BonusTreeID" },
{ false, FT_SHORT, "SubTreeID" },
{ false, FT_SHORT, "BonusListID" },
{ false, FT_SHORT, "ItemLevelSelectorID" },
{ false, FT_BYTE, "BonusTreeModID" },
+ { false, FT_SHORT, "BonusTreeID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemBonusTreeNodeMeta::Instance(), HOTFIX_SEL_ITEM_BONUS_TREE_NODE);
return &loadInfo;
@@ -2134,9 +2139,9 @@ struct ItemChildEquipmentLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_INT, "ItemID" },
{ false, FT_INT, "AltItemID" },
{ false, FT_BYTE, "AltEquipmentSlot" },
+ { false, FT_INT, "ItemID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemChildEquipmentMeta::Instance(), HOTFIX_SEL_ITEM_CHILD_EQUIPMENT);
return &loadInfo;
@@ -2150,8 +2155,8 @@ struct ItemClassLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_FLOAT, "PriceMod" },
{ false, FT_STRING, "Name" },
+ { false, FT_FLOAT, "PriceMod" },
{ false, FT_BYTE, "OldEnumValue" },
{ false, FT_BYTE, "Flags" },
};
@@ -2289,9 +2294,10 @@ struct ItemDisenchantLootLoadInfo
{ false, FT_SHORT, "MinItemLevel" },
{ false, FT_SHORT, "MaxItemLevel" },
{ false, FT_SHORT, "RequiredDisenchantSkill" },
- { false, FT_BYTE, "ItemClass" },
{ true, FT_BYTE, "ItemSubClass" },
{ false, FT_BYTE, "ItemQuality" },
+ { true, FT_BYTE, "Expansion" },
+ { false, FT_BYTE, "ItemClass" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemDisenchantLootMeta::Instance(), HOTFIX_SEL_ITEM_DISENCHANT_LOOT);
return &loadInfo;
@@ -2305,7 +2311,6 @@ struct ItemEffectLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_INT, "ItemID" },
{ false, FT_INT, "SpellID" },
{ true, FT_INT, "Cooldown" },
{ true, FT_INT, "CategoryCooldown" },
@@ -2314,6 +2319,7 @@ struct ItemEffectLoadInfo
{ false, FT_SHORT, "ChrSpecializationID" },
{ false, FT_BYTE, "OrderIndex" },
{ false, FT_BYTE, "Trigger" },
+ { false, FT_INT, "ItemID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemEffectMeta::Instance(), HOTFIX_SEL_ITEM_EFFECT);
return &loadInfo;
@@ -2382,8 +2388,8 @@ struct ItemLevelSelectorQualityLoadInfo
{
{ false, FT_INT, "ID" },
{ false, FT_INT, "ItemBonusListID" },
- { false, FT_SHORT, "ItemLevelSelectorQualitySetID" },
{ false, FT_BYTE, "Quality" },
+ { false, FT_SHORT, "ItemLevelSelectorQualitySetID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemLevelSelectorQualityMeta::Instance(), HOTFIX_SEL_ITEM_LEVEL_SELECTOR_QUALITY);
return &loadInfo;
@@ -2428,11 +2434,11 @@ struct ItemModifiedAppearanceLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ItemID" },
- { false, FT_SHORT, "AppearanceID" },
+ { false, FT_INT, "ID" },
{ false, FT_BYTE, "AppearanceModID" },
+ { false, FT_SHORT, "AppearanceID" },
{ false, FT_BYTE, "Index" },
{ false, FT_BYTE, "SourceType" },
- { false, FT_INT, "ID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemModifiedAppearanceMeta::Instance(), HOTFIX_SEL_ITEM_MODIFIED_APPEARANCE);
return &loadInfo;
@@ -2504,19 +2510,19 @@ struct ItemSearchNameLoadInfo
{
static DB2FieldMeta const fields[] =
{
- { false, FT_INT, "ID" },
+ { false, FT_LONG, "AllowableRace" },
{ false, FT_STRING, "Name" },
+ { false, FT_INT, "ID" },
{ false, FT_INT, "Flags1" },
{ false, FT_INT, "Flags2" },
{ false, FT_INT, "Flags3" },
- { false, FT_INT, "AllowableRace" },
{ false, FT_SHORT, "ItemLevel" },
{ false, FT_BYTE, "Quality" },
{ false, FT_BYTE, "RequiredExpansion" },
{ false, FT_BYTE, "RequiredLevel" },
- { true, FT_INT, "AllowableClass" },
{ false, FT_SHORT, "RequiredReputationFaction" },
{ false, FT_BYTE, "RequiredReputationRank" },
+ { true, FT_INT, "AllowableClass" },
{ false, FT_SHORT, "RequiredSkill" },
{ false, FT_SHORT, "RequiredSkillRank" },
{ false, FT_INT, "RequiredSpell" },
@@ -2568,9 +2574,9 @@ struct ItemSetSpellLoadInfo
{
{ false, FT_INT, "ID" },
{ false, FT_INT, "SpellID" },
- { false, FT_SHORT, "ItemSetID" },
{ false, FT_SHORT, "ChrSpecID" },
{ false, FT_BYTE, "Threshold" },
+ { false, FT_SHORT, "ItemSetID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemSetSpellMeta::Instance(), HOTFIX_SEL_ITEM_SET_SPELL);
return &loadInfo;
@@ -2584,6 +2590,12 @@ struct ItemSparseLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
+ { true, FT_LONG, "AllowableRace" },
+ { false, FT_STRING, "Name" },
+ { false, FT_STRING, "Name2" },
+ { false, FT_STRING, "Name3" },
+ { false, FT_STRING, "Name4" },
+ { false, FT_STRING, "Description" },
{ false, FT_INT, "Flags1" },
{ false, FT_INT, "Flags2" },
{ false, FT_INT, "Flags3" },
@@ -2593,7 +2605,6 @@ struct ItemSparseLoadInfo
{ false, FT_INT, "BuyCount" },
{ false, FT_INT, "BuyPrice" },
{ false, FT_INT, "SellPrice" },
- { true, FT_INT, "AllowableRace" },
{ false, FT_INT, "RequiredSpell" },
{ false, FT_INT, "MaxCount" },
{ false, FT_INT, "Stackable" },
@@ -2618,11 +2629,6 @@ struct ItemSparseLoadInfo
{ false, FT_FLOAT, "ItemStatSocketCostMultiplier9" },
{ false, FT_FLOAT, "ItemStatSocketCostMultiplier10" },
{ false, FT_FLOAT, "RangedModRange" },
- { false, FT_STRING, "Name" },
- { false, FT_STRING, "Name2" },
- { false, FT_STRING, "Name3" },
- { false, FT_STRING, "Name4" },
- { false, FT_STRING, "Description" },
{ false, FT_INT, "BagFamily" },
{ false, FT_FLOAT, "ArmorDamageModifier" },
{ false, FT_INT, "Duration" },
@@ -2721,8 +2727,8 @@ struct ItemSpecOverrideLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_INT, "ItemID" },
{ false, FT_SHORT, "SpecID" },
+ { false, FT_INT, "ItemID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemSpecOverrideMeta::Instance(), HOTFIX_SEL_ITEM_SPEC_OVERRIDE);
return &loadInfo;
@@ -2754,8 +2760,8 @@ struct ItemXBonusTreeLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_INT, "ItemID" },
{ false, FT_SHORT, "BonusTreeID" },
+ { false, FT_INT, "ItemID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemXBonusTreeMeta::Instance(), HOTFIX_SEL_ITEM_X_BONUS_TREE);
return &loadInfo;
@@ -2815,8 +2821,8 @@ struct LfgDungeonsLoadInfo
{
{ false, FT_INT, "ID" },
{ false, FT_STRING, "Name" },
- { false, FT_INT, "Flags" },
{ false, FT_STRING, "Description" },
+ { false, FT_INT, "Flags" },
{ false, FT_FLOAT, "MinItemLevel" },
{ false, FT_SHORT, "MaxLevel" },
{ false, FT_SHORT, "TargetLevelMax" },
@@ -2888,18 +2894,18 @@ struct LiquidTypeLoadInfo
{
{ false, FT_INT, "ID" },
{ false, FT_STRING, "Name" },
- { false, FT_INT, "SpellID" },
- { false, FT_FLOAT, "MaxDarkenDepth" },
- { false, FT_FLOAT, "FogDarkenIntensity" },
- { false, FT_FLOAT, "AmbDarkenIntensity" },
- { false, FT_FLOAT, "DirDarkenIntensity" },
- { false, FT_FLOAT, "ParticleScale" },
{ false, FT_STRING_NOT_LOCALIZED, "Texture1" },
{ false, FT_STRING_NOT_LOCALIZED, "Texture2" },
{ false, FT_STRING_NOT_LOCALIZED, "Texture3" },
{ false, FT_STRING_NOT_LOCALIZED, "Texture4" },
{ false, FT_STRING_NOT_LOCALIZED, "Texture5" },
{ false, FT_STRING_NOT_LOCALIZED, "Texture6" },
+ { false, FT_INT, "SpellID" },
+ { false, FT_FLOAT, "MaxDarkenDepth" },
+ { false, FT_FLOAT, "FogDarkenIntensity" },
+ { false, FT_FLOAT, "AmbDarkenIntensity" },
+ { false, FT_FLOAT, "DirDarkenIntensity" },
+ { false, FT_FLOAT, "ParticleScale" },
{ false, FT_INT, "Color1" },
{ false, FT_INT, "Color2" },
{ false, FT_FLOAT, "Float1" },
@@ -3010,16 +3016,16 @@ struct MapLoadInfo
{
{ false, FT_INT, "ID" },
{ false, FT_STRING_NOT_LOCALIZED, "Directory" },
- { false, FT_INT, "Flags1" },
- { false, FT_INT, "Flags2" },
- { false, FT_FLOAT, "MinimapIconScale" },
- { false, FT_FLOAT, "CorpsePosX" },
- { false, FT_FLOAT, "CorpsePosY" },
{ false, FT_STRING, "MapName" },
{ false, FT_STRING, "MapDescription0" },
{ false, FT_STRING, "MapDescription1" },
{ false, FT_STRING, "ShortDescription" },
{ false, FT_STRING, "LongDescription" },
+ { false, FT_INT, "Flags1" },
+ { false, FT_INT, "Flags2" },
+ { false, FT_FLOAT, "MinimapIconScale" },
+ { false, FT_FLOAT, "CorpsePosX" },
+ { false, FT_FLOAT, "CorpsePosY" },
{ false, FT_SHORT, "AreaTableID" },
{ false, FT_SHORT, "LoadingScreenID" },
{ true, FT_SHORT, "CorpseMapID" },
@@ -3046,7 +3052,6 @@ struct MapDifficultyLoadInfo
{
{ false, FT_INT, "ID" },
{ false, FT_STRING, "Message" },
- { false, FT_SHORT, "MapID" },
{ false, FT_BYTE, "DifficultyID" },
{ false, FT_BYTE, "RaidDurationType" },
{ false, FT_BYTE, "MaxPlayers" },
@@ -3054,6 +3059,7 @@ struct MapDifficultyLoadInfo
{ false, FT_BYTE, "Flags" },
{ false, FT_BYTE, "ItemBonusTreeModID" },
{ false, FT_INT, "Context" },
+ { false, FT_SHORT, "MapID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, MapDifficultyMeta::Instance(), HOTFIX_SEL_MAP_DIFFICULTY);
return &loadInfo;
@@ -3086,10 +3092,10 @@ struct MountLoadInfo
{
static DB2FieldMeta const fields[] =
{
- { false, FT_INT, "SpellId" },
{ false, FT_STRING, "Name" },
{ false, FT_STRING, "Description" },
{ false, FT_STRING, "SourceDescription" },
+ { false, FT_INT, "SpellId" },
{ false, FT_FLOAT, "CameraPivotMultiplier" },
{ false, FT_SHORT, "MountTypeId" },
{ false, FT_SHORT, "Flags" },
@@ -3146,9 +3152,9 @@ struct MountXDisplayLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_INT, "MountID" },
{ false, FT_INT, "DisplayID" },
{ false, FT_INT, "PlayerConditionID" },
+ { false, FT_INT, "MountID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, MountXDisplayMeta::Instance(), HOTFIX_SEL_MOUNT_X_DISPLAY);
return &loadInfo;
@@ -3292,109 +3298,19 @@ struct PlayerConditionLoadInfo
{
static DB2FieldMeta const fields[] =
{
- { false, FT_INT, "ID" },
- { false, FT_INT, "RaceMask" },
- { false, FT_INT, "Time1" },
- { false, FT_INT, "Time2" },
- { false, FT_INT, "AuraSpellID1" },
- { false, FT_INT, "AuraSpellID2" },
- { false, FT_INT, "AuraSpellID3" },
- { false, FT_INT, "AuraSpellID4" },
+ { true, FT_LONG, "RaceMask" },
{ false, FT_STRING, "FailureDescription" },
- { false, FT_SHORT, "SkillID1" },
- { false, FT_SHORT, "SkillID2" },
- { false, FT_SHORT, "SkillID3" },
- { false, FT_SHORT, "SkillID4" },
- { true, FT_SHORT, "MinSkill1" },
- { true, FT_SHORT, "MinSkill2" },
- { true, FT_SHORT, "MinSkill3" },
- { true, FT_SHORT, "MinSkill4" },
- { true, FT_SHORT, "MaxSkill1" },
- { true, FT_SHORT, "MaxSkill2" },
- { true, FT_SHORT, "MaxSkill3" },
- { true, FT_SHORT, "MaxSkill4" },
- { false, FT_SHORT, "PrevQuestID1" },
- { false, FT_SHORT, "PrevQuestID2" },
- { false, FT_SHORT, "PrevQuestID3" },
- { false, FT_SHORT, "PrevQuestID4" },
- { false, FT_SHORT, "CurrQuestID1" },
- { false, FT_SHORT, "CurrQuestID2" },
- { false, FT_SHORT, "CurrQuestID3" },
- { false, FT_SHORT, "CurrQuestID4" },
- { false, FT_SHORT, "CurrentCompletedQuestID1" },
- { false, FT_SHORT, "CurrentCompletedQuestID2" },
- { false, FT_SHORT, "CurrentCompletedQuestID3" },
- { false, FT_SHORT, "CurrentCompletedQuestID4" },
- { false, FT_SHORT, "Explored1" },
- { false, FT_SHORT, "Explored2" },
- { false, FT_SHORT, "Achievement1" },
- { false, FT_SHORT, "Achievement2" },
- { false, FT_SHORT, "Achievement3" },
- { false, FT_SHORT, "Achievement4" },
- { false, FT_SHORT, "AreaID1" },
- { false, FT_SHORT, "AreaID2" },
- { false, FT_SHORT, "AreaID3" },
- { false, FT_SHORT, "AreaID4" },
+ { false, FT_INT, "ID" },
{ false, FT_BYTE, "Flags" },
- { false, FT_BYTE, "MinReputation1" },
- { false, FT_BYTE, "MinReputation2" },
- { false, FT_BYTE, "MinReputation3" },
- { false, FT_BYTE, "AuraCount1" },
- { false, FT_BYTE, "AuraCount2" },
- { false, FT_BYTE, "AuraCount3" },
- { false, FT_BYTE, "AuraCount4" },
- { false, FT_BYTE, "LfgStatus1" },
- { false, FT_BYTE, "LfgStatus2" },
- { false, FT_BYTE, "LfgStatus3" },
- { false, FT_BYTE, "LfgStatus4" },
- { false, FT_BYTE, "LfgCompare1" },
- { false, FT_BYTE, "LfgCompare2" },
- { false, FT_BYTE, "LfgCompare3" },
- { false, FT_BYTE, "LfgCompare4" },
- { false, FT_BYTE, "CurrencyCount1" },
- { false, FT_BYTE, "CurrencyCount2" },
- { false, FT_BYTE, "CurrencyCount3" },
- { false, FT_BYTE, "CurrencyCount4" },
- { true, FT_INT, "ClassMask" },
- { false, FT_INT, "MinFactionID1" },
- { false, FT_INT, "MinFactionID2" },
- { false, FT_INT, "MinFactionID3" },
- { false, FT_INT, "SpellID1" },
- { false, FT_INT, "SpellID2" },
- { false, FT_INT, "SpellID3" },
- { false, FT_INT, "SpellID4" },
- { false, FT_INT, "ItemID1" },
- { false, FT_INT, "ItemID2" },
- { false, FT_INT, "ItemID3" },
- { false, FT_INT, "ItemID4" },
- { false, FT_INT, "ItemCount1" },
- { false, FT_INT, "ItemCount2" },
- { false, FT_INT, "ItemCount3" },
- { false, FT_INT, "ItemCount4" },
- { false, FT_INT, "LfgValue1" },
- { false, FT_INT, "LfgValue2" },
- { false, FT_INT, "LfgValue3" },
- { false, FT_INT, "LfgValue4" },
- { false, FT_INT, "CurrencyID1" },
- { false, FT_INT, "CurrencyID2" },
- { false, FT_INT, "CurrencyID3" },
- { false, FT_INT, "CurrencyID4" },
- { false, FT_INT, "QuestKillMonster1" },
- { false, FT_INT, "QuestKillMonster2" },
- { false, FT_INT, "QuestKillMonster3" },
- { false, FT_INT, "QuestKillMonster4" },
- { false, FT_INT, "QuestKillMonster5" },
- { false, FT_INT, "QuestKillMonster6" },
- { true, FT_INT, "MovementFlags1" },
- { true, FT_INT, "MovementFlags2" },
{ false, FT_SHORT, "MinLevel" },
{ false, FT_SHORT, "MaxLevel" },
+ { true, FT_INT, "ClassMask" },
{ true, FT_BYTE, "Gender" },
{ true, FT_BYTE, "NativeGender" },
{ false, FT_INT, "SkillLogic" },
{ false, FT_BYTE, "LanguageID" },
{ false, FT_BYTE, "MinLanguage" },
- { false, FT_INT, "MaxLanguage" },
+ { true, FT_INT, "MaxLanguage" },
{ false, FT_SHORT, "MaxFactionID" },
{ false, FT_BYTE, "MaxReputation" },
{ false, FT_INT, "ReputationLogic" },
@@ -3428,17 +3344,107 @@ struct PlayerConditionLoadInfo
{ false, FT_BYTE, "PhaseUseFlags" },
{ false, FT_SHORT, "PhaseID" },
{ false, FT_INT, "PhaseGroupID" },
- { false, FT_INT, "MinAvgItemLevel" },
- { false, FT_INT, "MaxAvgItemLevel" },
+ { true, FT_INT, "MinAvgItemLevel" },
+ { true, FT_INT, "MaxAvgItemLevel" },
{ false, FT_SHORT, "MinAvgEquippedItemLevel" },
{ false, FT_SHORT, "MaxAvgEquippedItemLevel" },
{ true, FT_BYTE, "ChrSpecializationIndex" },
{ true, FT_BYTE, "ChrSpecializationRole" },
{ true, FT_BYTE, "PowerType" },
- { true, FT_BYTE, "PowerTypeComp" },
- { true, FT_BYTE, "PowerTypeValue" },
+ { false, FT_BYTE, "PowerTypeComp" },
+ { false, FT_BYTE, "PowerTypeValue" },
{ false, FT_INT, "ModifierTreeID" },
- { false, FT_INT, "MainHandItemSubclassMask" },
+ { true, FT_INT, "MainHandItemSubclassMask" },
+ { false, FT_SHORT, "SkillID1" },
+ { false, FT_SHORT, "SkillID2" },
+ { false, FT_SHORT, "SkillID3" },
+ { false, FT_SHORT, "SkillID4" },
+ { false, FT_SHORT, "MinSkill1" },
+ { false, FT_SHORT, "MinSkill2" },
+ { false, FT_SHORT, "MinSkill3" },
+ { false, FT_SHORT, "MinSkill4" },
+ { false, FT_SHORT, "MaxSkill1" },
+ { false, FT_SHORT, "MaxSkill2" },
+ { false, FT_SHORT, "MaxSkill3" },
+ { false, FT_SHORT, "MaxSkill4" },
+ { false, FT_INT, "MinFactionID1" },
+ { false, FT_INT, "MinFactionID2" },
+ { false, FT_INT, "MinFactionID3" },
+ { false, FT_BYTE, "MinReputation1" },
+ { false, FT_BYTE, "MinReputation2" },
+ { false, FT_BYTE, "MinReputation3" },
+ { false, FT_SHORT, "PrevQuestID1" },
+ { false, FT_SHORT, "PrevQuestID2" },
+ { false, FT_SHORT, "PrevQuestID3" },
+ { false, FT_SHORT, "PrevQuestID4" },
+ { false, FT_SHORT, "CurrQuestID1" },
+ { false, FT_SHORT, "CurrQuestID2" },
+ { false, FT_SHORT, "CurrQuestID3" },
+ { false, FT_SHORT, "CurrQuestID4" },
+ { false, FT_SHORT, "CurrentCompletedQuestID1" },
+ { false, FT_SHORT, "CurrentCompletedQuestID2" },
+ { false, FT_SHORT, "CurrentCompletedQuestID3" },
+ { false, FT_SHORT, "CurrentCompletedQuestID4" },
+ { true, FT_INT, "SpellID1" },
+ { true, FT_INT, "SpellID2" },
+ { true, FT_INT, "SpellID3" },
+ { true, FT_INT, "SpellID4" },
+ { true, FT_INT, "ItemID1" },
+ { true, FT_INT, "ItemID2" },
+ { true, FT_INT, "ItemID3" },
+ { true, FT_INT, "ItemID4" },
+ { false, FT_INT, "ItemCount1" },
+ { false, FT_INT, "ItemCount2" },
+ { false, FT_INT, "ItemCount3" },
+ { false, FT_INT, "ItemCount4" },
+ { false, FT_SHORT, "Explored1" },
+ { false, FT_SHORT, "Explored2" },
+ { false, FT_INT, "Time1" },
+ { false, FT_INT, "Time2" },
+ { false, FT_INT, "AuraSpellID1" },
+ { false, FT_INT, "AuraSpellID2" },
+ { false, FT_INT, "AuraSpellID3" },
+ { false, FT_INT, "AuraSpellID4" },
+ { false, FT_BYTE, "AuraCount1" },
+ { false, FT_BYTE, "AuraCount2" },
+ { false, FT_BYTE, "AuraCount3" },
+ { false, FT_BYTE, "AuraCount4" },
+ { false, FT_SHORT, "Achievement1" },
+ { false, FT_SHORT, "Achievement2" },
+ { false, FT_SHORT, "Achievement3" },
+ { false, FT_SHORT, "Achievement4" },
+ { false, FT_BYTE, "LfgStatus1" },
+ { false, FT_BYTE, "LfgStatus2" },
+ { false, FT_BYTE, "LfgStatus3" },
+ { false, FT_BYTE, "LfgStatus4" },
+ { false, FT_BYTE, "LfgCompare1" },
+ { false, FT_BYTE, "LfgCompare2" },
+ { false, FT_BYTE, "LfgCompare3" },
+ { false, FT_BYTE, "LfgCompare4" },
+ { false, FT_INT, "LfgValue1" },
+ { false, FT_INT, "LfgValue2" },
+ { false, FT_INT, "LfgValue3" },
+ { false, FT_INT, "LfgValue4" },
+ { false, FT_SHORT, "AreaID1" },
+ { false, FT_SHORT, "AreaID2" },
+ { false, FT_SHORT, "AreaID3" },
+ { false, FT_SHORT, "AreaID4" },
+ { false, FT_INT, "CurrencyID1" },
+ { false, FT_INT, "CurrencyID2" },
+ { false, FT_INT, "CurrencyID3" },
+ { false, FT_INT, "CurrencyID4" },
+ { false, FT_INT, "CurrencyCount1" },
+ { false, FT_INT, "CurrencyCount2" },
+ { false, FT_INT, "CurrencyCount3" },
+ { false, FT_INT, "CurrencyCount4" },
+ { false, FT_INT, "QuestKillMonster1" },
+ { false, FT_INT, "QuestKillMonster2" },
+ { false, FT_INT, "QuestKillMonster3" },
+ { false, FT_INT, "QuestKillMonster4" },
+ { false, FT_INT, "QuestKillMonster5" },
+ { false, FT_INT, "QuestKillMonster6" },
+ { true, FT_INT, "MovementFlags1" },
+ { true, FT_INT, "MovementFlags2" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, PlayerConditionMeta::Instance(), HOTFIX_SEL_PLAYER_CONDITION);
return &loadInfo;
@@ -3495,8 +3501,8 @@ struct PrestigeLevelInfoLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_INT, "IconID" },
{ false, FT_STRING, "PrestigeText" },
+ { false, FT_INT, "IconID" },
{ false, FT_BYTE, "PrestigeLevel" },
{ false, FT_BYTE, "Flags" },
};
@@ -3512,10 +3518,10 @@ struct PvpDifficultyLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_SHORT, "MapID" },
{ false, FT_BYTE, "BracketID" },
{ false, FT_BYTE, "MinLevel" },
{ false, FT_BYTE, "MaxLevel" },
+ { false, FT_SHORT, "MapID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, PVPDifficultyMeta::Instance(), HOTFIX_SEL_PVP_DIFFICULTY);
return &loadInfo;
@@ -3708,8 +3714,8 @@ struct RewardPackXItemLoadInfo
{
{ false, FT_INT, "ID" },
{ false, FT_INT, "ItemID" },
- { false, FT_INT, "RewardPackID" },
{ false, FT_INT, "Amount" },
+ { false, FT_INT, "RewardPackID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, RewardPackXItemMeta::Instance(), HOTFIX_SEL_REWARD_PACK_X_ITEM);
return &loadInfo;
@@ -3731,6 +3737,22 @@ struct RulesetItemUpgradeLoadInfo
}
};
+struct SandboxScalingLoadInfo
+{
+ static DB2LoadInfo const* Instance()
+ {
+ static DB2FieldMeta const fields[] =
+ {
+ { false, FT_INT, "ID" },
+ { false, FT_INT, "MinLevel" },
+ { false, FT_INT, "MaxLevel" },
+ { false, FT_INT, "Flags" },
+ };
+ static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SandboxScalingMeta::Instance(), HOTFIX_SEL_SANDBOX_SCALING);
+ return &loadInfo;
+ }
+};
+
struct ScalingStatDistributionLoadInfo
{
static DB2LoadInfo const* Instance()
@@ -3793,8 +3815,6 @@ struct SceneScriptLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_STRING_NOT_LOCALIZED, "Name" },
- { false, FT_STRING_NOT_LOCALIZED, "Script" },
{ false, FT_SHORT, "PrevScriptId" },
{ false, FT_SHORT, "NextScriptId" },
};
@@ -3803,6 +3823,21 @@ struct SceneScriptLoadInfo
}
};
+struct SceneScriptGlobalTextLoadInfo
+{
+ static DB2LoadInfo const* Instance()
+ {
+ static DB2FieldMeta const fields[] =
+ {
+ { false, FT_INT, "ID" },
+ { false, FT_STRING_NOT_LOCALIZED, "Name" },
+ { false, FT_STRING_NOT_LOCALIZED, "Script" },
+ };
+ static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SceneScriptGlobalTextMeta::Instance(), HOTFIX_SEL_SCENE_SCRIPT_GLOBAL_TEXT);
+ return &loadInfo;
+ }
+};
+
struct SceneScriptPackageLoadInfo
{
static DB2LoadInfo const* Instance()
@@ -3817,6 +3852,21 @@ struct SceneScriptPackageLoadInfo
}
};
+struct SceneScriptTextLoadInfo
+{
+ static DB2LoadInfo const* Instance()
+ {
+ static DB2FieldMeta const fields[] =
+ {
+ { false, FT_INT, "ID" },
+ { false, FT_STRING_NOT_LOCALIZED, "Name" },
+ { false, FT_STRING_NOT_LOCALIZED, "Script" },
+ };
+ static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SceneScriptTextMeta::Instance(), HOTFIX_SEL_SCENE_SCRIPT_TEXT);
+ return &loadInfo;
+ }
+};
+
struct SkillLineLoadInfo
{
static DB2LoadInfo const* Instance()
@@ -3844,20 +3894,20 @@ struct SkillLineAbilityLoadInfo
{
static DB2FieldMeta const fields[] =
{
+ { false, FT_LONG, "RaceMask" },
{ false, FT_INT, "ID" },
{ false, FT_INT, "SpellID" },
- { false, FT_INT, "RaceMask" },
{ false, FT_INT, "SupercedesSpell" },
{ false, FT_SHORT, "SkillLine" },
- { false, FT_SHORT, "MinSkillLineRank" },
{ false, FT_SHORT, "TrivialSkillLineRankHigh" },
{ false, FT_SHORT, "TrivialSkillLineRankLow" },
{ false, FT_SHORT, "UniqueBit" },
{ false, FT_SHORT, "TradeSkillCategoryID" },
- { false, FT_BYTE, "AcquireMethod" },
{ false, FT_BYTE, "NumSkillUps" },
- { false, FT_BYTE, "Unknown703" },
{ true, FT_INT, "ClassMask" },
+ { false, FT_SHORT, "MinSkillLineRank" },
+ { false, FT_BYTE, "AcquireMethod" },
+ { false, FT_BYTE, "Flags" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SkillLineAbilityMeta::Instance(), HOTFIX_SEL_SKILL_LINE_ABILITY);
return &loadInfo;
@@ -3871,7 +3921,7 @@ struct SkillRaceClassInfoLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { true, FT_INT, "RaceMask" },
+ { true, FT_LONG, "RaceMask" },
{ false, FT_SHORT, "SkillID" },
{ false, FT_SHORT, "Flags" },
{ false, FT_SHORT, "SkillTierID" },
@@ -3918,9 +3968,9 @@ struct SpecializationSpellsLoadInfo
{
static DB2FieldMeta const fields[] =
{
+ { false, FT_STRING, "Description" },
{ false, FT_INT, "SpellID" },
{ false, FT_INT, "OverridesSpellID" },
- { false, FT_STRING, "Description" },
{ false, FT_SHORT, "SpecID" },
{ false, FT_BYTE, "OrderIndex" },
{ false, FT_INT, "ID" },
@@ -3936,13 +3986,11 @@ struct SpellLoadInfo
{
static DB2FieldMeta const fields[] =
{
+ { false, FT_INT, "ID" },
{ false, FT_STRING, "Name" },
{ false, FT_STRING, "NameSubtext" },
{ false, FT_STRING, "Description" },
{ false, FT_STRING, "AuraDescription" },
- { false, FT_INT, "MiscID" },
- { false, FT_INT, "ID" },
- { false, FT_INT, "DescriptionVariablesID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellMeta::Instance(), HOTFIX_SEL_SPELL);
return &loadInfo;
@@ -3956,7 +4004,6 @@ struct SpellAuraOptionsLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_INT, "SpellID" },
{ false, FT_INT, "ProcCharges" },
{ false, FT_INT, "ProcTypeMask" },
{ false, FT_INT, "ProcCategoryRecovery" },
@@ -3964,6 +4011,7 @@ struct SpellAuraOptionsLoadInfo
{ false, FT_SHORT, "SpellProcsPerMinuteID" },
{ false, FT_BYTE, "DifficultyID" },
{ false, FT_BYTE, "ProcChance" },
+ { false, FT_INT, "SpellID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellAuraOptionsMeta::Instance(), HOTFIX_SEL_SPELL_AURA_OPTIONS);
return &loadInfo;
@@ -3977,7 +4025,6 @@ struct SpellAuraRestrictionsLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_INT, "SpellID" },
{ false, FT_INT, "CasterAuraSpell" },
{ false, FT_INT, "TargetAuraSpell" },
{ false, FT_INT, "ExcludeCasterAuraSpell" },
@@ -3987,6 +4034,7 @@ struct SpellAuraRestrictionsLoadInfo
{ false, FT_BYTE, "TargetAuraState" },
{ false, FT_BYTE, "ExcludeCasterAuraState" },
{ false, FT_BYTE, "ExcludeTargetAuraState" },
+ { false, FT_INT, "SpellID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellAuraRestrictionsMeta::Instance(), HOTFIX_SEL_SPELL_AURA_RESTRICTIONS);
return &loadInfo;
@@ -4036,7 +4084,6 @@ struct SpellCategoriesLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_INT, "SpellID" },
{ false, FT_SHORT, "Category" },
{ false, FT_SHORT, "StartRecoveryCategory" },
{ false, FT_SHORT, "ChargeCategory" },
@@ -4045,6 +4092,7 @@ struct SpellCategoriesLoadInfo
{ false, FT_BYTE, "DispelType" },
{ false, FT_BYTE, "Mechanic" },
{ false, FT_BYTE, "PreventionType" },
+ { false, FT_INT, "SpellID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellCategoriesMeta::Instance(), HOTFIX_SEL_SPELL_CATEGORIES);
return &loadInfo;
@@ -4097,11 +4145,11 @@ struct SpellCooldownsLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_INT, "SpellID" },
{ false, FT_INT, "CategoryRecoveryTime" },
{ false, FT_INT, "RecoveryTime" },
{ false, FT_INT, "StartRecoveryTime" },
{ false, FT_BYTE, "DifficultyID" },
+ { false, FT_INT, "SpellID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellCooldownsMeta::Instance(), HOTFIX_SEL_SPELL_COOLDOWNS);
return &loadInfo;
@@ -4130,22 +4178,11 @@ struct SpellEffectLoadInfo
{
static DB2FieldMeta const fields[] =
{
- { false, FT_INT, "EffectSpellClassMask1" },
- { false, FT_INT, "EffectSpellClassMask2" },
- { false, FT_INT, "EffectSpellClassMask3" },
- { false, FT_INT, "EffectSpellClassMask4" },
{ false, FT_INT, "ID" },
- { false, FT_INT, "SpellID" },
{ false, FT_INT, "Effect" },
- { false, FT_INT, "EffectAura" },
{ true, FT_INT, "EffectBasePoints" },
{ false, FT_INT, "EffectIndex" },
- { true, FT_INT, "EffectMiscValue" },
- { true, FT_INT, "EffectMiscValueB" },
- { false, FT_INT, "EffectRadiusIndex" },
- { false, FT_INT, "EffectRadiusMaxIndex" },
- { false, FT_INT, "ImplicitTarget1" },
- { false, FT_INT, "ImplicitTarget2" },
+ { false, FT_INT, "EffectAura" },
{ false, FT_INT, "DifficultyID" },
{ false, FT_FLOAT, "EffectAmplitude" },
{ false, FT_INT, "EffectAuraPeriod" },
@@ -4162,25 +4199,23 @@ struct SpellEffectLoadInfo
{ false, FT_INT, "EffectAttributes" },
{ false, FT_FLOAT, "BonusCoefficientFromAP" },
{ false, FT_FLOAT, "PvPMultiplier" },
- };
- static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellEffectMeta::Instance(), HOTFIX_SEL_SPELL_EFFECT);
- return &loadInfo;
- }
-};
-
-struct SpellEffectScalingLoadInfo
-{
- static DB2LoadInfo const* Instance()
- {
- static DB2FieldMeta const fields[] =
- {
- { false, FT_INT, "ID" },
{ false, FT_FLOAT, "Coefficient" },
{ false, FT_FLOAT, "Variance" },
{ false, FT_FLOAT, "ResourceCoefficient" },
- { false, FT_INT, "SpellEffectID" },
+ { false, FT_FLOAT, "GroupSizeCoefficient" },
+ { false, FT_INT, "EffectSpellClassMask1" },
+ { false, FT_INT, "EffectSpellClassMask2" },
+ { false, FT_INT, "EffectSpellClassMask3" },
+ { false, FT_INT, "EffectSpellClassMask4" },
+ { true, FT_INT, "EffectMiscValue" },
+ { true, FT_INT, "EffectMiscValueB" },
+ { false, FT_INT, "EffectRadiusIndex" },
+ { false, FT_INT, "EffectRadiusMaxIndex" },
+ { false, FT_INT, "ImplicitTarget1" },
+ { false, FT_INT, "ImplicitTarget2" },
+ { false, FT_INT, "SpellID" },
};
- static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellEffectScalingMeta::Instance(), HOTFIX_SEL_SPELL_EFFECT_SCALING);
+ static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellEffectMeta::Instance(), HOTFIX_SEL_SPELL_EFFECT);
return &loadInfo;
}
};
@@ -4223,13 +4258,13 @@ struct SpellInterruptsLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_INT, "SpellID" },
+ { false, FT_BYTE, "DifficultyID" },
+ { false, FT_SHORT, "InterruptFlags" },
{ false, FT_INT, "AuraInterruptFlags1" },
{ false, FT_INT, "AuraInterruptFlags2" },
{ false, FT_INT, "ChannelInterruptFlags1" },
{ false, FT_INT, "ChannelInterruptFlags2" },
- { false, FT_SHORT, "InterruptFlags" },
- { false, FT_BYTE, "DifficultyID" },
+ { false, FT_INT, "SpellID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellInterruptsMeta::Instance(), HOTFIX_SEL_SPELL_INTERRUPTS);
return &loadInfo;
@@ -4243,10 +4278,10 @@ struct SpellItemEnchantmentLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
+ { false, FT_STRING, "Name" },
{ false, FT_INT, "EffectSpellID1" },
{ false, FT_INT, "EffectSpellID2" },
{ false, FT_INT, "EffectSpellID3" },
- { false, FT_STRING, "Name" },
{ false, FT_FLOAT, "EffectScalingPoints1" },
{ false, FT_FLOAT, "EffectScalingPoints2" },
{ false, FT_FLOAT, "EffectScalingPoints3" },
@@ -4283,6 +4318,11 @@ struct SpellItemEnchantmentConditionLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
+ { false, FT_INT, "LTOperand1" },
+ { false, FT_INT, "LTOperand2" },
+ { false, FT_INT, "LTOperand3" },
+ { false, FT_INT, "LTOperand4" },
+ { false, FT_INT, "LTOperand5" },
{ false, FT_BYTE, "LTOperandType1" },
{ false, FT_BYTE, "LTOperandType2" },
{ false, FT_BYTE, "LTOperandType3" },
@@ -4308,11 +4348,6 @@ struct SpellItemEnchantmentConditionLoadInfo
{ false, FT_BYTE, "Logic3" },
{ false, FT_BYTE, "Logic4" },
{ false, FT_BYTE, "Logic5" },
- { false, FT_INT, "LTOperand1" },
- { false, FT_INT, "LTOperand2" },
- { false, FT_INT, "LTOperand3" },
- { false, FT_INT, "LTOperand4" },
- { false, FT_INT, "LTOperand5" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellItemEnchantmentConditionMeta::Instance(), HOTFIX_SEL_SPELL_ITEM_ENCHANTMENT_CONDITION);
return &loadInfo;
@@ -4342,12 +4377,12 @@ struct SpellLevelsLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_INT, "SpellID" },
{ false, FT_SHORT, "BaseLevel" },
{ false, FT_SHORT, "MaxLevel" },
{ false, FT_SHORT, "SpellLevel" },
{ false, FT_BYTE, "DifficultyID" },
{ false, FT_BYTE, "MaxUsableLevel" },
+ { false, FT_INT, "SpellID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellLevelsMeta::Instance(), HOTFIX_SEL_SPELL_LEVELS);
return &loadInfo;
@@ -4361,6 +4396,15 @@ struct SpellMiscLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
+ { false, FT_SHORT, "CastingTimeIndex" },
+ { false, FT_SHORT, "DurationIndex" },
+ { false, FT_SHORT, "RangeIndex" },
+ { false, FT_BYTE, "SchoolMask" },
+ { false, FT_INT, "IconFileDataID" },
+ { false, FT_FLOAT, "Speed" },
+ { false, FT_INT, "ActiveIconFileDataID" },
+ { false, FT_FLOAT, "MultistrikeSpeedMod" },
+ { false, FT_BYTE, "DifficultyID" },
{ false, FT_INT, "Attributes" },
{ false, FT_INT, "AttributesEx" },
{ false, FT_INT, "AttributesExB" },
@@ -4375,14 +4419,7 @@ struct SpellMiscLoadInfo
{ false, FT_INT, "AttributesExK" },
{ false, FT_INT, "AttributesExL" },
{ false, FT_INT, "AttributesExM" },
- { false, FT_FLOAT, "Speed" },
- { false, FT_FLOAT, "MultistrikeSpeedMod" },
- { false, FT_SHORT, "CastingTimeIndex" },
- { false, FT_SHORT, "DurationIndex" },
- { false, FT_SHORT, "RangeIndex" },
- { false, FT_BYTE, "SchoolMask" },
- { false, FT_INT, "IconFileDataID" },
- { false, FT_INT, "ActiveIconFileDataID" },
+ { false, FT_INT, "SpellID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellMiscMeta::Instance(), HOTFIX_SEL_SPELL_MISC);
return &loadInfo;
@@ -4395,7 +4432,6 @@ struct SpellPowerLoadInfo
{
static DB2FieldMeta const fields[] =
{
- { false, FT_INT, "SpellID" },
{ true, FT_INT, "ManaCost" },
{ false, FT_FLOAT, "ManaCostPercentage" },
{ false, FT_FLOAT, "ManaCostPercentagePerSecond" },
@@ -4409,6 +4445,7 @@ struct SpellPowerLoadInfo
{ true, FT_INT, "ManaCostAdditional" },
{ false, FT_INT, "PowerDisplayID" },
{ false, FT_INT, "UnitPowerBarID" },
+ { false, FT_INT, "SpellID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellPowerMeta::Instance(), HOTFIX_SEL_SPELL_POWER);
return &loadInfo;
@@ -4454,8 +4491,8 @@ struct SpellProcsPerMinuteModLoadInfo
{ false, FT_INT, "ID" },
{ false, FT_FLOAT, "Coeff" },
{ false, FT_SHORT, "Param" },
- { false, FT_SHORT, "SpellProcsPerMinuteID" },
{ false, FT_BYTE, "Type" },
+ { false, FT_SHORT, "SpellProcsPerMinuteID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellProcsPerMinuteModMeta::Instance(), HOTFIX_SEL_SPELL_PROCS_PER_MINUTE_MOD);
return &loadInfo;
@@ -4486,12 +4523,12 @@ struct SpellRangeLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
+ { false, FT_STRING, "DisplayName" },
+ { false, FT_STRING, "DisplayNameShort" },
{ false, FT_FLOAT, "MinRangeHostile" },
{ false, FT_FLOAT, "MinRangeFriend" },
{ false, FT_FLOAT, "MaxRangeHostile" },
{ false, FT_FLOAT, "MaxRangeFriend" },
- { false, FT_STRING, "DisplayName" },
- { false, FT_STRING, "DisplayNameShort" },
{ false, FT_BYTE, "Flags" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellRangeMeta::Instance(), HOTFIX_SEL_SPELL_RANGE);
@@ -4606,7 +4643,6 @@ struct SpellTargetRestrictionsLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_INT, "SpellID" },
{ false, FT_FLOAT, "ConeAngle" },
{ false, FT_FLOAT, "Width" },
{ false, FT_INT, "Targets" },
@@ -4614,6 +4650,7 @@ struct SpellTargetRestrictionsLoadInfo
{ false, FT_BYTE, "DifficultyID" },
{ false, FT_BYTE, "MaxAffectedTargets" },
{ false, FT_INT, "MaxTargetLevel" },
+ { false, FT_INT, "SpellID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellTargetRestrictionsMeta::Instance(), HOTFIX_SEL_SPELL_TARGET_RESTRICTIONS);
return &loadInfo;
@@ -4644,7 +4681,6 @@ struct SpellXSpellVisualLoadInfo
{
static DB2FieldMeta const fields[] =
{
- { false, FT_INT, "SpellID" },
{ false, FT_INT, "SpellVisualID" },
{ false, FT_INT, "ID" },
{ false, FT_FLOAT, "Chance" },
@@ -4657,6 +4693,7 @@ struct SpellXSpellVisualLoadInfo
{ false, FT_BYTE, "Flags" },
{ false, FT_BYTE, "DifficultyID" },
{ false, FT_BYTE, "Priority" },
+ { false, FT_INT, "SpellID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SpellXSpellVisualMeta::Instance(), HOTFIX_SEL_SPELL_X_SPELL_VISUAL);
return &loadInfo;
@@ -4717,9 +4754,9 @@ struct TalentLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
+ { false, FT_STRING, "Description" },
{ false, FT_INT, "SpellID" },
{ false, FT_INT, "OverridesSpellID" },
- { false, FT_STRING, "Description" },
{ false, FT_SHORT, "SpecID" },
{ false, FT_BYTE, "TierID" },
{ false, FT_BYTE, "ColumnIndex" },
@@ -4740,10 +4777,10 @@ struct TaxiNodesLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
+ { false, FT_STRING, "Name" },
{ false, FT_FLOAT, "PosX" },
{ false, FT_FLOAT, "PosY" },
{ false, FT_FLOAT, "PosZ" },
- { false, FT_STRING, "Name" },
{ false, FT_INT, "MountCreatureID1" },
{ false, FT_INT, "MountCreatureID2" },
{ false, FT_FLOAT, "MapOffsetX" },
@@ -4824,8 +4861,8 @@ struct ToyLoadInfo
{
static DB2FieldMeta const fields[] =
{
- { false, FT_INT, "ItemID" },
{ false, FT_STRING, "Description" },
+ { false, FT_INT, "ItemID" },
{ false, FT_BYTE, "Flags" },
{ false, FT_BYTE, "CategoryFilter" },
{ false, FT_INT, "ID" },
@@ -4908,12 +4945,12 @@ struct TransportAnimationLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_INT, "TransportID" },
{ false, FT_INT, "TimeIndex" },
{ false, FT_FLOAT, "PosX" },
{ false, FT_FLOAT, "PosY" },
{ false, FT_FLOAT, "PosZ" },
{ false, FT_BYTE, "SequenceID" },
+ { false, FT_INT, "TransportID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, TransportAnimationMeta::Instance(), HOTFIX_SEL_TRANSPORT_ANIMATION);
return &loadInfo;
@@ -4927,12 +4964,12 @@ struct TransportRotationLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_INT, "TransportID" },
{ false, FT_INT, "TimeIndex" },
{ false, FT_FLOAT, "X" },
{ false, FT_FLOAT, "Y" },
{ false, FT_FLOAT, "Z" },
{ false, FT_FLOAT, "W" },
+ { false, FT_INT, "TransportID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, TransportRotationMeta::Instance(), HOTFIX_SEL_TRANSPORT_ROTATION);
return &loadInfo;
@@ -4946,6 +4983,10 @@ struct UnitPowerBarLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
+ { false, FT_STRING, "Name" },
+ { false, FT_STRING, "Cost" },
+ { false, FT_STRING, "OutOfError" },
+ { false, FT_STRING, "ToolTip" },
{ false, FT_FLOAT, "RegenerationPeace" },
{ false, FT_FLOAT, "RegenerationCombat" },
{ false, FT_INT, "FileDataID1" },
@@ -4960,10 +5001,6 @@ struct UnitPowerBarLoadInfo
{ false, FT_INT, "Color4" },
{ false, FT_INT, "Color5" },
{ false, FT_INT, "Color6" },
- { false, FT_STRING, "Name" },
- { false, FT_STRING, "Cost" },
- { false, FT_STRING, "OutOfError" },
- { false, FT_STRING, "ToolTip" },
{ false, FT_FLOAT, "StartInset" },
{ false, FT_FLOAT, "EndInset" },
{ false, FT_SHORT, "StartPower" },
@@ -5102,9 +5139,8 @@ struct WmoAreaTableLoadInfo
{
static DB2FieldMeta const fields[] =
{
- { true, FT_INT, "WMOGroupID" },
{ false, FT_STRING, "AreaName" },
- { true, FT_SHORT, "WMOID" },
+ { true, FT_INT, "WMOGroupID" },
{ false, FT_SHORT, "AmbienceID" },
{ false, FT_SHORT, "ZoneMusic" },
{ false, FT_SHORT, "IntroSound" },
@@ -5117,6 +5153,7 @@ struct WmoAreaTableLoadInfo
{ false, FT_BYTE, "Flags" },
{ false, FT_INT, "ID" },
{ false, FT_INT, "UWZoneMusic" },
+ { true, FT_SHORT, "WMOID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, WMOAreaTableMeta::Instance(), HOTFIX_SEL_WMO_AREA_TABLE);
return &loadInfo;
@@ -5177,8 +5214,8 @@ struct WorldMapOverlayLoadInfo
{
static DB2FieldMeta const fields[] =
{
- { false, FT_INT, "ID" },
{ false, FT_STRING_NOT_LOCALIZED, "TextureName" },
+ { false, FT_INT, "ID" },
{ false, FT_SHORT, "TextureWidth" },
{ false, FT_SHORT, "TextureHeight" },
{ false, FT_INT, "MapAreaID" },
@@ -5236,11 +5273,11 @@ struct WorldSafeLocsLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
+ { false, FT_STRING, "AreaName" },
{ false, FT_FLOAT, "LocX" },
{ false, FT_FLOAT, "LocY" },
{ false, FT_FLOAT, "LocZ" },
{ false, FT_FLOAT, "Facing" },
- { false, FT_STRING, "AreaName" },
{ false, FT_SHORT, "MapID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, WorldSafeLocsMeta::Instance(), HOTFIX_SEL_WORLD_SAFE_LOCS);
diff --git a/src/server/game/DataStores/DB2Metadata.h b/src/server/game/DataStores/DB2Metadata.h
index dee2ad55627..f65b1190066 100644
--- a/src/server/game/DataStores/DB2Metadata.h
+++ b/src/server/game/DataStores/DB2Metadata.h
@@ -24,10 +24,9 @@ struct AchievementMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ssishhhhhbbbiii";
+ static char const* types = "sssihhhhhbbbiii";
static uint8 const arraySizes[15] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[15] = { "", "", uint32(0), "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(12, 15, 0xECD1BB04, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(12, 15, 0x2C4BE18C, types, arraySizes, 7);
return &instance;
}
};
@@ -38,8 +37,7 @@ struct Achievement_CategoryMeta
{
static char const* types = "shbi";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint8(0), uint32(0) };
- static DB2Meta instance(3, 4, 0xED226BC9, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(3, 4, 0xED226BC9, types, arraySizes, 2);
return &instance;
}
};
@@ -48,10 +46,9 @@ struct AdventureJournalMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "sssiisshhhhhhbbbbbbbii";
+ static char const* types = "sssssiihhhhhhbbbbbbbii";
static uint8 const arraySizes[22] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[22] = { "", "", "", uint32(0), uint32(0), "", "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 22, 0xF07172ED, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 22, 0xB2FFA8DD, types, arraySizes, -1);
return &instance;
}
};
@@ -60,10 +57,31 @@ struct AdventureMapPOIMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "fissbiiiiiiii";
- static uint8 const arraySizes[13] = { 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[13] = { float(0), uint32(0), "", "", uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 13, 0x3B9015FC, types, arraySizes, fieldDefaults);
+ static char const* types = "ssfibiiiiiiii";
+ static uint8 const arraySizes[13] = { 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(-1, 13, 0x0C288A82, types, arraySizes, -1);
+ return &instance;
+ }
+};
+
+struct AlliedRaceMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static char const* types = "iiiiiiii";
+ static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(1, 8, 0xB13ABE04, types, arraySizes, -1);
+ return &instance;
+ }
+};
+
+struct AlliedRaceRacialAbilityMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static char const* types = "ssbii";
+ static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
+ static DB2Meta instance(-1, 5, 0x9EBF9B09, types, arraySizes, 4);
return &instance;
}
};
@@ -74,8 +92,7 @@ struct AnimKitMeta
{
static char const* types = "ihh";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint16(0) };
- static DB2Meta instance(-1, 3, 0x81D6D250, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x81D6D250, types, arraySizes, -1);
return &instance;
}
};
@@ -86,8 +103,7 @@ struct AnimKitBoneSetMeta
{
static char const* types = "sbbbb";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { "", uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 5, 0xFE4B9B1F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0xFE4B9B1F, types, arraySizes, -1);
return &instance;
}
};
@@ -98,8 +114,7 @@ struct AnimKitBoneSetAliasMeta
{
static char const* types = "bb";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint8(0), uint8(0) };
- static DB2Meta instance(-1, 2, 0xEA8B67BC, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xEA8B67BC, types, arraySizes, -1);
return &instance;
}
};
@@ -110,8 +125,7 @@ struct AnimKitConfigMeta
{
static char const* types = "i";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { uint32(0) };
- static DB2Meta instance(-1, 1, 0x8A70ED4C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x8A70ED4C, types, arraySizes, -1);
return &instance;
}
};
@@ -120,10 +134,9 @@ struct AnimKitConfigBoneSetMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "hhb";
+ static char const* types = "hbh";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0xA86B7D13, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x3D9B3BA7, types, arraySizes, 2);
return &instance;
}
};
@@ -134,8 +147,7 @@ struct AnimKitPriorityMeta
{
static char const* types = "b";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { uint8(0) };
- static DB2Meta instance(-1, 1, 0x5E93C107, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x5E93C107, types, arraySizes, -1);
return &instance;
}
};
@@ -144,10 +156,9 @@ struct AnimKitReplacementMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "hhhhi";
+ static char const* types = "hhhih";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint16(0), uint16(0), uint16(0), uint16(0), uint32(0) };
- static DB2Meta instance(4, 5, 0xA02C2B1F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(3, 5, 0x0735DB83, types, arraySizes, 4);
return &instance;
}
};
@@ -158,8 +169,7 @@ struct AnimKitSegmentMeta
{
static char const* types = "iiifihhhhhhbbbbbbi";
static uint8 const arraySizes[18] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[18] = { uint32(0), uint32(0), uint32(0), float(0), uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 18, 0x08F09B89, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 18, 0x08F09B89, types, arraySizes, 5);
return &instance;
}
};
@@ -168,10 +178,9 @@ struct AnimReplacementMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "hhhhi";
+ static char const* types = "hhhih";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint16(0), uint16(0), uint16(0), uint16(0), uint32(0) };
- static DB2Meta instance(4, 5, 0x5A3CE749, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(3, 5, 0x2C8B0F35, types, arraySizes, 4);
return &instance;
}
};
@@ -182,8 +191,7 @@ struct AnimReplacementSetMeta
{
static char const* types = "b";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { uint8(0) };
- static DB2Meta instance(-1, 1, 0x3761247A, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x3761247A, types, arraySizes, -1);
return &instance;
}
};
@@ -194,8 +202,7 @@ struct AnimationDataMeta
{
static char const* types = "ihhb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x03182786, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x03182786, types, arraySizes, -1);
return &instance;
}
};
@@ -206,8 +213,7 @@ struct AreaFarClipOverrideMeta
{
static char const* types = "iffii";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint32(0), float(0), float(0), uint32(0), uint32(0) };
- static DB2Meta instance(4, 5, 0xEB5921CC, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(4, 5, 0xEB5921CC, types, arraySizes, -1);
return &instance;
}
};
@@ -218,8 +224,7 @@ struct AreaGroupMemberMeta
{
static char const* types = "hh";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0x5090E5D2, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x50AA43EE, types, arraySizes, 1);
return &instance;
}
};
@@ -228,10 +233,9 @@ struct AreaPOIMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ifssiihhhhbbiiii";
- static uint8 const arraySizes[16] = { 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[16] = { uint32(0), float(0), "", "", uint32(0), uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 16, 0xEF88CC36, types, arraySizes, fieldDefaults);
+ static char const* types = "ssifiihhhhbbiiii";
+ static uint8 const arraySizes[16] = { 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(-1, 16, 0xB161EE90, types, arraySizes, -1);
return &instance;
}
};
@@ -240,10 +244,9 @@ struct AreaPOIStateMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "shbbi";
+ static char const* types = "sbbih";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { "", uint16(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 5, 0x847BC2B0, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x673BDA80, types, arraySizes, 4);
return &instance;
}
};
@@ -252,10 +255,9 @@ struct AreaTableMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "isfshhhhhhhhhhbbbbbbbbi";
- static uint8 const arraySizes[23] = { 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[23] = { uint32(0), "", float(0), "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 23, 0x81DA5CCB, types, arraySizes, fieldDefaults);
+ static char const* types = "ssifhhhhhhhhhhbbbbbbbbi";
+ static uint8 const arraySizes[23] = { 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(-1, 23, 0x0CA01129, types, arraySizes, -1);
return &instance;
}
};
@@ -266,8 +268,7 @@ struct AreaTriggerMeta
{
static char const* types = "ffffffhhhhhbbbi";
static uint8 const arraySizes[15] = { 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[15] = { float(0), float(0), float(0), float(0), float(0), float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(14, 15, 0x378573E8, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(14, 15, 0x378573E8, types, arraySizes, 6);
return &instance;
}
};
@@ -278,8 +279,7 @@ struct AreaTriggerActionSetMeta
{
static char const* types = "h";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { uint16(0) };
- static DB2Meta instance(-1, 1, 0x5DA480BD, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x5DA480BD, types, arraySizes, -1);
return &instance;
}
};
@@ -290,8 +290,7 @@ struct AreaTriggerBoxMeta
{
static char const* types = "f";
static uint8 const arraySizes[1] = { 3 };
- static DB2FieldDefault const fieldDefaults[1] = { float(0) };
- static DB2Meta instance(-1, 1, 0x602CFDA6, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x602CFDA6, types, arraySizes, -1);
return &instance;
}
};
@@ -302,8 +301,7 @@ struct AreaTriggerCylinderMeta
{
static char const* types = "fff";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { float(0), float(0), float(0) };
- static DB2Meta instance(-1, 3, 0x26D4052D, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x26D4052D, types, arraySizes, -1);
return &instance;
}
};
@@ -314,8 +312,7 @@ struct AreaTriggerSphereMeta
{
static char const* types = "f";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { float(0) };
- static DB2Meta instance(-1, 1, 0x9141AC7F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x9141AC7F, types, arraySizes, -1);
return &instance;
}
};
@@ -326,8 +323,7 @@ struct ArmorLocationMeta
{
static char const* types = "fffff";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), float(0), float(0), float(0) };
- static DB2Meta instance(-1, 5, 0xCCFBD16E, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0xCCFBD16E, types, arraySizes, -1);
return &instance;
}
};
@@ -338,8 +334,7 @@ struct ArtifactMeta
{
static char const* types = "siiihhbbii";
static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[10] = { "", uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 10, 0x76CF31A8, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 10, 0x76CF31A8, types, arraySizes, -1);
return &instance;
}
};
@@ -350,8 +345,7 @@ struct ArtifactAppearanceMeta
{
static char const* types = "siffihhbbbbiiii";
static uint8 const arraySizes[15] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[15] = { "", uint32(0), float(0), float(0), uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(11, 15, 0xAEED7395, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(11, 15, 0xAEED7395, types, arraySizes, 5);
return &instance;
}
};
@@ -360,10 +354,9 @@ struct ArtifactAppearanceSetMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "sshhbbbbi";
+ static char const* types = "sshhbbbib";
static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[9] = { "", "", uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(8, 9, 0xF3308990, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(7, 9, 0x53DFED74, types, arraySizes, 8);
return &instance;
}
};
@@ -374,8 +367,7 @@ struct ArtifactCategoryMeta
{
static char const* types = "hh";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0x21328475, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x21328475, types, arraySizes, -1);
return &instance;
}
};
@@ -386,8 +378,7 @@ struct ArtifactPowerMeta
{
static char const* types = "fbbbbii";
static uint8 const arraySizes[7] = { 2, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { float(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(5, 7, 0x45240818, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(5, 7, 0x45240818, types, arraySizes, 1);
return &instance;
}
};
@@ -398,8 +389,7 @@ struct ArtifactPowerLinkMeta
{
static char const* types = "hh";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0xE179618C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xE179618C, types, arraySizes, -1);
return &instance;
}
};
@@ -410,8 +400,7 @@ struct ArtifactPowerPickerMeta
{
static char const* types = "i";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { uint32(0) };
- static DB2Meta instance(-1, 1, 0x2D6AF006, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x2D6AF006, types, arraySizes, -1);
return &instance;
}
};
@@ -420,10 +409,9 @@ struct ArtifactPowerRankMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ifhhb";
+ static char const* types = "ifhbh";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint32(0), float(0), uint16(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 5, 0x137FD462, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0xA87EACC4, types, arraySizes, 4);
return &instance;
}
};
@@ -434,8 +422,7 @@ struct ArtifactQuestXPMeta
{
static char const* types = "i";
static uint8 const arraySizes[1] = { 10 };
- static DB2FieldDefault const fieldDefaults[1] = { uint32(0) };
- static DB2Meta instance(-1, 1, 0xFBBEEF86, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x86397302, types, arraySizes, -1);
return &instance;
}
};
@@ -446,8 +433,7 @@ struct ArtifactTierMeta
{
static char const* types = "iiiii";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 5, 0x1A5A50B9, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x1A5A50B9, types, arraySizes, -1);
return &instance;
}
};
@@ -456,10 +442,9 @@ struct ArtifactUnlockMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "hbbii";
+ static char const* types = "hbiib";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 5, 0x8F325A85, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x52839A77, types, arraySizes, 4);
return &instance;
}
};
@@ -470,8 +455,7 @@ struct AuctionHouseMeta
{
static char const* types = "shbb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x51CFEEFF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x51CFEEFF, types, arraySizes, -1);
return &instance;
}
};
@@ -482,8 +466,7 @@ struct BankBagSlotPricesMeta
{
static char const* types = "i";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { uint32(0) };
- static DB2Meta instance(-1, 1, 0xEA0AC2AA, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0xEA0AC2AA, types, arraySizes, -1);
return &instance;
}
};
@@ -494,8 +477,7 @@ struct BannedAddonsMeta
{
static char const* types = "ssb";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", "", uint8(0) };
- static DB2Meta instance(-1, 3, 0xF779B6E5, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xF779B6E5, types, arraySizes, -1);
return &instance;
}
};
@@ -506,8 +488,7 @@ struct BarberShopStyleMeta
{
static char const* types = "ssfbbbbi";
static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[8] = { "", "", float(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(7, 8, 0x670C71AE, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(7, 8, 0x670C71AE, types, arraySizes, -1);
return &instance;
}
};
@@ -516,10 +497,9 @@ struct BattlePetAbilityMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "isshbbi";
+ static char const* types = "ssihbbi";
static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint32(0), "", "", uint16(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 7, 0x70E6EB47, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 7, 0x0F29944D, types, arraySizes, -1);
return &instance;
}
};
@@ -530,8 +510,7 @@ struct BattlePetAbilityEffectMeta
{
static char const* types = "hhhhhbi";
static uint8 const arraySizes[7] = { 1, 1, 1, 1, 6, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint32(0) };
- static DB2Meta instance(6, 7, 0x5D30EBC5, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(6, 7, 0x5D30EBC5, types, arraySizes, 0);
return &instance;
}
};
@@ -540,10 +519,9 @@ struct BattlePetAbilityStateMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ihb";
+ static char const* types = "ibh";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0xEB92CA24, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x0E40A884, types, arraySizes, 2);
return &instance;
}
};
@@ -554,8 +532,7 @@ struct BattlePetAbilityTurnMeta
{
static char const* types = "hhbbbi";
static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(5, 6, 0xCB063F4F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(5, 6, 0xCB063F4F, types, arraySizes, 0);
return &instance;
}
};
@@ -566,8 +543,7 @@ struct BattlePetBreedQualityMeta
{
static char const* types = "fb";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { float(0), uint8(0) };
- static DB2Meta instance(-1, 2, 0xBDE74E1D, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xBDE74E1D, types, arraySizes, -1);
return &instance;
}
};
@@ -578,8 +554,18 @@ struct BattlePetBreedStateMeta
{
static char const* types = "hbb";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0xF83140B5, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x68D5C999, types, arraySizes, 2);
+ return &instance;
+ }
+};
+
+struct BattlePetDisplayOverrideMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static char const* types = "iiib";
+ static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
+ static DB2Meta instance(-1, 4, 0xDE5129EA, types, arraySizes, -1);
return &instance;
}
};
@@ -590,8 +576,7 @@ struct BattlePetEffectPropertiesMeta
{
static char const* types = "shb";
static uint8 const arraySizes[3] = { 6, 1, 6 };
- static DB2FieldDefault const fieldDefaults[3] = { "", uint16(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0x56070751, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x56070751, types, arraySizes, -1);
return &instance;
}
};
@@ -602,8 +587,7 @@ struct BattlePetNPCTeamMemberMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0x4423F004, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x4423F004, types, arraySizes, -1);
return &instance;
}
};
@@ -612,10 +596,9 @@ struct BattlePetSpeciesMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iiisshbbiii";
+ static char const* types = "ssiiihbbiii";
static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[11] = { uint32(0), uint32(0), uint32(0), "", "", uint16(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(8, 11, 0x4B260652, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(8, 11, 0x8A3D97A4, types, arraySizes, -1);
return &instance;
}
};
@@ -624,10 +607,9 @@ struct BattlePetSpeciesStateMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ihb";
+ static char const* types = "ibh";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0xDF3FD8BC, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x8F958D5C, types, arraySizes, 2);
return &instance;
}
};
@@ -636,10 +618,9 @@ struct BattlePetSpeciesXAbilityMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "hhbb";
+ static char const* types = "hbbh";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x2A8E4E6A, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x9EE27D6A, types, arraySizes, 3);
return &instance;
}
};
@@ -650,8 +631,7 @@ struct BattlePetStateMeta
{
static char const* types = "shh";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", uint16(0), uint16(0) };
- static DB2Meta instance(-1, 3, 0x1797AB4A, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x1797AB4A, types, arraySizes, -1);
return &instance;
}
};
@@ -660,10 +640,9 @@ struct BattlePetVisualMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ishhhbb";
+ static char const* types = "sihhhbb";
static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint32(0), "", uint16(0), uint16(0), uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 7, 0x5EE6A1F2, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 7, 0x097E0F6C, types, arraySizes, -1);
return &instance;
}
};
@@ -672,10 +651,9 @@ struct BattlemasterListMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "sissshhhbbbbbbbbb";
+ static char const* types = "ssssihhhbbbbbbbbb";
static uint8 const arraySizes[17] = { 1, 1, 1, 1, 1, 16, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[17] = { "", uint32(0), "", "", "", uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 17, 0x4A89A6B2, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 17, 0xD8AAA088, types, arraySizes, -1);
return &instance;
}
};
@@ -686,8 +664,7 @@ struct BeamEffectMeta
{
static char const* types = "iffihhhhhh";
static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[10] = { uint32(0), float(0), float(0), uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0) };
- static DB2Meta instance(-1, 10, 0x42C18603, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 10, 0x42C18603, types, arraySizes, -1);
return &instance;
}
};
@@ -698,8 +675,7 @@ struct BoneWindModifierModelMeta
{
static char const* types = "ii";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint32(0) };
- static DB2Meta instance(-1, 2, 0x577A0772, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x577A0772, types, arraySizes, 0);
return &instance;
}
};
@@ -710,8 +686,7 @@ struct BoneWindModifiersMeta
{
static char const* types = "ff";
static uint8 const arraySizes[2] = { 3, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { float(0), float(0) };
- static DB2Meta instance(-1, 2, 0xB4E7449E, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xB4E7449E, types, arraySizes, -1);
return &instance;
}
};
@@ -720,10 +695,9 @@ struct BountyMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ihhbi";
+ static char const* types = "ihhib";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint16(0), uint16(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 5, 0x10991B3A, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0xE76E716C, types, arraySizes, 4);
return &instance;
}
};
@@ -734,8 +708,7 @@ struct BountySetMeta
{
static char const* types = "hi";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint32(0) };
- static DB2Meta instance(-1, 2, 0x96B908A5, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x96B908A5, types, arraySizes, -1);
return &instance;
}
};
@@ -745,9 +718,8 @@ struct BroadcastTextMeta
static DB2Meta const* Instance()
{
static char const* types = "sshhhbbii";
- static uint8 const arraySizes[9] = { 1, 1, 3, 3, 1, 1, 1, 2, 1 };
- static DB2FieldDefault const fieldDefaults[9] = { "", "", uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 9, 0xC5965DBB, types, arraySizes, fieldDefaults);
+ static uint8 const arraySizes[9] = { 1, 1, 3, 3, 1, 1, 1, 1, 2 };
+ static DB2Meta instance(-1, 9, 0x51BF0C33, types, arraySizes, -1);
return &instance;
}
};
@@ -758,8 +730,7 @@ struct CameraEffectMeta
{
static char const* types = "b";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { uint8(0) };
- static DB2Meta instance(-1, 1, 0xF6AB4622, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0xF6AB4622, types, arraySizes, -1);
return &instance;
}
};
@@ -768,10 +739,9 @@ struct CameraEffectEntryMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ffffffffhhbbbbbb";
+ static char const* types = "ffffffffhbbbbbbh";
static uint8 const arraySizes[16] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[16] = { float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 16, 0x0CAA2689, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 16, 0xC5105557, types, arraySizes, 15);
return &instance;
}
};
@@ -782,8 +752,7 @@ struct CameraModeMeta
{
static char const* types = "fffffhbbbbb";
static uint8 const arraySizes[11] = { 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[11] = { float(0), float(0), float(0), float(0), float(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 11, 0xCDB6BC2F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 11, 0xCDB6BC2F, types, arraySizes, -1);
return &instance;
}
};
@@ -794,8 +763,7 @@ struct CastableRaidBuffsMeta
{
static char const* types = "ii";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint32(0) };
- static DB2Meta instance(-1, 2, 0xCA0B29B8, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x5BDD4028, types, arraySizes, 1);
return &instance;
}
};
@@ -806,8 +774,7 @@ struct CelestialBodyMeta
{
static char const* types = "iiiiiifffffffhi";
static uint8 const arraySizes[15] = { 1, 1, 2, 1, 1, 2, 2, 2, 1, 2, 1, 3, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[15] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint16(0), uint32(0) };
- static DB2Meta instance(14, 15, 0xD09BE31C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(14, 15, 0xD09BE31C, types, arraySizes, -1);
return &instance;
}
};
@@ -818,8 +785,7 @@ struct Cfg_CategoriesMeta
{
static char const* types = "shbbb";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { "", uint16(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 5, 0x705B82C8, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x705B82C8, types, arraySizes, -1);
return &instance;
}
};
@@ -830,8 +796,7 @@ struct Cfg_ConfigsMeta
{
static char const* types = "fhbb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { float(0), uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0xC618392F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0xC618392F, types, arraySizes, -1);
return &instance;
}
};
@@ -842,8 +807,7 @@ struct Cfg_RegionsMeta
{
static char const* types = "siihb";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { "", uint32(0), uint32(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 5, 0x9F4272BF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x9F4272BF, types, arraySizes, -1);
return &instance;
}
};
@@ -854,8 +818,7 @@ struct CharBaseInfoMeta
{
static char const* types = "bb";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint8(0), uint8(0) };
- static DB2Meta instance(-1, 2, 0x9E9939B8, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x9E9939B8, types, arraySizes, -1);
return &instance;
}
};
@@ -866,8 +829,7 @@ struct CharBaseSectionMeta
{
static char const* types = "bbb";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0x4F08B5F3, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x4F08B5F3, types, arraySizes, -1);
return &instance;
}
};
@@ -878,8 +840,7 @@ struct CharComponentTextureLayoutsMeta
{
static char const* types = "hh";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0x0F515E34, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x0F515E34, types, arraySizes, -1);
return &instance;
}
};
@@ -888,10 +849,9 @@ struct CharComponentTextureSectionsMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "hhhhbbb";
+ static char const* types = "ihhhhbb";
static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 7, 0x4E53231B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 7, 0xCE76000F, types, arraySizes, -1);
return &instance;
}
};
@@ -902,8 +862,7 @@ struct CharHairGeosetsMeta
{
static char const* types = "ibbbbbbbbi";
static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[10] = { uint32(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 10, 0x33EB32D2, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 10, 0x33EB32D2, types, arraySizes, 1);
return &instance;
}
};
@@ -914,8 +873,7 @@ struct CharSectionsMeta
{
static char const* types = "ihbbbbb";
static uint8 const arraySizes[7] = { 3, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 7, 0xE349E55B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 7, 0xE349E55B, types, arraySizes, -1);
return &instance;
}
};
@@ -926,8 +884,7 @@ struct CharShipmentMeta
{
static char const* types = "iiiiihhbb";
static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[9] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 9, 0xE6D3C7C1, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 9, 0xE6D3C7C1, types, arraySizes, 5);
return &instance;
}
};
@@ -938,8 +895,7 @@ struct CharShipmentContainerMeta
{
static char const* types = "ssihhhhhhbbbbbbi";
static uint8 const arraySizes[16] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[16] = { "", "", uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 16, 0x194896E3, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 16, 0x194896E3, types, arraySizes, -1);
return &instance;
}
};
@@ -950,8 +906,7 @@ struct CharStartOutfitMeta
{
static char const* types = "iibbbbb";
static uint8 const arraySizes[7] = { 24, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint32(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 7, 0xA154D994, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 7, 0x0EEBEE24, types, arraySizes, 6);
return &instance;
}
};
@@ -962,8 +917,7 @@ struct CharTitlesMeta
{
static char const* types = "sshb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { "", "", uint16(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x7A58AA5F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x7A58AA5F, types, arraySizes, -1);
return &instance;
}
};
@@ -972,10 +926,9 @@ struct CharacterFaceBoneSetMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ibbb";
- static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x4D109D66, types, arraySizes, fieldDefaults);
+ static char const* types = "ibbbb";
+ static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
+ static DB2Meta instance(-1, 5, 0x1C634076, types, arraySizes, 4);
return &instance;
}
};
@@ -986,8 +939,7 @@ struct CharacterFacialHairStylesMeta
{
static char const* types = "ibbb";
static uint8 const arraySizes[4] = { 5, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x47D79688, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x47D79688, types, arraySizes, -1);
return &instance;
}
};
@@ -996,10 +948,9 @@ struct CharacterLoadoutMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ibb";
+ static char const* types = "lbb";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0x04E3F51D, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x87B51673, types, arraySizes, -1);
return &instance;
}
};
@@ -1010,8 +961,18 @@ struct CharacterLoadoutItemMeta
{
static char const* types = "ih";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0x3C3D40B9, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x3C3D40B9, types, arraySizes, 1);
+ return &instance;
+ }
+};
+
+struct CharacterServiceInfoMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static char const* types = "sssiiiiiiii";
+ static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(-1, 11, 0xADE120EF, types, arraySizes, -1);
return &instance;
}
};
@@ -1020,10 +981,9 @@ struct ChatChannelsMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "issb";
+ static char const* types = "ssib";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), "", "", uint8(0) };
- static DB2Meta instance(-1, 4, 0xC97ED7F6, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x1A325E80, types, arraySizes, -1);
return &instance;
}
};
@@ -1034,8 +994,7 @@ struct ChatProfanityMeta
{
static char const* types = "sb";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) };
- static DB2Meta instance(-1, 2, 0x328E1FE6, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x328E1FE6, types, arraySizes, -1);
return &instance;
}
};
@@ -1046,8 +1005,7 @@ struct ChrClassRaceSexMeta
{
static char const* types = "bbbiii";
static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 6, 0x5E29DFA1, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 6, 0x5E29DFA1, types, arraySizes, -1);
return &instance;
}
};
@@ -1058,8 +1016,7 @@ struct ChrClassTitleMeta
{
static char const* types = "ssb";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", "", uint8(0) };
- static DB2Meta instance(-1, 3, 0xC155DB2C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xC155DB2C, types, arraySizes, -1);
return &instance;
}
};
@@ -1070,8 +1027,7 @@ struct ChrClassUIDisplayMeta
{
static char const* types = "bii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x59A95A73, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x59A95A73, types, arraySizes, -1);
return &instance;
}
};
@@ -1082,8 +1038,7 @@ struct ChrClassVillainMeta
{
static char const* types = "sbb";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0xA6AC18CD, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xA6AC18CD, types, arraySizes, -1);
return &instance;
}
};
@@ -1092,10 +1047,9 @@ struct ChrClassesMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "sssssiiiihhhbbbbbbi";
- static uint8 const arraySizes[19] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[19] = { "", "", "", "", "", uint32(0), uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(18, 19, 0x8881D5B2, types, arraySizes, fieldDefaults);
+ static char const* types = "sssssiiiiihhhbbbbbbi";
+ static uint8 const arraySizes[20] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(19, 20, 0x6F7AB8E7, types, arraySizes, -1);
return &instance;
}
};
@@ -1106,8 +1060,18 @@ struct ChrClassesXPowerTypesMeta
{
static char const* types = "bb";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint8(0), uint8(0) };
- static DB2Meta instance(-1, 2, 0xBBF09AA3, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xAF977B23, types, arraySizes, 1);
+ return &instance;
+ }
+};
+
+struct ChrCustomizationMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static char const* types = "siiiii";
+ static uint8 const arraySizes[6] = { 1, 1, 1, 1, 3, 1 };
+ static DB2Meta instance(-1, 6, 0x71833CE5, types, arraySizes, 5);
return &instance;
}
};
@@ -1116,10 +1080,9 @@ struct ChrRacesMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iiisssssssiiffihhhhbbbbbbbbbbiiii";
- static uint8 const arraySizes[33] = { 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3 };
- static DB2FieldDefault const fieldDefaults[33] = { uint32(0), uint32(0), uint32(0), "", "", "", "", "", "", "", uint32(0), uint32(0), float(0), float(0), uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 33, 0x608397F0, types, arraySizes, fieldDefaults);
+ static char const* types = "ssssssiiiiiffiiihhhhbbbbbbbbbbiiiiiiii";
+ static uint8 const arraySizes[38] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3 };
+ static DB2Meta instance(30, 38, 0x51C511F9, types, arraySizes, -1);
return &instance;
}
};
@@ -1128,10 +1091,9 @@ struct ChrSpecializationMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "isssbbbbbiiii";
- static uint8 const arraySizes[13] = { 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[13] = { uint32(0), "", "", "", uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(9, 13, 0x02E4C36D, types, arraySizes, fieldDefaults);
+ static char const* types = "sssibbbbbiiii";
+ static uint8 const arraySizes[13] = { 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(9, 13, 0x3D86B8F7, types, arraySizes, 4);
return &instance;
}
};
@@ -1140,10 +1102,9 @@ struct ChrUpgradeBucketMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "hbi";
+ static char const* types = "hib";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint8(0), uint32(0) };
- static DB2Meta instance(2, 3, 0xFC93B024, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(1, 3, 0xACF64A80, types, arraySizes, 2);
return &instance;
}
};
@@ -1154,8 +1115,7 @@ struct ChrUpgradeBucketSpellMeta
{
static char const* types = "ih";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0xDF939031, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xDF939031, types, arraySizes, 1);
return &instance;
}
};
@@ -1166,8 +1126,7 @@ struct ChrUpgradeTierMeta
{
static char const* types = "sbbi";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { "", uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(3, 4, 0x2C87937D, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(3, 4, 0x2C87937D, types, arraySizes, -1);
return &instance;
}
};
@@ -1178,8 +1137,7 @@ struct CinematicCameraMeta
{
static char const* types = "iffi";
static uint8 const arraySizes[4] = { 1, 3, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), float(0), float(0), uint32(0) };
- static DB2Meta instance(-1, 4, 0x0062B0F4, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x0062B0F4, types, arraySizes, -1);
return &instance;
}
};
@@ -1190,8 +1148,7 @@ struct CinematicSequencesMeta
{
static char const* types = "ih";
static uint8 const arraySizes[2] = { 1, 8 };
- static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0x470FDA8C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x470FDA8C, types, arraySizes, -1);
return &instance;
}
};
@@ -1202,8 +1159,7 @@ struct CloakDampeningMeta
{
static char const* types = "fffffff";
static uint8 const arraySizes[7] = { 5, 5, 2, 2, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { float(0), float(0), float(0), float(0), float(0), float(0), float(0) };
- static DB2Meta instance(-1, 7, 0xB2DF7F2A, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 7, 0xB2DF7F2A, types, arraySizes, -1);
return &instance;
}
};
@@ -1214,8 +1170,7 @@ struct CombatConditionMeta
{
static char const* types = "hhhhhbbbbbb";
static uint8 const arraySizes[11] = { 1, 1, 1, 2, 2, 2, 2, 1, 2, 2, 1 };
- static DB2FieldDefault const fieldDefaults[11] = { uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 11, 0x28D253C6, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 11, 0x28D253C6, types, arraySizes, -1);
return &instance;
}
};
@@ -1226,8 +1181,7 @@ struct CommentatorStartLocationMeta
{
static char const* types = "fi";
static uint8 const arraySizes[2] = { 3, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { float(0), uint32(0) };
- static DB2Meta instance(-1, 2, 0xEFD540EF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xEFD540EF, types, arraySizes, -1);
return &instance;
}
};
@@ -1236,10 +1190,9 @@ struct CommentatorTrackedCooldownMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "hbbi";
+ static char const* types = "bbih";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 4, 0xEE950B2C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x84985168, types, arraySizes, 3);
return &instance;
}
};
@@ -1250,8 +1203,7 @@ struct ComponentModelFileDataMeta
{
static char const* types = "bbbb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x25BB55A7, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x25BB55A7, types, arraySizes, -1);
return &instance;
}
};
@@ -1262,8 +1214,7 @@ struct ComponentTextureFileDataMeta
{
static char const* types = "bbb";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0x50C58D4F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x50C58D4F, types, arraySizes, -1);
return &instance;
}
};
@@ -1274,8 +1225,7 @@ struct ConfigurationWarningMeta
{
static char const* types = "si";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { "", uint32(0) };
- static DB2Meta instance(-1, 2, 0x0B350390, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x0B350390, types, arraySizes, -1);
return &instance;
}
};
@@ -1284,10 +1234,9 @@ struct ContributionMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iissii";
+ static char const* types = "ssiiii";
static uint8 const arraySizes[6] = { 1, 1, 1, 1, 4, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint32(0), "", "", uint32(0), uint32(0) };
- static DB2Meta instance(0, 6, 0xE3E9AE34, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(2, 6, 0x8EDF6090, types, arraySizes, 3);
return &instance;
}
};
@@ -1298,8 +1247,7 @@ struct ConversationLineMeta
{
static char const* types = "iiihhbbb";
static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[8] = { uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 8, 0x032B137B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 8, 0x032B137B, types, arraySizes, -1);
return &instance;
}
};
@@ -1308,10 +1256,9 @@ struct CreatureMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iiifssssbbbb";
- static uint8 const arraySizes[12] = { 3, 1, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[12] = { uint32(0), uint32(0), uint32(0), float(0), "", "", "", "", uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 12, 0xA13B6B19, types, arraySizes, fieldDefaults);
+ static char const* types = "ssssiiifbbbb";
+ static uint8 const arraySizes[12] = { 1, 1, 1, 1, 3, 1, 4, 4, 1, 1, 1, 1 };
+ static DB2Meta instance(-1, 12, 0xCFB508A9, types, arraySizes, -1);
return &instance;
}
};
@@ -1320,10 +1267,9 @@ struct CreatureDifficultyMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iihbbb";
- static uint8 const arraySizes[6] = { 1, 7, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint32(0), uint16(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 6, 0xB8481E58, types, arraySizes, fieldDefaults);
+ static char const* types = "ihbbbi";
+ static uint8 const arraySizes[6] = { 7, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(-1, 6, 0x4291EEC6, types, arraySizes, 5);
return &instance;
}
};
@@ -1334,8 +1280,7 @@ struct CreatureDispXUiCameraMeta
{
static char const* types = "ih";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0x6E0E7C15, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x6E0E7C15, types, arraySizes, -1);
return &instance;
}
};
@@ -1344,10 +1289,9 @@ struct CreatureDisplayInfoMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ifhhbbbiiibhfibhihhbifi";
- static uint8 const arraySizes[23] = { 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[23] = { uint32(0), float(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint8(255), uint16(0), float(0), uint32(0), uint8(0), uint16(0), uint32(0), uint16(0), uint16(0), uint8(255), uint32(0), float(1), uint32(0) };
- static DB2Meta instance(0, 23, 0xCFD2D5EF, types, arraySizes, fieldDefaults);
+ static char const* types = "ifhhbbbiibhfibhihhbifii";
+ static uint8 const arraySizes[23] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 };
+ static DB2Meta instance(0, 23, 0x406268DF, types, arraySizes, -1);
return &instance;
}
};
@@ -1356,10 +1300,9 @@ struct CreatureDisplayInfoCondMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iiiiibbiiiiiiii";
- static uint8 const arraySizes[15] = { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 };
- static DB2FieldDefault const fieldDefaults[15] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 15, 0x223879D9, types, arraySizes, fieldDefaults);
+ static char const* types = "liiibbiiiiiiiii";
+ static uint8 const arraySizes[15] = { 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1 };
+ static DB2Meta instance(-1, 15, 0x26CD44AB, types, arraySizes, 14);
return &instance;
}
};
@@ -1368,10 +1311,9 @@ struct CreatureDisplayInfoEvtMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iiib";
+ static char const* types = "iibi";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint32(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x72705163, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x3FEF69BB, types, arraySizes, 3);
return &instance;
}
};
@@ -1382,8 +1324,7 @@ struct CreatureDisplayInfoExtraMeta
{
static char const* types = "iibbbbbbbbbb";
static uint8 const arraySizes[12] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1 };
- static DB2FieldDefault const fieldDefaults[12] = { uint32(0), uint32(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 12, 0x6DF98EF6, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 12, 0x6DF98EF6, types, arraySizes, -1);
return &instance;
}
};
@@ -1392,10 +1333,9 @@ struct CreatureDisplayInfoTrnMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iifii";
- static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), float(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 5, 0x04148090, types, arraySizes, fieldDefaults);
+ static char const* types = "ifiiii";
+ static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(-1, 6, 0x8E687740, types, arraySizes, 5);
return &instance;
}
};
@@ -1404,10 +1344,9 @@ struct CreatureFamilyMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ffsihhbbb";
+ static char const* types = "sffihhbbb";
static uint8 const arraySizes[9] = { 1, 1, 1, 1, 2, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[9] = { float(0), float(0), "", uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 9, 0x216FF23E, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 9, 0xE2DC5126, types, arraySizes, -1);
return &instance;
}
};
@@ -1418,8 +1357,7 @@ struct CreatureImmunitiesMeta
{
static char const* types = "ibbbbbiii";
static uint8 const arraySizes[9] = { 2, 1, 1, 1, 1, 1, 1, 8, 16 };
- static DB2FieldDefault const fieldDefaults[9] = { uint32(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 9, 0x1987DDC3, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 9, 0x2D20050B, types, arraySizes, -1);
return &instance;
}
};
@@ -1430,8 +1368,7 @@ struct CreatureModelDataMeta
{
static char const* types = "ffffffffffffffffffiiiiiiiiii";
static uint8 const arraySizes[28] = { 1, 1, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[28] = { float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 28, 0x983BD312, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 28, 0x983BD312, types, arraySizes, -1);
return &instance;
}
};
@@ -1442,8 +1379,7 @@ struct CreatureMovementInfoMeta
{
static char const* types = "f";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { float(0) };
- static DB2Meta instance(-1, 1, 0x39F710E3, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x39F710E3, types, arraySizes, -1);
return &instance;
}
};
@@ -1453,9 +1389,8 @@ struct CreatureSoundDataMeta
static DB2Meta const* Instance()
{
static char const* types = "ffbiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii";
- static uint8 const arraySizes[37] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[37] = { float(0), float(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 37, 0xDC142D11, types, arraySizes, fieldDefaults);
+ static uint8 const arraySizes[37] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 4 };
+ static DB2Meta instance(-1, 37, 0x7C3C39B9, types, arraySizes, -1);
return &instance;
}
};
@@ -1466,8 +1401,7 @@ struct CreatureTypeMeta
{
static char const* types = "sb";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) };
- static DB2Meta instance(-1, 2, 0x7BA9D2F8, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x7BA9D2F8, types, arraySizes, -1);
return &instance;
}
};
@@ -1478,8 +1412,7 @@ struct CreatureXContributionMeta
{
static char const* types = "iii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(0, 3, 0xFB1F88E8, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(0, 3, 0x3448DF58, types, arraySizes, 2);
return &instance;
}
};
@@ -1490,8 +1423,7 @@ struct CriteriaMeta
{
static char const* types = "iiiihhbbbbb";
static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[11] = { uint32(0), uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 11, 0xA87A5BB9, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 11, 0xA87A5BB9, types, arraySizes, -1);
return &instance;
}
};
@@ -1500,10 +1432,9 @@ struct CriteriaTreeMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ishbiii";
+ static char const* types = "sihbiii";
static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint32(0), "", uint16(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 7, 0xCEDCC5E4, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 7, 0x0A1B99C2, types, arraySizes, -1);
return &instance;
}
};
@@ -1514,8 +1445,7 @@ struct CriteriaTreeXEffectMeta
{
static char const* types = "hi";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint32(0) };
- static DB2Meta instance(-1, 2, 0x929D9B0C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x929D9B0C, types, arraySizes, 1);
return &instance;
}
};
@@ -1526,8 +1456,7 @@ struct CurrencyCategoryMeta
{
static char const* types = "sbb";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0xC3735D76, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xC3735D76, types, arraySizes, -1);
return &instance;
}
};
@@ -1536,10 +1465,9 @@ struct CurrencyTypesMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "siiisbbbii";
+ static char const* types = "ssiiibbbii";
static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[10] = { "", uint32(0), uint32(0), uint32(0), "", uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 10, 0x3683A671, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 10, 0x6CC25CBF, types, arraySizes, -1);
return &instance;
}
};
@@ -1550,8 +1478,7 @@ struct CurveMeta
{
static char const* types = "bb";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint8(0), uint8(0) };
- static DB2Meta instance(-1, 2, 0x17EA5154, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x17EA5154, types, arraySizes, -1);
return &instance;
}
};
@@ -1562,8 +1489,7 @@ struct CurvePointMeta
{
static char const* types = "fhb";
static uint8 const arraySizes[3] = { 2, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { float(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0xF36752EB, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xF36752EB, types, arraySizes, -1);
return &instance;
}
};
@@ -1574,8 +1500,7 @@ struct DeathThudLookupsMeta
{
static char const* types = "bbii";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 4, 0xD469085C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0xD469085C, types, arraySizes, -1);
return &instance;
}
};
@@ -1586,8 +1511,7 @@ struct DecalPropertiesMeta
{
static char const* types = "iiffffffffbbiiiii";
static uint8 const arraySizes[17] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[17] = { uint32(0), uint32(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(0, 17, 0x963A1286, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(0, 17, 0xDD48C72A, types, arraySizes, -1);
return &instance;
}
};
@@ -1598,8 +1522,7 @@ struct DeclinedWordMeta
{
static char const* types = "si";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { "", uint32(0) };
- static DB2Meta instance(1, 2, 0x3FF5EC3E, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(1, 2, 0x3FF5EC3E, types, arraySizes, -1);
return &instance;
}
};
@@ -1610,8 +1533,7 @@ struct DeclinedWordCasesMeta
{
static char const* types = "sbi";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x821A20A9, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x821A20A9, types, arraySizes, 2);
return &instance;
}
};
@@ -1622,8 +1544,7 @@ struct DestructibleModelDataMeta
{
static char const* types = "hhhhhbbbbbbbbbbbbbbbbb";
static uint8 const arraySizes[22] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[22] = { uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 22, 0x1092C9AF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 22, 0x1092C9AF, types, arraySizes, -1);
return &instance;
}
};
@@ -1634,8 +1555,7 @@ struct DeviceBlacklistMeta
{
static char const* types = "hh";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0xD956413D, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xD956413D, types, arraySizes, -1);
return &instance;
}
};
@@ -1646,8 +1566,7 @@ struct DeviceDefaultSettingsMeta
{
static char const* types = "hhb";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0x90CFEC8C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x90CFEC8C, types, arraySizes, -1);
return &instance;
}
};
@@ -1658,8 +1577,7 @@ struct DifficultyMeta
{
static char const* types = "shhhbbbbbbbbb";
static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[13] = { "", uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 13, 0x92302BB8, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 13, 0x92302BB8, types, arraySizes, -1);
return &instance;
}
};
@@ -1670,8 +1588,7 @@ struct DissolveEffectMeta
{
static char const* types = "ffffffffbbiiii";
static uint8 const arraySizes[14] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[14] = { float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 14, 0x566413E7, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 14, 0x566413E7, types, arraySizes, -1);
return &instance;
}
};
@@ -1682,8 +1599,7 @@ struct DriverBlacklistMeta
{
static char const* types = "iihbbbb";
static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 7, 0x1466ACAD, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 7, 0x1466ACAD, types, arraySizes, -1);
return &instance;
}
};
@@ -1694,8 +1610,7 @@ struct DungeonEncounterMeta
{
static char const* types = "sihbbbiii";
static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[9] = { "", uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(6, 9, 0xB04A2596, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(6, 9, 0xB04A2596, types, arraySizes, 2);
return &instance;
}
};
@@ -1706,8 +1621,7 @@ struct DungeonMapMeta
{
static char const* types = "ffhhbbbi";
static uint8 const arraySizes[8] = { 2, 2, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[8] = { float(0), float(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(7, 8, 0xB5A245F4, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(7, 8, 0xB5A245F4, types, arraySizes, 2);
return &instance;
}
};
@@ -1718,8 +1632,7 @@ struct DungeonMapChunkMeta
{
static char const* types = "fihhh";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { float(0), uint32(0), uint16(0), uint16(0), uint16(0) };
- static DB2Meta instance(-1, 5, 0x7927A3A7, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x7927A3A7, types, arraySizes, 2);
return &instance;
}
};
@@ -1730,8 +1643,7 @@ struct DurabilityCostsMeta
{
static char const* types = "hh";
static uint8 const arraySizes[2] = { 21, 8 };
- static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0x8447966A, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x8447966A, types, arraySizes, -1);
return &instance;
}
};
@@ -1742,8 +1654,7 @@ struct DurabilityQualityMeta
{
static char const* types = "f";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { float(0) };
- static DB2Meta instance(-1, 1, 0x6F64793D, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x6F64793D, types, arraySizes, -1);
return &instance;
}
};
@@ -1754,8 +1665,7 @@ struct EdgeGlowEffectMeta
{
static char const* types = "ffffffffffbii";
static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[13] = { float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 13, 0x083BF2C4, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 13, 0x083BF2C4, types, arraySizes, -1);
return &instance;
}
};
@@ -1764,10 +1674,9 @@ struct EmotesMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "siiihbiii";
+ static char const* types = "lsiihbiii";
static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[9] = { "", uint32(0), uint32(0), uint32(0), uint16(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 9, 0xC33F08F9, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 9, 0x14467F27, types, arraySizes, -1);
return &instance;
}
};
@@ -1778,8 +1687,7 @@ struct EmotesTextMeta
{
static char const* types = "sh";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { "", uint16(0) };
- static DB2Meta instance(-1, 2, 0xE85AFA10, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xE85AFA10, types, arraySizes, -1);
return &instance;
}
};
@@ -1788,10 +1696,9 @@ struct EmotesTextDataMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "shb";
+ static char const* types = "sbh";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", uint16(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0x2682E49B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x0E19BCF1, types, arraySizes, 2);
return &instance;
}
};
@@ -1800,10 +1707,9 @@ struct EmotesTextSoundMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "hbbbi";
+ static char const* types = "bbbih";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 5, 0xC036C616, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x6DFAF9BC, types, arraySizes, 4);
return &instance;
}
};
@@ -1814,8 +1720,7 @@ struct EnvironmentalDamageMeta
{
static char const* types = "hb";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint8(0) };
- static DB2Meta instance(-1, 2, 0xC4552C14, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xC4552C14, types, arraySizes, -1);
return &instance;
}
};
@@ -1824,10 +1729,9 @@ struct ExhaustionMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ifffsfsi";
+ static char const* types = "ssiffffi";
static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[8] = { uint32(0), float(0), float(0), float(0), "", float(0), "", uint32(0) };
- static DB2Meta instance(7, 8, 0x6A883A15, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(7, 8, 0xE6E16045, types, arraySizes, -1);
return &instance;
}
};
@@ -1836,10 +1740,9 @@ struct FactionMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iiifssihhhhhbbbb";
- static uint8 const arraySizes[16] = { 1, 4, 4, 2, 1, 1, 4, 1, 4, 4, 1, 1, 2, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[16] = { uint32(0), uint32(0), uint32(0), float(0), "", "", uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(0, 16, 0x4208D7B7, types, arraySizes, fieldDefaults);
+ static char const* types = "lssiifihhhhhbbbb";
+ static uint8 const arraySizes[16] = { 4, 1, 1, 1, 4, 2, 4, 1, 4, 4, 1, 1, 2, 1, 1, 1 };
+ static DB2Meta instance(3, 16, 0x6BFE8737, types, arraySizes, -1);
return &instance;
}
};
@@ -1848,10 +1751,9 @@ struct FactionGroupMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ssbii";
- static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { "", "", uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 5, 0x66A05B13, types, arraySizes, fieldDefaults);
+ static char const* types = "ssibii";
+ static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(2, 6, 0x7A7F9A51, types, arraySizes, -1);
return &instance;
}
};
@@ -1862,8 +1764,7 @@ struct FactionTemplateMeta
{
static char const* types = "hhhhbbb";
static uint8 const arraySizes[7] = { 1, 1, 4, 4, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 7, 0x6F1D2135, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 7, 0x6F1D2135, types, arraySizes, -1);
return &instance;
}
};
@@ -1874,8 +1775,7 @@ struct FootprintTexturesMeta
{
static char const* types = "iii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0xFD6FF285, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xFD6FF285, types, arraySizes, -1);
return &instance;
}
};
@@ -1886,8 +1786,7 @@ struct FootstepTerrainLookupMeta
{
static char const* types = "hbii";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 4, 0x454895AE, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x454895AE, types, arraySizes, -1);
return &instance;
}
};
@@ -1898,8 +1797,7 @@ struct FriendshipRepReactionMeta
{
static char const* types = "shb";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", uint16(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0x9C412E5B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x9C412E5B, types, arraySizes, 2);
return &instance;
}
};
@@ -1908,10 +1806,9 @@ struct FriendshipReputationMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ishi";
+ static char const* types = "sihi";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), "", uint16(0), uint32(0) };
- static DB2Meta instance(3, 4, 0x9F78AAE7, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(3, 4, 0x406EE0AB, types, arraySizes, -1);
return &instance;
}
};
@@ -1922,8 +1819,7 @@ struct FullScreenEffectMeta
{
static char const* types = "fffffffffffffffffffffffiiii";
static uint8 const arraySizes[27] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[27] = { float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 27, 0x5CBF1D1B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 27, 0x5CBF1D1B, types, arraySizes, -1);
return &instance;
}
};
@@ -1934,8 +1830,7 @@ struct GMSurveyAnswersMeta
{
static char const* types = "sbi";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x422747F6, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x422747F6, types, arraySizes, 2);
return &instance;
}
};
@@ -1946,8 +1841,7 @@ struct GMSurveyCurrentSurveyMeta
{
static char const* types = "b";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { uint8(0) };
- static DB2Meta instance(-1, 1, 0x617205BF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x617205BF, types, arraySizes, -1);
return &instance;
}
};
@@ -1958,8 +1852,7 @@ struct GMSurveyQuestionsMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0x9D852FDC, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x9D852FDC, types, arraySizes, -1);
return &instance;
}
};
@@ -1970,8 +1863,7 @@ struct GMSurveySurveysMeta
{
static char const* types = "b";
static uint8 const arraySizes[1] = { 15 };
- static DB2FieldDefault const fieldDefaults[1] = { uint8(0) };
- static DB2Meta instance(-1, 1, 0x17FEF812, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x17FEF812, types, arraySizes, -1);
return &instance;
}
};
@@ -1981,9 +1873,8 @@ struct GameObjectArtKitMeta
static DB2Meta const* Instance()
{
static char const* types = "ii";
- static uint8 const arraySizes[2] = { 3, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint32(0) };
- static DB2Meta instance(-1, 2, 0x9C443105, types, arraySizes, fieldDefaults);
+ static uint8 const arraySizes[2] = { 1, 3 };
+ static DB2Meta instance(-1, 2, 0x6F65BC41, types, arraySizes, -1);
return &instance;
}
};
@@ -1994,8 +1885,7 @@ struct GameObjectDiffAnimMapMeta
{
static char const* types = "hbbb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x684E2497, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x89A617CF, types, arraySizes, 3);
return &instance;
}
};
@@ -2006,8 +1896,7 @@ struct GameObjectDisplayInfoMeta
{
static char const* types = "ifffh";
static uint8 const arraySizes[5] = { 1, 6, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint32(0), float(0), float(0), float(0), uint16(0) };
- static DB2Meta instance(-1, 5, 0x9F2098D1, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x9F2098D1, types, arraySizes, -1);
return &instance;
}
};
@@ -2018,8 +1907,7 @@ struct GameObjectDisplayInfoXSoundKitMeta
{
static char const* types = "bii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x4BBA66F2, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x4BBA66F2, types, arraySizes, 2);
return &instance;
}
};
@@ -2028,10 +1916,9 @@ struct GameObjectsMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "fffishhhhbbi";
- static uint8 const arraySizes[12] = { 3, 4, 1, 8, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[12] = { float(0), float(0), float(0), uint32(0), "", uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(11, 12, 0xD7382943, types, arraySizes, fieldDefaults);
+ static char const* types = "sfffihhhhbbi";
+ static uint8 const arraySizes[12] = { 1, 3, 4, 1, 8, 1, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(11, 12, 0x597E8643, types, arraySizes, 5);
return &instance;
}
};
@@ -2042,8 +1929,7 @@ struct GameTipsMeta
{
static char const* types = "shhb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x547E3F0F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x547E3F0F, types, arraySizes, -1);
return &instance;
}
};
@@ -2054,8 +1940,7 @@ struct GarrAbilityMeta
{
static char const* types = "ssihhbbi";
static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[8] = { "", "", uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(7, 8, 0x5DF95DBD, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(7, 8, 0x5DF95DBD, types, arraySizes, -1);
return &instance;
}
};
@@ -2066,8 +1951,7 @@ struct GarrAbilityCategoryMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1);
return &instance;
}
};
@@ -2078,8 +1962,7 @@ struct GarrAbilityEffectMeta
{
static char const* types = "fffihbbbbbbi";
static uint8 const arraySizes[12] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[12] = { float(0), float(0), float(0), uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(11, 12, 0xE6A6CB99, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(11, 12, 0xE6A6CB99, types, arraySizes, 4);
return &instance;
}
};
@@ -2088,10 +1971,9 @@ struct GarrBuildingMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iissssihhhhhhhhbbbbbbiii";
+ static char const* types = "ssssiiihhhhhhhhbbbbbbiii";
static uint8 const arraySizes[24] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[24] = { uint32(0), uint32(0), "", "", "", "", uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 24, 0x04EFAE46, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 24, 0x200F9858, types, arraySizes, -1);
return &instance;
}
};
@@ -2102,8 +1984,7 @@ struct GarrBuildingDoodadSetMeta
{
static char const* types = "bbbbb";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 5, 0x2A861C7F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x2A861C7F, types, arraySizes, -1);
return &instance;
}
};
@@ -2114,8 +1995,7 @@ struct GarrBuildingPlotInstMeta
{
static char const* types = "fhhbi";
static uint8 const arraySizes[5] = { 2, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { float(0), uint16(0), uint16(0), uint8(0), uint32(0) };
- static DB2Meta instance(4, 5, 0xF45B6227, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(4, 5, 0xF45B6227, types, arraySizes, 3);
return &instance;
}
};
@@ -2126,8 +2006,7 @@ struct GarrClassSpecMeta
{
static char const* types = "ssshhbbi";
static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[8] = { "", "", "", uint16(0), uint16(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(7, 8, 0x194CD478, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(7, 8, 0x194CD478, types, arraySizes, -1);
return &instance;
}
};
@@ -2136,10 +2015,9 @@ struct GarrClassSpecPlayerCondMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "isbiii";
+ static char const* types = "sibiii";
static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { uint32(0), "", uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 6, 0xEA6BB116, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 6, 0x06936172, types, arraySizes, -1);
return &instance;
}
};
@@ -2148,10 +2026,9 @@ struct GarrEncounterMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "isffiii";
+ static char const* types = "siffiii";
static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint32(0), "", float(0), float(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(5, 7, 0x14C54596, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(5, 7, 0x63EF121A, types, arraySizes, -1);
return &instance;
}
};
@@ -2160,10 +2037,9 @@ struct GarrEncounterSetXEncounterMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ii";
- static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint32(0) };
- static DB2Meta instance(-1, 2, 0x18E38A05, types, arraySizes, fieldDefaults);
+ static char const* types = "iii";
+ static uint8 const arraySizes[3] = { 1, 1, 1 };
+ static DB2Meta instance(0, 3, 0x3AA64423, types, arraySizes, 2);
return &instance;
}
};
@@ -2172,10 +2048,9 @@ struct GarrEncounterXMechanicMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "hbb";
+ static char const* types = "bbh";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0x3617EB8F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x97080E17, types, arraySizes, 2);
return &instance;
}
};
@@ -2184,10 +2059,9 @@ struct GarrFollItemSetMemberMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ihhb";
+ static char const* types = "ihbh";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0xE9BF4537, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0xCA1C4CBF, types, arraySizes, 3);
return &instance;
}
};
@@ -2198,8 +2072,7 @@ struct GarrFollSupportSpellMeta
{
static char const* types = "iibi";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 4, 0xB7DBA2D1, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0xB7DBA2D1, types, arraySizes, 3);
return &instance;
}
};
@@ -2208,10 +2081,9 @@ struct GarrFollowerMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iissiiiishhhhhhbbbbbbbbbbbbbbbbi";
+ static char const* types = "sssiiiiiihhhhhhbbbbbbbbbbbbbbbbi";
static uint8 const arraySizes[32] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[32] = { uint32(0), uint32(0), "", "", uint32(0), uint32(0), uint32(0), uint32(0), "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(31, 32, 0x8826280C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(31, 32, 0xAAB75E04, types, arraySizes, -1);
return &instance;
}
};
@@ -2222,8 +2094,7 @@ struct GarrFollowerLevelXPMeta
{
static char const* types = "hhbb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x1ED485E2, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x1ED485E2, types, arraySizes, -1);
return &instance;
}
};
@@ -2234,8 +2105,7 @@ struct GarrFollowerQualityMeta
{
static char const* types = "ihbbbbi";
static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 7, 0xAFF4CF7E, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 7, 0xAFF4CF7E, types, arraySizes, -1);
return &instance;
}
};
@@ -2246,8 +2116,7 @@ struct GarrFollowerSetXFollowerMeta
{
static char const* types = "ii";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint32(0) };
- static DB2Meta instance(-1, 2, 0xB085A2BB, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xDB0E0A17, types, arraySizes, 1);
return &instance;
}
};
@@ -2258,8 +2127,7 @@ struct GarrFollowerTypeMeta
{
static char const* types = "hbbbbbb";
static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 7, 0xD676FBC0, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 7, 0xD676FBC0, types, arraySizes, -1);
return &instance;
}
};
@@ -2268,10 +2136,9 @@ struct GarrFollowerUICreatureMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ifhbbb";
+ static char const* types = "ifbbbh";
static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { uint32(0), float(0), uint16(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 6, 0xC7F756E0, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 6, 0x7E275E96, types, arraySizes, 5);
return &instance;
}
};
@@ -2280,10 +2147,9 @@ struct GarrFollowerXAbilityMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "hhb";
+ static char const* types = "hbh";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0xBBD924E3, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x996447F1, types, arraySizes, 2);
return &instance;
}
};
@@ -2294,8 +2160,7 @@ struct GarrItemLevelUpgradeDataMeta
{
static char const* types = "iiiii";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(0, 5, 0x069F44E5, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(0, 5, 0x069F44E5, types, arraySizes, -1);
return &instance;
}
};
@@ -2306,8 +2171,7 @@ struct GarrMechanicMeta
{
static char const* types = "fbi";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { float(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0xAB49DA61, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xAB49DA61, types, arraySizes, -1);
return &instance;
}
};
@@ -2318,8 +2182,7 @@ struct GarrMechanicSetXMechanicMeta
{
static char const* types = "bii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(1, 3, 0x59514F7B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(1, 3, 0x59514F7B, types, arraySizes, 2);
return &instance;
}
};
@@ -2330,8 +2193,7 @@ struct GarrMechanicTypeMeta
{
static char const* types = "ssibi";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { "", "", uint32(0), uint8(0), uint32(0) };
- static DB2Meta instance(4, 5, 0x6FEA569F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(4, 5, 0x6FEA569F, types, arraySizes, -1);
return &instance;
}
};
@@ -2340,10 +2202,9 @@ struct GarrMissionMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iisssffhhhbbbbbbbbbiiiiiiiiii";
+ static char const* types = "sssiiffhhhbbbbbbbbbiiiiiiiiii";
static uint8 const arraySizes[29] = { 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[29] = { uint32(0), uint32(0), "", "", "", float(0), float(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(19, 29, 0xAC978C1E, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(19, 29, 0xDDD70490, types, arraySizes, 28);
return &instance;
}
};
@@ -2354,8 +2215,7 @@ struct GarrMissionTextureMeta
{
static char const* types = "fh";
static uint8 const arraySizes[2] = { 2, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0x3071301C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x3071301C, types, arraySizes, -1);
return &instance;
}
};
@@ -2366,8 +2226,7 @@ struct GarrMissionTypeMeta
{
static char const* types = "shh";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", uint16(0), uint16(0) };
- static DB2Meta instance(-1, 3, 0xA289655E, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xA289655E, types, arraySizes, -1);
return &instance;
}
};
@@ -2378,8 +2237,7 @@ struct GarrMissionXEncounterMeta
{
static char const* types = "biiii";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(1, 5, 0xA5D54AAC, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(1, 5, 0xBCB016C6, types, arraySizes, 4);
return &instance;
}
};
@@ -2390,8 +2248,7 @@ struct GarrMissionXFollowerMeta
{
static char const* types = "iii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x1FE8A08D, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x1EBABA29, types, arraySizes, 2);
return &instance;
}
};
@@ -2402,8 +2259,7 @@ struct GarrMssnBonusAbilityMeta
{
static char const* types = "fihbb";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { float(0), uint32(0), uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 5, 0x35F5AE92, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x35F5AE92, types, arraySizes, -1);
return &instance;
}
};
@@ -2414,8 +2270,7 @@ struct GarrPlotMeta
{
static char const* types = "siibbbi";
static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 2 };
- static DB2FieldDefault const fieldDefaults[7] = { "", uint32(0), uint32(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 7, 0x56A5C664, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 7, 0xE12049E0, types, arraySizes, -1);
return &instance;
}
};
@@ -2426,8 +2281,7 @@ struct GarrPlotBuildingMeta
{
static char const* types = "bb";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint8(0), uint8(0) };
- static DB2Meta instance(-1, 2, 0x3F77A6FA, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x3F77A6FA, types, arraySizes, -1);
return &instance;
}
};
@@ -2438,8 +2292,7 @@ struct GarrPlotInstanceMeta
{
static char const* types = "sb";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) };
- static DB2Meta instance(-1, 2, 0xB708BB37, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xB708BB37, types, arraySizes, -1);
return &instance;
}
};
@@ -2450,8 +2303,7 @@ struct GarrPlotUICategoryMeta
{
static char const* types = "sb";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) };
- static DB2Meta instance(-1, 2, 0xA94645EE, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xA94645EE, types, arraySizes, -1);
return &instance;
}
};
@@ -2462,8 +2314,7 @@ struct GarrSiteLevelMeta
{
static char const* types = "fhhhhhbbb";
static uint8 const arraySizes[9] = { 2, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[9] = { float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 9, 0xD3979C38, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 9, 0xD3979C38, types, arraySizes, -1);
return &instance;
}
};
@@ -2474,8 +2325,7 @@ struct GarrSiteLevelPlotInstMeta
{
static char const* types = "fhbb";
static uint8 const arraySizes[4] = { 2, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { float(0), uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0xC4E74201, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0xC4E74201, types, arraySizes, 1);
return &instance;
}
};
@@ -2484,10 +2334,9 @@ struct GarrSpecializationMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ifssbbb";
- static uint8 const arraySizes[7] = { 1, 2, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint32(0), float(0), "", "", uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 7, 0x155E1CD7, types, arraySizes, fieldDefaults);
+ static char const* types = "ssifbbb";
+ static uint8 const arraySizes[7] = { 1, 1, 1, 2, 1, 1, 1 };
+ static DB2Meta instance(-1, 7, 0x797A0F2F, types, arraySizes, -1);
return &instance;
}
};
@@ -2498,8 +2347,7 @@ struct GarrStringMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0xE1C08C0C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0xE1C08C0C, types, arraySizes, -1);
return &instance;
}
};
@@ -2508,10 +2356,9 @@ struct GarrTalentMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "issibbbiiiiiiiiiiiii";
+ static char const* types = "ssiibbbiiiiiiiiiiiii";
static uint8 const arraySizes[20] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[20] = { uint32(0), "", "", uint32(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(7, 20, 0xFA331244, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(7, 20, 0x53D5FD16, types, arraySizes, 8);
return &instance;
}
};
@@ -2522,8 +2369,7 @@ struct GarrTalentTreeMeta
{
static char const* types = "hbbii";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 5, 0x676CBC04, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x676CBC04, types, arraySizes, -1);
return &instance;
}
};
@@ -2534,8 +2380,7 @@ struct GarrTypeMeta
{
static char const* types = "iiiii";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 2 };
- static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 5, 0x06CD7733, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x7C52F3B7, types, arraySizes, -1);
return &instance;
}
};
@@ -2546,8 +2391,7 @@ struct GarrUiAnimClassInfoMeta
{
static char const* types = "fbbiii";
static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { float(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 6, 0xDBF4633D, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 6, 0xDBF4633D, types, arraySizes, -1);
return &instance;
}
};
@@ -2558,8 +2402,7 @@ struct GarrUiAnimRaceInfoMeta
{
static char const* types = "ffffffffffffb";
static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[13] = { float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint8(0) };
- static DB2Meta instance(-1, 13, 0x44B9C1DE, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 13, 0x44B9C1DE, types, arraySizes, -1);
return &instance;
}
};
@@ -2570,8 +2413,7 @@ struct GemPropertiesMeta
{
static char const* types = "ihh";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint16(0) };
- static DB2Meta instance(-1, 3, 0x84558CAB, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x84558CAB, types, arraySizes, -1);
return &instance;
}
};
@@ -2582,8 +2424,7 @@ struct GlobalStringsMeta
{
static char const* types = "ssb";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", "", uint8(0) };
- static DB2Meta instance(-1, 3, 0x2CA3EA1E, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x2CA3EA1E, types, arraySizes, -1);
return &instance;
}
};
@@ -2594,8 +2435,7 @@ struct GlyphBindableSpellMeta
{
static char const* types = "ih";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0xEA228DFA, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xEA228DFA, types, arraySizes, 1);
return &instance;
}
};
@@ -2606,8 +2446,7 @@ struct GlyphExclusiveCategoryMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0xFE598FCD, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0xFE598FCD, types, arraySizes, -1);
return &instance;
}
};
@@ -2618,8 +2457,7 @@ struct GlyphPropertiesMeta
{
static char const* types = "ihbb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0xD0046829, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0xD0046829, types, arraySizes, -1);
return &instance;
}
};
@@ -2630,8 +2468,7 @@ struct GlyphRequiredSpecMeta
{
static char const* types = "hh";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0x72D23C7C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xDD6481CE, types, arraySizes, 1);
return &instance;
}
};
@@ -2642,8 +2479,7 @@ struct GroundEffectDoodadMeta
{
static char const* types = "ffbi";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { float(0), float(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 4, 0x0376B2D6, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x0376B2D6, types, arraySizes, -1);
return &instance;
}
};
@@ -2654,8 +2490,7 @@ struct GroundEffectTextureMeta
{
static char const* types = "hbbi";
static uint8 const arraySizes[4] = { 4, 4, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 4, 0x84549F0A, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x84549F0A, types, arraySizes, -1);
return &instance;
}
};
@@ -2666,8 +2501,7 @@ struct GroupFinderActivityMeta
{
static char const* types = "sshhhbbbbbbbbb";
static uint8 const arraySizes[14] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[14] = { "", "", uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 14, 0x3EF2F3BD, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 14, 0x3EF2F3BD, types, arraySizes, -1);
return &instance;
}
};
@@ -2678,8 +2512,7 @@ struct GroupFinderActivityGrpMeta
{
static char const* types = "sb";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) };
- static DB2Meta instance(-1, 2, 0xC9458196, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xC9458196, types, arraySizes, -1);
return &instance;
}
};
@@ -2690,8 +2523,7 @@ struct GroupFinderCategoryMeta
{
static char const* types = "sbb";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0x9213552F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x9213552F, types, arraySizes, -1);
return &instance;
}
};
@@ -2702,8 +2534,7 @@ struct GuildColorBackgroundMeta
{
static char const* types = "bbb";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0xCC0CEFF1, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xCC0CEFF1, types, arraySizes, -1);
return &instance;
}
};
@@ -2714,8 +2545,7 @@ struct GuildColorBorderMeta
{
static char const* types = "bbb";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0xCC0CEFF1, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xCC0CEFF1, types, arraySizes, -1);
return &instance;
}
};
@@ -2726,8 +2556,7 @@ struct GuildColorEmblemMeta
{
static char const* types = "bbb";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0xCC0CEFF1, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xCC0CEFF1, types, arraySizes, -1);
return &instance;
}
};
@@ -2738,8 +2567,7 @@ struct GuildPerkSpellsMeta
{
static char const* types = "i";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { uint32(0) };
- static DB2Meta instance(-1, 1, 0xC15D6E9F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0xC15D6E9F, types, arraySizes, -1);
return &instance;
}
};
@@ -2748,10 +2576,9 @@ struct HeirloomMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "isiiiihbbi";
+ static char const* types = "siiiiihbbi";
static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 3, 3, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[10] = { uint32(0), "", uint32(0), uint32(0), uint32(0), uint32(0), uint16(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(9, 10, 0x72B50997, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(9, 10, 0x36887C6F, types, arraySizes, -1);
return &instance;
}
};
@@ -2762,8 +2589,7 @@ struct HelmetAnimScalingMeta
{
static char const* types = "fii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { float(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x9B1A0142, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xB9EC1058, types, arraySizes, 2);
return &instance;
}
};
@@ -2774,8 +2600,7 @@ struct HelmetGeosetVisDataMeta
{
static char const* types = "i";
static uint8 const arraySizes[1] = { 9 };
- static DB2FieldDefault const fieldDefaults[1] = { uint32(0) };
- static DB2Meta instance(-1, 1, 0x3B38D999, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x3B38D999, types, arraySizes, -1);
return &instance;
}
};
@@ -2786,8 +2611,7 @@ struct HighlightColorMeta
{
static char const* types = "iiibb";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint32(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 5, 0x5FADC5D3, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x5FADC5D3, types, arraySizes, -1);
return &instance;
}
};
@@ -2798,8 +2622,7 @@ struct HolidayDescriptionsMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0x92A95550, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x92A95550, types, arraySizes, -1);
return &instance;
}
};
@@ -2810,8 +2633,7 @@ struct HolidayNamesMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1);
return &instance;
}
};
@@ -2822,8 +2644,7 @@ struct HolidaysMeta
{
static char const* types = "iihhbbbbbiii";
static uint8 const arraySizes[12] = { 1, 16, 10, 1, 1, 10, 1, 1, 1, 1, 1, 3 };
- static DB2FieldDefault const fieldDefaults[12] = { uint32(0), uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(0, 12, 0x06B8E478, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(0, 12, 0x7C3E60FC, types, arraySizes, -1);
return &instance;
}
};
@@ -2834,8 +2655,7 @@ struct HotfixMeta
{
static char const* types = "sii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x3747930B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x3747930B, types, arraySizes, -1);
return &instance;
}
};
@@ -2846,8 +2666,7 @@ struct ImportPriceArmorMeta
{
static char const* types = "ffff";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { float(0), float(0), float(0), float(0) };
- static DB2Meta instance(-1, 4, 0x1F7A850F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x1F7A850F, types, arraySizes, -1);
return &instance;
}
};
@@ -2858,8 +2677,7 @@ struct ImportPriceQualityMeta
{
static char const* types = "f";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { float(0) };
- static DB2Meta instance(-1, 1, 0x6F64793D, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x6F64793D, types, arraySizes, -1);
return &instance;
}
};
@@ -2870,8 +2688,7 @@ struct ImportPriceShieldMeta
{
static char const* types = "f";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { float(0) };
- static DB2Meta instance(-1, 1, 0x6F64793D, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x6F64793D, types, arraySizes, -1);
return &instance;
}
};
@@ -2882,8 +2699,7 @@ struct ImportPriceWeaponMeta
{
static char const* types = "f";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { float(0) };
- static DB2Meta instance(-1, 1, 0x6F64793D, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x6F64793D, types, arraySizes, -1);
return &instance;
}
};
@@ -2894,8 +2710,7 @@ struct InvasionClientDataMeta
{
static char const* types = "sfiiiiiiii";
static uint8 const arraySizes[10] = { 1, 2, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[10] = { "", float(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(2, 10, 0x3781B0B1, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(2, 10, 0x4C93379F, types, arraySizes, 9);
return &instance;
}
};
@@ -2906,8 +2721,7 @@ struct ItemMeta
{
static char const* types = "ibbbbbbb";
static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[8] = { uint32(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 8, 0x0DFCC83D, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 8, 0x0DFCC83D, types, arraySizes, -1);
return &instance;
}
};
@@ -2918,8 +2732,7 @@ struct ItemAppearanceMeta
{
static char const* types = "iiib";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint32(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x06D35A59, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x06D35A59, types, arraySizes, -1);
return &instance;
}
};
@@ -2930,8 +2743,7 @@ struct ItemAppearanceXUiCameraMeta
{
static char const* types = "hh";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0x67747E15, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x67747E15, types, arraySizes, -1);
return &instance;
}
};
@@ -2942,8 +2754,7 @@ struct ItemArmorQualityMeta
{
static char const* types = "fh";
static uint8 const arraySizes[2] = { 7, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0x85642CC0, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x85642CC0, types, arraySizes, -1);
return &instance;
}
};
@@ -2954,8 +2765,7 @@ struct ItemArmorShieldMeta
{
static char const* types = "fh";
static uint8 const arraySizes[2] = { 7, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, -1);
return &instance;
}
};
@@ -2966,8 +2776,7 @@ struct ItemArmorTotalMeta
{
static char const* types = "ffffh";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), float(0), float(0), uint16(0) };
- static DB2Meta instance(-1, 5, 0x45C396DD, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x45C396DD, types, arraySizes, -1);
return &instance;
}
};
@@ -2978,8 +2787,7 @@ struct ItemBagFamilyMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1);
return &instance;
}
};
@@ -2989,9 +2797,8 @@ struct ItemBonusMeta
static DB2Meta const* Instance()
{
static char const* types = "ihbb";
- static uint8 const arraySizes[4] = { 2, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0xE12FB1A0, types, arraySizes, fieldDefaults);
+ static uint8 const arraySizes[4] = { 3, 1, 1, 1 };
+ static DB2Meta instance(-1, 4, 0xE12FB1A0, types, arraySizes, 1);
return &instance;
}
};
@@ -3002,8 +2809,7 @@ struct ItemBonusListLevelDeltaMeta
{
static char const* types = "hi";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint32(0) };
- static DB2Meta instance(1, 2, 0xDFBF5AC9, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(1, 2, 0xDFBF5AC9, types, arraySizes, -1);
return &instance;
}
};
@@ -3012,10 +2818,9 @@ struct ItemBonusTreeNodeMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "hhhhb";
+ static char const* types = "hhhbh";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint16(0), uint16(0), uint16(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 5, 0x6149BC4B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x84FE93B7, types, arraySizes, 4);
return &instance;
}
};
@@ -3024,10 +2829,9 @@ struct ItemChildEquipmentMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iib";
+ static char const* types = "ibi";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0x2B093C6A, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xB6940674, types, arraySizes, 2);
return &instance;
}
};
@@ -3036,10 +2840,9 @@ struct ItemClassMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "fsbb";
+ static char const* types = "sfbb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { float(0), "", uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x5B68FDD8, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0xA1E4663C, types, arraySizes, -1);
return &instance;
}
};
@@ -3050,8 +2853,7 @@ struct ItemContextPickerEntryMeta
{
static char const* types = "bbiiii";
static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 6, 0xFDCFF5E7, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 6, 0x4A6DF90B, types, arraySizes, 5);
return &instance;
}
};
@@ -3062,8 +2864,7 @@ struct ItemCurrencyCostMeta
{
static char const* types = "i";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { uint32(0) };
- static DB2Meta instance(-1, 1, 0xE2FF5688, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0xE2FF5688, types, arraySizes, 0);
return &instance;
}
};
@@ -3074,8 +2875,7 @@ struct ItemDamageAmmoMeta
{
static char const* types = "fh";
static uint8 const arraySizes[2] = { 7, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, -1);
return &instance;
}
};
@@ -3086,8 +2886,7 @@ struct ItemDamageOneHandMeta
{
static char const* types = "fh";
static uint8 const arraySizes[2] = { 7, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, -1);
return &instance;
}
};
@@ -3098,8 +2897,7 @@ struct ItemDamageOneHandCasterMeta
{
static char const* types = "fh";
static uint8 const arraySizes[2] = { 7, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, -1);
return &instance;
}
};
@@ -3110,8 +2908,7 @@ struct ItemDamageTwoHandMeta
{
static char const* types = "fh";
static uint8 const arraySizes[2] = { 7, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, -1);
return &instance;
}
};
@@ -3122,8 +2919,7 @@ struct ItemDamageTwoHandCasterMeta
{
static char const* types = "fh";
static uint8 const arraySizes[2] = { 7, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xC2186F95, types, arraySizes, -1);
return &instance;
}
};
@@ -3132,10 +2928,9 @@ struct ItemDisenchantLootMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "hhhbbb";
- static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 6, 0xD77FF753, types, arraySizes, fieldDefaults);
+ static char const* types = "hhhbbbb";
+ static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(-1, 7, 0xC0D926CC, types, arraySizes, 6);
return &instance;
}
};
@@ -3145,9 +2940,8 @@ struct ItemDisplayInfoMeta
static DB2Meta const* Instance()
{
static char const* types = "iiiiiiiiiiiiiii";
- static uint8 const arraySizes[15] = { 2, 2, 4, 4, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[15] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 15, 0x989BCDC7, types, arraySizes, fieldDefaults);
+ static uint8 const arraySizes[15] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 2 };
+ static DB2Meta instance(-1, 15, 0x99606089, types, arraySizes, -1);
return &instance;
}
};
@@ -3156,10 +2950,9 @@ struct ItemDisplayInfoMaterialResMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iib";
+ static char const* types = "ibi";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0x0B36789F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xDEE4ED7B, types, arraySizes, 2);
return &instance;
}
};
@@ -3170,8 +2963,7 @@ struct ItemDisplayXUiCameraMeta
{
static char const* types = "ih";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0xE57737B2, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xE57737B2, types, arraySizes, -1);
return &instance;
}
};
@@ -3180,10 +2972,9 @@ struct ItemEffectMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iiiihhhbb";
+ static char const* types = "iiihhhbbi";
static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[9] = { uint32(0), uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 9, 0x56F0AE0C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 9, 0xA390FA40, types, arraySizes, 8);
return &instance;
}
};
@@ -3194,8 +2985,7 @@ struct ItemExtendedCostMeta
{
static char const* types = "iihhhbbbbb";
static uint8 const arraySizes[10] = { 5, 5, 5, 1, 5, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[10] = { uint32(0), uint32(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 10, 0xC31F4DEF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 10, 0xC31F4DEF, types, arraySizes, -1);
return &instance;
}
};
@@ -3206,8 +2996,7 @@ struct ItemGroupSoundsMeta
{
static char const* types = "i";
static uint8 const arraySizes[1] = { 4 };
- static DB2FieldDefault const fieldDefaults[1] = { uint32(0) };
- static DB2Meta instance(-1, 1, 0x66A967E2, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0xDC2EE466, types, arraySizes, -1);
return &instance;
}
};
@@ -3218,8 +3007,7 @@ struct ItemLevelSelectorMeta
{
static char const* types = "hh";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0x8143060E, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x8143060E, types, arraySizes, -1);
return &instance;
}
};
@@ -3228,10 +3016,9 @@ struct ItemLevelSelectorQualityMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ihb";
+ static char const* types = "ibh";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0xD6F9A05B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xB7174A51, types, arraySizes, 2);
return &instance;
}
};
@@ -3242,8 +3029,7 @@ struct ItemLevelSelectorQualitySetMeta
{
static char const* types = "hh";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0x20055BA8, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x20055BA8, types, arraySizes, -1);
return &instance;
}
};
@@ -3254,8 +3040,7 @@ struct ItemLimitCategoryMeta
{
static char const* types = "sbb";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0xB6BB188D, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xB6BB188D, types, arraySizes, -1);
return &instance;
}
};
@@ -3266,8 +3051,7 @@ struct ItemLimitCategoryConditionMeta
{
static char const* types = "bii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x9F1DFE83, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xDE8EAD49, types, arraySizes, 2);
return &instance;
}
};
@@ -3276,10 +3060,9 @@ struct ItemModifiedAppearanceMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ihbbbi";
+ static char const* types = "iibhbb";
static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(5, 6, 0x9F3061BB, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(1, 6, 0xE64FD18B, types, arraySizes, 0);
return &instance;
}
};
@@ -3290,8 +3073,7 @@ struct ItemModifiedAppearanceExtraMeta
{
static char const* types = "iibbb";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 5, 0x77212236, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x77212236, types, arraySizes, -1);
return &instance;
}
};
@@ -3302,8 +3084,7 @@ struct ItemNameDescriptionMeta
{
static char const* types = "si";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { "", uint32(0) };
- static DB2Meta instance(-1, 2, 0x16760BD4, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x16760BD4, types, arraySizes, -1);
return &instance;
}
};
@@ -3314,8 +3095,7 @@ struct ItemPetFoodMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0xE4923C1F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0xE4923C1F, types, arraySizes, -1);
return &instance;
}
};
@@ -3326,8 +3106,7 @@ struct ItemPriceBaseMeta
{
static char const* types = "ffh";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { float(0), float(0), uint16(0) };
- static DB2Meta instance(-1, 3, 0x4BD234D7, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x4BD234D7, types, arraySizes, -1);
return &instance;
}
};
@@ -3338,8 +3117,7 @@ struct ItemRandomPropertiesMeta
{
static char const* types = "sh";
static uint8 const arraySizes[2] = { 1, 5 };
- static DB2FieldDefault const fieldDefaults[2] = { "", uint16(0) };
- static DB2Meta instance(-1, 2, 0xB67375F8, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xB67375F8, types, arraySizes, -1);
return &instance;
}
};
@@ -3350,8 +3128,7 @@ struct ItemRandomSuffixMeta
{
static char const* types = "shh";
static uint8 const arraySizes[3] = { 1, 5, 5 };
- static DB2FieldDefault const fieldDefaults[3] = { "", uint16(0), uint16(0) };
- static DB2Meta instance(-1, 3, 0x95CAB825, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x95CAB825, types, arraySizes, -1);
return &instance;
}
};
@@ -3362,8 +3139,7 @@ struct ItemRangedDisplayInfoMeta
{
static char const* types = "iiii";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 4, 0x687A28D1, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x687A28D1, types, arraySizes, -1);
return &instance;
}
};
@@ -3372,10 +3148,9 @@ struct ItemSearchNameMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "isiihbbbihbhhi";
- static uint8 const arraySizes[14] = { 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[14] = { uint32(0), "", uint32(0), uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0), uint16(0), uint8(0), uint16(0), uint16(0), uint32(0) };
- static DB2Meta instance(0, 14, 0x4DB151B2, types, arraySizes, fieldDefaults);
+ static char const* types = "lsiihbbbhbihhi";
+ static uint8 const arraySizes[14] = { 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(2, 14, 0x2D4B72FA, types, arraySizes, -1);
return &instance;
}
};
@@ -3386,8 +3161,7 @@ struct ItemSetMeta
{
static char const* types = "sihii";
static uint8 const arraySizes[5] = { 1, 17, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { "", uint32(0), uint16(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 5, 0x847FF58A, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x847FF58A, types, arraySizes, -1);
return &instance;
}
};
@@ -3396,10 +3170,9 @@ struct ItemSetSpellMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ihhb";
+ static char const* types = "ihbh";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0xF65DE520, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0xF65D0AF8, types, arraySizes, 3);
return &instance;
}
};
@@ -3408,10 +3181,9 @@ struct ItemSparseMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iffiiiiiiiiffsssssififhhhhhhhhhhhhhhhhhhhhhhhbbbbbbbbbbbbbbbbbbb";
- static uint8 const arraySizes[64] = { 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[64] = { uint32(0), float(0), float(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), float(0), float(0), "", "", "", "", "", uint32(0), float(0), uint32(0), float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 64, 0xBB5BF754, types, arraySizes, fieldDefaults);
+ static char const* types = "lsssssiffiiiiiiiffififhhhhhhhhhhhhhhhhhhhhhhhbbbbbbbbbbbbbbbbbbb";
+ static uint8 const arraySizes[64] = { 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 10, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1 };
+ static DB2Meta instance(-1, 64, 0x4007DE16, types, arraySizes, -1);
return &instance;
}
};
@@ -3422,8 +3194,7 @@ struct ItemSpecMeta
{
static char const* types = "hbbbbb";
static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 6, 0xB17B7986, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 6, 0xB17B7986, types, arraySizes, 3);
return &instance;
}
};
@@ -3432,10 +3203,9 @@ struct ItemSpecOverrideMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ih";
+ static char const* types = "hi";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0xC7350ADE, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xE499CD2A, types, arraySizes, 1);
return &instance;
}
};
@@ -3446,8 +3216,7 @@ struct ItemSubClassMeta
{
static char const* types = "sshbbbbbbb";
static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[10] = { "", "", uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 10, 0xDAD92A67, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 10, 0xDAD92A67, types, arraySizes, 3);
return &instance;
}
};
@@ -3456,10 +3225,9 @@ struct ItemSubClassMaskMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "isb";
+ static char const* types = "sib";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), "", uint8(0) };
- static DB2Meta instance(-1, 3, 0x2A8488C0, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xFC1DA850, types, arraySizes, -1);
return &instance;
}
};
@@ -3470,8 +3238,7 @@ struct ItemUpgradeMeta
{
static char const* types = "ihhbb";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint16(0), uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 5, 0x8F3A4137, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x8F3A4137, types, arraySizes, -1);
return &instance;
}
};
@@ -3482,8 +3249,7 @@ struct ItemVisualsMeta
{
static char const* types = "i";
static uint8 const arraySizes[1] = { 5 };
- static DB2FieldDefault const fieldDefaults[1] = { uint32(0) };
- static DB2Meta instance(-1, 1, 0xBDE42406, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x485EA782, types, arraySizes, -1);
return &instance;
}
};
@@ -3492,10 +3258,9 @@ struct ItemXBonusTreeMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ih";
+ static char const* types = "hi";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0xED7A617B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x87C4B605, types, arraySizes, 1);
return &instance;
}
};
@@ -3504,10 +3269,9 @@ struct JournalEncounterMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "fsshhhhbbii";
- static uint8 const arraySizes[11] = { 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[11] = { float(0), "", "", uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 11, 0x5B5D5FCF, types, arraySizes, fieldDefaults);
+ static char const* types = "ssfhhhhbbii";
+ static uint8 const arraySizes[11] = { 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(-1, 11, 0x2935A0FD, types, arraySizes, -1);
return &instance;
}
};
@@ -3516,10 +3280,9 @@ struct JournalEncounterCreatureMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iisshbi";
- static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint32(0), "", "", uint16(0), uint8(0), uint32(0) };
- static DB2Meta instance(6, 7, 0x07522050, types, arraySizes, fieldDefaults);
+ static char const* types = "ssiiihbi";
+ static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(7, 8, 0x22C79A42, types, arraySizes, 5);
return &instance;
}
};
@@ -3530,8 +3293,7 @@ struct JournalEncounterItemMeta
{
static char const* types = "ihbbbi";
static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(5, 6, 0x39230FF9, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(5, 6, 0x39230FF9, types, arraySizes, 1);
return &instance;
}
};
@@ -3540,10 +3302,9 @@ struct JournalEncounterSectionMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ssiiihhhhhhbbb";
- static uint8 const arraySizes[14] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[14] = { "", "", uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 14, 0x8C84A73F, types, arraySizes, fieldDefaults);
+ static char const* types = "ssiiiihhhhhhbbb";
+ static uint8 const arraySizes[15] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(-1, 15, 0x13E56B12, types, arraySizes, -1);
return &instance;
}
};
@@ -3552,10 +3313,9 @@ struct JournalEncounterXDifficultyMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "hb";
+ static char const* types = "bh";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint8(0) };
- static DB2Meta instance(-1, 2, 0x929953A2, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x321FD542, types, arraySizes, 1);
return &instance;
}
};
@@ -3566,8 +3326,7 @@ struct JournalEncounterXMapLocMeta
{
static char const* types = "fbiiii";
static uint8 const arraySizes[6] = { 2, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { float(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 6, 0x93A7D7CA, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 6, 0x430540E4, types, arraySizes, 5);
return &instance;
}
};
@@ -3576,10 +3335,9 @@ struct JournalInstanceMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iiiisshhbbi";
+ static char const* types = "ssiiiihhbbi";
static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[11] = { uint32(0), uint32(0), uint32(0), uint32(0), "", "", uint16(0), uint16(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(10, 11, 0xA1C4D1E5, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(10, 11, 0x1691CC3D, types, arraySizes, -1);
return &instance;
}
};
@@ -3588,10 +3346,9 @@ struct JournalItemXDifficultyMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "hb";
+ static char const* types = "bh";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint8(0) };
- static DB2Meta instance(-1, 2, 0x3F2D52A1, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x60D9CA15, types, arraySizes, 1);
return &instance;
}
};
@@ -3600,10 +3357,9 @@ struct JournalSectionXDifficultyMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "hb";
+ static char const* types = "bh";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint8(0) };
- static DB2Meta instance(-1, 2, 0xCCC4BEB7, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x243822A7, types, arraySizes, 1);
return &instance;
}
};
@@ -3614,8 +3370,7 @@ struct JournalTierMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0x8046B23F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x8046B23F, types, arraySizes, -1);
return &instance;
}
};
@@ -3626,8 +3381,7 @@ struct JournalTierXInstanceMeta
{
static char const* types = "hh";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0x9C4F4D2A, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x9C4F4D2A, types, arraySizes, 0);
return &instance;
}
};
@@ -3638,8 +3392,7 @@ struct KeychainMeta
{
static char const* types = "b";
static uint8 const arraySizes[1] = { 32 };
- static DB2FieldDefault const fieldDefaults[1] = { uint8(0) };
- static DB2Meta instance(-1, 1, 0x5B214E82, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x5B214E82, types, arraySizes, -1);
return &instance;
}
};
@@ -3650,8 +3403,7 @@ struct KeystoneAffixMeta
{
static char const* types = "ssi";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", "", uint32(0) };
- static DB2Meta instance(-1, 3, 0x1BCB46AA, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x1BCB46AA, types, arraySizes, -1);
return &instance;
}
};
@@ -3660,10 +3412,9 @@ struct LFGDungeonExpansionMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "hhbbbii";
+ static char const* types = "hbbbiih";
static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 7, 0x190E71CD, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 7, 0xB41DEA61, types, arraySizes, 6);
return &instance;
}
};
@@ -3674,8 +3425,7 @@ struct LFGDungeonGroupMeta
{
static char const* types = "shbb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x724D58E7, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x724D58E7, types, arraySizes, -1);
return &instance;
}
};
@@ -3684,10 +3434,9 @@ struct LFGDungeonsMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "sisfhhhhhhhhhbbbbbbbbbbbbbbbbbiii";
+ static char const* types = "ssifhhhhhhhhhbbbbbbbbbbbbbbbbbiii";
static uint8 const arraySizes[33] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[33] = { "", uint32(0), "", float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 33, 0x3E611AC0, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 33, 0xF02081A0, types, arraySizes, -1);
return &instance;
}
};
@@ -3696,10 +3445,9 @@ struct LFGRoleRequirementMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "hbi";
+ static char const* types = "bih";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x0F8A6D6D, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x7EB8A359, types, arraySizes, 2);
return &instance;
}
};
@@ -3710,8 +3458,7 @@ struct LanguageWordsMeta
{
static char const* types = "sb";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) };
- static DB2Meta instance(-1, 2, 0xC15912BD, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xC15912BD, types, arraySizes, -1);
return &instance;
}
};
@@ -3722,8 +3469,7 @@ struct LanguagesMeta
{
static char const* types = "si";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { "", uint32(0) };
- static DB2Meta instance(1, 2, 0x6FA5D0C4, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(1, 2, 0x6FA5D0C4, types, arraySizes, -1);
return &instance;
}
};
@@ -3732,10 +3478,9 @@ struct LfgDungeonsGroupingMapMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "hhb";
+ static char const* types = "hbh";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0xA7288E14, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x8CB35C50, types, arraySizes, 2);
return &instance;
}
};
@@ -3746,8 +3491,7 @@ struct LightMeta
{
static char const* types = "fffhh";
static uint8 const arraySizes[5] = { 3, 1, 1, 1, 8 };
- static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), float(0), uint16(0), uint16(0) };
- static DB2Meta instance(-1, 5, 0x25025A13, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x25025A13, types, arraySizes, -1);
return &instance;
}
};
@@ -3758,8 +3502,7 @@ struct LightDataMeta
{
static char const* types = "iiiiiiiiiiiiiiiiiifffffffffiiiiiihh";
static uint8 const arraySizes[35] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[35] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint16(0), uint16(0) };
- static DB2Meta instance(-1, 35, 0x98BC17CE, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 35, 0x2D2BA7FA, types, arraySizes, 34);
return &instance;
}
};
@@ -3770,8 +3513,7 @@ struct LightParamsMeta
{
static char const* types = "ffffffhbbbi";
static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[11] = { float(0), float(0), float(0), float(0), float(0), float(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(10, 11, 0xF67DE2AF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(10, 11, 0xF67DE2AF, types, arraySizes, -1);
return &instance;
}
};
@@ -3782,8 +3524,7 @@ struct LightSkyboxMeta
{
static char const* types = "siib";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { "", uint32(0), uint32(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x8817C02C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x8817C02C, types, arraySizes, -1);
return &instance;
}
};
@@ -3794,8 +3535,7 @@ struct LiquidMaterialMeta
{
static char const* types = "bb";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint8(0), uint8(0) };
- static DB2Meta instance(-1, 2, 0x62BE0340, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x62BE0340, types, arraySizes, -1);
return &instance;
}
};
@@ -3806,8 +3546,7 @@ struct LiquidObjectMeta
{
static char const* types = "ffhbb";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 5, 0xACC168A6, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0xACC168A6, types, arraySizes, -1);
return &instance;
}
};
@@ -3816,10 +3555,9 @@ struct LiquidTypeMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "sifffffsifihhbbbbbi";
- static uint8 const arraySizes[19] = { 1, 1, 1, 1, 1, 1, 1, 6, 2, 18, 4, 1, 1, 1, 1, 1, 1, 6, 1 };
- static DB2FieldDefault const fieldDefaults[19] = { "", uint32(0), float(0), float(0), float(0), float(0), float(0), "", uint32(0), float(0), uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 19, 0xBBB8B593, types, arraySizes, fieldDefaults);
+ static char const* types = "ssifffffifihhbbbbbi";
+ static uint8 const arraySizes[19] = { 1, 6, 1, 1, 1, 1, 1, 1, 2, 18, 4, 1, 1, 1, 1, 1, 1, 6, 1 };
+ static DB2Meta instance(-1, 19, 0x3313BBF3, types, arraySizes, -1);
return &instance;
}
};
@@ -3830,8 +3568,7 @@ struct LoadingScreenTaxiSplinesMeta
{
static char const* types = "ffhhb";
static uint8 const arraySizes[5] = { 10, 10, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), uint16(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 5, 0x4D6292C3, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x4D6292C3, types, arraySizes, -1);
return &instance;
}
};
@@ -3842,8 +3579,7 @@ struct LoadingScreensMeta
{
static char const* types = "iii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x99C0EB78, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x99C0EB78, types, arraySizes, -1);
return &instance;
}
};
@@ -3854,8 +3590,7 @@ struct LocaleMeta
{
static char const* types = "ibbb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x592AE13B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x592AE13B, types, arraySizes, -1);
return &instance;
}
};
@@ -3866,8 +3601,7 @@ struct LocationMeta
{
static char const* types = "ff";
static uint8 const arraySizes[2] = { 3, 3 };
- static DB2FieldDefault const fieldDefaults[2] = { float(0), float(0) };
- static DB2Meta instance(-1, 2, 0xBBC1BE7A, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xBBC1BE7A, types, arraySizes, -1);
return &instance;
}
};
@@ -3878,8 +3612,7 @@ struct LockMeta
{
static char const* types = "ihbb";
static uint8 const arraySizes[4] = { 8, 8, 8, 8 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0xDAC7F42F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0xDAC7F42F, types, arraySizes, -1);
return &instance;
}
};
@@ -3890,8 +3623,7 @@ struct LockTypeMeta
{
static char const* types = "ssssi";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { "", "", "", "", uint32(0) };
- static DB2Meta instance(4, 5, 0xCD5E1D2F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(4, 5, 0xCD5E1D2F, types, arraySizes, -1);
return &instance;
}
};
@@ -3902,8 +3634,7 @@ struct LookAtControllerMeta
{
static char const* types = "ffffhhhhbbbbbiiiii";
static uint8 const arraySizes[18] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[18] = { float(0), float(0), float(0), float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 18, 0x543C0D56, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 18, 0x543C0D56, types, arraySizes, -1);
return &instance;
}
};
@@ -3914,8 +3645,7 @@ struct MailTemplateMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0x25C8D6CC, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x25C8D6CC, types, arraySizes, -1);
return &instance;
}
};
@@ -3926,8 +3656,7 @@ struct ManagedWorldStateMeta
{
static char const* types = "iiiiiiiiii";
static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[10] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(9, 10, 0xBA06FC33, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(9, 10, 0xBA06FC33, types, arraySizes, -1);
return &instance;
}
};
@@ -3938,8 +3667,7 @@ struct ManagedWorldStateBuffMeta
{
static char const* types = "iiii";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 4, 0x8649A3CF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x6D201DC7, types, arraySizes, 3);
return &instance;
}
};
@@ -3950,8 +3678,7 @@ struct ManagedWorldStateInputMeta
{
static char const* types = "iii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x0FC1A9B0, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x0FC1A9B0, types, arraySizes, -1);
return &instance;
}
};
@@ -3962,8 +3689,7 @@ struct ManifestInterfaceActionIconMeta
{
static char const* types = "i";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { uint32(0) };
- static DB2Meta instance(0, 1, 0x6A529F37, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(0, 1, 0x6A529F37, types, arraySizes, -1);
return &instance;
}
};
@@ -3974,8 +3700,7 @@ struct ManifestInterfaceDataMeta
{
static char const* types = "ss";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { "", "" };
- static DB2Meta instance(-1, 2, 0x9E5F4C99, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x9E5F4C99, types, arraySizes, -1);
return &instance;
}
};
@@ -3986,8 +3711,7 @@ struct ManifestInterfaceItemIconMeta
{
static char const* types = "i";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { uint32(0) };
- static DB2Meta instance(0, 1, 0x6A529F37, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(0, 1, 0x6A529F37, types, arraySizes, -1);
return &instance;
}
};
@@ -3998,8 +3722,7 @@ struct ManifestInterfaceTOCDataMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0x6F7D397D, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x6F7D397D, types, arraySizes, -1);
return &instance;
}
};
@@ -4010,8 +3733,7 @@ struct ManifestMP3Meta
{
static char const* types = "i";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { uint32(0) };
- static DB2Meta instance(0, 1, 0x6A529F37, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(0, 1, 0x6A529F37, types, arraySizes, -1);
return &instance;
}
};
@@ -4020,10 +3742,9 @@ struct MapMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "siffssssshhhhhhhbbbbb";
- static uint8 const arraySizes[21] = { 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[21] = { "", uint32(0), float(0), float(0), "", "", "", "", "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 21, 0xA37A2830, types, arraySizes, fieldDefaults);
+ static char const* types = "ssssssiffhhhhhhhbbbbb";
+ static uint8 const arraySizes[21] = { 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(-1, 21, 0xF568DF12, types, arraySizes, -1);
return &instance;
}
};
@@ -4032,10 +3753,9 @@ struct MapCelestialBodyMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "hhi";
+ static char const* types = "hih";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0xB0E40E66, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xBDE1C11C, types, arraySizes, 2);
return &instance;
}
};
@@ -4044,10 +3764,9 @@ struct MapChallengeModeMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ishhb";
+ static char const* types = "sihhb";
static uint8 const arraySizes[5] = { 1, 1, 1, 3, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint32(0), "", uint16(0), uint16(0), uint8(0) };
- static DB2Meta instance(0, 5, 0xE3D5F2E2, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(1, 5, 0xC5261662, types, arraySizes, 2);
return &instance;
}
};
@@ -4056,10 +3775,9 @@ struct MapDifficultyMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "shbbbbbbi";
+ static char const* types = "sbbbbbbih";
static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[9] = { "", uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 9, 0x910C00B6, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 9, 0x2B3B759E, types, arraySizes, 8);
return &instance;
}
};
@@ -4070,8 +3788,7 @@ struct MapDifficultyXConditionMeta
{
static char const* types = "siii";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { "", uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 4, 0x68BB0796, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x5F5D7102, types, arraySizes, 3);
return &instance;
}
};
@@ -4082,8 +3799,7 @@ struct MapLoadingScreenMeta
{
static char const* types = "ffiii";
static uint8 const arraySizes[5] = { 2, 2, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 5, 0xB7D5DEDE, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0xBBE57FE4, types, arraySizes, 4);
return &instance;
}
};
@@ -4092,10 +3808,9 @@ struct MarketingPromotionsXLocaleMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iiiisbb";
+ static char const* types = "siiiibb";
static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint32(0), uint32(0), uint32(0), "", uint8(0), uint8(0) };
- static DB2Meta instance(-1, 7, 0xD0976347, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 7, 0x80362F57, types, arraySizes, -1);
return &instance;
}
};
@@ -4106,8 +3821,7 @@ struct MaterialMeta
{
static char const* types = "biii";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 4, 0x0BC8C134, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x0BC8C134, types, arraySizes, -1);
return &instance;
}
};
@@ -4118,8 +3832,7 @@ struct MinorTalentMeta
{
static char const* types = "iii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0xF4C9681A, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xAAEF0DF8, types, arraySizes, 2);
return &instance;
}
};
@@ -4130,8 +3843,7 @@ struct MissileTargetingMeta
{
static char const* types = "fffffffffiii";
static uint8 const arraySizes[12] = { 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2 };
- static DB2FieldDefault const fieldDefaults[12] = { float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 12, 0xAD7FCC9A, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 12, 0x2305491E, types, arraySizes, -1);
return &instance;
}
};
@@ -4142,8 +3854,7 @@ struct ModelAnimCloakDampeningMeta
{
static char const* types = "iii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x5DF8E3B9, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x839B4263, types, arraySizes, 2);
return &instance;
}
};
@@ -4154,8 +3865,7 @@ struct ModelFileDataMeta
{
static char const* types = "bii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(1, 3, 0xA395EB50, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(1, 3, 0xA395EB50, types, arraySizes, 2);
return &instance;
}
};
@@ -4164,10 +3874,9 @@ struct ModelRibbonQualityMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ib";
+ static char const* types = "bi";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint8(0) };
- static DB2Meta instance(-1, 2, 0x28B1E809, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x38F764D9, types, arraySizes, 1);
return &instance;
}
};
@@ -4178,8 +3887,7 @@ struct ModifierTreeMeta
{
static char const* types = "iiibbbb";
static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint32(0), uint32(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 7, 0x7718AFC2, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 7, 0x7718AFC2, types, arraySizes, -1);
return &instance;
}
};
@@ -4188,10 +3896,9 @@ struct MountMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "isssfhhbiii";
+ static char const* types = "sssifhhbiii";
static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[11] = { uint32(0), "", "", "", float(0), uint16(0), uint16(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(8, 11, 0x753464AB, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(8, 11, 0x4D812F19, types, arraySizes, -1);
return &instance;
}
};
@@ -4202,8 +3909,7 @@ struct MountCapabilityMeta
{
static char const* types = "iihhhbii";
static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[8] = { uint32(0), uint32(0), uint16(0), uint16(0), uint16(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(6, 8, 0xB0D11D52, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(6, 8, 0xB0D11D52, types, arraySizes, -1);
return &instance;
}
};
@@ -4214,8 +3920,7 @@ struct MountTypeXCapabilityMeta
{
static char const* types = "hhb";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0xA34A8445, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xA34A8445, types, arraySizes, 0);
return &instance;
}
};
@@ -4226,8 +3931,7 @@ struct MountXDisplayMeta
{
static char const* types = "iii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x77A58808, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xD59B9FE4, types, arraySizes, 2);
return &instance;
}
};
@@ -4238,8 +3942,7 @@ struct MovieMeta
{
static char const* types = "iibb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0xF3E9AE3B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0xF3E9AE3B, types, arraySizes, -1);
return &instance;
}
};
@@ -4250,8 +3953,7 @@ struct MovieFileDataMeta
{
static char const* types = "h";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { uint16(0) };
- static DB2Meta instance(-1, 1, 0xAA16D59F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0xAA16D59F, types, arraySizes, -1);
return &instance;
}
};
@@ -4260,10 +3962,9 @@ struct MovieVariationMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ihi";
+ static char const* types = "iih";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x5340E226, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x3BFD250E, types, arraySizes, 2);
return &instance;
}
};
@@ -4272,10 +3973,9 @@ struct NPCModelItemSlotDisplayInfoMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iib";
+ static char const* types = "ibi";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0x3890D0A8, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x11D16204, types, arraySizes, 2);
return &instance;
}
};
@@ -4286,8 +3986,7 @@ struct NPCSoundsMeta
{
static char const* types = "i";
static uint8 const arraySizes[1] = { 4 };
- static DB2FieldDefault const fieldDefaults[1] = { uint32(0) };
- static DB2Meta instance(-1, 1, 0xDCB396EF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x672E1A6B, types, arraySizes, -1);
return &instance;
}
};
@@ -4298,8 +3997,7 @@ struct NameGenMeta
{
static char const* types = "sbb";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0x2EF936CD, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x2EF936CD, types, arraySizes, -1);
return &instance;
}
};
@@ -4310,8 +4008,7 @@ struct NamesProfanityMeta
{
static char const* types = "sb";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) };
- static DB2Meta instance(-1, 2, 0xDFB56E0E, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xDFB56E0E, types, arraySizes, -1);
return &instance;
}
};
@@ -4322,8 +4019,7 @@ struct NamesReservedMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0xE4923C1F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0xE4923C1F, types, arraySizes, -1);
return &instance;
}
};
@@ -4334,8 +4030,7 @@ struct NamesReservedLocaleMeta
{
static char const* types = "sb";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) };
- static DB2Meta instance(-1, 2, 0xC1403093, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xC1403093, types, arraySizes, -1);
return &instance;
}
};
@@ -4346,8 +4041,7 @@ struct ObjectEffectMeta
{
static char const* types = "fhbbbbii";
static uint8 const arraySizes[8] = { 3, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[8] = { float(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 8, 0x6A0CF743, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 8, 0x6A0CF743, types, arraySizes, -1);
return &instance;
}
};
@@ -4358,8 +4052,7 @@ struct ObjectEffectModifierMeta
{
static char const* types = "fbbb";
static uint8 const arraySizes[4] = { 4, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { float(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0xA482B053, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0xA482B053, types, arraySizes, -1);
return &instance;
}
};
@@ -4370,8 +4063,7 @@ struct ObjectEffectPackageElemMeta
{
static char const* types = "hhh";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint16(0) };
- static DB2Meta instance(-1, 3, 0x8CF043E5, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x8CF043E5, types, arraySizes, -1);
return &instance;
}
};
@@ -4382,8 +4074,7 @@ struct OutlineEffectMeta
{
static char const* types = "fiiiii";
static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { float(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 6, 0x466B2BC4, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 6, 0x466B2BC4, types, arraySizes, -1);
return &instance;
}
};
@@ -4394,8 +4085,7 @@ struct OverrideSpellDataMeta
{
static char const* types = "iib";
static uint8 const arraySizes[3] = { 10, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0x9417628C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x9417628C, types, arraySizes, -1);
return &instance;
}
};
@@ -4406,8 +4096,7 @@ struct PVPBracketTypesMeta
{
static char const* types = "bi";
static uint8 const arraySizes[2] = { 1, 4 };
- static DB2FieldDefault const fieldDefaults[2] = { uint8(0), uint32(0) };
- static DB2Meta instance(-1, 2, 0xF1DB623F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x7C55E5BB, types, arraySizes, -1);
return &instance;
}
};
@@ -4416,10 +4105,9 @@ struct PVPDifficultyMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "hbbb";
+ static char const* types = "bbbh";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0xDFC4C4EF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x970B5E15, types, arraySizes, 3);
return &instance;
}
};
@@ -4430,8 +4118,7 @@ struct PVPItemMeta
{
static char const* types = "ib";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint8(0) };
- static DB2Meta instance(-1, 2, 0xBD449801, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xBD449801, types, arraySizes, -1);
return &instance;
}
};
@@ -4442,8 +4129,7 @@ struct PageTextMaterialMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1);
return &instance;
}
};
@@ -4454,8 +4140,7 @@ struct PaperDollItemFrameMeta
{
static char const* types = "sbi";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x66B0597E, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x66B0597E, types, arraySizes, -1);
return &instance;
}
};
@@ -4466,8 +4151,7 @@ struct ParagonReputationMeta
{
static char const* types = "iii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0xD7712F98, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xD7712F98, types, arraySizes, 2);
return &instance;
}
};
@@ -4478,8 +4162,7 @@ struct ParticleColorMeta
{
static char const* types = "iii";
static uint8 const arraySizes[3] = { 3, 3, 3 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x1576D1E1, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x1576D1E1, types, arraySizes, -1);
return &instance;
}
};
@@ -4490,8 +4173,7 @@ struct PathMeta
{
static char const* types = "bbbbbbb";
static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 7, 0x5017579F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 7, 0x5017579F, types, arraySizes, -1);
return &instance;
}
};
@@ -4502,8 +4184,7 @@ struct PathNodeMeta
{
static char const* types = "iihh";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint16(0), uint16(0) };
- static DB2Meta instance(0, 4, 0x76615830, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(0, 4, 0x76615830, types, arraySizes, -1);
return &instance;
}
};
@@ -4514,8 +4195,7 @@ struct PathNodePropertyMeta
{
static char const* types = "hhbii";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint16(0), uint16(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(3, 5, 0x92C03009, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(3, 5, 0x92C03009, types, arraySizes, -1);
return &instance;
}
};
@@ -4526,8 +4206,7 @@ struct PathPropertyMeta
{
static char const* types = "ihbi";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint8(0), uint32(0) };
- static DB2Meta instance(3, 4, 0x3D29C266, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(3, 4, 0x3D29C266, types, arraySizes, -1);
return &instance;
}
};
@@ -4538,8 +4217,7 @@ struct PhaseMeta
{
static char const* types = "h";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { uint16(0) };
- static DB2Meta instance(-1, 1, 0x0043219C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x0043219C, types, arraySizes, -1);
return &instance;
}
};
@@ -4550,8 +4228,7 @@ struct PhaseShiftZoneSoundsMeta
{
static char const* types = "hhhhhbbbbiiii";
static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[13] = { uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 13, 0x85ACB830, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 13, 0x85ACB830, types, arraySizes, -1);
return &instance;
}
};
@@ -4562,8 +4239,7 @@ struct PhaseXPhaseGroupMeta
{
static char const* types = "hh";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0x66517AF6, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x66517AF6, types, arraySizes, 1);
return &instance;
}
};
@@ -4572,10 +4248,9 @@ struct PlayerConditionMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iiiishhhhhhhhhbbbbbbiiiiiiiiihhbbibbihbibbbbiiiiibihbbbiiiihibbbbbbbhiiihhbbbbbii";
- static uint8 const arraySizes[81] = { 1, 1, 2, 4, 1, 4, 4, 4, 4, 4, 4, 2, 4, 4, 1, 3, 4, 4, 4, 4, 1, 3, 4, 4, 4, 4, 4, 6, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[81] = { uint32(0), uint32(0), uint32(0), uint32(0), "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint8(255), uint8(255), uint32(0), uint8(0), uint8(0), uint32(0), uint16(0), uint8(0), uint32(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint8(0), uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint16(0), uint32(0), uint8(255), uint8(255), uint8(255), uint8(255), uint8(0), uint8(0), uint8(0), uint16(0), uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint8(255), uint8(255), uint8(255), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(0, 81, 0x9C80F621, types, arraySizes, fieldDefaults);
+ static char const* types = "lsibhhibbibbihbibbbbiiiiibihbbbiiiihibbbbbbbhiiihhbbbbbiihhhibhhhiiihiibhbbihiiii";
+ static uint8 const arraySizes[81] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 3, 3, 4, 4, 4, 4, 4, 4, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, 2 };
+ static DB2Meta instance(2, 81, 0x5B3DA113, types, arraySizes, -1);
return &instance;
}
};
@@ -4586,8 +4261,7 @@ struct PositionerMeta
{
static char const* types = "fhbb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { float(0), uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0xE830F1B1, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0xE830F1B1, types, arraySizes, -1);
return &instance;
}
};
@@ -4598,8 +4272,7 @@ struct PositionerStateMeta
{
static char const* types = "fbiiiiii";
static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[8] = { float(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 8, 0x6C975DF4, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 8, 0x6C975DF4, types, arraySizes, -1);
return &instance;
}
};
@@ -4610,8 +4283,7 @@ struct PositionerStateEntryMeta
{
static char const* types = "ffhhhhbbbbi";
static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[11] = { float(0), float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 11, 0x667ED965, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 11, 0x667ED965, types, arraySizes, -1);
return &instance;
}
};
@@ -4622,8 +4294,7 @@ struct PowerDisplayMeta
{
static char const* types = "sbbbb";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { "", uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 5, 0xFD152E5B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0xFD152E5B, types, arraySizes, -1);
return &instance;
}
};
@@ -4634,8 +4305,7 @@ struct PowerTypeMeta
{
static char const* types = "ssffhhhbbbbb";
static uint8 const arraySizes[12] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[12] = { "", "", float(0), float(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 12, 0x0C3844E1, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 12, 0x0C3844E1, types, arraySizes, -1);
return &instance;
}
};
@@ -4644,10 +4314,9 @@ struct PrestigeLevelInfoMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "isbb";
+ static char const* types = "sibb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), "", uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x1BCDA661, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0xA7B2D559, types, arraySizes, -1);
return &instance;
}
};
@@ -4658,8 +4327,7 @@ struct PvpRewardMeta
{
static char const* types = "iii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x72F4C016, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x72F4C016, types, arraySizes, -1);
return &instance;
}
};
@@ -4670,8 +4338,7 @@ struct PvpScalingEffectMeta
{
static char const* types = "fii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { float(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x52121A41, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x52121A41, types, arraySizes, 1);
return &instance;
}
};
@@ -4682,8 +4349,7 @@ struct PvpScalingEffectTypeMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1);
return &instance;
}
};
@@ -4692,10 +4358,9 @@ struct PvpTalentMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iisiiiiiii";
+ static char const* types = "siiiiiiiii";
static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[10] = { uint32(0), uint32(0), "", uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 10, 0xD3A8CFAC, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 10, 0x6EB51740, types, arraySizes, -1);
return &instance;
}
};
@@ -4706,8 +4371,7 @@ struct PvpTalentUnlockMeta
{
static char const* types = "iii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x465C83BC, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x465C83BC, types, arraySizes, -1);
return &instance;
}
};
@@ -4718,8 +4382,7 @@ struct QuestFactionRewardMeta
{
static char const* types = "h";
static uint8 const arraySizes[1] = { 10 };
- static DB2FieldDefault const fieldDefaults[1] = { uint16(0) };
- static DB2Meta instance(-1, 1, 0xB0E02541, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0xB0E02541, types, arraySizes, -1);
return &instance;
}
};
@@ -4730,8 +4393,7 @@ struct QuestFeedbackEffectMeta
{
static char const* types = "ihbbbb";
static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 6, 0x89D55A27, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 6, 0x89D55A27, types, arraySizes, -1);
return &instance;
}
};
@@ -4742,8 +4404,7 @@ struct QuestInfoMeta
{
static char const* types = "shbb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x4F45F445, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x4F45F445, types, arraySizes, -1);
return &instance;
}
};
@@ -4754,8 +4415,7 @@ struct QuestLineMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0x8046B23F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x8046B23F, types, arraySizes, -1);
return &instance;
}
};
@@ -4766,8 +4426,7 @@ struct QuestLineXQuestMeta
{
static char const* types = "hhb";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0x8FA4A9C7, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x8FA4A9C7, types, arraySizes, -1);
return &instance;
}
};
@@ -4778,8 +4437,7 @@ struct QuestMoneyRewardMeta
{
static char const* types = "i";
static uint8 const arraySizes[1] = { 10 };
- static DB2FieldDefault const fieldDefaults[1] = { uint32(0) };
- static DB2Meta instance(-1, 1, 0x86397302, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x86397302, types, arraySizes, -1);
return &instance;
}
};
@@ -4788,10 +4446,9 @@ struct QuestObjectiveMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iishbbbb";
+ static char const* types = "siibbbbh";
static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[8] = { uint32(0), uint32(0), "", uint16(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 8, 0x7F5AB0E6, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 8, 0xDD995180, types, arraySizes, 7);
return &instance;
}
};
@@ -4802,8 +4459,7 @@ struct QuestPOIBlobMeta
{
static char const* types = "ihhbbiii";
static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[8] = { uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(0, 8, 0xEC15976E, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(0, 8, 0xEC15976E, types, arraySizes, 2);
return &instance;
}
};
@@ -4812,10 +4468,9 @@ struct QuestPOIPointMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ihh";
- static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint16(0) };
- static DB2Meta instance(-1, 3, 0xDBF83463, types, arraySizes, fieldDefaults);
+ static char const* types = "ihhi";
+ static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
+ static DB2Meta instance(0, 4, 0x8CF2B119, types, arraySizes, 3);
return &instance;
}
};
@@ -4826,8 +4481,7 @@ struct QuestPackageItemMeta
{
static char const* types = "ihbi";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint16(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 4, 0xCF9401CF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0xCF9401CF, types, arraySizes, -1);
return &instance;
}
};
@@ -4838,8 +4492,7 @@ struct QuestSortMeta
{
static char const* types = "sb";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { "", uint8(0) };
- static DB2Meta instance(-1, 2, 0xAD7072C6, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xAD7072C6, types, arraySizes, -1);
return &instance;
}
};
@@ -4850,8 +4503,7 @@ struct QuestV2Meta
{
static char const* types = "h";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { uint16(0) };
- static DB2Meta instance(-1, 1, 0x70495C9B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x70495C9B, types, arraySizes, -1);
return &instance;
}
};
@@ -4860,10 +4512,9 @@ struct QuestV2CliTaskMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "issihhhhhhbbbbbbbbbbiii";
- static uint8 const arraySizes[23] = { 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[23] = { uint32(0), "", "", uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(20, 23, 0xC02750A8, types, arraySizes, fieldDefaults);
+ static char const* types = "lssihhhhhhbbbbbbbbbbiiii";
+ static uint8 const arraySizes[24] = { 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(20, 24, 0x3F026A14, types, arraySizes, -1);
return &instance;
}
};
@@ -4874,8 +4525,7 @@ struct QuestXGroupActivityMeta
{
static char const* types = "ii";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint32(0) };
- static DB2Meta instance(-1, 2, 0x06CC45D3, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x06CC45D3, types, arraySizes, -1);
return &instance;
}
};
@@ -4886,8 +4536,7 @@ struct QuestXPMeta
{
static char const* types = "h";
static uint8 const arraySizes[1] = { 10 };
- static DB2FieldDefault const fieldDefaults[1] = { uint16(0) };
- static DB2Meta instance(-1, 1, 0xCB76B4C0, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0xCB76B4C0, types, arraySizes, -1);
return &instance;
}
};
@@ -4898,8 +4547,7 @@ struct RandPropPointsMeta
{
static char const* types = "iii";
static uint8 const arraySizes[3] = { 5, 5, 5 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x97178218, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x4E2C0BCC, types, arraySizes, -1);
return &instance;
}
};
@@ -4910,8 +4558,7 @@ struct RelicSlotTierRequirementMeta
{
static char const* types = "ibb";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0x129FCC09, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x129FCC09, types, arraySizes, -1);
return &instance;
}
};
@@ -4922,8 +4569,7 @@ struct RelicTalentMeta
{
static char const* types = "hbiii";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint16(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 5, 0x7A5963FD, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x7A5963FD, types, arraySizes, -1);
return &instance;
}
};
@@ -4934,8 +4580,7 @@ struct ResearchBranchMeta
{
static char const* types = "sihbii";
static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { "", uint32(0), uint16(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 6, 0x58A3876E, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 6, 0x58A3876E, types, arraySizes, -1);
return &instance;
}
};
@@ -4946,8 +4591,7 @@ struct ResearchFieldMeta
{
static char const* types = "sbi";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint32(0) };
- static DB2Meta instance(2, 3, 0x85868B9F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(2, 3, 0x85868B9F, types, arraySizes, -1);
return &instance;
}
};
@@ -4958,8 +4602,7 @@ struct ResearchProjectMeta
{
static char const* types = "ssihbbiii";
static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[9] = { "", "", uint32(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(6, 9, 0xB1CAB80B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(6, 9, 0xB1CAB80B, types, arraySizes, -1);
return &instance;
}
};
@@ -4968,10 +4611,9 @@ struct ResearchSiteMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ishi";
+ static char const* types = "sihi";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), "", uint16(0), uint32(0) };
- static DB2Meta instance(-1, 4, 0x49F5E523, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x25F7DCC7, types, arraySizes, -1);
return &instance;
}
};
@@ -4982,8 +4624,7 @@ struct ResistancesMeta
{
static char const* types = "sbi";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0xA3EAE5AE, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xA3EAE5AE, types, arraySizes, -1);
return &instance;
}
};
@@ -4994,8 +4635,7 @@ struct RewardPackMeta
{
static char const* types = "ifbbii";
static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { uint32(0), float(0), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 6, 0xDB6CC0AB, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 6, 0xDB6CC0AB, types, arraySizes, -1);
return &instance;
}
};
@@ -5006,8 +4646,7 @@ struct RewardPackXCurrencyTypeMeta
{
static char const* types = "iii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x261C4B12, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x217E6712, types, arraySizes, 2);
return &instance;
}
};
@@ -5018,8 +4657,7 @@ struct RewardPackXItemMeta
{
static char const* types = "iii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x05A73EB9, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x74F6B9BD, types, arraySizes, 2);
return &instance;
}
};
@@ -5030,8 +4668,7 @@ struct RibbonQualityMeta
{
static char const* types = "fffbi";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), float(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 5, 0xC75DAEA8, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0xC75DAEA8, types, arraySizes, -1);
return &instance;
}
};
@@ -5042,8 +4679,29 @@ struct RulesetItemUpgradeMeta
{
static char const* types = "ih";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0xFB641AE0, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xFB641AE0, types, arraySizes, -1);
+ return &instance;
+ }
+};
+
+struct SDReplacementModelMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static char const* types = "i";
+ static uint8 const arraySizes[1] = { 1 };
+ static DB2Meta instance(-1, 1, 0xE1F906C2, types, arraySizes, -1);
+ return &instance;
+ }
+};
+
+struct SandboxScalingMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static char const* types = "iii";
+ static uint8 const arraySizes[3] = { 1, 1, 1 };
+ static DB2Meta instance(-1, 3, 0x5200B7F5, types, arraySizes, -1);
return &instance;
}
};
@@ -5054,8 +4712,7 @@ struct ScalingStatDistributionMeta
{
static char const* types = "hii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0xDED48286, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xDED48286, types, arraySizes, -1);
return &instance;
}
};
@@ -5066,8 +4723,7 @@ struct ScenarioMeta
{
static char const* types = "shbb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0xD052232A, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0xD052232A, types, arraySizes, -1);
return &instance;
}
};
@@ -5078,8 +4734,7 @@ struct ScenarioEventEntryMeta
{
static char const* types = "hb";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint8(0) };
- static DB2Meta instance(-1, 2, 0x02E80455, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x02E80455, types, arraySizes, -1);
return &instance;
}
};
@@ -5090,8 +4745,7 @@ struct ScenarioStepMeta
{
static char const* types = "sshhhbbii";
static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[9] = { "", "", uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 9, 0x201B0EFC, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 9, 0x201B0EFC, types, arraySizes, 2);
return &instance;
}
};
@@ -5100,10 +4754,20 @@ struct SceneScriptMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "sshh";
- static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { "", "", uint16(0), uint16(0) };
- static DB2Meta instance(-1, 4, 0xE4E6FCEA, types, arraySizes, fieldDefaults);
+ static char const* types = "hh";
+ static uint8 const arraySizes[2] = { 1, 1 };
+ static DB2Meta instance(-1, 2, 0xC694B81E, types, arraySizes, -1);
+ return &instance;
+ }
+};
+
+struct SceneScriptGlobalTextMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static char const* types = "ss";
+ static uint8 const arraySizes[2] = { 1, 1 };
+ static DB2Meta instance(-1, 2, 0xB9F8FDF1, types, arraySizes, -1);
return &instance;
}
};
@@ -5114,8 +4778,7 @@ struct SceneScriptPackageMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1);
return &instance;
}
};
@@ -5126,8 +4789,18 @@ struct SceneScriptPackageMemberMeta
{
static char const* types = "hhhb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint16(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x787A715F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x787A715F, types, arraySizes, 0);
+ return &instance;
+ }
+};
+
+struct SceneScriptTextMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static char const* types = "ss";
+ static uint8 const arraySizes[2] = { 1, 1 };
+ static DB2Meta instance(-1, 2, 0xB9F8FDF1, types, arraySizes, -1);
return &instance;
}
};
@@ -5138,8 +4811,7 @@ struct ScheduledIntervalMeta
{
static char const* types = "iiiii";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 5, 0x5DD2FF46, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x5DD2FF46, types, arraySizes, -1);
return &instance;
}
};
@@ -5150,8 +4822,7 @@ struct ScheduledWorldStateMeta
{
static char const* types = "iiiiiiii";
static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[8] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 8, 0xFCB13A6A, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 8, 0xFCB13A6A, types, arraySizes, 0);
return &instance;
}
};
@@ -5162,8 +4833,7 @@ struct ScheduledWorldStateGroupMeta
{
static char const* types = "iiiii";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 5, 0x21F6EE03, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x21F6EE03, types, arraySizes, -1);
return &instance;
}
};
@@ -5174,8 +4844,7 @@ struct ScheduledWorldStateXUniqCatMeta
{
static char const* types = "iii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(0, 3, 0x5DB3F9E9, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(0, 3, 0x7EFF57FD, types, arraySizes, 2);
return &instance;
}
};
@@ -5186,8 +4855,7 @@ struct ScreenEffectMeta
{
static char const* types = "sihhhhbbbiii";
static uint8 const arraySizes[12] = { 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[12] = { "", uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 12, 0x4D5B91C5, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 12, 0x4D5B91C5, types, arraySizes, -1);
return &instance;
}
};
@@ -5198,8 +4866,7 @@ struct ScreenLocationMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1);
return &instance;
}
};
@@ -5210,8 +4877,7 @@ struct SeamlessSiteMeta
{
static char const* types = "i";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { uint32(0) };
- static DB2Meta instance(-1, 1, 0xBFE7B9D3, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0xBFE7B9D3, types, arraySizes, 0);
return &instance;
}
};
@@ -5222,8 +4888,7 @@ struct ServerMessagesMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0x1C7A1347, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x1C7A1347, types, arraySizes, -1);
return &instance;
}
};
@@ -5234,8 +4899,7 @@ struct ShadowyEffectMeta
{
static char const* types = "iifffffffbbii";
static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[13] = { uint32(0), uint32(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 13, 0xE909BB18, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 13, 0xE909BB18, types, arraySizes, -1);
return &instance;
}
};
@@ -5246,8 +4910,7 @@ struct SkillLineMeta
{
static char const* types = "ssshbbii";
static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[8] = { "", "", "", uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 8, 0x3F7E88AF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 8, 0x3F7E88AF, types, arraySizes, -1);
return &instance;
}
};
@@ -5256,10 +4919,9 @@ struct SkillLineAbilityMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iiihhhhhhbbbi";
- static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[13] = { uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 13, 0xE59C4EFF, types, arraySizes, fieldDefaults);
+ static char const* types = "liiihhhhhbihbb";
+ static uint8 const arraySizes[14] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(1, 14, 0x97B5A653, types, arraySizes, 4);
return &instance;
}
};
@@ -5268,10 +4930,9 @@ struct SkillRaceClassInfoMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ihhhbbi";
+ static char const* types = "lhhhbbi";
static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 7, 0xC4FCD85C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 7, 0x9752C2CE, types, arraySizes, 1);
return &instance;
}
};
@@ -5281,9 +4942,8 @@ struct SoundAmbienceMeta
static DB2Meta const* Instance()
{
static char const* types = "biii";
- static uint8 const arraySizes[4] = { 1, 2, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 4, 0xD2E3B919, types, arraySizes, fieldDefaults);
+ static uint8 const arraySizes[4] = { 1, 1, 1, 2 };
+ static DB2Meta instance(-1, 4, 0xB073D4B5, types, arraySizes, -1);
return &instance;
}
};
@@ -5292,10 +4952,9 @@ struct SoundAmbienceFlavorMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "hii";
+ static char const* types = "iih";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x7BA44719, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x2C58D929, types, arraySizes, 2);
return &instance;
}
};
@@ -5304,10 +4963,9 @@ struct SoundBusMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "fhbbbbbi";
+ static char const* types = "fbbbbbih";
static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[8] = { float(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(7, 8, 0xD0CEAF42, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(6, 8, 0xB2ACDE2A, types, arraySizes, 7);
return &instance;
}
};
@@ -5318,8 +4976,7 @@ struct SoundBusOverrideMeta
{
static char const* types = "ifbbbii";
static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint32(0), float(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(0, 7, 0x6D887F48, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(0, 7, 0x6D887F48, types, arraySizes, 5);
return &instance;
}
};
@@ -5330,8 +4987,7 @@ struct SoundEmitterPillPointsMeta
{
static char const* types = "fh";
static uint8 const arraySizes[2] = { 3, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { float(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0x41FCF15B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x41FCF15B, types, arraySizes, 1);
return &instance;
}
};
@@ -5340,10 +4996,9 @@ struct SoundEmittersMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ffshhhbbbiii";
- static uint8 const arraySizes[12] = { 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[12] = { float(0), float(0), "", uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(9, 12, 0x93877AA8, types, arraySizes, fieldDefaults);
+ static char const* types = "sffhhbbbiiih";
+ static uint8 const arraySizes[12] = { 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(8, 12, 0x55A3B17E, types, arraySizes, 11);
return &instance;
}
};
@@ -5354,8 +5009,7 @@ struct SoundEnvelopeMeta
{
static char const* types = "iihhhbi";
static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint32(0), uint16(0), uint16(0), uint16(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 7, 0x5B78031C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 7, 0x5B78031C, types, arraySizes, 0);
return &instance;
}
};
@@ -5366,8 +5020,7 @@ struct SoundFilterMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1);
return &instance;
}
};
@@ -5378,8 +5031,7 @@ struct SoundFilterElemMeta
{
static char const* types = "fbb";
static uint8 const arraySizes[3] = { 9, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { float(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0x68075C77, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xE17AC589, types, arraySizes, 2);
return &instance;
}
};
@@ -5390,8 +5042,7 @@ struct SoundKitMeta
{
static char const* types = "ifffhhbbbfffffhb";
static uint8 const arraySizes[16] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[16] = { uint32(0), float(0), float(0), float(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), float(0), float(0), float(0), float(0), float(0), uint16(0), uint8(0) };
- static DB2Meta instance(0, 16, 0x0E9CB7AE, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(0, 16, 0x0E9CB7AE, types, arraySizes, -1);
return &instance;
}
};
@@ -5402,8 +5053,7 @@ struct SoundKitAdvancedMeta
{
static char const* types = "ifffffiifbiiiiiiiiiibffffbhffiiibbiiiiii";
static uint8 const arraySizes[40] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[40] = { uint32(0), float(0), float(0), float(0), float(0), float(0), uint32(0), uint32(0), float(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint8(0), float(1), float(360), float(360), float(0), uint8(0), uint16(0), float(1), float(1), uint32(0), uint32(0), uint32(0), uint8(0), uint8(0), uint32(4294967295), uint32(4294967295), uint32(0), uint32(4294967295), uint32(4294967295), uint32(0) };
- static DB2Meta instance(0, 40, 0x73F6F023, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(0, 40, 0x73F6F023, types, arraySizes, -1);
return &instance;
}
};
@@ -5414,8 +5064,7 @@ struct SoundKitChildMeta
{
static char const* types = "ii";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint32(0) };
- static DB2Meta instance(-1, 2, 0x2827A3B5, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x2827A3B5, types, arraySizes, 0);
return &instance;
}
};
@@ -5424,10 +5073,9 @@ struct SoundKitEntryMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ifbi";
+ static char const* types = "iibf";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), float(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 4, 0x15A38197, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x6ED6E26F, types, arraySizes, 0);
return &instance;
}
};
@@ -5438,8 +5086,7 @@ struct SoundKitFallbackMeta
{
static char const* types = "ii";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint32(0) };
- static DB2Meta instance(-1, 2, 0xB1A5106F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xB1A5106F, types, arraySizes, -1);
return &instance;
}
};
@@ -5450,8 +5097,7 @@ struct SoundKitNameMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1);
return &instance;
}
};
@@ -5462,8 +5108,7 @@ struct SoundOverrideMeta
{
static char const* types = "hhhb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint16(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0xFB7643F6, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0xFB7643F6, types, arraySizes, -1);
return &instance;
}
};
@@ -5474,8 +5119,7 @@ struct SoundProviderPreferencesMeta
{
static char const* types = "sfffffffffffffffhhhhhbb";
static uint8 const arraySizes[23] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[23] = { "", float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 23, 0x85F218A4, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 23, 0x85F218A4, types, arraySizes, -1);
return &instance;
}
};
@@ -5484,10 +5128,9 @@ struct SourceInfoMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "isbb";
+ static char const* types = "sbbi";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), "", uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0xC3DF4AF7, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x7C214135, types, arraySizes, 3);
return &instance;
}
};
@@ -5498,8 +5141,7 @@ struct SpamMessagesMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0x0D4BA7E7, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x0D4BA7E7, types, arraySizes, -1);
return &instance;
}
};
@@ -5508,10 +5150,9 @@ struct SpecializationSpellsMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iishbi";
+ static char const* types = "siihbi";
static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint32(0), "", uint16(0), uint8(0), uint32(0) };
- static DB2Meta instance(5, 6, 0x2E72326F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(5, 6, 0xAE3436F3, types, arraySizes, 3);
return &instance;
}
};
@@ -5520,10 +5161,9 @@ struct SpellMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ssssiii";
- static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { "", "", "", "", uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(5, 7, 0x9BB9B426, types, arraySizes, fieldDefaults);
+ static char const* types = "ssss";
+ static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
+ static DB2Meta instance(-1, 4, 0x2273DFFF, types, arraySizes, -1);
return &instance;
}
};
@@ -5534,8 +5174,7 @@ struct SpellActionBarPrefMeta
{
static char const* types = "ih";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0x1EF80B2B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x1EF80B2B, types, arraySizes, -1);
return &instance;
}
};
@@ -5546,8 +5185,7 @@ struct SpellActivationOverlayMeta
{
static char const* types = "iiifibbi";
static uint8 const arraySizes[8] = { 1, 1, 1, 1, 4, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[8] = { uint32(0), uint32(0), uint32(0), float(0), uint32(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 8, 0x23568FC7, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 8, 0x23568FC7, types, arraySizes, -1);
return &instance;
}
};
@@ -5556,10 +5194,9 @@ struct SpellAuraOptionsMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iiiihhbb";
+ static char const* types = "iiihhbbi";
static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[8] = { uint32(0), uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 8, 0xC49556EF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 8, 0xE05BE94F, types, arraySizes, 7);
return &instance;
}
};
@@ -5568,10 +5205,9 @@ struct SpellAuraRestrictionsMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iiiiibbbbb";
+ static char const* types = "iiiibbbbbi";
static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[10] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 10, 0x898F50ED, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 10, 0x7CDF3311, types, arraySizes, 9);
return &instance;
}
};
@@ -5582,8 +5218,7 @@ struct SpellAuraVisXChrSpecMeta
{
static char const* types = "hh";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint16(0) };
- static DB2Meta instance(-1, 2, 0x197FF5DC, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xA65B6A4A, types, arraySizes, 1);
return &instance;
}
};
@@ -5592,10 +5227,9 @@ struct SpellAuraVisibilityMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ibbi";
+ static char const* types = "bbii";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(3, 4, 0x037158AE, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(2, 4, 0xA549F79C, types, arraySizes, 3);
return &instance;
}
};
@@ -5606,8 +5240,7 @@ struct SpellCastTimesMeta
{
static char const* types = "iih";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint16(0) };
- static DB2Meta instance(-1, 3, 0x4129C6A4, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x4129C6A4, types, arraySizes, -1);
return &instance;
}
};
@@ -5618,8 +5251,7 @@ struct SpellCastingRequirementsMeta
{
static char const* types = "ihhhbbb";
static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 7, 0xD8B56E5D, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 7, 0xD8B56E5D, types, arraySizes, -1);
return &instance;
}
};
@@ -5628,10 +5260,9 @@ struct SpellCategoriesMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ihhhbbbbb";
+ static char const* types = "hhhbbbbbi";
static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[9] = { uint32(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 9, 0xC6ACBEE2, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 9, 0x14E916CC, types, arraySizes, 8);
return &instance;
}
};
@@ -5642,8 +5273,7 @@ struct SpellCategoryMeta
{
static char const* types = "sibbbi";
static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { "", uint32(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 6, 0xEA60E384, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 6, 0xEA60E384, types, arraySizes, -1);
return &instance;
}
};
@@ -5654,8 +5284,7 @@ struct SpellChainEffectsMeta
{
static char const* types = "fffiiffffffffffffffffffffffffffffffffffiffffhhhhbbbbbbbbbbii";
static uint8 const arraySizes[60] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 };
- static DB2FieldDefault const fieldDefaults[60] = { float(0), float(0), float(0), uint32(0), uint32(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint32(0), float(0), float(0), float(0), float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 60, 0xC4156FED, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 60, 0x4E8FF369, types, arraySizes, -1);
return &instance;
}
};
@@ -5666,8 +5295,7 @@ struct SpellClassOptionsMeta
{
static char const* types = "iibi";
static uint8 const arraySizes[4] = { 1, 4, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 4, 0x80FBD67A, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x80FBD67A, types, arraySizes, -1);
return &instance;
}
};
@@ -5676,10 +5304,9 @@ struct SpellCooldownsMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iiiib";
+ static char const* types = "iiibi";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint32(0), uint32(0), uint8(0) };
- static DB2Meta instance(-1, 5, 0x4A02FB86, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0xCA8D8B3C, types, arraySizes, 4);
return &instance;
}
};
@@ -5690,8 +5317,7 @@ struct SpellDescriptionVariablesMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0xA8EDE75B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0xA8EDE75B, types, arraySizes, -1);
return &instance;
}
};
@@ -5702,8 +5328,7 @@ struct SpellDispelTypeMeta
{
static char const* types = "ssbb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { "", "", uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0xE9DDA799, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0xE9DDA799, types, arraySizes, -1);
return &instance;
}
};
@@ -5714,8 +5339,7 @@ struct SpellDurationMeta
{
static char const* types = "iii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x0D6C9082, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x0D6C9082, types, arraySizes, -1);
return &instance;
}
};
@@ -5724,10 +5348,9 @@ struct SpellEffectMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iiiiiiiiiiififfiiiiffififf";
- static uint8 const arraySizes[26] = { 4, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[26] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), float(0), uint32(0), float(0), float(1), uint32(0), uint32(0), uint32(0), uint32(0), float(0), float(0), uint32(0), float(0), uint32(0), float(0), float(1) };
- static DB2Meta instance(1, 26, 0xCE7E4237, types, arraySizes, fieldDefaults);
+ static char const* types = "iiiiiififfiiiiffififfffffiiiii";
+ static uint8 const arraySizes[30] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 2, 2, 2, 1 };
+ static DB2Meta instance(0, 30, 0x3244098B, types, arraySizes, 29);
return &instance;
}
};
@@ -5738,32 +5361,7 @@ struct SpellEffectEmissionMeta
{
static char const* types = "ffhb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { float(0), float(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0xC6E61A9B, types, arraySizes, fieldDefaults);
- return &instance;
- }
-};
-
-struct SpellEffectGroupSizeMeta
-{
- static DB2Meta const* Instance()
- {
- static char const* types = "if";
- static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint32(0), float(0) };
- static DB2Meta instance(-1, 2, 0x9FCB13EB, types, arraySizes, fieldDefaults);
- return &instance;
- }
-};
-
-struct SpellEffectScalingMeta
-{
- static DB2Meta const* Instance()
- {
- static char const* types = "fffi";
- static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { float(0), float(0), float(0), uint32(0) };
- static DB2Meta instance(-1, 4, 0x0F1677CB, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0xC6E61A9B, types, arraySizes, -1);
return &instance;
}
};
@@ -5774,8 +5372,7 @@ struct SpellEquippedItemsMeta
{
static char const* types = "iiib";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint32(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0xCE628176, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0xCE628176, types, arraySizes, -1);
return &instance;
}
};
@@ -5784,10 +5381,9 @@ struct SpellFlyoutMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "issbii";
+ static char const* types = "lssbii";
static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { uint32(0), "", "", uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 6, 0x6E55E113, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 6, 0x437671BD, types, arraySizes, -1);
return &instance;
}
};
@@ -5798,8 +5394,7 @@ struct SpellFlyoutItemMeta
{
static char const* types = "ibb";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0xD091F5DD, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xF86ADE09, types, arraySizes, 2);
return &instance;
}
};
@@ -5810,8 +5405,7 @@ struct SpellFocusObjectMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x96663ABF, types, arraySizes, -1);
return &instance;
}
};
@@ -5820,10 +5414,9 @@ struct SpellInterruptsMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iiihb";
- static uint8 const arraySizes[5] = { 1, 2, 2, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint32(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 5, 0xD543CC04, types, arraySizes, fieldDefaults);
+ static char const* types = "bhiii";
+ static uint8 const arraySizes[5] = { 1, 1, 2, 2, 1 };
+ static DB2Meta instance(-1, 5, 0x2FA8EA94, types, arraySizes, 4);
return &instance;
}
};
@@ -5832,10 +5425,9 @@ struct SpellItemEnchantmentMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "isfiihhhhhhbbbbbbbi";
- static uint8 const arraySizes[19] = { 3, 1, 3, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[19] = { uint32(0), "", float(0), uint32(0), uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 19, 0x48ACBC6C, types, arraySizes, fieldDefaults);
+ static char const* types = "sifiihhhhhhbbbbbbbi";
+ static uint8 const arraySizes[19] = { 1, 3, 3, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(-1, 19, 0x80DEA734, types, arraySizes, -1);
return &instance;
}
};
@@ -5844,10 +5436,9 @@ struct SpellItemEnchantmentConditionMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "bbbbbi";
+ static char const* types = "ibbbbb";
static uint8 const arraySizes[6] = { 5, 5, 5, 5, 5, 5 };
- static DB2FieldDefault const fieldDefaults[6] = { uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 6, 0xFEBEF5E5, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 6, 0xB9C16961, types, arraySizes, -1);
return &instance;
}
};
@@ -5856,10 +5447,9 @@ struct SpellKeyboundOverrideMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "isb";
+ static char const* types = "sib";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), "", uint8(0) };
- static DB2Meta instance(-1, 3, 0x8AC16F04, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x6ECA16FC, types, arraySizes, -1);
return &instance;
}
};
@@ -5870,8 +5460,7 @@ struct SpellLabelMeta
{
static char const* types = "ii";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint32(0) };
- static DB2Meta instance(-1, 2, 0x3FC49F7C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x68E44736, types, arraySizes, 1);
return &instance;
}
};
@@ -5882,8 +5471,7 @@ struct SpellLearnSpellMeta
{
static char const* types = "iii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x153EBA26, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x153EBA26, types, arraySizes, -1);
return &instance;
}
};
@@ -5892,10 +5480,9 @@ struct SpellLevelsMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ihhhbb";
+ static char const* types = "hhhbbi";
static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 6, 0x9F5C2D61, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 6, 0x9E7D1CCD, types, arraySizes, 5);
return &instance;
}
};
@@ -5906,8 +5493,7 @@ struct SpellMechanicMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0xF2075D8C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0xF2075D8C, types, arraySizes, -1);
return &instance;
}
};
@@ -5916,22 +5502,9 @@ struct SpellMiscMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iffhhhbii";
- static uint8 const arraySizes[9] = { 14, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[9] = { uint32(0), float(0), float(0), uint16(0), uint16(0), uint16(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 9, 0x4DF9B9DB, types, arraySizes, fieldDefaults);
- return &instance;
- }
-};
-
-struct SpellMiscDifficultyMeta
-{
- static DB2Meta const* Instance()
- {
- static char const* types = "ibi";
- static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint8(0), uint32(0) };
- static DB2Meta instance(2, 3, 0xE8AD116F, types, arraySizes, fieldDefaults);
+ static char const* types = "hhhbififbii";
+ static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 14, 1 };
+ static DB2Meta instance(-1, 11, 0xCDC114D5, types, arraySizes, 10);
return &instance;
}
};
@@ -5942,8 +5515,7 @@ struct SpellMissileMeta
{
static char const* types = "ifffffffffffffb";
static uint8 const arraySizes[15] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[15] = { uint32(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint8(0) };
- static DB2Meta instance(-1, 15, 0x1D35645E, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 15, 0x1D35645E, types, arraySizes, -1);
return &instance;
}
};
@@ -5954,8 +5526,7 @@ struct SpellMissileMotionMeta
{
static char const* types = "ssbb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { "", "", uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x6B78A45B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x6B78A45B, types, arraySizes, -1);
return &instance;
}
};
@@ -5964,10 +5535,9 @@ struct SpellPowerMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iiffifbbiiiiii";
+ static char const* types = "iffifbbiiiiiii";
static uint8 const arraySizes[14] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[14] = { uint32(0), uint32(0), float(0), float(0), uint32(0), float(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(8, 14, 0xA2D2A8CE, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(7, 14, 0x8E5E46EC, types, arraySizes, 13);
return &instance;
}
};
@@ -5978,8 +5548,7 @@ struct SpellPowerDifficultyMeta
{
static char const* types = "bbi";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(2, 3, 0x74714FF7, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(2, 3, 0x74714FF7, types, arraySizes, -1);
return &instance;
}
};
@@ -5990,8 +5559,7 @@ struct SpellProceduralEffectMeta
{
static char const* types = "fbi";
static uint8 const arraySizes[3] = { 4, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { float(0), uint8(0), uint32(0) };
- static DB2Meta instance(2, 3, 0x3E47F4EF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(2, 3, 0x3E47F4EF, types, arraySizes, -1);
return &instance;
}
};
@@ -6002,8 +5570,7 @@ struct SpellProcsPerMinuteMeta
{
static char const* types = "fb";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { float(0), uint8(0) };
- static DB2Meta instance(-1, 2, 0x4BC1931B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x4BC1931B, types, arraySizes, -1);
return &instance;
}
};
@@ -6012,10 +5579,9 @@ struct SpellProcsPerMinuteModMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "fhhb";
+ static char const* types = "fhbh";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { float(0), uint16(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x57D7949F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x2503C18B, types, arraySizes, 3);
return &instance;
}
};
@@ -6026,8 +5592,7 @@ struct SpellRadiusMeta
{
static char const* types = "ffff";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { float(0), float(0), float(0), float(0) };
- static DB2Meta instance(-1, 4, 0xC12E5C90, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0xC12E5C90, types, arraySizes, -1);
return &instance;
}
};
@@ -6036,10 +5601,9 @@ struct SpellRangeMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ffssb";
- static uint8 const arraySizes[5] = { 2, 2, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), "", "", uint8(0) };
- static DB2Meta instance(-1, 5, 0x1A6155F2, types, arraySizes, fieldDefaults);
+ static char const* types = "ssffb";
+ static uint8 const arraySizes[5] = { 1, 1, 2, 2, 1 };
+ static DB2Meta instance(-1, 5, 0xDE2E3F8E, types, arraySizes, -1);
return &instance;
}
};
@@ -6050,8 +5614,7 @@ struct SpellReagentsMeta
{
static char const* types = "iih";
static uint8 const arraySizes[3] = { 1, 8, 8 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint16(0) };
- static DB2Meta instance(-1, 3, 0x0463C688, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x0463C688, types, arraySizes, -1);
return &instance;
}
};
@@ -6062,8 +5625,7 @@ struct SpellReagentsCurrencyMeta
{
static char const* types = "ihh";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint16(0) };
- static DB2Meta instance(-1, 3, 0x90A5E5D2, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x90A5E5D2, types, arraySizes, 0);
return &instance;
}
};
@@ -6074,8 +5636,7 @@ struct SpellScalingMeta
{
static char const* types = "ihiii";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint16(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 5, 0xF67A5719, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0xF67A5719, types, arraySizes, -1);
return &instance;
}
};
@@ -6086,8 +5647,7 @@ struct SpellShapeshiftMeta
{
static char const* types = "iiib";
static uint8 const arraySizes[4] = { 1, 2, 2, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint32(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0xA461C24D, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0xA461C24D, types, arraySizes, -1);
return &instance;
}
};
@@ -6098,8 +5658,7 @@ struct SpellShapeshiftFormMeta
{
static char const* types = "sfihhbbiii";
static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 4, 8 };
- static DB2FieldDefault const fieldDefaults[10] = { "", float(0), uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 10, 0x99DC58DF, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 10, 0x130819AF, types, arraySizes, -1);
return &instance;
}
};
@@ -6110,8 +5669,7 @@ struct SpellSpecialUnitEffectMeta
{
static char const* types = "hi";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint32(0) };
- static DB2Meta instance(-1, 2, 0x76989615, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x76989615, types, arraySizes, -1);
return &instance;
}
};
@@ -6120,10 +5678,9 @@ struct SpellTargetRestrictionsMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iffihbbi";
+ static char const* types = "ffihbbii";
static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[8] = { uint32(0), float(0), float(0), uint32(0), uint16(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 8, 0x973D298C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 8, 0x7B330026, types, arraySizes, 7);
return &instance;
}
};
@@ -6134,8 +5691,7 @@ struct SpellTotemsMeta
{
static char const* types = "iih";
static uint8 const arraySizes[3] = { 1, 2, 2 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint16(0) };
- static DB2Meta instance(-1, 3, 0xEC0C4866, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xEC0C4866, types, arraySizes, -1);
return &instance;
}
};
@@ -6144,10 +5700,9 @@ struct SpellVisualMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ffbbiiihiiihiii";
- static uint8 const arraySizes[15] = { 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[15] = { float(0), float(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint16(0), uint32(0), uint32(0), uint32(0), uint16(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(4, 15, 0xAC810A44, types, arraySizes, fieldDefaults);
+ static char const* types = "ffihbbiiiihiii";
+ static uint8 const arraySizes[14] = { 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(-1, 14, 0x1C1301D2, types, arraySizes, -1);
return &instance;
}
};
@@ -6158,8 +5713,7 @@ struct SpellVisualAnimMeta
{
static char const* types = "hhh";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint16(0), uint16(0), uint16(0) };
- static DB2Meta instance(-1, 3, 0x0ABD7A19, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x0ABD7A19, types, arraySizes, -1);
return &instance;
}
};
@@ -6170,8 +5724,7 @@ struct SpellVisualColorEffectMeta
{
static char const* types = "fifhhhhhbbi";
static uint8 const arraySizes[11] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[11] = { float(0), uint32(0), float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 11, 0x7E5B2E66, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 11, 0x7E5B2E66, types, arraySizes, -1);
return &instance;
}
};
@@ -6182,8 +5735,7 @@ struct SpellVisualEffectNameMeta
{
static char const* types = "ffffffiiibiii";
static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[13] = { float(0), float(0), float(0), float(0), float(0), float(0), uint32(0), uint32(0), uint32(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 13, 0xB930A934, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 13, 0xB930A934, types, arraySizes, -1);
return &instance;
}
};
@@ -6194,8 +5746,7 @@ struct SpellVisualEventMeta
{
static char const* types = "iiiiiiiii";
static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[9] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 9, 0x487A650E, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 9, 0xAE75BC3C, types, arraySizes, 8);
return &instance;
}
};
@@ -6204,10 +5755,9 @@ struct SpellVisualKitMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iifihh";
- static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint32(0), float(0), uint32(0), uint16(0), uint16(0) };
- static DB2Meta instance(0, 6, 0xDB2F70FE, types, arraySizes, fieldDefaults);
+ static char const* types = "ifihh";
+ static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
+ static DB2Meta instance(-1, 5, 0xDC04F488, types, arraySizes, -1);
return &instance;
}
};
@@ -6218,8 +5768,7 @@ struct SpellVisualKitAreaModelMeta
{
static char const* types = "ifffhb";
static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { uint32(0), float(0), float(0), float(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 6, 0xBE76E593, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 6, 0xBE76E593, types, arraySizes, -1);
return &instance;
}
};
@@ -6230,8 +5779,7 @@ struct SpellVisualKitEffectMeta
{
static char const* types = "iii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0xD7C9ED1B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xB78084B7, types, arraySizes, 2);
return &instance;
}
};
@@ -6240,10 +5788,9 @@ struct SpellVisualKitModelAttachMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iffhbbihffffffffhhhhif";
- static uint8 const arraySizes[22] = { 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[22] = { uint32(0), float(0), float(0), uint16(0), uint8(0), uint8(0), uint32(0), uint16(0), float(0), float(0), float(0), float(0), float(0), float(0), float(1), float(0), uint16(65535), uint16(65535), uint16(65535), uint16(0), uint32(0), float(0) };
- static DB2Meta instance(6, 22, 0xAB81ACCD, types, arraySizes, fieldDefaults);
+ static char const* types = "ffihbbhffffffffhhhhifi";
+ static uint8 const arraySizes[22] = { 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(2, 22, 0xBCE18649, types, arraySizes, 21);
return &instance;
}
};
@@ -6252,10 +5799,20 @@ struct SpellVisualMissileMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iiiffhhhhhhbbiii";
+ static char const* types = "iiiffhhhhhbbiiih";
static uint8 const arraySizes[16] = { 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[16] = { uint32(0), uint32(0), uint32(0), float(0), float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(13, 16, 0xDC228F29, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(12, 16, 0x00BA67A5, types, arraySizes, 15);
+ return &instance;
+ }
+};
+
+struct SpellXDescriptionVariablesMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static char const* types = "ii";
+ static uint8 const arraySizes[2] = { 1, 1 };
+ static DB2Meta instance(-1, 2, 0xB08E6876, types, arraySizes, -1);
return &instance;
}
};
@@ -6264,10 +5821,9 @@ struct SpellXSpellVisualMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iiifhhhhiibbb";
+ static char const* types = "iifhhhhiibbbi";
static uint8 const arraySizes[13] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[13] = { uint32(0), uint32(0), uint32(0), float(1), uint16(0), uint16(0), uint16(0), uint16(0), uint32(0), uint32(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(2, 13, 0x427CDF5C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(1, 13, 0x4F4B8A2A, types, arraySizes, 12);
return &instance;
}
};
@@ -6278,8 +5834,7 @@ struct StartupFilesMeta
{
static char const* types = "iii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x51FEBBB5, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x51FEBBB5, types, arraySizes, -1);
return &instance;
}
};
@@ -6290,8 +5845,7 @@ struct Startup_StringsMeta
{
static char const* types = "ss";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { "", "" };
- static DB2Meta instance(-1, 2, 0xF8CDDEE7, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xF8CDDEE7, types, arraySizes, -1);
return &instance;
}
};
@@ -6302,8 +5856,7 @@ struct StationeryMeta
{
static char const* types = "bii";
static uint8 const arraySizes[3] = { 1, 1, 2 };
- static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0xAB713E39, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x20F6BABD, types, arraySizes, -1);
return &instance;
}
};
@@ -6314,8 +5867,7 @@ struct SummonPropertiesMeta
{
static char const* types = "iiiii";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 5, 0xFB8338FC, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0xFB8338FC, types, arraySizes, -1);
return &instance;
}
};
@@ -6326,8 +5878,7 @@ struct TactKeyMeta
{
static char const* types = "b";
static uint8 const arraySizes[1] = { 16 };
- static DB2FieldDefault const fieldDefaults[1] = { uint8(0) };
- static DB2Meta instance(-1, 1, 0xF0F98B62, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0xF0F98B62, types, arraySizes, -1);
return &instance;
}
};
@@ -6338,8 +5889,7 @@ struct TactKeyLookupMeta
{
static char const* types = "b";
static uint8 const arraySizes[1] = { 8 };
- static DB2FieldDefault const fieldDefaults[1] = { uint8(0) };
- static DB2Meta instance(-1, 1, 0x3C1AC92A, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x3C1AC92A, types, arraySizes, -1);
return &instance;
}
};
@@ -6348,10 +5898,9 @@ struct TalentMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iishbbbbb";
+ static char const* types = "siihbbbbb";
static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 2, 1 };
- static DB2FieldDefault const fieldDefaults[9] = { uint32(0), uint32(0), "", uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 9, 0x21A2F524, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 9, 0xE8850B48, types, arraySizes, -1);
return &instance;
}
};
@@ -6360,10 +5909,9 @@ struct TaxiNodesMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "fsifffhhhbii";
- static uint8 const arraySizes[12] = { 3, 1, 2, 2, 1, 2, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[12] = { float(0), "", uint32(0), float(0), float(0), float(0), uint16(0), uint16(0), uint16(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 12, 0xC47A8C7F, types, arraySizes, fieldDefaults);
+ static char const* types = "sfifffhhhbii";
+ static uint8 const arraySizes[12] = { 1, 3, 2, 2, 1, 2, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(-1, 12, 0xB46C6A8B, types, arraySizes, -1);
return &instance;
}
};
@@ -6374,8 +5922,7 @@ struct TaxiPathMeta
{
static char const* types = "hhii";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint16(0), uint32(0), uint32(0) };
- static DB2Meta instance(2, 4, 0xF44E2BF5, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(2, 4, 0xF44E2BF5, types, arraySizes, 0);
return &instance;
}
};
@@ -6386,8 +5933,7 @@ struct TaxiPathNodeMeta
{
static char const* types = "fhhbibihh";
static uint8 const arraySizes[9] = { 3, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[9] = { float(0), uint16(0), uint16(0), uint8(0), uint32(0), uint8(0), uint32(0), uint16(0), uint16(0) };
- static DB2Meta instance(4, 9, 0xD38E8C01, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(4, 9, 0xD38E8C01, types, arraySizes, 1);
return &instance;
}
};
@@ -6398,8 +5944,7 @@ struct TerrainMaterialMeta
{
static char const* types = "bii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x19D9496F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x19D9496F, types, arraySizes, -1);
return &instance;
}
};
@@ -6410,8 +5955,7 @@ struct TerrainTypeMeta
{
static char const* types = "shhbb";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { "", uint16(0), uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 5, 0x4FE20345, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x4FE20345, types, arraySizes, -1);
return &instance;
}
};
@@ -6422,8 +5966,7 @@ struct TerrainTypeSoundsMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0xE4923C1F, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0xE4923C1F, types, arraySizes, -1);
return &instance;
}
};
@@ -6434,8 +5977,7 @@ struct TextureBlendSetMeta
{
static char const* types = "ifffffbbbb";
static uint8 const arraySizes[10] = { 3, 3, 3, 3, 3, 4, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[10] = { uint32(0), float(0), float(0), float(0), float(0), float(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 10, 0xA2323E0C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 10, 0xA2323E0C, types, arraySizes, -1);
return &instance;
}
};
@@ -6444,10 +5986,9 @@ struct TextureFileDataMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ibi";
+ static char const* types = "iib";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint8(0), uint32(0) };
- static DB2Meta instance(2, 3, 0xF7A606B0, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(0, 3, 0xE0790D00, types, arraySizes, 1);
return &instance;
}
};
@@ -6458,8 +5999,7 @@ struct TotemCategoryMeta
{
static char const* types = "sib";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", uint32(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0x20B9177A, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x20B9177A, types, arraySizes, -1);
return &instance;
}
};
@@ -6468,10 +6008,9 @@ struct ToyMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "isbbi";
+ static char const* types = "sibbi";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint32(0), "", uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(4, 5, 0x01D29F62, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(4, 5, 0x5409C5EA, types, arraySizes, -1);
return &instance;
}
};
@@ -6482,8 +6021,7 @@ struct TradeSkillCategoryMeta
{
static char const* types = "shhhb";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { "", uint16(0), uint16(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 5, 0x5D3ADD4D, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x5D3ADD4D, types, arraySizes, -1);
return &instance;
}
};
@@ -6494,8 +6032,7 @@ struct TradeSkillItemMeta
{
static char const* types = "hb";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint16(0), uint8(0) };
- static DB2Meta instance(-1, 2, 0xFDE283DA, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xFDE283DA, types, arraySizes, -1);
return &instance;
}
};
@@ -6506,8 +6043,7 @@ struct TransformMatrixMeta
{
static char const* types = "fffff";
static uint8 const arraySizes[5] = { 3, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), float(0), float(0), float(0) };
- static DB2Meta instance(-1, 5, 0xB6A2C431, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0xB6A2C431, types, arraySizes, -1);
return &instance;
}
};
@@ -6518,8 +6054,7 @@ struct TransmogHolidayMeta
{
static char const* types = "ii";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint32(0) };
- static DB2Meta instance(0, 2, 0xB420EB18, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(0, 2, 0xB420EB18, types, arraySizes, -1);
return &instance;
}
};
@@ -6530,8 +6065,7 @@ struct TransmogSetMeta
{
static char const* types = "shhbiiiiii";
static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[10] = { "", uint16(0), uint16(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(4, 10, 0xBEDFD7D1, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(4, 10, 0xBEDFD7D1, types, arraySizes, 1);
return &instance;
}
};
@@ -6542,8 +6076,7 @@ struct TransmogSetGroupMeta
{
static char const* types = "si";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { "", uint32(0) };
- static DB2Meta instance(1, 2, 0xCD072FE5, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(1, 2, 0xCD072FE5, types, arraySizes, -1);
return &instance;
}
};
@@ -6554,8 +6087,7 @@ struct TransmogSetItemMeta
{
static char const* types = "iiii";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(0, 4, 0x0E96B3A2, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(0, 4, 0x0E96B3A2, types, arraySizes, 1);
return &instance;
}
};
@@ -6564,10 +6096,9 @@ struct TransportAnimationMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iifb";
- static uint8 const arraySizes[4] = { 1, 1, 3, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), float(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x16B8A693, types, arraySizes, fieldDefaults);
+ static char const* types = "ifbi";
+ static uint8 const arraySizes[4] = { 1, 3, 1, 1 };
+ static DB2Meta instance(-1, 4, 0x099987ED, types, arraySizes, 3);
return &instance;
}
};
@@ -6578,8 +6109,7 @@ struct TransportPhysicsMeta
{
static char const* types = "ffffffffff";
static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[10] = { float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0) };
- static DB2Meta instance(-1, 10, 0x2C1FB208, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 10, 0x2C1FB208, types, arraySizes, -1);
return &instance;
}
};
@@ -6588,10 +6118,9 @@ struct TransportRotationMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "iif";
- static uint8 const arraySizes[3] = { 1, 1, 4 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), float(0) };
- static DB2Meta instance(-1, 3, 0xAFA270A9, types, arraySizes, fieldDefaults);
+ static char const* types = "ifi";
+ static uint8 const arraySizes[3] = { 1, 4, 1 };
+ static DB2Meta instance(-1, 3, 0x72035AA9, types, arraySizes, 2);
return &instance;
}
};
@@ -6602,8 +6131,7 @@ struct TrophyMeta
{
static char const* types = "shbi";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 4, 0xE16151C5, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0xE16151C5, types, arraySizes, -1);
return &instance;
}
};
@@ -6614,8 +6142,7 @@ struct UIExpansionDisplayInfoMeta
{
static char const* types = "iii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x73DFDEC5, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x73DFDEC5, types, arraySizes, -1);
return &instance;
}
};
@@ -6626,8 +6153,7 @@ struct UIExpansionDisplayInfoIconMeta
{
static char const* types = "sii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x331022F2, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x331022F2, types, arraySizes, -1);
return &instance;
}
};
@@ -6638,8 +6164,7 @@ struct UiCamFbackTransmogChrRaceMeta
{
static char const* types = "hbbbb";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint16(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 5, 0x9FB4CC78, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x9FB4CC78, types, arraySizes, -1);
return &instance;
}
};
@@ -6650,8 +6175,7 @@ struct UiCamFbackTransmogWeaponMeta
{
static char const* types = "hbbb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x020890B7, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x020890B7, types, arraySizes, -1);
return &instance;
}
};
@@ -6662,8 +6186,7 @@ struct UiCameraMeta
{
static char const* types = "sfffhbbbi";
static uint8 const arraySizes[9] = { 1, 3, 3, 3, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[9] = { "", float(0), float(0), float(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 9, 0xCA6C98D4, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 9, 0xCA6C98D4, types, arraySizes, -1);
return &instance;
}
};
@@ -6674,8 +6197,7 @@ struct UiCameraTypeMeta
{
static char const* types = "sii";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", uint32(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0x644732AE, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x644732AE, types, arraySizes, -1);
return &instance;
}
};
@@ -6686,8 +6208,7 @@ struct UiMapPOIMeta
{
static char const* types = "ifiihhi";
static uint8 const arraySizes[7] = { 1, 3, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint32(0), float(0), uint32(0), uint32(0), uint16(0), uint16(0), uint32(0) };
- static DB2Meta instance(6, 7, 0x559E1F11, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(6, 7, 0x559E1F11, types, arraySizes, -1);
return &instance;
}
};
@@ -6698,8 +6219,7 @@ struct UiModelSceneMeta
{
static char const* types = "bb";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { uint8(0), uint8(0) };
- static DB2Meta instance(-1, 2, 0xA7D62B8A, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xA7D62B8A, types, arraySizes, -1);
return &instance;
}
};
@@ -6710,8 +6230,7 @@ struct UiModelSceneActorMeta
{
static char const* types = "sfffffbiii";
static uint8 const arraySizes[10] = { 1, 3, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[10] = { "", float(0), float(0), float(0), float(0), float(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(7, 10, 0xBB10B7E3, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(7, 10, 0x679AC95F, types, arraySizes, 9);
return &instance;
}
};
@@ -6722,8 +6241,7 @@ struct UiModelSceneActorDisplayMeta
{
static char const* types = "fffii";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { float(0), float(0), float(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 5, 0x6137F4BE, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x6137F4BE, types, arraySizes, -1);
return &instance;
}
};
@@ -6734,8 +6252,7 @@ struct UiModelSceneCameraMeta
{
static char const* types = "sfffffffffffbbii";
static uint8 const arraySizes[16] = { 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[16] = { "", float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(14, 16, 0xC58AA5EC, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(14, 16, 0xC58AA5EC, types, arraySizes, 15);
return &instance;
}
};
@@ -6746,8 +6263,7 @@ struct UiTextureAtlasMeta
{
static char const* types = "ihh";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint16(0) };
- static DB2Meta instance(-1, 3, 0x9879592A, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x9879592A, types, arraySizes, -1);
return &instance;
}
};
@@ -6756,10 +6272,9 @@ struct UiTextureAtlasMemberMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ishhhhhb";
+ static char const* types = "sihhhhhb";
static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[8] = { uint32(0), "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0) };
- static DB2Meta instance(0, 8, 0xE851561B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(1, 8, 0x81E2055F, types, arraySizes, -1);
return &instance;
}
};
@@ -6770,8 +6285,7 @@ struct UiTextureKitMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0x2C7E0372, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x2C7E0372, types, arraySizes, -1);
return &instance;
}
};
@@ -6782,8 +6296,7 @@ struct UnitBloodMeta
{
static char const* types = "iiiiii";
static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 6, 0x4689A9A0, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 6, 0x4689A9A0, types, arraySizes, -1);
return &instance;
}
};
@@ -6794,8 +6307,7 @@ struct UnitBloodLevelsMeta
{
static char const* types = "b";
static uint8 const arraySizes[1] = { 3 };
- static DB2FieldDefault const fieldDefaults[1] = { uint8(0) };
- static DB2Meta instance(-1, 1, 0x31A6BD58, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x31A6BD58, types, arraySizes, -1);
return &instance;
}
};
@@ -6806,8 +6318,7 @@ struct UnitConditionMeta
{
static char const* types = "ibbb";
static uint8 const arraySizes[4] = { 8, 1, 8, 8 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x62802D9C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x62802D9C, types, arraySizes, -1);
return &instance;
}
};
@@ -6816,10 +6327,9 @@ struct UnitPowerBarMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ffiissssffhhbbii";
- static uint8 const arraySizes[16] = { 1, 1, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[16] = { float(0), float(0), uint32(0), uint32(0), "", "", "", "", float(0), float(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 16, 0x3D064961, types, arraySizes, fieldDefaults);
+ static char const* types = "ssssffiiffhhbbii";
+ static uint8 const arraySizes[16] = { 1, 1, 1, 1, 1, 1, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta instance(-1, 16, 0x626C94CD, types, arraySizes, -1);
return &instance;
}
};
@@ -6830,8 +6340,7 @@ struct UnitTestMeta
{
static char const* types = "ssiii";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { "", "", uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(2, 5, 0x63B4527B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(2, 5, 0x63B4527B, types, arraySizes, -1);
return &instance;
}
};
@@ -6842,8 +6351,7 @@ struct VehicleMeta
{
static char const* types = "ifffffffffffhhhbbi";
static uint8 const arraySizes[18] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1, 3, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[18] = { uint32(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 18, 0x1606C582, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 18, 0x1606C582, types, arraySizes, -1);
return &instance;
}
};
@@ -6854,8 +6362,7 @@ struct VehicleSeatMeta
{
static char const* types = "iiiffffffffffffffffffffffffffffffihhhhhhhhhhhhhhhhhhhbbbbbbii";
static uint8 const arraySizes[61] = { 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[61] = { uint32(0), uint32(0), uint32(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 61, 0x242E0ECD, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 61, 0x242E0ECD, types, arraySizes, -1);
return &instance;
}
};
@@ -6864,10 +6371,9 @@ struct VehicleUIIndSeatMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ffhb";
+ static char const* types = "ffbh";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { float(0), float(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x9FB4704E, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x5F688502, types, arraySizes, 3);
return &instance;
}
};
@@ -6878,8 +6384,7 @@ struct VehicleUIIndicatorMeta
{
static char const* types = "i";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { uint32(0) };
- static DB2Meta instance(-1, 1, 0x68486100, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0x68486100, types, arraySizes, -1);
return &instance;
}
};
@@ -6888,10 +6393,9 @@ struct VignetteMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "sffbiii";
+ static char const* types = "sffiiii";
static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { "", float(0), float(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 7, 0xBCCA6581, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 7, 0x52E3B381, types, arraySizes, -1);
return &instance;
}
};
@@ -6902,8 +6406,7 @@ struct VirtualAttachmentMeta
{
static char const* types = "sh";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { "", uint16(0) };
- static DB2Meta instance(-1, 2, 0xEC767C57, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0xEC767C57, types, arraySizes, -1);
return &instance;
}
};
@@ -6914,8 +6417,7 @@ struct VirtualAttachmentCustomizationMeta
{
static char const* types = "ihh";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint16(0) };
- static DB2Meta instance(-1, 3, 0xC354C931, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xC354C931, types, arraySizes, -1);
return &instance;
}
};
@@ -6926,8 +6428,7 @@ struct VocalUISoundsMeta
{
static char const* types = "bbbi";
static uint8 const arraySizes[4] = { 1, 1, 1, 2 };
- static DB2FieldDefault const fieldDefaults[4] = { uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 4, 0x62CE4C2D, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0xED48CFA9, types, arraySizes, -1);
return &instance;
}
};
@@ -6936,10 +6437,9 @@ struct WMOAreaTableMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ishhhhhhhbbbbii";
+ static char const* types = "sihhhhhhbbbbiih";
static uint8 const arraySizes[15] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[15] = { uint32(0), "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(13, 15, 0x5FA51AD5, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(12, 15, 0x4616C893, types, arraySizes, 14);
return &instance;
}
};
@@ -6948,10 +6448,9 @@ struct WMOMinimapTextureMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ihhbb";
+ static char const* types = "ihbbh";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint16(0), uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 5, 0x307398B8, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0x8F4AE3C0, types, arraySizes, 4);
return &instance;
}
};
@@ -6962,8 +6461,7 @@ struct WbAccessControlListMeta
{
static char const* types = "shbbb";
static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { "", uint16(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 5, 0xBE044710, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 5, 0xBE044710, types, arraySizes, -1);
return &instance;
}
};
@@ -6974,8 +6472,7 @@ struct WbCertWhitelistMeta
{
static char const* types = "sbbb";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { "", uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 4, 0x01D13030, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x01D13030, types, arraySizes, -1);
return &instance;
}
};
@@ -6986,8 +6483,7 @@ struct WeaponImpactSoundsMeta
{
static char const* types = "bbbiiii";
static uint8 const arraySizes[7] = { 1, 1, 1, 11, 11, 11, 11 };
- static DB2FieldDefault const fieldDefaults[7] = { uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 7, 0xF0A4FF52, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 7, 0x774C043A, types, arraySizes, -1);
return &instance;
}
};
@@ -6998,8 +6494,7 @@ struct WeaponSwingSounds2Meta
{
static char const* types = "bbi";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint8(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 3, 0xD45347C3, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xD45347C3, types, arraySizes, -1);
return &instance;
}
};
@@ -7010,8 +6505,7 @@ struct WeaponTrailMeta
{
static char const* types = "ifffiffff";
static uint8 const arraySizes[9] = { 1, 1, 1, 1, 3, 3, 3, 3, 3 };
- static DB2FieldDefault const fieldDefaults[9] = { uint32(0), float(0), float(0), float(0), uint32(0), float(0), float(0), float(0), float(0) };
- static DB2Meta instance(-1, 9, 0x49754C60, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 9, 0x49754C60, types, arraySizes, -1);
return &instance;
}
};
@@ -7022,8 +6516,7 @@ struct WeaponTrailModelDefMeta
{
static char const* types = "ihh";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint16(0), uint16(0) };
- static DB2Meta instance(-1, 3, 0x1A914DD2, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x7DE7C508, types, arraySizes, 2);
return &instance;
}
};
@@ -7032,10 +6525,9 @@ struct WeaponTrailParamMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "fffffhbbbb";
+ static char const* types = "fffffbbbbh";
static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[10] = { float(0), float(0), float(0), float(0), float(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 10, 0xD8440BEE, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 10, 0x9B0F7200, types, arraySizes, 9);
return &instance;
}
};
@@ -7046,8 +6538,7 @@ struct WeatherMeta
{
static char const* types = "ffffffffhbbbii";
static uint8 const arraySizes[14] = { 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[14] = { float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 14, 0x7C160B07, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 14, 0x7C160B07, types, arraySizes, -1);
return &instance;
}
};
@@ -7058,8 +6549,7 @@ struct WindSettingsMeta
{
static char const* types = "fffffffffb";
static uint8 const arraySizes[10] = { 1, 3, 1, 1, 3, 1, 3, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[10] = { float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint8(0) };
- static DB2Meta instance(-1, 10, 0x5308550C, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 10, 0x5308550C, types, arraySizes, -1);
return &instance;
}
};
@@ -7070,8 +6560,7 @@ struct WorldBossLockoutMeta
{
static char const* types = "sh";
static uint8 const arraySizes[2] = { 1, 1 };
- static DB2FieldDefault const fieldDefaults[2] = { "", uint16(0) };
- static DB2Meta instance(-1, 2, 0x4D7103A0, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 2, 0x4D7103A0, types, arraySizes, -1);
return &instance;
}
};
@@ -7082,8 +6571,7 @@ struct WorldChunkSoundsMeta
{
static char const* types = "hbbbbb";
static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 6, 0xD06AA126, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 6, 0xD06AA126, types, arraySizes, -1);
return &instance;
}
};
@@ -7094,8 +6582,7 @@ struct WorldEffectMeta
{
static char const* types = "ihbbii";
static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[6] = { uint32(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 6, 0x2E9B9BFD, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 6, 0x2E9B9BFD, types, arraySizes, -1);
return &instance;
}
};
@@ -7106,8 +6593,7 @@ struct WorldElapsedTimerMeta
{
static char const* types = "sbb";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", uint8(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0x6C026FDE, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x6C026FDE, types, arraySizes, -1);
return &instance;
}
};
@@ -7118,8 +6604,7 @@ struct WorldMapAreaMeta
{
static char const* types = "sffffihhhhhbbbbii";
static uint8 const arraySizes[17] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[17] = { "", float(0), float(0), float(0), float(0), uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) };
- static DB2Meta instance(15, 17, 0xC7E90019, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(15, 17, 0xC7E90019, types, arraySizes, -1);
return &instance;
}
};
@@ -7130,8 +6615,7 @@ struct WorldMapContinentMeta
{
static char const* types = "ffffhhbbbbb";
static uint8 const arraySizes[11] = { 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[11] = { float(0), float(0), float(0), float(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 11, 0x8F75E077, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 11, 0x8F75E077, types, arraySizes, -1);
return &instance;
}
};
@@ -7140,10 +6624,9 @@ struct WorldMapOverlayMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ishhiiiiiiiiii";
- static uint8 const arraySizes[14] = { 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[14] = { uint32(0), "", uint16(0), uint16(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(0, 14, 0x0D2DACAF, types, arraySizes, fieldDefaults);
+ static char const* types = "sihhiiiiiiiiii";
+ static uint8 const arraySizes[14] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4 };
+ static DB2Meta instance(1, 14, 0xDC4B6AF3, types, arraySizes, 4);
return &instance;
}
};
@@ -7154,8 +6637,7 @@ struct WorldMapTransformsMeta
{
static char const* types = "fffhhhhhbi";
static uint8 const arraySizes[10] = { 6, 2, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[10] = { float(0), float(0), float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 10, 0x99FB4B71, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 10, 0x99FB4B71, types, arraySizes, 3);
return &instance;
}
};
@@ -7164,10 +6646,9 @@ struct WorldSafeLocsMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "ffsh";
- static uint8 const arraySizes[4] = { 3, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { float(0), float(0), "", uint16(0) };
- static DB2Meta instance(-1, 4, 0x72C9D0E4, types, arraySizes, fieldDefaults);
+ static char const* types = "sffh";
+ static uint8 const arraySizes[4] = { 1, 3, 1, 1 };
+ static DB2Meta instance(-1, 4, 0x605EA8A6, types, arraySizes, 3);
return &instance;
}
};
@@ -7178,8 +6659,7 @@ struct WorldStateExpressionMeta
{
static char const* types = "s";
static uint8 const arraySizes[1] = { 1 };
- static DB2FieldDefault const fieldDefaults[1] = { "" };
- static DB2Meta instance(-1, 1, 0xA69C9812, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 1, 0xA69C9812, types, arraySizes, -1);
return &instance;
}
};
@@ -7190,8 +6670,7 @@ struct WorldStateUIMeta
{
static char const* types = "ssssshhhhhhbbbiii";
static uint8 const arraySizes[17] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[17] = { "", "", "", "", "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(14, 17, 0x70808977, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(14, 17, 0x70808977, types, arraySizes, 5);
return &instance;
}
};
@@ -7202,8 +6681,7 @@ struct WorldStateZoneSoundsMeta
{
static char const* types = "ihhhhhhb";
static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[8] = { uint32(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 8, 0xB9572D3D, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 8, 0xB9572D3D, types, arraySizes, -1);
return &instance;
}
};
@@ -7214,8 +6692,7 @@ struct World_PVP_AreaMeta
{
static char const* types = "hhhhhbb";
static uint8 const arraySizes[7] = { 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[7] = { uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0) };
- static DB2Meta instance(-1, 7, 0x6FBBF76B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 7, 0x6FBBF76B, types, arraySizes, -1);
return &instance;
}
};
@@ -7226,8 +6703,7 @@ struct ZoneIntroMusicTableMeta
{
static char const* types = "shbi";
static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { "", uint16(0), uint8(0), uint32(0) };
- static DB2Meta instance(-1, 4, 0x1F8417ED, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x1F8417ED, types, arraySizes, -1);
return &instance;
}
};
@@ -7238,8 +6714,7 @@ struct ZoneLightMeta
{
static char const* types = "shh";
static uint8 const arraySizes[3] = { 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { "", uint16(0), uint16(0) };
- static DB2Meta instance(-1, 3, 0x3C11F38B, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0x3C11F38B, types, arraySizes, -1);
return &instance;
}
};
@@ -7248,10 +6723,9 @@ struct ZoneLightPointMeta
{
static DB2Meta const* Instance()
{
- static char const* types = "fhb";
+ static char const* types = "fbh";
static uint8 const arraySizes[3] = { 2, 1, 1 };
- static DB2FieldDefault const fieldDefaults[3] = { float(0), uint16(0), uint8(0) };
- static DB2Meta instance(-1, 3, 0x692C5B90, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 3, 0xEF93DC50, types, arraySizes, 2);
return &instance;
}
};
@@ -7262,8 +6736,18 @@ struct ZoneMusicMeta
{
static char const* types = "siii";
static uint8 const arraySizes[4] = { 1, 2, 2, 2 };
- static DB2FieldDefault const fieldDefaults[4] = { "", uint32(0), uint32(0), uint32(0) };
- static DB2Meta instance(-1, 4, 0x28A5B6A9, types, arraySizes, fieldDefaults);
+ static DB2Meta instance(-1, 4, 0x9E2B332D, types, arraySizes, -1);
+ return &instance;
+ }
+};
+
+struct ZoneStoryMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static char const* types = "iibi";
+ static uint8 const arraySizes[4] = { 1, 1, 1, 1 };
+ static DB2Meta instance(-1, 4, 0xEE16D6F3, types, arraySizes, 3);
return &instance;
}
};
diff --git a/src/server/game/DataStores/DB2Stores.cpp b/src/server/game/DataStores/DB2Stores.cpp
index afdca6dbbe0..ff6c7acced8 100644
--- a/src/server/game/DataStores/DB2Stores.cpp
+++ b/src/server/game/DataStores/DB2Stores.cpp
@@ -193,11 +193,14 @@ DB2Storage<RandPropPointsEntry> sRandPropPointsStore("RandPropPo
DB2Storage<RewardPackEntry> sRewardPackStore("RewardPack.db2", RewardPackLoadInfo::Instance());
DB2Storage<RewardPackXItemEntry> sRewardPackXItemStore("RewardPackXItem.db2", RewardPackXItemLoadInfo::Instance());
DB2Storage<RulesetItemUpgradeEntry> sRulesetItemUpgradeStore("RulesetItemUpgrade.db2", RulesetItemUpgradeLoadInfo::Instance());
+DB2Storage<SandboxScalingEntry> sSandboxScalingStore("SandboxScaling.db2", SandboxScalingLoadInfo::Instance());
DB2Storage<ScalingStatDistributionEntry> sScalingStatDistributionStore("ScalingStatDistribution.db2", ScalingStatDistributionLoadInfo::Instance());
DB2Storage<ScenarioEntry> sScenarioStore("Scenario.db2", ScenarioLoadInfo::Instance());
DB2Storage<ScenarioStepEntry> sScenarioStepStore("ScenarioStep.db2", ScenarioStepLoadInfo::Instance());
DB2Storage<SceneScriptEntry> sSceneScriptStore("SceneScript.db2", SceneScriptLoadInfo::Instance());
+DB2Storage<SceneScriptGlobalTextEntry> sSceneScriptGlobalTextStore("SceneScriptGlobalText.db2", SceneScriptGlobalTextLoadInfo::Instance());
DB2Storage<SceneScriptPackageEntry> sSceneScriptPackageStore("SceneScriptPackage.db2", SceneScriptPackageLoadInfo::Instance());
+DB2Storage<SceneScriptTextEntry> sSceneScriptTextStore("SceneScriptText.db2", SceneScriptTextLoadInfo::Instance());
DB2Storage<SkillLineEntry> sSkillLineStore("SkillLine.db2", SkillLineLoadInfo::Instance());
DB2Storage<SkillLineAbilityEntry> sSkillLineAbilityStore("SkillLineAbility.db2", SkillLineAbilityLoadInfo::Instance());
DB2Storage<SkillRaceClassInfoEntry> sSkillRaceClassInfoStore("SkillRaceClassInfo.db2", SkillRaceClassInfoLoadInfo::Instance());
@@ -214,7 +217,6 @@ DB2Storage<SpellClassOptionsEntry> sSpellClassOptionsStore("SpellCl
DB2Storage<SpellCooldownsEntry> sSpellCooldownsStore("SpellCooldowns.db2", SpellCooldownsLoadInfo::Instance());
DB2Storage<SpellDurationEntry> sSpellDurationStore("SpellDuration.db2", SpellDurationLoadInfo::Instance());
DB2Storage<SpellEffectEntry> sSpellEffectStore("SpellEffect.db2", SpellEffectLoadInfo::Instance());
-DB2Storage<SpellEffectScalingEntry> sSpellEffectScalingStore("SpellEffectScaling.db2", SpellEffectScalingLoadInfo::Instance());
DB2Storage<SpellEquippedItemsEntry> sSpellEquippedItemsStore("SpellEquippedItems.db2", SpellEquippedItemsLoadInfo::Instance());
DB2Storage<SpellFocusObjectEntry> sSpellFocusObjectStore("SpellFocusObject.db2", SpellFocusObjectLoadInfo::Instance());
DB2Storage<SpellInterruptsEntry> sSpellInterruptsStore("SpellInterrupts.db2", SpellInterruptsLoadInfo::Instance());
@@ -393,7 +395,9 @@ inline void LoadDB2(uint32& availableDb2Locales, DB2StoreProblemList& errlist, S
for (std::size_t i = loadInfo->Meta->HasIndexFieldInData() ? 0 : 1; i < loadInfo->FieldCount; ++i)
ourMetaString += char(std::tolower(loadInfo->Fields[i].Type));
- ASSERT(clientMetaString == ourMetaString, "C++ structure fields %s do not match generated types from the client %s", ourMetaString.c_str(), clientMetaString.c_str());
+ ASSERT(clientMetaString == ourMetaString,
+ "%s C++ structure fields %s do not match generated types from the client %s",
+ storage->GetFileName().c_str(), ourMetaString.c_str(), clientMetaString.c_str());
// compatibility format and C++ structure sizes
ASSERT(loadInfo->Meta->GetRecordSize() == sizeof(T),
@@ -614,11 +618,14 @@ void DB2Manager::LoadStores(std::string const& dataPath, uint32 defaultLocale)
LOAD_DB2(sRewardPackStore);
LOAD_DB2(sRewardPackXItemStore);
LOAD_DB2(sRulesetItemUpgradeStore);
+ LOAD_DB2(sSandboxScalingStore);
LOAD_DB2(sScalingStatDistributionStore);
LOAD_DB2(sScenarioStore);
LOAD_DB2(sScenarioStepStore);
LOAD_DB2(sSceneScriptStore);
+ LOAD_DB2(sSceneScriptGlobalTextStore);
LOAD_DB2(sSceneScriptPackageStore);
+ LOAD_DB2(sSceneScriptTextStore);
LOAD_DB2(sSkillLineStore);
LOAD_DB2(sSkillLineAbilityStore);
LOAD_DB2(sSkillRaceClassInfoStore);
@@ -635,7 +642,6 @@ void DB2Manager::LoadStores(std::string const& dataPath, uint32 defaultLocale)
LOAD_DB2(sSpellCooldownsStore);
LOAD_DB2(sSpellDurationStore);
LOAD_DB2(sSpellEffectStore);
- LOAD_DB2(sSpellEffectScalingStore);
LOAD_DB2(sSpellEquippedItemsStore);
LOAD_DB2(sSpellFocusObjectStore);
LOAD_DB2(sSpellInterruptsStore);
@@ -749,6 +755,7 @@ void DB2Manager::LoadStores(std::string const& dataPath, uint32 defaultLocale)
if (_powersByClass[power->ClassID][j] != MAX_POWERS)
++index;
+ ASSERT(power->ClassID < MAX_CLASSES);
ASSERT(power->PowerType < MAX_POWERS);
_powersByClass[power->ClassID][power->PowerType] = index;
}
@@ -1085,13 +1092,13 @@ void DB2Manager::LoadStores(std::string const& dataPath, uint32 defaultLocale)
}
// Check loaded DB2 files proper version
- if (!sAreaTableStore.LookupEntry(9333) || // last area added in 7.3.2 (25480)
- !sCharTitlesStore.LookupEntry(518) || // last char title added in 7.3.2 (25480)
- !sGemPropertiesStore.LookupEntry(3632) || // last gem property added in 7.3.2 (25480)
- !sItemStore.LookupEntry(155880) || // last item added in 7.3.2 (25480)
- !sItemExtendedCostStore.LookupEntry(6255) || // last item extended cost added in 7.3.2 (25480)
- !sMapStore.LookupEntry(1817) || // last map added in 7.3.2 (25480)
- !sSpellStore.LookupEntry(259088)) // last spell added in 7.3.2 (25480)
+ if (!sAreaTableStore.LookupEntry(9531) || // last area added in 7.3.5 (25996)
+ !sCharTitlesStore.LookupEntry(522) || // last char title added in 7.3.5 (25996)
+ !sGemPropertiesStore.LookupEntry(3632) || // last gem property added in 7.3.5 (25996)
+ !sItemStore.LookupEntry(157831) || // last item added in 7.3.5 (25996)
+ !sItemExtendedCostStore.LookupEntry(6300) || // last item extended cost added in 7.3.5 (25996)
+ !sMapStore.LookupEntry(1903) || // last map added in 7.3.5 (25996)
+ !sSpellStore.LookupEntry(263166)) // last spell added in 7.3.5 (25996)
{
TC_LOG_ERROR("misc", "You have _outdated_ DB2 files. Please extract correct versions from current using client.");
exit(1);
@@ -1970,7 +1977,7 @@ SkillRaceClassInfoEntry const* DB2Manager::GetSkillRaceClassInfo(uint32 skill, u
auto bounds = _skillRaceClassInfoBySkill.equal_range(skill);
for (auto itr = bounds.first; itr != bounds.second; ++itr)
{
- if (itr->second->RaceMask && !(itr->second->RaceMask & (1 << (race - 1))))
+ if (itr->second->RaceMask && !(itr->second->RaceMask & (UI64LIT(1) << (race - 1))))
continue;
if (itr->second->ClassMask && !(itr->second->ClassMask & (1 << (class_ - 1))))
continue;
diff --git a/src/server/game/DataStores/DB2Stores.h b/src/server/game/DataStores/DB2Stores.h
index d0e8112969f..773e2a97894 100644
--- a/src/server/game/DataStores/DB2Stores.h
+++ b/src/server/game/DataStores/DB2Stores.h
@@ -151,11 +151,11 @@ TC_GAME_API extern DB2Storage<QuestSortEntry> sQuestSortSt
TC_GAME_API extern DB2Storage<QuestXPEntry> sQuestXPStore;
TC_GAME_API extern DB2Storage<RandPropPointsEntry> sRandPropPointsStore;
TC_GAME_API extern DB2Storage<RewardPackEntry> sRewardPackStore;
+TC_GAME_API extern DB2Storage<SandboxScalingEntry> sSandboxScalingStore;
TC_GAME_API extern DB2Storage<ScalingStatDistributionEntry> sScalingStatDistributionStore;
TC_GAME_API extern DB2Storage<ScenarioEntry> sScenarioStore;
TC_GAME_API extern DB2Storage<ScenarioStepEntry> sScenarioStepStore;
TC_GAME_API extern DB2Storage<SkillLineEntry> sSkillLineStore;
-TC_GAME_API extern DB2Storage<SceneScriptEntry> sSceneScriptStore;
TC_GAME_API extern DB2Storage<SceneScriptPackageEntry> sSceneScriptPackageStore;
TC_GAME_API extern DB2Storage<SkillLineAbilityEntry> sSkillLineAbilityStore;
TC_GAME_API extern DB2Storage<SkillRaceClassInfoEntry> sSkillRaceClassInfoStore;
@@ -171,7 +171,6 @@ TC_GAME_API extern DB2Storage<SpellClassOptionsEntry> sSpellClassO
TC_GAME_API extern DB2Storage<SpellCooldownsEntry> sSpellCooldownsStore;
TC_GAME_API extern DB2Storage<SpellDurationEntry> sSpellDurationStore;
TC_GAME_API extern DB2Storage<SpellEffectEntry> sSpellEffectStore;
-TC_GAME_API extern DB2Storage<SpellEffectScalingEntry> sSpellEffectScalingStore;
TC_GAME_API extern DB2Storage<SpellEquippedItemsEntry> sSpellEquippedItemsStore;
TC_GAME_API extern DB2Storage<SpellFocusObjectEntry> sSpellFocusObjectStore;
TC_GAME_API extern DB2Storage<SpellInterruptsEntry> sSpellInterruptsStore;
diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h
index 85fff1accd7..b45c0fb74ed 100644
--- a/src/server/game/DataStores/DB2Structure.h
+++ b/src/server/game/DataStores/DB2Structure.h
@@ -30,8 +30,8 @@ struct AchievementEntry
{
LocalizedString* Title;
LocalizedString* Description;
- uint32 Flags;
LocalizedString* Reward;
+ uint32 Flags;
int16 MapID; // -1 = none
uint16 Supercedes; // its Achievement parent (can`t start while parent uncomplete, use its Criteria if don`t have own, use its progress on begin)
uint16 Category;
@@ -56,17 +56,17 @@ struct AnimKitEntry
struct AreaGroupMemberEntry
{
uint32 ID;
- uint16 AreaGroupID;
uint16 AreaID;
+ uint16 AreaGroupID;
};
struct AreaTableEntry
{
uint32 ID;
- uint32 Flags[2];
char const* ZoneName;
- float AmbientMultiplier;
LocalizedString* AreaName;
+ uint32 Flags[2];
+ float AmbientMultiplier;
uint16 MapID;
uint16 ParentAreaID;
int16 AreaBit;
@@ -161,11 +161,11 @@ struct ArtifactAppearanceSetEntry
LocalizedString* Name2;
uint16 UiCameraID;
uint16 AltHandUICameraID;
- uint8 ArtifactID;
uint8 DisplayIndex;
uint8 AttachmentPoint;
uint8 Flags;
uint32 ID;
+ uint8 ArtifactID;
};
struct ArtifactCategoryEntry
@@ -204,9 +204,9 @@ struct ArtifactPowerRankEntry
uint32 ID;
uint32 SpellID;
float Value;
- uint16 ArtifactPowerID;
uint16 Unknown;
uint8 Rank;
+ uint16 ArtifactPowerID;
};
struct ArtifactQuestXPEntry
@@ -261,17 +261,17 @@ struct BattlePetBreedStateEntry
{
uint32 ID;
int16 Value;
- uint8 BreedID;
uint8 State;
+ uint8 BreedID;
};
struct BattlePetSpeciesEntry
{
+ LocalizedString* SourceText;
+ LocalizedString* Description;
uint32 CreatureID;
uint32 IconFileID;
uint32 SummonSpellID;
- LocalizedString* SourceText;
- LocalizedString* Description;
uint16 Flags;
uint8 PetType;
int8 Source;
@@ -284,18 +284,18 @@ struct BattlePetSpeciesStateEntry
{
uint32 ID;
int32 Value;
- uint16 SpeciesID;
uint8 State;
+ uint16 SpeciesID;
};
struct BattlemasterListEntry
{
uint32 ID;
LocalizedString* Name;
- uint32 IconFileDataID;
LocalizedString* GameType;
LocalizedString* ShortDescription;
LocalizedString* LongDescription;
+ uint32 IconFileDataID;
int16 MapID[16];
uint16 HolidayWorldState;
uint16 PlayerConditionID;
@@ -322,8 +322,8 @@ struct BroadcastTextEntry
uint16 UnkEmoteID;
uint8 Language;
uint8 Type;
- uint32 SoundID[2];
uint32 PlayerConditionID;
+ uint32 SoundID[2];
};
struct CharacterFacialHairStylesEntry
@@ -362,11 +362,11 @@ struct CharStartOutfitEntry
uint32 ID;
int32 ItemID[MAX_OUTFIT_ITEMS];
uint32 PetDisplayID; // Pet Model ID for starting pet
- uint8 RaceID;
uint8 ClassID;
uint8 GenderID;
uint8 OutfitID;
uint8 PetFamilyID; // Pet Family Entry for starting pet
+ uint8 RaceID;
};
struct CharTitlesEntry
@@ -381,9 +381,9 @@ struct CharTitlesEntry
struct ChatChannelsEntry
{
uint32 ID;
- uint32 Flags;
LocalizedString* Name;
LocalizedString* Shortcut;
+ uint32 Flags;
uint8 FactionGroup;
};
@@ -398,6 +398,7 @@ struct ChrClassesEntry
uint32 SelectScreenFileDataID;
uint32 IconFileDataID;
uint32 LowResScreenFileDataID;
+ uint32 StartingLevel;
uint16 Flags;
uint16 CinematicSequenceID;
uint16 DefaultSpec;
@@ -413,28 +414,28 @@ struct ChrClassesEntry
struct ChrClassesXPowerTypesEntry
{
uint32 ID;
- uint8 ClassID;
uint8 PowerType;
+ uint8 ClassID;
};
struct ChrRacesEntry
{
- uint32 ID;
- uint32 Flags;
- uint32 MaleDisplayID;
- uint32 FemaleDisplayID;
char const* ClientPrefix;
char const* ClientFileString;
LocalizedString* Name;
LocalizedString* NameFemale;
- LocalizedString* NameMale;
- char const* FacialHairCustomization[2];
- char const* HairCustomization;
+ LocalizedString* LowercaseName;
+ LocalizedString* LowercaseNameFemale;
+ uint32 Flags;
+ uint32 MaleDisplayID;
+ uint32 FemaleDisplayID;
uint32 CreateScreenFileDataID;
uint32 SelectScreenFileDataID;
float MaleCustomizeOffset[3];
float FemaleCustomizeOffset[3];
uint32 LowResScreenFileDataID;
+ uint32 StartingLevel;
+ uint32 UIDisplayOrder;
uint16 FactionID;
uint16 ResSicknessSpellID;
uint16 SplashSoundID;
@@ -449,8 +450,12 @@ struct ChrRacesEntry
uint8 NeutralRaceID;
uint8 ItemAppearanceFrameRaceID;
uint8 CharComponentTexLayoutHiResID;
+ uint32 ID;
uint32 HighResMaleDisplayID;
uint32 HighResFemaleDisplayID;
+ uint32 HeritageArmorAchievementID;
+ uint32 MaleCorpseBonesModelFileDataID;
+ uint32 FemaleCorpseBonesModelFileDataID;
uint32 AlteredFormTransitionSpellVisualID[3];
uint32 AlteredFormTransitionSpellVisualKitID[3];
};
@@ -459,10 +464,10 @@ struct ChrRacesEntry
struct ChrSpecializationEntry
{
- uint32 MasterySpellID[MAX_MASTERY_SPELLS];
LocalizedString* Name;
LocalizedString* Name2;
LocalizedString* Description;
+ uint32 MasterySpellID[MAX_MASTERY_SPELLS];
uint8 ClassID;
uint8 OrderIndex;
uint8 PetTalentType;
@@ -518,7 +523,6 @@ struct CreatureDisplayInfoEntry
uint8 Flags;
int8 Gender;
uint32 ExtendedDisplayInfoID;
- uint32 TextureVariation[3];
uint32 PortraitTextureFileDataID;
uint8 CreatureModelAlpha;
uint16 SoundID;
@@ -533,6 +537,7 @@ struct CreatureDisplayInfoEntry
uint32 StateSpellVisualKitID;
float InstanceOtherPlayerPetScale; // scale of not own player pets inside dungeons/raids/scenarios
uint32 MountSpellVisualKitID;
+ uint32 TextureVariation[3];
};
struct CreatureDisplayInfoExtraEntry
@@ -555,9 +560,9 @@ struct CreatureDisplayInfoExtraEntry
struct CreatureFamilyEntry
{
uint32 ID;
+ LocalizedString* Name;
float MinScale;
float MaxScale;
- LocalizedString* Name;
uint32 IconFileDataID;
uint16 SkillLine[2];
uint16 PetFoodMask;
@@ -754,8 +759,8 @@ struct CriteriaEntry
struct CriteriaTreeEntry
{
uint32 ID;
- uint32 Amount;
LocalizedString* Description;
+ uint32 Amount;
uint16 Flags;
uint8 Operator;
uint32 CriteriaID;
@@ -767,10 +772,10 @@ struct CurrencyTypesEntry
{
uint32 ID;
LocalizedString* Name;
+ LocalizedString* Description;
uint32 MaxQty;
uint32 MaxEarnablePerWeek;
uint32 Flags;
- LocalizedString* Description;
uint8 CategoryID;
uint8 SpellCategory;
uint8 Quality;
@@ -868,10 +873,10 @@ struct DurabilityQualityEntry
struct EmotesEntry
{
uint32 ID;
+ int64 RaceMask;
char const* EmoteSlashCommand;
uint32 SpellVisualKitID;
uint32 EmoteFlags;
- int32 RaceMask;
uint16 AnimID;
uint8 EmoteSpecProc;
uint32 EmoteSpecProcParam;
@@ -889,22 +894,22 @@ struct EmotesTextEntry
struct EmotesTextSoundEntry
{
uint32 ID;
- uint16 EmotesTextId;
uint8 RaceId;
uint8 SexId;
uint8 ClassId;
uint32 SoundId;
+ uint16 EmotesTextId;
};
struct FactionEntry
{
+ uint64 ReputationRaceMask[4];
+ LocalizedString* Name;
+ LocalizedString* Description;
uint32 ID;
- uint32 ReputationRaceMask[4];
int32 ReputationBase[4];
float ParentFactionModIn; // Faction gains incoming rep * ParentFactionModIn
float ParentFactionModOut; // Faction outputs rep * ParentFactionModOut as spillover reputation
- LocalizedString* Name;
- LocalizedString* Description;
uint32 ReputationMax[4];
int16 ReputationIndex;
uint16 ReputationClassMask[4];
@@ -984,6 +989,7 @@ struct FactionTemplateEntry
struct GameObjectsEntry
{
+ LocalizedString* Name;
DBCPosition3D Position;
float RotationX;
float RotationY;
@@ -991,7 +997,6 @@ struct GameObjectsEntry
float RotationW;
float Size;
int32 Data[8];
- LocalizedString* Name;
uint16 MapID;
uint16 DisplayID;
uint16 PhaseID;
@@ -1027,12 +1032,12 @@ struct GarrAbilityEntry
struct GarrBuildingEntry
{
uint32 ID;
- uint32 HordeGameObjectID;
- uint32 AllianceGameObjectID;
LocalizedString* NameAlliance;
LocalizedString* NameHorde;
LocalizedString* Description;
LocalizedString* Tooltip;
+ uint32 HordeGameObjectID;
+ uint32 AllianceGameObjectID;
uint32 IconFileDataID;
uint16 CostCurrencyID;
uint16 HordeTexPrefixKitID;
@@ -1076,15 +1081,15 @@ struct GarrClassSpecEntry
struct GarrFollowerEntry
{
- uint32 HordeCreatureID;
- uint32 AllianceCreatureID;
LocalizedString* HordeSourceText;
LocalizedString* AllianceSourceText;
+ LocalizedString* Name;
+ uint32 HordeCreatureID;
+ uint32 AllianceCreatureID;
uint32 HordePortraitIconID;
uint32 AlliancePortraitIconID;
uint32 HordeAddedBroadcastTextID;
uint32 AllianceAddedBroadcastTextID;
- LocalizedString* Name;
uint16 HordeGarrFollItemSetID;
uint16 AllianceGarrFollItemSetID;
uint16 ItemLevelWeapon;
@@ -1113,9 +1118,9 @@ struct GarrFollowerEntry
struct GarrFollowerXAbilityEntry
{
uint32 ID;
- uint16 GarrFollowerID;
uint16 GarrAbilityID;
uint8 FactionIndex;
+ uint16 GarrFollowerID;
};
struct GarrPlotEntry
@@ -1195,8 +1200,8 @@ struct GlyphPropertiesEntry
struct GlyphRequiredSpecEntry
{
uint32 ID;
- uint16 GlyphPropertiesID;
uint16 ChrSpecializationID;
+ uint16 GlyphPropertiesID;
};
struct GuildColorBackgroundEntry
@@ -1231,8 +1236,8 @@ struct GuildPerkSpellsEntry
struct HeirloomEntry
{
- uint32 ItemID;
LocalizedString* SourceText;
+ uint32 ItemID;
uint32 OldItem[2];
uint32 NextDifficultyItemID;
uint32 UpgradeItemID[3];
@@ -1341,7 +1346,7 @@ struct ItemBagFamilyEntry
struct ItemBonusEntry
{
uint32 ID;
- int32 Value[2];
+ int32 Value[3];
uint16 BonusListID;
uint8 Type;
uint8 Index;
@@ -1356,26 +1361,26 @@ struct ItemBonusListLevelDeltaEntry
struct ItemBonusTreeNodeEntry
{
uint32 ID;
- uint16 BonusTreeID;
uint16 SubTreeID;
uint16 BonusListID;
uint16 ItemLevelSelectorID;
uint8 BonusTreeModID;
+ uint16 BonusTreeID;
};
struct ItemChildEquipmentEntry
{
uint32 ID;
- uint32 ItemID;
uint32 AltItemID;
uint8 AltEquipmentSlot;
+ uint32 ItemID;
};
struct ItemClassEntry
{
uint32 ID;
- float PriceMod;
LocalizedString* Name;
+ float PriceMod;
uint8 OldEnumValue;
uint8 Flags;
};
@@ -1427,15 +1432,15 @@ struct ItemDisenchantLootEntry
uint16 MinItemLevel;
uint16 MaxItemLevel;
uint16 RequiredDisenchantSkill;
- uint8 ItemClass;
int8 ItemSubClass;
uint8 ItemQuality;
+ int8 Expansion;
+ uint8 ItemClass;
};
struct ItemEffectEntry
{
uint32 ID;
- uint32 ItemID;
uint32 SpellID;
int32 Cooldown;
int32 CategoryCooldown;
@@ -1444,6 +1449,7 @@ struct ItemEffectEntry
uint16 ChrSpecializationID;
uint8 OrderIndex;
uint8 Trigger;
+ uint32 ItemID;
};
#define MAX_ITEM_EXT_COST_ITEMS 5
@@ -1475,8 +1481,8 @@ struct ItemLevelSelectorQualityEntry
{
uint32 ID;
uint32 ItemBonusListID;
- uint16 ItemLevelSelectorQualitySetID;
uint8 Quality;
+ uint16 ItemLevelSelectorQualitySetID;
};
struct ItemLevelSelectorQualitySetEntry
@@ -1497,11 +1503,11 @@ struct ItemLimitCategoryEntry
struct ItemModifiedAppearanceEntry
{
uint32 ItemID;
- uint16 AppearanceID;
+ uint32 ID;
uint8 AppearanceModID;
+ uint16 AppearanceID;
uint8 Index;
uint8 SourceType;
- uint32 ID;
};
struct ItemPriceBaseEntry
@@ -1531,17 +1537,17 @@ struct ItemRandomSuffixEntry
struct ItemSearchNameEntry
{
- uint32 ID;
+ uint64 AllowableRace;
LocalizedString* Name;
+ uint32 ID;
uint32 Flags[3];
- uint32 AllowableRace;
uint16 ItemLevel;
uint8 Quality;
uint8 RequiredExpansion;
uint8 RequiredLevel;
- int32 AllowableClass;
uint16 RequiredReputationFaction;
uint8 RequiredReputationRank;
+ int32 AllowableClass;
uint16 RequiredSkill;
uint16 RequiredSkillRank;
uint32 RequiredSpell;
@@ -1563,32 +1569,32 @@ struct ItemSetSpellEntry
{
uint32 ID;
uint32 SpellID;
- uint16 ItemSetID;
uint16 ChrSpecID;
uint8 Threshold;
+ uint16 ItemSetID;
};
struct ItemSparseEntry
{
uint32 ID;
+ int64 AllowableRace;
+ LocalizedString* Name;
+ LocalizedString* Name2;
+ LocalizedString* Name3;
+ LocalizedString* Name4;
+ LocalizedString* Description;
uint32 Flags[MAX_ITEM_PROTO_FLAGS];
float Unk1;
float Unk2;
uint32 BuyCount;
uint32 BuyPrice;
uint32 SellPrice;
- int32 AllowableRace;
uint32 RequiredSpell;
uint32 MaxCount;
uint32 Stackable;
int32 ItemStatAllocation[MAX_ITEM_PROTO_STATS];
float ItemStatSocketCostMultiplier[MAX_ITEM_PROTO_STATS];
float RangedModRange;
- LocalizedString* Name;
- LocalizedString* Name2;
- LocalizedString* Name3;
- LocalizedString* Name4;
- LocalizedString* Description;
uint32 BagFamily;
float ArmorDamageModifier;
uint32 Duration;
@@ -1651,8 +1657,8 @@ struct ItemSpecEntry
struct ItemSpecOverrideEntry
{
uint32 ID;
- uint32 ItemID;
uint16 SpecID;
+ uint32 ItemID;
};
struct ItemUpgradeEntry
@@ -1668,8 +1674,8 @@ struct ItemUpgradeEntry
struct ItemXBonusTreeEntry
{
uint32 ID;
- uint32 ItemID;
uint16 BonusTreeID;
+ uint32 ItemID;
};
#define KEYCHAIN_SIZE 32
@@ -1684,8 +1690,8 @@ struct LFGDungeonsEntry
{
uint32 ID;
LocalizedString* Name;
- uint32 Flags;
LocalizedString* Description;
+ uint32 Flags;
float MinItemLevel;
uint16 MaxLevel;
uint16 TargetLevelMax;
@@ -1735,13 +1741,13 @@ struct LiquidTypeEntry
{
uint32 ID;
LocalizedString* Name;
+ char const* Texture[6];
uint32 SpellID;
float MaxDarkenDepth;
float FogDarkenIntensity;
float AmbDarkenIntensity;
float DirDarkenIntensity;
float ParticleScale;
- char const* Texture[6];
uint32 Color[2];
float Float[18];
uint32 Int[4];
@@ -1776,14 +1782,14 @@ struct MapEntry
{
uint32 ID;
char* Directory;
- uint32 Flags[2];
- float MinimapIconScale;
- DBCPosition2D CorpsePos; // entrance coordinates in ghost mode (in most cases = normal entrance)
LocalizedString* MapName;
LocalizedString* MapDescription0; // Horde
LocalizedString* MapDescription1; // Alliance
LocalizedString* ShortDescription;
LocalizedString* LongDescription;
+ uint32 Flags[2];
+ float MinimapIconScale;
+ DBCPosition2D CorpsePos; // entrance coordinates in ghost mode (in most cases = normal entrance)
uint16 AreaTableID;
uint16 LoadingScreenID;
int16 CorpseMapID; // map_id of entrance map in ghost mode (continent always and in most cases = normal entrance)
@@ -1833,7 +1839,6 @@ struct MapDifficultyEntry
{
uint32 ID;
LocalizedString* Message_lang; // m_message_lang (text showed when transfer to map failed)
- uint16 MapID;
uint8 DifficultyID;
uint8 RaidDurationType; // 1 means daily reset, 2 means weekly
uint8 MaxPlayers; // m_maxPlayers some heroic versions have 0 when expected same amount as in normal version
@@ -1841,6 +1846,7 @@ struct MapDifficultyEntry
uint8 Flags;
uint8 ItemBonusTreeModID;
uint32 Context;
+ uint16 MapID;
uint32 GetRaidDuration() const
{
@@ -1865,10 +1871,10 @@ struct ModifierTreeEntry
struct MountEntry
{
- uint32 SpellId;
LocalizedString* Name;
LocalizedString* Description;
LocalizedString* SourceDescription;
+ uint32 SpellId;
float CameraPivotMultiplier;
uint16 MountTypeId;
uint16 Flags;
@@ -1901,9 +1907,9 @@ struct MountTypeXCapabilityEntry
struct MountXDisplayEntry
{
uint32 ID;
- uint32 MountID;
uint32 DisplayID;
uint32 PlayerConditionID;
+ uint32 MountID;
};
struct MovieEntry
@@ -1968,43 +1974,19 @@ struct PhaseXPhaseGroupEntry
struct PlayerConditionEntry
{
- uint32 ID;
- uint32 RaceMask;
- uint32 Time[2];
- uint32 AuraSpellID[4];
+ int64 RaceMask;
LocalizedString* FailureDescription;
- uint16 SkillID[4];
- int16 MinSkill[4];
- int16 MaxSkill[4];
- uint16 PrevQuestID[4];
- uint16 CurrQuestID[4];
- uint16 CurrentCompletedQuestID[4];
- uint16 Explored[2];
- uint16 Achievement[4];
- uint16 AreaID[4];
+ uint32 ID;
uint8 Flags;
- uint8 MinReputation[3];
- uint8 AuraCount[4];
- uint8 LfgStatus[4];
- uint8 LfgCompare[4];
- uint8 CurrencyCount[4];
- int32 ClassMask;
- uint32 MinFactionID[3];
- uint32 SpellID[4];
- uint32 ItemID[4];
- uint32 ItemCount[4];
- uint32 LfgValue[4];
- uint32 CurrencyID[4];
- uint32 QuestKillMonster[6];
- int32 MovementFlags[2];
uint16 MinLevel;
uint16 MaxLevel;
+ int32 ClassMask;
int8 Gender;
int8 NativeGender;
uint32 SkillLogic;
uint8 LanguageID;
uint8 MinLanguage;
- uint32 MaxLanguage;
+ int32 MaxLanguage;
uint16 MaxFactionID;
uint8 MaxReputation;
uint32 ReputationLogic;
@@ -2038,17 +2020,41 @@ struct PlayerConditionEntry
uint8 PhaseUseFlags;
uint16 PhaseID;
uint32 PhaseGroupID;
- uint32 MinAvgItemLevel;
- uint32 MaxAvgItemLevel;
+ int32 MinAvgItemLevel;
+ int32 MaxAvgItemLevel;
uint16 MinAvgEquippedItemLevel;
uint16 MaxAvgEquippedItemLevel;
int8 ChrSpecializationIndex;
int8 ChrSpecializationRole;
int8 PowerType;
- int8 PowerTypeComp;
- int8 PowerTypeValue;
+ uint8 PowerTypeComp;
+ uint8 PowerTypeValue;
uint32 ModifierTreeID;
- uint32 MainHandItemSubclassMask;
+ int32 MainHandItemSubclassMask;
+ uint16 SkillID[4];
+ uint16 MinSkill[4];
+ uint16 MaxSkill[4];
+ uint32 MinFactionID[3];
+ uint8 MinReputation[3];
+ uint16 PrevQuestID[4];
+ uint16 CurrQuestID[4];
+ uint16 CurrentCompletedQuestID[4];
+ int32 SpellID[4];
+ int32 ItemID[4];
+ uint32 ItemCount[4];
+ uint16 Explored[2];
+ uint32 Time[2];
+ uint32 AuraSpellID[4];
+ uint8 AuraCount[4];
+ uint16 Achievement[4];
+ uint8 LfgStatus[4];
+ uint8 LfgCompare[4];
+ uint32 LfgValue[4];
+ uint16 AreaID[4];
+ uint32 CurrencyID[4];
+ uint32 CurrencyCount[4];
+ uint32 QuestKillMonster[6];
+ int32 MovementFlags[2];
};
struct PowerDisplayEntry
@@ -2081,8 +2087,8 @@ struct PowerTypeEntry
struct PrestigeLevelInfoEntry
{
uint32 ID;
- uint32 IconID;
LocalizedString* PrestigeText;
+ uint32 IconID;
uint8 PrestigeLevel;
uint8 Flags;
@@ -2092,10 +2098,10 @@ struct PrestigeLevelInfoEntry
struct PVPDifficultyEntry
{
uint32 ID;
- uint16 MapID;
uint8 BracketID;
uint8 MinLevel;
uint8 MaxLevel;
+ uint16 MapID;
// helpers
BattlegroundBracketId GetBracketId() const { return BattlegroundBracketId(BracketID); }
@@ -2172,8 +2178,8 @@ struct RewardPackXItemEntry
{
uint32 ID;
uint32 ItemID;
- uint32 RewardPackID;
uint32 Amount;
+ uint32 RewardPackID;
};
struct RulesetItemUpgradeEntry
@@ -2183,6 +2189,14 @@ struct RulesetItemUpgradeEntry
uint16 ItemUpgradeID;
};
+struct SandboxScalingEntry
+{
+ uint32 ID;
+ uint32 MinLevel;
+ uint32 MaxLevel;
+ uint32 Flags;
+};
+
struct ScalingStatDistributionEntry
{
uint32 ID;
@@ -2223,18 +2237,30 @@ struct ScenarioStepEntry
struct SceneScriptEntry
{
uint32 ID;
- char const* Name;
- char const* Script;
uint16 PrevScriptId;
uint16 NextScriptId;
};
+struct SceneScriptGlobalTextEntry
+{
+ uint32 ID;
+ char const* Name;
+ char const* Script;
+};
+
struct SceneScriptPackageEntry
{
uint32 ID;
char const* Name;
};
+struct SceneScriptTextEntry
+{
+ uint32 ID;
+ char const* Name;
+ char const* Script;
+};
+
struct SkillLineEntry
{
uint32 ID;
@@ -2250,26 +2276,26 @@ struct SkillLineEntry
struct SkillLineAbilityEntry
{
+ uint64 RaceMask;
uint32 ID;
uint32 SpellID;
- uint32 RaceMask;
uint32 SupercedesSpell;
uint16 SkillLine;
- uint16 MinSkillLineRank;
uint16 TrivialSkillLineRankHigh;
uint16 TrivialSkillLineRankLow;
uint16 UniqueBit;
uint16 TradeSkillCategoryID;
- uint8 AcquireMethod;
uint8 NumSkillUps;
- uint8 Unknown703;
int32 ClassMask;
+ uint16 MinSkillLineRank;
+ uint8 AcquireMethod;
+ uint8 Flags;
};
struct SkillRaceClassInfoEntry
{
uint32 ID;
- int32 RaceMask;
+ int64 RaceMask;
uint16 SkillID;
uint16 Flags;
uint16 SkillTierID;
@@ -2300,9 +2326,9 @@ struct SoundKitEntry
struct SpecializationSpellsEntry
{
+ LocalizedString* Description;
uint32 SpellID;
uint32 OverridesSpellID;
- LocalizedString* Description;
uint16 SpecID;
uint8 OrderIndex;
uint32 ID;
@@ -2310,19 +2336,16 @@ struct SpecializationSpellsEntry
struct SpellEntry
{
+ uint32 ID;
LocalizedString* Name;
LocalizedString* NameSubtext;
LocalizedString* Description;
LocalizedString* AuraDescription;
- uint32 MiscID;
- uint32 ID;
- uint32 DescriptionVariablesID;
};
struct SpellAuraOptionsEntry
{
uint32 ID;
- uint32 SpellID;
uint32 ProcCharges;
uint32 ProcTypeMask;
uint32 ProcCategoryRecovery;
@@ -2330,12 +2353,12 @@ struct SpellAuraOptionsEntry
uint16 SpellProcsPerMinuteID;
uint8 DifficultyID;
uint8 ProcChance;
+ uint32 SpellID;
};
struct SpellAuraRestrictionsEntry
{
uint32 ID;
- uint32 SpellID;
uint32 CasterAuraSpell;
uint32 TargetAuraSpell;
uint32 ExcludeCasterAuraSpell;
@@ -2345,6 +2368,7 @@ struct SpellAuraRestrictionsEntry
uint8 TargetAuraState;
uint8 ExcludeCasterAuraState;
uint8 ExcludeTargetAuraState;
+ uint32 SpellID;
};
struct SpellCastTimesEntry
@@ -2370,7 +2394,6 @@ struct SpellCastingRequirementsEntry
struct SpellCategoriesEntry
{
uint32 ID;
- uint32 SpellID;
uint16 Category;
uint16 StartRecoveryCategory;
uint16 ChargeCategory;
@@ -2379,6 +2402,7 @@ struct SpellCategoriesEntry
uint8 DispelType;
uint8 Mechanic;
uint8 PreventionType;
+ uint32 SpellID;
};
struct SpellCategoryEntry
@@ -2404,11 +2428,11 @@ struct SpellClassOptionsEntry
struct SpellCooldownsEntry
{
uint32 ID;
- uint32 SpellID;
uint32 CategoryRecoveryTime;
uint32 RecoveryTime;
uint32 StartRecoveryTime;
uint8 DifficultyID;
+ uint32 SpellID;
};
struct SpellDurationEntry
@@ -2421,18 +2445,11 @@ struct SpellDurationEntry
struct SpellEffectEntry
{
- flag128 EffectSpellClassMask;
uint32 ID;
- uint32 SpellID;
uint32 Effect;
- uint32 EffectAura;
int32 EffectBasePoints;
uint32 EffectIndex;
- int32 EffectMiscValue;
- int32 EffectMiscValueB;
- uint32 EffectRadiusIndex;
- uint32 EffectRadiusMaxIndex;
- uint32 ImplicitTarget[2];
+ uint32 EffectAura;
uint32 DifficultyID;
float EffectAmplitude;
uint32 EffectAuraPeriod;
@@ -2449,15 +2466,17 @@ struct SpellEffectEntry
uint32 EffectAttributes;
float BonusCoefficientFromAP;
float PvPMultiplier;
-};
-
-struct SpellEffectScalingEntry
-{
- uint32 ID;
float Coefficient;
float Variance;
float ResourceCoefficient;
- uint32 SpellEffectID;
+ float GroupSizeCoefficient;
+ flag128 EffectSpellClassMask;
+ int32 EffectMiscValue;
+ int32 EffectMiscValueB;
+ uint32 EffectRadiusIndex;
+ uint32 EffectRadiusMaxIndex;
+ uint32 ImplicitTarget[2];
+ uint32 SpellID;
};
struct SpellEquippedItemsEntry
@@ -2478,11 +2497,11 @@ struct SpellFocusObjectEntry
struct SpellInterruptsEntry
{
uint32 ID;
- uint32 SpellID;
+ uint8 DifficultyID;
+ uint16 InterruptFlags;
uint32 AuraInterruptFlags[MAX_SPELL_AURA_INTERRUPT_FLAGS];
uint32 ChannelInterruptFlags[MAX_SPELL_AURA_INTERRUPT_FLAGS];
- uint16 InterruptFlags;
- uint8 DifficultyID;
+ uint32 SpellID;
};
#define MAX_ITEM_ENCHANTMENT_EFFECTS 3
@@ -2490,8 +2509,8 @@ struct SpellInterruptsEntry
struct SpellItemEnchantmentEntry
{
uint32 ID;
- uint32 EffectSpellID[MAX_ITEM_ENCHANTMENT_EFFECTS];
LocalizedString* Name;
+ uint32 EffectSpellID[MAX_ITEM_ENCHANTMENT_EFFECTS];
float EffectScalingPoints[MAX_ITEM_ENCHANTMENT_EFFECTS];
uint32 TransmogCost;
uint32 TextureFileDataID;
@@ -2514,12 +2533,12 @@ struct SpellItemEnchantmentEntry
struct SpellItemEnchantmentConditionEntry
{
uint32 ID;
+ uint32 LTOperand[5];
uint8 LTOperandType[5];
uint8 Operator[5];
uint8 RTOperandType[5];
uint8 RTOperand[5];
uint8 Logic[5];
- uint32 LTOperand[5];
};
struct SpellLearnSpellEntry
@@ -2533,17 +2552,26 @@ struct SpellLearnSpellEntry
struct SpellLevelsEntry
{
uint32 ID;
- uint32 SpellID;
uint16 BaseLevel;
uint16 MaxLevel;
uint16 SpellLevel;
uint8 DifficultyID;
uint8 MaxUsableLevel;
+ uint32 SpellID;
};
struct SpellMiscEntry
{
uint32 ID;
+ uint16 CastingTimeIndex;
+ uint16 DurationIndex;
+ uint16 RangeIndex;
+ uint8 SchoolMask;
+ uint32 IconFileDataID;
+ float Speed;
+ uint32 ActiveIconFileDataID;
+ float MultistrikeSpeedMod;
+ uint8 DifficultyID;
uint32 Attributes;
uint32 AttributesEx;
uint32 AttributesExB;
@@ -2558,19 +2586,11 @@ struct SpellMiscEntry
uint32 AttributesExK;
uint32 AttributesExL;
uint32 AttributesExM;
- float Speed;
- float MultistrikeSpeedMod;
- uint16 CastingTimeIndex;
- uint16 DurationIndex;
- uint16 RangeIndex;
- uint8 SchoolMask;
- uint32 IconFileDataID;
- uint32 ActiveIconFileDataID;
+ uint32 SpellID;
};
struct SpellPowerEntry
{
- uint32 SpellID;
int32 ManaCost;
float ManaCostPercentage;
float ManaCostPercentagePerSecond;
@@ -2585,6 +2605,7 @@ struct SpellPowerEntry
// only SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL, SPELL_EFFECT_WEAPON_PERCENT_DAMAGE, SPELL_EFFECT_WEAPON_DAMAGE, SPELL_EFFECT_NORMALIZED_WEAPON_DMG
uint32 PowerDisplayID;
uint32 UnitPowerBarID;
+ uint32 SpellID;
};
struct SpellPowerDifficultyEntry
@@ -2606,8 +2627,8 @@ struct SpellProcsPerMinuteModEntry
uint32 ID;
float Coeff;
uint16 Param;
- uint16 SpellProcsPerMinuteID;
uint8 Type;
+ uint16 SpellProcsPerMinuteID;
};
struct SpellRadiusEntry
@@ -2622,12 +2643,12 @@ struct SpellRadiusEntry
struct SpellRangeEntry
{
uint32 ID;
+ LocalizedString* DisplayName;
+ LocalizedString* DisplayNameShort;
float MinRangeHostile;
float MinRangeFriend;
float MaxRangeHostile;
float MaxRangeFriend;
- LocalizedString* DisplayName;
- LocalizedString* DisplayNameShort;
uint8 Flags;
};
@@ -2680,7 +2701,6 @@ struct SpellShapeshiftFormEntry
struct SpellTargetRestrictionsEntry
{
uint32 ID;
- uint32 SpellID;
float ConeAngle;
float Width;
uint32 Targets;
@@ -2688,6 +2708,7 @@ struct SpellTargetRestrictionsEntry
uint8 DifficultyID;
uint8 MaxAffectedTargets;
uint32 MaxTargetLevel;
+ uint32 SpellID;
};
#define MAX_SPELL_TOTEMS 2
@@ -2702,7 +2723,6 @@ struct SpellTotemsEntry
struct SpellXSpellVisualEntry
{
- uint32 SpellID;
uint32 SpellVisualID;
uint32 ID;
float Chance;
@@ -2715,6 +2735,7 @@ struct SpellXSpellVisualEntry
uint8 Flags;
uint8 DifficultyID;
uint8 Priority;
+ uint32 SpellID;
};
struct SummonPropertiesEntry
@@ -2738,9 +2759,9 @@ struct TactKeyEntry
struct TalentEntry
{
uint32 ID;
+ LocalizedString* Description;
uint32 SpellID;
uint32 OverridesSpellID;
- LocalizedString* Description;
uint16 SpecID;
uint8 TierID;
uint8 ColumnIndex;
@@ -2752,8 +2773,8 @@ struct TalentEntry
struct TaxiNodesEntry
{
uint32 ID;
- DBCPosition3D Pos;
LocalizedString* Name;
+ DBCPosition3D Pos;
uint32 MountCreatureID[2];
DBCPosition2D MapOffset;
float Unk730;
@@ -2797,8 +2818,8 @@ struct TotemCategoryEntry
struct ToyEntry
{
- uint32 ItemID;
LocalizedString* Description;
+ uint32 ItemID;
uint8 Flags;
uint8 CategoryFilter;
uint32 ID;
@@ -2841,34 +2862,34 @@ struct TransmogSetItemEntry
struct TransportAnimationEntry
{
uint32 ID;
- uint32 TransportID;
uint32 TimeIndex;
DBCPosition3D Pos;
uint8 SequenceID;
+ uint32 TransportID;
};
struct TransportRotationEntry
{
uint32 ID;
- uint32 TransportID;
uint32 TimeIndex;
float X;
float Y;
float Z;
float W;
+ uint32 TransportID;
};
struct UnitPowerBarEntry
{
uint32 ID;
- float RegenerationPeace;
- float RegenerationCombat;
- uint32 FileDataID[6];
- uint32 Color[6];
LocalizedString* Name;
LocalizedString* Cost;
LocalizedString* OutOfError;
LocalizedString* ToolTip;
+ float RegenerationPeace;
+ float RegenerationCombat;
+ uint32 FileDataID[6];
+ uint32 Color[6];
float StartInset;
float EndInset;
uint16 StartPower;
@@ -2985,9 +3006,8 @@ struct VehicleSeatEntry
struct WMOAreaTableEntry
{
- int32 WMOGroupID; // used in group WMO
LocalizedString* AreaName;
- int16 WMOID; // used in root WMO
+ int32 WMOGroupID; // used in group WMO
uint16 AmbienceID;
uint16 ZoneMusic;
uint16 IntroSound;
@@ -3000,6 +3020,7 @@ struct WMOAreaTableEntry
uint8 Flags;
uint32 ID;
uint32 UWZoneMusic;
+ int16 WMOID; // used in root WMO
};
struct WorldEffectEntry
@@ -3038,8 +3059,8 @@ struct WorldMapAreaEntry
struct WorldMapOverlayEntry
{
- uint32 ID;
char const* TextureName;
+ uint32 ID;
uint16 TextureWidth;
uint16 TextureHeight;
uint32 MapAreaID; // idx in WorldMapArea.dbc
@@ -3073,9 +3094,9 @@ struct WorldMapTransformsEntry
struct WorldSafeLocsEntry
{
uint32 ID;
+ LocalizedString* AreaName;
DBCPosition3D Loc;
float Facing;
- LocalizedString* AreaName;
uint16 MapID;
};
diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h
index 7f86f5c3d70..31fdaaa7bff 100644
--- a/src/server/game/DataStores/DBCEnums.h
+++ b/src/server/game/DataStores/DBCEnums.h
@@ -155,7 +155,7 @@ enum ArtifactPowerFlag : uint8
ARTIFACT_POWER_FLAG_DONT_COUNT_FIRST_BONUS_RANK = 0x10,
};
-#define BATTLE_PET_SPECIES_MAX_ID 2137
+#define BATTLE_PET_SPECIES_MAX_ID 2164
enum ChrSpecializationFlag
{
@@ -245,6 +245,7 @@ enum CriteriaAdditionalCondition
//CRITERIA_ADDITIONAL_CONDITION_UNK86 = 86, // Some external event id
//CRITERIA_ADDITIONAL_CONDITION_UNK87 = 87, // Achievement id
CRITERIA_ADDITIONAL_CONDITION_BATTLE_PET_SPECIES = 91,
+ CRITERIA_ADDITIONAL_CONDITION_EXPANSION = 92,
CRITERIA_ADDITIONAL_CONDITION_GARRISON_FOLLOWER_ENTRY = 144,
CRITERIA_ADDITIONAL_CONDITION_GARRISON_FOLLOWER_QUALITY = 145,
CRITERIA_ADDITIONAL_CONDITION_GARRISON_FOLLOWER_LEVEL = 146,
@@ -493,7 +494,7 @@ enum CriteriaTypes : uint8
CRITERIA_TYPE_RELIC_TALENT_UNLOCKED = 211
};
-#define CRITERIA_TYPE_TOTAL 212
+#define CRITERIA_TYPE_TOTAL 213
enum CriteriaTreeFlags : uint16
{
@@ -729,7 +730,8 @@ enum ItemBonusType
ITEM_BONUS_ITEM_LEVEL_CAN_INCREASE = 14, // Displays a + next to item level indicating it can warforge
ITEM_BONUS_RANDOM_ENCHANTMENT = 15, // Responsible for showing "<Random additional stats>" or "+%d Rank Random Minor Trait" in the tooltip before item is obtained
ITEM_BONUS_BONDING = 16,
- ITEM_BONUS_RELIC_TYPE = 17
+ ITEM_BONUS_RELIC_TYPE = 17,
+ ITEM_BONUS_OVERRIDE_REQUIRED_LEVEL = 18
};
enum ItemLimitCategoryMode
@@ -887,7 +889,7 @@ enum SpellShapeshiftFormFlags
SHAPESHIFT_FORM_PREVENT_EMOTE_SOUNDS = 0x1000
};
-#define TaxiMaskSize 253
+#define TaxiMaskSize 258
typedef std::array<uint8, TaxiMaskSize> TaxiMask;
enum TotemCategoryType
diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp
index 231433ec2b7..f013ca1e0a1 100644
--- a/src/server/game/Entities/Item/Item.cpp
+++ b/src/server/game/Entities/Item/Item.cpp
@@ -1821,158 +1821,168 @@ bool Item::CanTransmogrifyItemWithItem(Item const* item, ItemModifiedAppearanceE
return true;
}
-// used by mail items, transmog cost, stationeryinfo and others
-uint32 Item::GetSellPrice(ItemTemplate const* proto, bool& normalSellPrice)
+uint32 Item::GetBuyPrice(Player const* owner, bool& standardPrice) const
{
- normalSellPrice = true;
+ return Item::GetBuyPrice(GetTemplate(), GetQuality(), GetItemLevel(owner), standardPrice);
+}
+
+uint32 Item::GetBuyPrice(ItemTemplate const* proto, uint32 quality, uint32 itemLevel, bool& standardPrice)
+{
+ standardPrice = false;
if (proto->GetFlags2() & ITEM_FLAG2_OVERRIDE_GOLD_COST)
- {
return proto->GetBuyPrice();
- }
- else
- {
- ImportPriceQualityEntry const* qualityPrice = sImportPriceQualityStore.LookupEntry(proto->GetQuality() + 1);
- ItemPriceBaseEntry const* basePrice = sItemPriceBaseStore.LookupEntry(proto->GetBaseItemLevel());
- if (!qualityPrice || !basePrice)
- return 0;
+ ImportPriceQualityEntry const* qualityPrice = sImportPriceQualityStore.LookupEntry(quality + 1);
+ if (!qualityPrice)
+ return 0;
- float qualityFactor = qualityPrice->Factor;
- float baseFactor = 0.0f;
+ ItemPriceBaseEntry const* basePrice = sItemPriceBaseStore.LookupEntry(itemLevel);
+ if (!basePrice)
+ return 0;
- uint32 inventoryType = proto->GetInventoryType();
+ float qualityFactor = qualityPrice->Factor;
+ float baseFactor = 0.0f;
- if (inventoryType == INVTYPE_WEAPON ||
- inventoryType == INVTYPE_2HWEAPON ||
- inventoryType == INVTYPE_WEAPONMAINHAND ||
- inventoryType == INVTYPE_WEAPONOFFHAND ||
- inventoryType == INVTYPE_RANGED ||
- inventoryType == INVTYPE_THROWN ||
- inventoryType == INVTYPE_RANGEDRIGHT)
- baseFactor = basePrice->WeaponFactor;
- else
- baseFactor = basePrice->ArmorFactor;
+ uint32 inventoryType = proto->GetInventoryType();
- if (inventoryType == INVTYPE_ROBE)
- inventoryType = INVTYPE_CHEST;
+ if (inventoryType == INVTYPE_WEAPON ||
+ inventoryType == INVTYPE_2HWEAPON ||
+ inventoryType == INVTYPE_WEAPONMAINHAND ||
+ inventoryType == INVTYPE_WEAPONOFFHAND ||
+ inventoryType == INVTYPE_RANGED ||
+ inventoryType == INVTYPE_THROWN ||
+ inventoryType == INVTYPE_RANGEDRIGHT)
+ baseFactor = basePrice->WeaponFactor;
+ else
+ baseFactor = basePrice->ArmorFactor;
- float typeFactor = 0.0f;
- int8 weapType = -1;
+ if (inventoryType == INVTYPE_ROBE)
+ inventoryType = INVTYPE_CHEST;
- switch (inventoryType)
- {
- case INVTYPE_HEAD:
- case INVTYPE_SHOULDERS:
- case INVTYPE_CHEST:
- case INVTYPE_WAIST:
- case INVTYPE_LEGS:
- case INVTYPE_FEET:
- case INVTYPE_WRISTS:
- case INVTYPE_HANDS:
- case INVTYPE_CLOAK:
- {
- ImportPriceArmorEntry const* armorPrice = sImportPriceArmorStore.LookupEntry(inventoryType);
- if (!armorPrice)
- return 0;
+ if (proto->GetClass() == ITEM_CLASS_GEM && proto->GetSubClass() == ITEM_SUBCLASS_GEM_ARTIFACT_RELIC)
+ {
+ inventoryType = INVTYPE_WEAPON;
+ baseFactor = basePrice->WeaponFactor / 3.0f;
+ }
- switch (proto->GetSubClass())
- {
- case ITEM_SUBCLASS_ARMOR_MISCELLANEOUS:
- case ITEM_SUBCLASS_ARMOR_CLOTH:
- typeFactor = armorPrice->ClothFactor;
- break;
- case ITEM_SUBCLASS_ARMOR_LEATHER:
- typeFactor = armorPrice->LeatherFactor;
- break;
- case ITEM_SUBCLASS_ARMOR_MAIL:
- typeFactor = armorPrice->MailFactor;
- break;
- case ITEM_SUBCLASS_ARMOR_PLATE:
- typeFactor = armorPrice->PlateFactor;
- break;
- default:
- return 0;
- }
+ float typeFactor = 0.0f;
+ int8 weapType = -1;
- break;
- }
- case INVTYPE_SHIELD:
- {
- ImportPriceShieldEntry const* shieldPrice = sImportPriceShieldStore.LookupEntry(1); // it only has two rows, it's unclear which is the one used
- if (!shieldPrice)
- return 0;
+ switch (inventoryType)
+ {
+ case INVTYPE_HEAD:
+ case INVTYPE_NECK:
+ case INVTYPE_SHOULDERS:
+ case INVTYPE_CHEST:
+ case INVTYPE_WAIST:
+ case INVTYPE_LEGS:
+ case INVTYPE_FEET:
+ case INVTYPE_WRISTS:
+ case INVTYPE_HANDS:
+ case INVTYPE_FINGER:
+ case INVTYPE_TRINKET:
+ case INVTYPE_CLOAK:
+ case INVTYPE_HOLDABLE:
+ {
+ ImportPriceArmorEntry const* armorPrice = sImportPriceArmorStore.LookupEntry(inventoryType);
+ if (!armorPrice)
+ return 0;
- typeFactor = shieldPrice->Factor;
- break;
+ switch (proto->GetSubClass())
+ {
+ case ITEM_SUBCLASS_ARMOR_MISCELLANEOUS:
+ case ITEM_SUBCLASS_ARMOR_CLOTH:
+ typeFactor = armorPrice->ClothFactor;
+ break;
+ case ITEM_SUBCLASS_ARMOR_LEATHER:
+ typeFactor = armorPrice->LeatherFactor;
+ break;
+ case ITEM_SUBCLASS_ARMOR_MAIL:
+ typeFactor = armorPrice->MailFactor;
+ break;
+ case ITEM_SUBCLASS_ARMOR_PLATE:
+ typeFactor = armorPrice->PlateFactor;
+ break;
+ default:
+ typeFactor = 1.0f;
+ break;
}
- case INVTYPE_WEAPONMAINHAND:
- weapType = 0;
- break;
- case INVTYPE_WEAPONOFFHAND:
- weapType = 1;
- break;
- case INVTYPE_WEAPON:
- weapType = 2;
- break;
- case INVTYPE_2HWEAPON:
- weapType = 3;
- break;
- case INVTYPE_RANGED:
- case INVTYPE_RANGEDRIGHT:
- case INVTYPE_RELIC:
- weapType = 4;
- break;
- default:
- return proto->GetBuyPrice();
- }
- if (weapType != -1)
+ break;
+ }
+ case INVTYPE_SHIELD:
{
- ImportPriceWeaponEntry const* weaponPrice = sImportPriceWeaponStore.LookupEntry(weapType + 1);
- if (!weaponPrice)
+ ImportPriceShieldEntry const* shieldPrice = sImportPriceShieldStore.LookupEntry(2);
+ if (!shieldPrice)
return 0;
- typeFactor = weaponPrice->Factor;
+ typeFactor = shieldPrice->Factor;
+ break;
}
+ case INVTYPE_WEAPONMAINHAND:
+ weapType = 0;
+ break;
+ case INVTYPE_WEAPONOFFHAND:
+ weapType = 1;
+ break;
+ case INVTYPE_WEAPON:
+ weapType = 2;
+ break;
+ case INVTYPE_2HWEAPON:
+ weapType = 3;
+ break;
+ case INVTYPE_RANGED:
+ case INVTYPE_RANGEDRIGHT:
+ case INVTYPE_RELIC:
+ weapType = 4;
+ break;
+ default:
+ return proto->GetBuyPrice();
+ }
+
+ if (weapType != -1)
+ {
+ ImportPriceWeaponEntry const* weaponPrice = sImportPriceWeaponStore.LookupEntry(weapType + 1);
+ if (!weaponPrice)
+ return 0;
- normalSellPrice = false;
- return uint32(qualityFactor * proto->GetUnk1() * proto->GetUnk2() * typeFactor * baseFactor);
+ typeFactor = weaponPrice->Factor;
}
+
+ standardPrice = false;
+ return uint32(proto->GetUnk2() * typeFactor * baseFactor * qualityFactor * proto->GetUnk1());
}
-uint32 Item::GetSpecialPrice(ItemTemplate const* proto, uint32 minimumPrice /*= 10000*/)
+uint32 Item::GetSellPrice(Player const* owner) const
{
- uint32 cost = 0;
+ return Item::GetSellPrice(GetTemplate(), GetQuality(), GetItemLevel(owner));
+}
+uint32 Item::GetSellPrice(ItemTemplate const* proto, uint32 quality, uint32 itemLevel)
+{
if (proto->GetFlags2() & ITEM_FLAG2_OVERRIDE_GOLD_COST)
- cost = proto->GetSellPrice();
+ return proto->GetSellPrice();
else
{
- bool normalPrice;
- cost = Item::GetSellPrice(proto, normalPrice);
+ bool standardPrice;
+ uint32 cost = Item::GetBuyPrice(proto, quality, itemLevel, standardPrice);
- if (!normalPrice)
+ if (standardPrice)
{
- if (proto->GetBuyCount() <= 1)
+ if (ItemClassEntry const* classEntry = sDB2Manager.GetItemClassByOldEnum(proto->GetClass()))
{
- ItemClassEntry const* classEntry = sDB2Manager.GetItemClassByOldEnum(proto->GetClass());
- if (classEntry)
- cost *= classEntry->PriceMod;
- else
- cost = 0;
+ uint32 buyCount = std::max(proto->GetBuyCount(), 1u);
+ return cost * classEntry->PriceMod / buyCount;
}
- else
- cost /= 4 * proto->GetBuyCount();
+
+ return 0;
}
else
- cost = proto->GetSellPrice();
+ return proto->GetSellPrice();
}
- if (cost < minimumPrice)
- cost = minimumPrice;
-
- return cost;
+ return 0;
}
void Item::ItemContainerSaveLootToDB()
@@ -2165,29 +2175,37 @@ void Item::ItemContainerDeleteLootMoneyAndLootItemsFromDB()
uint32 Item::GetItemLevel(Player const* owner) const
{
- ItemTemplate const* stats = GetTemplate();
- if (!stats)
+ return Item::GetItemLevel(GetTemplate(), _bonusData, owner->getLevel(), GetModifier(ITEM_MODIFIER_SCALING_STAT_DISTRIBUTION_FIXED_LEVEL), GetModifier(ITEM_MODIFIER_UPGRADE_ID));
+}
+
+uint32 Item::GetItemLevel(ItemTemplate const* itemTemplate, BonusData const& bonusData, uint32 level, uint32 fixedLevel, uint32 upgradeId)
+{
+ if (!itemTemplate)
return MIN_ITEM_LEVEL;
- uint32 itemLevel = stats->GetBaseItemLevel();
- if (ScalingStatDistributionEntry const* ssd = sScalingStatDistributionStore.LookupEntry(GetScalingStatDistribution()))
+ uint32 itemLevel = itemTemplate->GetBaseItemLevel();
+ if (ScalingStatDistributionEntry const* ssd = sScalingStatDistributionStore.LookupEntry(bonusData.ScalingStatDistribution))
{
- uint32 level = owner->getLevel();
- if (uint32 fixedLevel = GetModifier(ITEM_MODIFIER_SCALING_STAT_DISTRIBUTION_FIXED_LEVEL))
+ if (fixedLevel)
level = fixedLevel;
else
level = std::min(std::max(level, ssd->MinLevel), ssd->MaxLevel);
+
+ if (SandboxScalingEntry const* sandbox = sSandboxScalingStore.LookupEntry(bonusData.SandboxScalingId))
+ if ((sandbox->Flags & 2 || sandbox->MinLevel || sandbox->MaxLevel) && !(sandbox->Flags & 4))
+ level = std::min(std::max(level, sandbox->MinLevel), sandbox->MaxLevel);
+
if (uint32 heirloomIlvl = uint32(sDB2Manager.GetCurveValueAt(ssd->ItemLevelCurveID, level)))
itemLevel = heirloomIlvl;
}
- itemLevel += _bonusData.ItemLevelBonus;
+ itemLevel += bonusData.ItemLevelBonus;
- if (ItemUpgradeEntry const* upgrade = sItemUpgradeStore.LookupEntry(GetModifier(ITEM_MODIFIER_UPGRADE_ID)))
+ if (ItemUpgradeEntry const* upgrade = sItemUpgradeStore.LookupEntry(upgradeId))
itemLevel += upgrade->ItemLevelBonus;
for (uint32 i = 0; i < MAX_ITEM_PROTO_SOCKETS; ++i)
- itemLevel += _bonusData.GemItemLevelBonus[i];
+ itemLevel += bonusData.GemItemLevelBonus[i];
return std::min(std::max(itemLevel, uint32(MIN_ITEM_LEVEL)), uint32(MAX_ITEM_LEVEL));
}
@@ -2208,6 +2226,48 @@ int32 Item::GetItemStatValue(uint32 index, Player const* owner) const
return _bonusData.ItemStatValue[index];
}
+ItemDisenchantLootEntry const* Item::GetDisenchantLoot(Player const* owner) const
+{
+ return Item::GetDisenchantLoot(GetTemplate(), GetQuality(), GetItemLevel(owner));
+}
+
+ItemDisenchantLootEntry const* Item::GetDisenchantLoot(ItemTemplate const* itemTemplate, uint32 quality, uint32 itemLevel)
+{
+ if (itemTemplate->GetFlags() & (ITEM_FLAG_CONJURED | ITEM_FLAG_NO_DISENCHANT) || itemTemplate->GetBonding() == BIND_QUEST)
+ return nullptr;
+
+ if (itemTemplate->GetArea() || itemTemplate->GetMap() || itemTemplate->GetMaxStackSize() > 1)
+ return nullptr;
+
+ if (!Item::GetSellPrice(itemTemplate, quality, itemLevel) && !sDB2Manager.HasItemCurrencyCost(itemTemplate->GetId()))
+ return nullptr;
+
+ uint32 itemClass = itemTemplate->GetClass();
+ int8 itemSubClass = itemTemplate->GetSubClass();
+ uint8 expansion = itemTemplate->GetRequiredExpansion();
+ for (ItemDisenchantLootEntry const* disenchant : sItemDisenchantLootStore)
+ {
+ if (disenchant->ItemClass != itemClass)
+ continue;
+
+ if (disenchant->ItemSubClass >= 0 && itemSubClass)
+ continue;
+
+ if (disenchant->ItemQuality != quality)
+ continue;
+
+ if (disenchant->MinItemLevel > itemLevel || disenchant->MaxItemLevel < itemLevel)
+ continue;
+
+ if (disenchant->Expansion != -2 && disenchant->Expansion != expansion)
+ continue;
+
+ return disenchant;
+ }
+
+ return nullptr;
+}
+
uint32 Item::GetDisplayId(Player const* owner) const
{
ItemModifier transmogModifier = ITEM_MODIFIER_TRANSMOG_APPEARANCE_ALL_SPECS;
@@ -2506,6 +2566,7 @@ void BonusData::Initialize(ItemTemplate const* proto)
AppearanceModID = 0;
RepairCostMultiplier = 1.0f;
ScalingStatDistribution = proto->GetScalingStatDistribution();
+ SandboxScalingId = 0;
RelicType = -1;
HasItemLevelBonus = false;
@@ -2529,7 +2590,7 @@ void BonusData::Initialize(WorldPackets::Item::ItemInstance const& itemInstance)
AddBonus(bonus->Type, bonus->Value);
}
-void BonusData::AddBonus(uint32 type, int32 const (&values)[2])
+void BonusData::AddBonus(uint32 type, int32 const (&values)[3])
{
switch (type)
{
@@ -2591,6 +2652,7 @@ void BonusData::AddBonus(uint32 type, int32 const (&values)[2])
if (values[1] < _state.ScalingStatDistributionPriority)
{
ScalingStatDistribution = static_cast<uint32>(values[0]);
+ SandboxScalingId = static_cast<uint32>(values[2]);
_state.ScalingStatDistributionPriority = values[1];
}
break;
@@ -2600,5 +2662,8 @@ void BonusData::AddBonus(uint32 type, int32 const (&values)[2])
case ITEM_BONUS_RELIC_TYPE:
RelicType = values[0];
break;
+ case ITEM_BONUS_OVERRIDE_REQUIRED_LEVEL:
+ RequiredLevel = values[0];
+ break;
}
}
diff --git a/src/server/game/Entities/Item/Item.h b/src/server/game/Entities/Item/Item.h
index 770fd73cdeb..210a3df1918 100644
--- a/src/server/game/Entities/Item/Item.h
+++ b/src/server/game/Entities/Item/Item.h
@@ -86,6 +86,8 @@ struct BonusData
uint32 AppearanceModID;
float RepairCostMultiplier;
uint32 ScalingStatDistribution;
+ uint32 SandboxScalingId;
+ uint32 DisenchantLootId;
uint32 GemItemLevelBonus[MAX_ITEM_PROTO_SOCKETS];
int32 GemRelicType[MAX_ITEM_PROTO_SOCKETS];
uint16 GemRelicRankBonus[MAX_ITEM_PROTO_SOCKETS];
@@ -94,7 +96,7 @@ struct BonusData
void Initialize(ItemTemplate const* proto);
void Initialize(WorldPackets::Item::ItemInstance const& itemInstance);
- void AddBonus(uint32 type, int32 const (&values)[2]);
+ void AddBonus(uint32 type, int32 const (&values)[3]);
private:
struct
@@ -260,6 +262,7 @@ class TC_GAME_API Item : public Object
bool IsRangedWeapon() const { return GetTemplate()->IsRangedWeapon(); }
uint32 GetQuality() const { return _bonusData.Quality; }
uint32 GetItemLevel(Player const* owner) const;
+ static uint32 GetItemLevel(ItemTemplate const* itemTemplate, BonusData const& bonusData, uint32 level, uint32 fixedLevel, uint32 upgradeId);
int32 GetRequiredLevel() const { return _bonusData.RequiredLevel; }
int32 GetItemStatType(uint32 index) const { ASSERT(index < MAX_ITEM_PROTO_STATS); return _bonusData.ItemStatType[index]; }
int32 GetItemStatValue(uint32 index, Player const* owner) const;
@@ -272,6 +275,8 @@ class TC_GAME_API Item : public Object
ItemModifiedAppearanceEntry const* GetItemModifiedAppearance() const;
float GetRepairCostMultiplier() const { return _bonusData.RepairCostMultiplier; }
uint32 GetScalingStatDistribution() const { return _bonusData.ScalingStatDistribution; }
+ ItemDisenchantLootEntry const* GetDisenchantLoot(Player const* owner) const;
+ static ItemDisenchantLootEntry const* GetDisenchantLoot(ItemTemplate const* itemTemplate, uint32 quality, uint32 itemLevel);
// Item Refund system
void SetNotRefundable(Player* owner, bool changestate = true, SQLTransaction* trans = nullptr, bool addToCollection = true);
@@ -303,15 +308,16 @@ class TC_GAME_API Item : public Object
bool HasStats() const;
static bool HasStats(WorldPackets::Item::ItemInstance const& itemInstance, BonusData const* bonus);
static bool CanTransmogrifyItemWithItem(Item const* item, ItemModifiedAppearanceEntry const* itemModifiedAppearance);
- static uint32 GetSpecialPrice(ItemTemplate const* proto, uint32 minimumPrice = 10000);
- uint32 GetSpecialPrice(uint32 minimumPrice = 10000) const { return Item::GetSpecialPrice(GetTemplate(), minimumPrice); }
+ uint32 GetBuyPrice(Player const* owner, bool& standardPrice) const;
+ static uint32 GetBuyPrice(ItemTemplate const* proto, uint32 quality, uint32 itemLevel, bool& standardPrice);
+ uint32 GetSellPrice(Player const* owner) const;
+ static uint32 GetSellPrice(ItemTemplate const* proto, uint32 quality, uint32 itemLevel);
uint32 GetVisibleEntry(Player const* owner) const;
uint16 GetVisibleAppearanceModId(Player const* owner) const;
uint32 GetVisibleEnchantmentId(Player const* owner) const;
uint16 GetVisibleItemVisual(Player const* owner) const;
- static uint32 GetSellPrice(ItemTemplate const* proto, bool& success);
uint32 GetModifier(ItemModifier modifier) const;
void SetModifier(ItemModifier modifier, uint32 value);
diff --git a/src/server/game/Entities/Item/ItemTemplate.h b/src/server/game/Entities/Item/ItemTemplate.h
index ae0d995de9f..89a20ab6459 100644
--- a/src/server/game/Entities/Item/ItemTemplate.h
+++ b/src/server/game/Entities/Item/ItemTemplate.h
@@ -721,7 +721,7 @@ struct TC_GAME_API ItemTemplate
uint32 GetSellPrice() const { return ExtendedData->SellPrice; }
InventoryType GetInventoryType() const { return InventoryType(ExtendedData->InventoryType); }
int32 GetAllowableClass() const { return ExtendedData->AllowableClass; }
- int32 GetAllowableRace() const { return ExtendedData->AllowableRace; }
+ int64 GetAllowableRace() const { return ExtendedData->AllowableRace; }
uint32 GetBaseItemLevel() const { return ExtendedData->ItemLevel; }
int32 GetBaseRequiredLevel() const { return ExtendedData->RequiredLevel; }
uint32 GetRequiredSkill() const { return ExtendedData->RequiredSkill; }
@@ -760,14 +760,13 @@ struct TC_GAME_API ItemTemplate
HolidayIds GetHolidayID() const { return HolidayIds(ExtendedData->HolidayID); }
float GetStatScalingFactor() const { return ExtendedData->StatScalingFactor; }
uint8 GetArtifactID() const { return ExtendedData->ArtifactID; }
+ uint8 GetRequiredExpansion() const { return ExtendedData->RequiredExpansion; }
uint32 MaxDurability;
std::vector<ItemEffectEntry const*> Effects;
// extra fields, not part of db2 files
uint32 ScriptId;
- uint32 DisenchantID;
- uint32 RequiredDisenchantSkill;
uint32 FoodType;
uint32 MinMoneyLoot;
uint32 MaxMoneyLoot;
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 47aaec14608..5c28e7b72bb 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -8363,7 +8363,7 @@ void Player::SendLoot(ObjectGuid guid, LootType loot_type, bool aeLooting/* = fa
switch (loot_type)
{
case LOOT_DISENCHANTING:
- loot->FillLoot(item->GetTemplate()->DisenchantID, LootTemplates_Disenchant, this, true);
+ loot->FillLoot(ASSERT_NOTNULL(item->GetDisenchantLoot(this))->ID, LootTemplates_Disenchant, this, true);
break;
case LOOT_PROSPECTING:
loot->FillLoot(item->GetEntry(), LootTemplates_Prospecting, this, true);
@@ -18194,7 +18194,7 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder)
float bubble0 = 0.031f;
//speed collect rest bonus in offline, in logout, in tavern, city (section/in hour)
float bubble1 = 0.125f;
- float bubble = fields[32].GetUInt8() > 0
+ float bubble = fields[33].GetUInt8() > 0
? bubble1 * sWorld->getRate(RATE_REST_OFFLINE_IN_TAVERN_OR_CITY)
: bubble0 * sWorld->getRate(RATE_REST_OFFLINE_IN_WILDERNESS);
@@ -24044,7 +24044,7 @@ void Player::LearnQuestRewardedSpells()
void Player::LearnSkillRewardedSpells(uint32 skillId, uint32 skillValue)
{
- uint32 raceMask = getRaceMask();
+ uint64 raceMask = getRaceMask();
uint32 classMask = getClassMask();
for (uint32 j = 0; j < sSkillLineAbilityStore.GetNumRows(); ++j)
{
diff --git a/src/server/game/Entities/Player/PlayerTaxi.cpp b/src/server/game/Entities/Player/PlayerTaxi.cpp
index 9499f2e0bc0..7a7f8d8533c 100644
--- a/src/server/game/Entities/Player/PlayerTaxi.cpp
+++ b/src/server/game/Entities/Player/PlayerTaxi.cpp
@@ -31,7 +31,7 @@ void PlayerTaxi::InitTaxiNodesForLevel(uint32 race, uint32 chrClass, uint8 level
{
case CLASS_DEATH_KNIGHT:
{
- for (uint8 i = 0; i < TaxiMaskSize; ++i)
+ for (std::size_t i = 0; i < TaxiMaskSize; ++i)
m_taximask[i] |= sOldContinentsNodesMask[i] & factionMask[i];
break;
}
@@ -99,7 +99,7 @@ void PlayerTaxi::LoadTaxiMask(std::string const &data)
{
Tokenizer tokens(data, ' ');
- uint8 index = 0;
+ std::size_t index = 0;
for (Tokenizer::const_iterator iter = tokens.begin(); index < TaxiMaskSize && iter != tokens.end(); ++iter, ++index)
{
// load and set bits only for existing taxi nodes
@@ -189,7 +189,7 @@ uint32 PlayerTaxi::GetCurrentTaxiPath() const
std::ostringstream& operator<<(std::ostringstream& ss, PlayerTaxi const& taxi)
{
- for (uint8 i = 0; i < TaxiMaskSize; ++i)
+ for (std::size_t i = 0; i < TaxiMaskSize; ++i)
ss << uint32(taxi.m_taximask[i]) << ' ';
return ss;
}
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index b31e46473ab..ae560ca6321 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -3127,7 +3127,10 @@ Aura* Unit::_TryStackingOrRefreshingExistingAura(SpellInfo const* newAura, uint3
if (castItem)
{
castItemGuid = castItem->GetGUID();
- castItemLevel = castItem->GetItemLevel(castItem->GetOwner());
+ if (Player* owner = castItem->GetOwner())
+ castItemLevel = int32(castItem->GetItemLevel(owner));
+ else if (castItem->GetOwnerGUID() == caster->GetGUID())
+ castItemLevel = int32(castItem->GetItemLevel(caster->ToPlayer()));
}
// find current aura from spell and change it's stackamount, or refresh it's duration
diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h
index 41a091c36e4..c26427f1587 100644
--- a/src/server/game/Entities/Unit/Unit.h
+++ b/src/server/game/Entities/Unit/Unit.h
@@ -1008,7 +1008,7 @@ class TC_GAME_API Unit : public WorldObject
uint8 GetLevelForTarget(WorldObject const* /*target*/) const override { return getLevel(); }
void SetLevel(uint8 lvl);
uint8 getRace() const { return GetByteValue(UNIT_FIELD_BYTES_0, UNIT_BYTES_0_OFFSET_RACE); }
- uint32 getRaceMask() const { return 1 << (getRace()-1); }
+ uint64 getRaceMask() const { return UI64LIT(1) << (getRace() - 1); }
uint8 getClass() const { return GetByteValue(UNIT_FIELD_BYTES_0, UNIT_BYTES_0_OFFSET_CLASS); }
uint32 getClassMask() const { return 1 << (getClass()-1); }
uint8 getGender() const { return GetByteValue(UNIT_FIELD_BYTES_0, UNIT_BYTES_0_OFFSET_GENDER); }
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 9bd7d5c107d..cbafb647347 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -2579,47 +2579,6 @@ uint32 FillMaxDurability(uint32 itemClass, uint32 itemSubClass, uint32 inventory
return 5 * uint32(round(18.0f * qualityMultipliers[quality] * weaponMultipliers[itemSubClass] * levelPenalty));
};
-void FillDisenchantFields(uint32* disenchantID, uint32* requiredDisenchantSkill, ItemTemplate const& itemTemplate)
-{
- *disenchantID = 0;
- *(int32*)requiredDisenchantSkill = -1;
- if ((itemTemplate.GetFlags() & (ITEM_FLAG_CONJURED | ITEM_FLAG_NO_DISENCHANT)) ||
- itemTemplate.GetBonding() == BIND_QUEST || itemTemplate.GetArea() || itemTemplate.GetMap() ||
- itemTemplate.GetMaxStackSize() > 1 ||
- itemTemplate.GetQuality() < ITEM_QUALITY_UNCOMMON || itemTemplate.GetQuality() > ITEM_QUALITY_EPIC ||
- !(itemTemplate.GetClass() == ITEM_CLASS_ARMOR || itemTemplate.GetClass() == ITEM_CLASS_WEAPON) ||
- !(Item::GetSpecialPrice(&itemTemplate) || sDB2Manager.HasItemCurrencyCost(itemTemplate.GetId())))
- return;
-
- for (uint32 i = 0; i < sItemDisenchantLootStore.GetNumRows(); ++i)
- {
- ItemDisenchantLootEntry const* disenchant = sItemDisenchantLootStore.LookupEntry(i);
- if (!disenchant)
- continue;
-
- if (disenchant->ItemClass == itemTemplate.GetClass() &&
- disenchant->ItemQuality == itemTemplate.GetQuality() &&
- disenchant->MinItemLevel <= itemTemplate.GetBaseItemLevel() &&
- disenchant->MaxItemLevel >= itemTemplate.GetBaseItemLevel())
- {
- if (i == 60 || i == 61) // epic item disenchant ilvl range 66-99 (classic)
- {
- if (itemTemplate.GetBaseRequiredLevel() > 60 || itemTemplate.GetRequiredSkillRank() > 300)
- continue; // skip to epic item disenchant ilvl range 90-199 (TBC)
- }
- else if (i == 66 || i == 67) // epic item disenchant ilvl range 90-199 (TBC)
- {
- if (itemTemplate.GetBaseRequiredLevel() <= 60 || (itemTemplate.GetRequiredSkill() && itemTemplate.GetRequiredSkillRank() <= 300))
- continue;
- }
-
- *disenchantID = i;
- *requiredDisenchantSkill = disenchant->RequiredDisenchantSkill;
- return;
- }
- }
-}
-
struct ItemSpecStats
{
uint32 ItemType;
@@ -2848,7 +2807,6 @@ void ObjectMgr::LoadItemTemplates()
itemTemplate.MaxDurability = FillMaxDurability(db2Data->Class, db2Data->SubClass, sparse->InventoryType, sparse->Quality, sparse->ItemLevel);
itemTemplate.ScriptId = 0;
- FillDisenchantFields(&itemTemplate.DisenchantID, &itemTemplate.RequiredDisenchantSkill, itemTemplate);
itemTemplate.FoodType = 0;
itemTemplate.MinMoneyLoot = 0;
itemTemplate.MaxMoneyLoot = 0;
@@ -3417,7 +3375,7 @@ void ObjectMgr::LoadPlayerInfo()
for (SkillRaceClassInfoEntry const* rcInfo : sSkillRaceClassInfoStore)
if (rcInfo->Availability == 1)
for (uint32 raceIndex = RACE_HUMAN; raceIndex < MAX_RACES; ++raceIndex)
- if (rcInfo->RaceMask == -1 || ((1 << (raceIndex - 1)) & rcInfo->RaceMask))
+ if (rcInfo->RaceMask == -1 || ((UI64LIT(1) << (raceIndex - 1)) & rcInfo->RaceMask))
for (uint32 classIndex = CLASS_WARRIOR; classIndex < MAX_CLASSES; ++classIndex)
if (rcInfo->ClassMask == -1 || ((1 << (classIndex - 1)) & rcInfo->ClassMask))
if (PlayerInfo* info = _playerInfo[raceIndex][classIndex])
@@ -8237,8 +8195,8 @@ int32 ObjectMgr::GetBaseReputationOf(FactionEntry const* factionEntry, uint8 rac
if (!factionEntry)
return 0;
- uint32 raceMask = (1 << (race - 1));
- uint32 classMask = (1 << (playerClass-1));
+ uint64 raceMask = UI64LIT(1) << (race - 1);
+ uint32 classMask = 1 << (playerClass - 1);
for (int i = 0; i < 4; i++)
{
diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp
index 18b0bdbc901..9ecd0d8b68f 100644
--- a/src/server/game/Groups/Group.cpp
+++ b/src/server/game/Groups/Group.cpp
@@ -26,6 +26,7 @@
#include "GameObject.h"
#include "GroupMgr.h"
#include "InstanceSaveMgr.h"
+#include "Item.h"
#include "LFGMgr.h"
#include "Log.h"
#include "LootMgr.h"
@@ -879,7 +880,11 @@ void Group::SendLootStartRollToPlayer(uint32 countDown, uint32 mapId, Player* p,
startLootRoll.Method = GetLootMethod();
r.FillPacket(startLootRoll.Item);
- p->GetSession()->SendPacket(startLootRoll.Write());
+ if (ItemDisenchantLootEntry const* disenchant = r.GetItemDisenchantLoot(p))
+ if (m_maxEnchantingLevel >= disenchant->RequiredDisenchantSkill)
+ startLootRoll.ValidRolls |= ROLL_FLAG_TYPE_DISENCHANT;
+
+ p->SendDirectMessage(startLootRoll.Write());
}
void Group::SendLootRoll(ObjectGuid playerGuid, int32 rollNumber, uint8 rollType, Roll const& roll) const
@@ -1021,9 +1026,6 @@ void Group::GroupLoot(Loot* loot, WorldObject* lootedObject)
{
r->setLoot(loot);
r->itemSlot = itemSlot;
- if (item->DisenchantID && m_maxEnchantingLevel >= item->RequiredDisenchantSkill)
- r->rollVoteMask |= ROLL_FLAG_TYPE_DISENCHANT;
-
if (item->GetFlags2() & ITEM_FLAG2_CAN_ONLY_ROLL_GREED)
r->rollVoteMask &= ~ROLL_FLAG_TYPE_NEED;
@@ -1344,14 +1346,16 @@ void Group::CountTheRoll(Rolls::iterator rollI)
ItemTemplate const* pProto = sObjectMgr->GetItemTemplate(roll->itemid);
player->UpdateCriteria(CRITERIA_TYPE_CAST_SPELL, 13262); // Disenchant
+ ItemDisenchantLootEntry const* disenchant = ASSERT_NOTNULL(roll->GetItemDisenchantLoot(player));
+
ItemPosCountVec dest;
InventoryResult msg = player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, roll->itemid, item->count);
if (msg == EQUIP_ERR_OK)
- player->AutoStoreLoot(pProto->DisenchantID, LootTemplates_Disenchant, true);
+ player->AutoStoreLoot(disenchant->ID, LootTemplates_Disenchant, true);
else // If the player's inventory is full, send the disenchant result in a mail.
{
Loot loot;
- loot.FillLoot(pProto->DisenchantID, LootTemplates_Disenchant, player, true);
+ loot.FillLoot(disenchant->ID, LootTemplates_Disenchant, player, true);
uint32 max_slot = loot.GetMaxSlotInLootFor(player);
for (uint32 i = 0; i < max_slot; ++i)
@@ -1888,6 +1892,22 @@ void Roll::FillPacket(WorldPackets::Loot::LootItemData& lootItem) const
}
}
+ItemDisenchantLootEntry const* Roll::GetItemDisenchantLoot(Player const* player) const
+{
+ if (LootItem const* lootItemInSlot = (*this)->GetItemInSlot(itemSlot))
+ {
+ WorldPackets::Item::ItemInstance itemInstance;
+ itemInstance.Initialize(*lootItemInSlot);
+
+ BonusData bonusData;
+ bonusData.Initialize(itemInstance);
+
+ ItemTemplate const* itemTemplate = sObjectMgr->GetItemTemplate(itemid);
+ uint32 itemLevel = Item::GetItemLevel(itemTemplate, bonusData, player->getLevel(), 0, lootItemInSlot->upgradeId);
+ return Item::GetDisenchantLoot(itemTemplate, bonusData.Quality, itemLevel);
+ }
+}
+
void Group::SetDungeonDifficultyID(Difficulty difficulty)
{
m_dungeonDifficulty = difficulty;
diff --git a/src/server/game/Groups/Group.h b/src/server/game/Groups/Group.h
index cdfc7186e64..b0b2e11d47e 100644
--- a/src/server/game/Groups/Group.h
+++ b/src/server/game/Groups/Group.h
@@ -178,6 +178,7 @@ class Roll : public LootValidatorRef
Loot* getLoot();
void targetObjectBuildLink() override;
void FillPacket(WorldPackets::Loot::LootItemData& lootItem) const;
+ ItemDisenchantLootEntry const* GetItemDisenchantLoot(Player const* player) const;
uint32 itemid;
ItemRandomEnchantmentId itemRandomPropId;
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp
index 2edd9d71b9b..a7342644a46 100644
--- a/src/server/game/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Handlers/CharacterHandler.cpp
@@ -2001,7 +2001,7 @@ void WorldSession::HandleCharRaceOrFactionChangeCallback(std::shared_ptr<WorldPa
// this doesn't seem to be 100% blizzlike... but it can't really be helped.
std::ostringstream taximaskstream;
TaxiMask const& factionMask = newTeamId == TEAM_HORDE ? sHordeTaxiNodesMask : sAllianceTaxiNodesMask;
- for (uint8 i = 0; i < TaxiMaskSize; ++i)
+ for (std::size_t i = 0; i < TaxiMaskSize; ++i)
{
// i = (315 - 1) / 8 = 39
// m = 1 << ((315 - 1) % 8) = 4
diff --git a/src/server/game/Handlers/TransmogrificationHandler.cpp b/src/server/game/Handlers/TransmogrificationHandler.cpp
index 252c485b083..e8382ee8fb5 100644
--- a/src/server/game/Handlers/TransmogrificationHandler.cpp
+++ b/src/server/game/Handlers/TransmogrificationHandler.cpp
@@ -94,7 +94,7 @@ void WorldSession::HandleTransmogrifyItems(WorldPackets::Transmogrification::Tra
bindAppearances.push_back(transmogItem.ItemModifiedAppearanceID);
// add cost
- cost += itemTransmogrified->GetSpecialPrice();
+ cost += itemTransmogrified->GetSellPrice(_player);
}
else
resetAppearanceItems.push_back(itemTransmogrified);
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h
index 1bcd86a4a03..b46627b80d3 100644
--- a/src/server/game/Miscellaneous/SharedDefines.h
+++ b/src/server/game/Miscellaneous/SharedDefines.h
@@ -131,17 +131,17 @@ enum Gender
enum Races
{
RACE_NONE = 0,
- RACE_HUMAN = 1,
- RACE_ORC = 2,
- RACE_DWARF = 3,
- RACE_NIGHTELF = 4,
- RACE_UNDEAD_PLAYER = 5,
- RACE_TAUREN = 6,
- RACE_GNOME = 7,
- RACE_TROLL = 8,
- RACE_GOBLIN = 9,
- RACE_BLOODELF = 10,
- RACE_DRAENEI = 11,
+ RACE_HUMAN = 1,
+ RACE_ORC = 2,
+ RACE_DWARF = 3,
+ RACE_NIGHTELF = 4,
+ RACE_UNDEAD_PLAYER = 5,
+ RACE_TAUREN = 6,
+ RACE_GNOME = 7,
+ RACE_TROLL = 8,
+ RACE_GOBLIN = 9,
+ RACE_BLOODELF = 10,
+ RACE_DRAENEI = 11,
//RACE_FEL_ORC = 12,
//RACE_NAGA = 13,
//RACE_BROKEN = 14,
@@ -152,15 +152,19 @@ enum Races
//RACE_TAUNKA = 19,
//RACE_NORTHREND_SKELETON = 20,
//RACE_ICE_TROLL = 21,
- RACE_WORGEN = 22,
+ RACE_WORGEN = 22,
//RACE_GILNEAN = 23
- RACE_PANDAREN_NEUTRAL = 24,
- RACE_PANDAREN_ALLIANCE = 25,
- RACE_PANDAREN_HORDE = 26
+ RACE_PANDAREN_NEUTRAL = 24,
+ RACE_PANDAREN_ALLIANCE = 25,
+ RACE_PANDAREN_HORDE = 26,
+ RACE_NIGHTBORNE = 27,
+ RACE_HIGHMOUNTAIN_TAUREN = 28,
+ RACE_VOID_ELF = 29,
+ RACE_LIGHTFORGED_DRAENEI = 30
};
// max+1 for player race
-#define MAX_RACES 27
+#define MAX_RACES 31
#define RACEMASK_ALL_PLAYABLE \
((1<<(RACE_HUMAN-1)) | \
@@ -177,7 +181,11 @@ enum Races
(1<<(RACE_WORGEN-1)) | \
(1<<(RACE_PANDAREN_NEUTRAL-1)) |\
(1<<(RACE_PANDAREN_ALLIANCE-1)) |\
- (1<<(RACE_PANDAREN_HORDE-1)))
+ (1<<(RACE_PANDAREN_HORDE-1))|\
+ (1<<(RACE_NIGHTBORNE-1))|\
+ (1<<(RACE_HIGHMOUNTAIN_TAUREN-1))|\
+ (1<<(RACE_VOID_ELF-1))|\
+ (1<<(RACE_LIGHTFORGED_DRAENEI-1)))
#define RACEMASK_NEUTRAL (1<<(RACE_PANDAREN_NEUTRAL-1))
@@ -188,7 +196,9 @@ enum Races
(1<<(RACE_GNOME-1)) | \
(1<<(RACE_DRAENEI-1)) | \
(1<<(RACE_WORGEN-1)) | \
- (1<<(RACE_PANDAREN_ALLIANCE-1)))
+ (1<<(RACE_PANDAREN_ALLIANCE-1)) |\
+ (1<<(RACE_VOID_ELF-1)) |\
+ (1<<(RACE_LIGHTFORGED_DRAENEI-1)))
#define RACEMASK_HORDE RACEMASK_ALL_PLAYABLE & ~RACEMASK_ALLIANCE
diff --git a/src/server/game/Reputation/ReputationMgr.cpp b/src/server/game/Reputation/ReputationMgr.cpp
index 261813ca3a5..99d13d2ed71 100644
--- a/src/server/game/Reputation/ReputationMgr.cpp
+++ b/src/server/game/Reputation/ReputationMgr.cpp
@@ -93,7 +93,7 @@ int32 ReputationMgr::GetBaseReputation(FactionEntry const* factionEntry) const
if (!factionEntry)
return 0;
- uint32 raceMask = _player->getRaceMask();
+ uint64 raceMask = _player->getRaceMask();
uint32 classMask = _player->getClassMask();
for (int i=0; i < 4; i++)
{
@@ -152,7 +152,7 @@ uint32 ReputationMgr::GetDefaultStateFlags(FactionEntry const* factionEntry) con
if (!factionEntry)
return 0;
- uint32 raceMask = _player->getRaceMask();
+ uint64 raceMask = _player->getRaceMask();
uint32 classMask = _player->getClassMask();
for (int i=0; i < 4; i++)
{
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index d132fa50d07..47f43ad532c 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -6540,30 +6540,23 @@ SpellCastResult Spell::CheckItems(uint32* param1 /*= nullptr*/, uint32* param2 /
break;
case SPELL_EFFECT_DISENCHANT:
{
- if (!m_targets.GetItemTarget())
+ Item const* item = m_targets.GetItemTarget();
+ if (!item)
return SPELL_FAILED_CANT_BE_DISENCHANTED;
// prevent disenchanting in trade slot
- if (m_targets.GetItemTarget()->GetOwnerGUID() != m_caster->GetGUID())
+ if (item->GetOwnerGUID() != m_caster->GetGUID())
return SPELL_FAILED_CANT_BE_DISENCHANTED;
- ItemTemplate const* itemProto = m_targets.GetItemTarget()->GetTemplate();
+ ItemTemplate const* itemProto = item->GetTemplate();
if (!itemProto)
return SPELL_FAILED_CANT_BE_DISENCHANTED;
- uint32 item_quality = itemProto->GetQuality();
- // 2.0.x addon: Check player enchanting level against the item disenchanting requirements
- uint32 item_disenchantskilllevel = itemProto->RequiredDisenchantSkill;
- if (item_disenchantskilllevel == uint32(-1))
+ ItemDisenchantLootEntry const* itemDisenchantLoot = item->GetDisenchantLoot(m_caster->ToPlayer());
+ if (!itemDisenchantLoot)
return SPELL_FAILED_CANT_BE_DISENCHANTED;
- if (item_disenchantskilllevel > player->GetSkillValue(SKILL_ENCHANTING))
+ if (itemDisenchantLoot->RequiredDisenchantSkill > player->GetSkillValue(SKILL_ENCHANTING))
return SPELL_FAILED_LOW_CASTLEVEL;
- if (item_quality > 4 || item_quality < 2)
- return SPELL_FAILED_CANT_BE_DISENCHANTED;
- if (itemProto->GetClass() != ITEM_CLASS_WEAPON && itemProto->GetClass() != ITEM_CLASS_ARMOR)
- return SPELL_FAILED_CANT_BE_DISENCHANTED;
- if (!itemProto->DisenchantID)
- return SPELL_FAILED_CANT_BE_DISENCHANTED;
break;
}
case SPELL_EFFECT_PROSPECTING:
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index eaab7d32b80..18c5a9607b5 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -3857,9 +3857,6 @@ void Spell::EffectDisEnchant(SpellEffIndex /*effIndex*/)
if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT_TARGET)
return;
- if (!itemTarget || !itemTarget->GetTemplate()->DisenchantID)
- return;
-
if (Player* caster = m_caster->ToPlayer())
{
caster->UpdateCraftSkill(m_spellInfo->Id);
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index 6e35465bc42..e19f8c730ee 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -369,7 +369,7 @@ SpellImplicitTargetInfo::StaticData SpellImplicitTargetInfo::_data[TOTAL_SPELL_
{TARGET_OBJECT_TYPE_DEST, TARGET_REFERENCE_TYPE_CASTER, TARGET_SELECT_CATEGORY_DEFAULT, TARGET_CHECK_DEFAULT, TARGET_DIR_RANDOM}, // 149
};
-SpellEffectInfo::SpellEffectInfo(SpellEffectScalingEntry const* spellEffectScaling, SpellInfo const* spellInfo, uint8 effIndex, SpellEffectEntry const* _effect)
+SpellEffectInfo::SpellEffectInfo(SpellInfo const* spellInfo, uint8 effIndex, SpellEffectEntry const* _effect)
{
_spellInfo = spellInfo;
EffectIndex = _effect ? _effect->EffectIndex : effIndex;
@@ -396,11 +396,10 @@ SpellEffectInfo::SpellEffectInfo(SpellEffectScalingEntry const* spellEffectScali
TriggerSpell = _effect ? _effect->EffectTriggerSpell : 0;
SpellClassMask = _effect ? _effect->EffectSpellClassMask : flag128();
BonusCoefficientFromAP = _effect ? _effect->BonusCoefficientFromAP : 0.0f;
+ Scaling.Coefficient = _effect->Coefficient;
+ Scaling.Variance = _effect->Variance;
+ Scaling.ResourceCoefficient = _effect->ResourceCoefficient;
ImplicitTargetConditions = NULL;
-
- Scaling.Coefficient = spellEffectScaling ? spellEffectScaling->Coefficient : 0.0f;
- Scaling.Variance = spellEffectScaling ? spellEffectScaling->Variance : 0.0f;
- Scaling.ResourceCoefficient = spellEffectScaling ? spellEffectScaling->ResourceCoefficient : 0.0f;
}
bool SpellEffectInfo::IsEffect() const
@@ -985,26 +984,19 @@ SpellEffectInfo::StaticData SpellEffectInfo::_data[TOTAL_SPELL_EFFECTS] =
{EFFECT_IMPLICIT_TARGET_EXPLICIT, TARGET_OBJECT_TYPE_UNIT}, // 255 SPELL_EFFECT_LEARN_TRANSMOG_SET
};
-SpellInfo::SpellInfo(SpellInfoLoadHelper const& data, SpellEffectEntryMap const& effectsMap, SpellVisualMap&& visuals,
- std::unordered_map<uint32, SpellEffectScalingEntry const*> const& effectScaling)
+SpellInfo::SpellInfo(SpellInfoLoadHelper const& data, SpellEffectEntryMap const& effectsMap, SpellVisualMap&& visuals)
: _hasPowerDifficultyData(false)
{
Id = data.Entry->ID;
- // SpellDifficultyEntry
for (SpellEffectEntryMap::value_type const& itr : effectsMap)
{
SpellEffectEntryVector const& effects = itr.second;
_effects[itr.first].resize(effects.size());
for (size_t i = 0; i < effects.size(); ++i)
- {
if (SpellEffectEntry const* effect = effects[i])
- {
- auto scalingItr = effectScaling.find(effect->ID);
- _effects[itr.first][effect->EffectIndex] = new SpellEffectInfo(scalingItr != effectScaling.end() ? scalingItr->second : nullptr, this, effect->EffectIndex, effect);
- }
- }
+ _effects[itr.first][effect->EffectIndex] = new SpellEffectInfo(this, effect->EffectIndex, effect);
}
SpellName = data.Entry->Name;
diff --git a/src/server/game/Spells/SpellInfo.h b/src/server/game/Spells/SpellInfo.h
index d4fce54c087..49baa6c7bbd 100644
--- a/src/server/game/Spells/SpellInfo.h
+++ b/src/server/game/Spells/SpellInfo.h
@@ -355,7 +355,7 @@ public:
RealPointsPerLevel(0), BasePoints(0), PointsPerResource(0), Amplitude(0), ChainAmplitude(0),
BonusCoefficient(0), MiscValue(0), MiscValueB(0), Mechanic(MECHANIC_NONE), PositionFacing(0),
RadiusEntry(NULL), ChainTargets(0), ItemType(0), TriggerSpell(0), BonusCoefficientFromAP(0.0f), ImplicitTargetConditions(NULL) { }
- SpellEffectInfo(SpellEffectScalingEntry const* spellEffectScaling, SpellInfo const* spellInfo, uint8 effIndex, SpellEffectEntry const* effect);
+ SpellEffectInfo(SpellInfo const* spellInfo, uint8 effIndex, SpellEffectEntry const* effect);
bool IsEffect() const;
bool IsEffect(SpellEffectName effectName) const;
@@ -517,8 +517,7 @@ class TC_GAME_API SpellInfo
uint32 ExplicitTargetMask;
SpellChainNode const* ChainEntry;
- SpellInfo(SpellInfoLoadHelper const& data, SpellEffectEntryMap const& effectsMap, SpellVisualMap&& visuals,
- std::unordered_map<uint32, SpellEffectScalingEntry const*> const& effectScaling);
+ SpellInfo(SpellInfoLoadHelper const& data, SpellEffectEntryMap const& effectsMap, SpellVisualMap&& visuals);
~SpellInfo();
uint32 GetCategory() const;
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index 33f1fdbc66a..279e8c5e546 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -2203,7 +2203,6 @@ void SpellMgr::LoadSpellInfoStore()
std::unordered_map<uint32, SpellEffectEntryMap> effectsBySpell;
std::unordered_map<uint32, SpellVisualMap> visualsBySpell;
- std::unordered_map<uint32, SpellEffectScalingEntry const*> spellEffectScallingByEffectId;
for (SpellEffectEntry const* effect : sSpellEffectStore)
{
@@ -2242,9 +2241,6 @@ void SpellMgr::LoadSpellInfoStore()
if (!cooldowns->DifficultyID) // TODO: implement
loadData[cooldowns->SpellID].Cooldowns = cooldowns;
- for (SpellEffectScalingEntry const* spellEffectScaling : sSpellEffectScalingStore)
- spellEffectScallingByEffectId[spellEffectScaling->SpellEffectID] = spellEffectScaling;
-
for (SpellEquippedItemsEntry const* equippedItems : sSpellEquippedItemsStore)
loadData[equippedItems->SpellID].EquippedItems = equippedItems;
@@ -2256,6 +2252,10 @@ void SpellMgr::LoadSpellInfoStore()
if (!levels->DifficultyID) // TODO: implement
loadData[levels->SpellID].Levels = levels;
+ for (SpellMiscEntry const* misc : sSpellMiscStore)
+ if (!misc->DifficultyID)
+ loadData[misc->SpellID].Misc = misc;
+
for (SpellReagentsEntry const* reagents : sSpellReagentsStore)
loadData[reagents->SpellID].Reagents = reagents;
@@ -2280,8 +2280,7 @@ void SpellMgr::LoadSpellInfoStore()
if (SpellEntry const* spellEntry = sSpellStore.LookupEntry(i))
{
loadData[i].Entry = spellEntry;
- loadData[i].Misc = sSpellMiscStore.LookupEntry(spellEntry->MiscID);
- mSpellInfoMap[i] = new SpellInfo(loadData[i], effectsBySpell[i], std::move(visualsBySpell[i]), spellEffectScallingByEffectId);
+ mSpellInfoMap[i] = new SpellInfo(loadData[i], effectsBySpell[i], std::move(visualsBySpell[i]));
}
}
diff --git a/src/server/shared/DataStores/DB2DatabaseLoader.cpp b/src/server/shared/DataStores/DB2DatabaseLoader.cpp
index a1a6b61a779..3619920c0c0 100644
--- a/src/server/shared/DataStores/DB2DatabaseLoader.cpp
+++ b/src/server/shared/DataStores/DB2DatabaseLoader.cpp
@@ -132,6 +132,10 @@ char* DB2DatabaseLoader::Load(uint32& records, char**& indexTable, char*& string
*((int16*)(&dataValue[offset])) = fields[f].GetInt16();
offset += 2;
break;
+ case FT_LONG:
+ *((int64*)(&dataValue[offset])) = fields[f].GetInt64();
+ offset += 8;
+ break;
case FT_STRING:
{
LocalizedString** slot = (LocalizedString**)(&dataValue[offset]);
@@ -246,6 +250,9 @@ void DB2DatabaseLoader::LoadStrings(uint32 locale, uint32 records, char** indexT
case FT_SHORT:
offset += 2;
break;
+ case FT_LONG:
+ offset += 8;
+ break;
case FT_STRING:
{
// fill only not filled entries
diff --git a/src/server/shared/DataStores/DB2Store.cpp b/src/server/shared/DataStores/DB2Store.cpp
index 8395d45b607..052a5edce0f 100644
--- a/src/server/shared/DataStores/DB2Store.cpp
+++ b/src/server/shared/DataStores/DB2Store.cpp
@@ -19,6 +19,7 @@
#include "ByteBuffer.h"
#include "DB2DatabaseLoader.h"
#include "DB2Meta.h"
+#include <boost/filesystem/operations.hpp>
struct DB2FileSystemSource : public DB2FileSource
{
@@ -49,6 +50,13 @@ struct DB2FileSystemSource : public DB2FileSource
return ftell(_file);
}
+ std::size_t GetFileSize() const override
+ {
+ boost::system::error_code error;
+ std::size_t size = boost::filesystem::file_size(_fileName, error);
+ return !error ? size : 0;
+ }
+
char const* GetFileName() const override
{
return _fileName.c_str();
diff --git a/src/tools/extractor_common/DB2CascFileSource.cpp b/src/tools/extractor_common/DB2CascFileSource.cpp
index 22b321fad80..5452c3e1518 100644
--- a/src/tools/extractor_common/DB2CascFileSource.cpp
+++ b/src/tools/extractor_common/DB2CascFileSource.cpp
@@ -40,6 +40,14 @@ std::size_t DB2CascFileSource::GetPosition() const
return CASC::GetFilePointer(_fileHandle);
}
+std::size_t DB2CascFileSource::GetFileSize() const
+{
+ DWORD sizeLow = 0;
+ DWORD sizeHigh = 0;
+ sizeLow = CASC::GetFileSize(_fileHandle, &sizeHigh);
+ return std::size_t(uint64(sizeLow) | (uint64(sizeHigh) << 32));
+}
+
char const* DB2CascFileSource::GetFileName() const
{
return _fileName.c_str();
diff --git a/src/tools/extractor_common/DB2CascFileSource.h b/src/tools/extractor_common/DB2CascFileSource.h
index 151784ff851..9708fcdcfe3 100644
--- a/src/tools/extractor_common/DB2CascFileSource.h
+++ b/src/tools/extractor_common/DB2CascFileSource.h
@@ -28,6 +28,7 @@ struct DB2CascFileSource : public DB2FileSource
bool IsOpen() const override;
bool Read(void* buffer, std::size_t numBytes) override;
std::size_t GetPosition() const override;
+ std::size_t GetFileSize() const override;
char const* GetFileName() const override;
private:
diff --git a/src/tools/map_extractor/System.cpp b/src/tools/map_extractor/System.cpp
index d5748824ca3..e40dab823eb 100644
--- a/src/tools/map_extractor/System.cpp
+++ b/src/tools/map_extractor/System.cpp
@@ -66,8 +66,7 @@ struct CinematicCameraLoadInfo
};
static char const* types = "iffi";
static uint8 const arraySizes[4] = { 1, 3, 1, 1 };
- static DB2FieldDefault const fieldDefaults[4] = { uint32(0), float(0), float(0), uint32(0) };
- static DB2Meta const meta(-1, 4, 0x0062B0F4, types, arraySizes, fieldDefaults);
+ static DB2Meta const meta(-1, 4, 0x0062B0F4, types, arraySizes, -1);
static DB2FileLoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, &meta);
return &loadInfo;
}
@@ -81,18 +80,18 @@ struct LiquidTypeLoadInfo
{
{ false, FT_INT, "ID" },
{ false, FT_STRING, "Name" },
- { false, FT_INT, "SpellID" },
- { false, FT_FLOAT, "MaxDarkenDepth" },
- { false, FT_FLOAT, "FogDarkenIntensity" },
- { false, FT_FLOAT, "AmbDarkenIntensity" },
- { false, FT_FLOAT, "DirDarkenIntensity" },
- { false, FT_FLOAT, "ParticleScale" },
{ false, FT_STRING_NOT_LOCALIZED, "Texture1" },
{ false, FT_STRING_NOT_LOCALIZED, "Texture2" },
{ false, FT_STRING_NOT_LOCALIZED, "Texture3" },
{ false, FT_STRING_NOT_LOCALIZED, "Texture4" },
{ false, FT_STRING_NOT_LOCALIZED, "Texture5" },
{ false, FT_STRING_NOT_LOCALIZED, "Texture6" },
+ { false, FT_INT, "SpellID" },
+ { false, FT_FLOAT, "MaxDarkenDepth" },
+ { false, FT_FLOAT, "FogDarkenIntensity" },
+ { false, FT_FLOAT, "AmbDarkenIntensity" },
+ { false, FT_FLOAT, "DirDarkenIntensity" },
+ { false, FT_FLOAT, "ParticleScale" },
{ false, FT_INT, "Color1" },
{ false, FT_INT, "Color2" },
{ false, FT_FLOAT, "Float1" },
@@ -131,10 +130,9 @@ struct LiquidTypeLoadInfo
{ false, FT_BYTE, "DepthTexCount6" },
{ false, FT_INT, "SoundID" },
};
- static char const* types = "sifffffsifihhbbbbbi";
- static uint8 const arraySizes[19] = { 1, 1, 1, 1, 1, 1, 1, 6, 2, 18, 4, 1, 1, 1, 1, 1, 1, 6, 1 };
- static DB2FieldDefault const fieldDefaults[19] = { "", uint32(0), float(0), float(0), float(0), float(0), float(0), "", uint32(0), float(0), uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) };
- static DB2Meta const meta(-1, 19, 0xBBB8B593, types, arraySizes, fieldDefaults);
+ static char const* types = "ssifffffifihhbbbbbi";
+ static uint8 const arraySizes[19] = { 1, 6, 1, 1, 1, 1, 1, 1, 2, 18, 4, 1, 1, 1, 1, 1, 1, 6, 1 };
+ static DB2Meta const meta(-1, 19, 0x3313BBF3, types, arraySizes, -1);
static DB2FileLoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, &meta);
return &loadInfo;
}
@@ -148,16 +146,16 @@ struct MapLoadInfo
{
{ false, FT_INT, "ID" },
{ false, FT_STRING_NOT_LOCALIZED, "Directory" },
- { false, FT_INT, "Flags1" },
- { false, FT_INT, "Flags2" },
- { false, FT_FLOAT, "MinimapIconScale" },
- { false, FT_FLOAT, "CorpsePosX" },
- { false, FT_FLOAT, "CorpsePosY" },
{ false, FT_STRING, "MapName" },
{ false, FT_STRING, "MapDescription0" },
{ false, FT_STRING, "MapDescription1" },
{ false, FT_STRING, "ShortDescription" },
{ false, FT_STRING, "LongDescription" },
+ { false, FT_INT, "Flags1" },
+ { false, FT_INT, "Flags2" },
+ { false, FT_FLOAT, "MinimapIconScale" },
+ { false, FT_FLOAT, "CorpsePosX" },
+ { false, FT_FLOAT, "CorpsePosY" },
{ false, FT_SHORT, "AreaTableID" },
{ false, FT_SHORT, "LoadingScreenID" },
{ true, FT_SHORT, "CorpseMapID" },
@@ -171,10 +169,9 @@ struct MapLoadInfo
{ false, FT_BYTE, "MaxPlayers" },
{ false, FT_BYTE, "TimeOffset" },
};
- static char const* types = "siffssssshhhhhhhbbbbb";
- static uint8 const arraySizes[21] = { 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[21] = { "", uint32(0), float(0), float(0), "", "", "", "", "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta const meta(-1, 21, 0xA37A2830, types, arraySizes, fieldDefaults);
+ static char const* types = "ssssssiffhhhhhhhbbbbb";
+ static uint8 const arraySizes[21] = { 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta const meta(-1, 21, 0xF568DF12, types, arraySizes, -1);
static DB2FileLoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, &meta);
return &loadInfo;
}
diff --git a/src/tools/map_extractor/loadlib/DBFilesClientList.h b/src/tools/map_extractor/loadlib/DBFilesClientList.h
index b9eab8b98da..bb31f31d6dc 100644
--- a/src/tools/map_extractor/loadlib/DBFilesClientList.h
+++ b/src/tools/map_extractor/loadlib/DBFilesClientList.h
@@ -24,6 +24,8 @@ char const* DBFilesClientList[] =
"DBFilesClient\\Achievement_Category.db2",
"DBFilesClient\\AdventureJournal.db2",
"DBFilesClient\\AdventureMapPOI.db2",
+ "DBFilesClient\\AlliedRace.db2",
+ "DBFilesClient\\AlliedRaceRacialAbility.db2",
"DBFilesClient\\AnimKit.db2",
"DBFilesClient\\AnimKitBoneSet.db2",
"DBFilesClient\\AnimKitBoneSetAlias.db2",
@@ -35,7 +37,6 @@ char const* DBFilesClientList[] =
"DBFilesClient\\AnimReplacement.db2",
"DBFilesClient\\AnimReplacementSet.db2",
"DBFilesClient\\AnimationData.db2",
- "DBFilesClient\\AREAASSIGNMENT.DB2",
"DBFilesClient\\AreaFarClipOverride.db2",
"DBFilesClient\\AreaGroupMember.db2",
"DBFilesClient\\AreaPOI.db2",
@@ -68,6 +69,7 @@ char const* DBFilesClientList[] =
"DBFilesClient\\BattlePetAbilityTurn.db2",
"DBFilesClient\\BattlePetBreedQuality.db2",
"DBFilesClient\\BattlePetBreedState.db2",
+ "DBFilesClient\\BattlePetDisplayOverride.db2",
"DBFilesClient\\BattlePetEffectProperties.db2",
"DBFilesClient\\BattlePetNPCTeamMember.db2",
"DBFilesClient\\BattlePetSpecies.db2",
@@ -104,6 +106,7 @@ char const* DBFilesClientList[] =
"DBFilesClient\\CharacterFacialHairStyles.db2",
"DBFilesClient\\CharacterLoadout.db2",
"DBFilesClient\\CharacterLoadoutItem.db2",
+ "DBFilesClient\\CharacterServiceInfo.db2",
"DBFilesClient\\ChatChannels.db2",
"DBFilesClient\\ChatProfanity.db2",
"DBFilesClient\\ChrClassRaceSex.db2",
@@ -112,6 +115,7 @@ char const* DBFilesClientList[] =
"DBFilesClient\\ChrClassVillain.db2",
"DBFilesClient\\ChrClasses.db2",
"DBFilesClient\\ChrClassesXPowerTypes.db2",
+ "DBFilesClient\\ChrCustomization.db2",
"DBFilesClient\\ChrRaces.db2",
"DBFilesClient\\ChrSpecialization.db2",
"DBFilesClient\\ChrUpgradeBucket.db2",
@@ -440,13 +444,17 @@ char const* DBFilesClientList[] =
"DBFilesClient\\RewardPackXItem.db2",
"DBFilesClient\\RibbonQuality.db2",
"DBFilesClient\\RulesetItemUpgrade.db2",
+ "DBFilesClient\\SDReplacementModel.db2",
+ "DBFilesClient\\SandboxScaling.db2",
"DBFilesClient\\ScalingStatDistribution.db2",
"DBFilesClient\\Scenario.db2",
"DBFilesClient\\ScenarioEventEntry.db2",
"DBFilesClient\\ScenarioStep.db2",
"DBFilesClient\\SceneScript.db2",
+ "DBFilesClient\\SceneScriptGlobalText.db2",
"DBFilesClient\\SceneScriptPackage.db2",
"DBFilesClient\\SceneScriptPackageMember.db2",
+ "DBFilesClient\\SceneScriptText.db2",
"DBFilesClient\\ScheduledInterval.db2",
"DBFilesClient\\ScheduledWorldState.db2",
"DBFilesClient\\ScheduledWorldStateGroup.db2",
@@ -462,7 +470,6 @@ char const* DBFilesClientList[] =
"DBFilesClient\\SoundAmbience.db2",
"DBFilesClient\\SoundAmbienceFlavor.db2",
"DBFilesClient\\SoundBus.db2",
- "DBFilesClient\\SoundBusName.db2",
"DBFilesClient\\SoundBusOverride.db2",
"DBFilesClient\\SoundEmitterPillPoints.db2",
"DBFilesClient\\SoundEmitters.db2",
@@ -499,8 +506,6 @@ char const* DBFilesClientList[] =
"DBFilesClient\\SpellDuration.db2",
"DBFilesClient\\SpellEffect.db2",
"DBFilesClient\\SpellEffectEmission.db2",
- "DBFilesClient\\SpellEffectGroupSize.db2",
- "DBFilesClient\\SpellEffectScaling.db2",
"DBFilesClient\\SpellEquippedItems.db2",
"DBFilesClient\\SpellFlyout.db2",
"DBFilesClient\\SpellFlyoutItem.db2",
@@ -514,7 +519,6 @@ char const* DBFilesClientList[] =
"DBFilesClient\\SpellLevels.db2",
"DBFilesClient\\SpellMechanic.db2",
"DBFilesClient\\SpellMisc.db2",
- "DBFilesClient\\SpellMiscDifficulty.db2",
"DBFilesClient\\SpellMissile.db2",
"DBFilesClient\\SpellMissileMotion.db2",
"DBFilesClient\\SpellPower.db2",
@@ -542,6 +546,7 @@ char const* DBFilesClientList[] =
"DBFilesClient\\SpellVisualKitEffect.db2",
"DBFilesClient\\SpellVisualKitModelAttach.db2",
"DBFilesClient\\SpellVisualMissile.db2",
+ "DBFilesClient\\SpellXDescriptionVariables.db2",
"DBFilesClient\\SpellXSpellVisual.db2",
"DBFilesClient\\StartupFiles.db2",
"DBFilesClient\\Startup_Strings.db2",
@@ -618,7 +623,6 @@ char const* DBFilesClientList[] =
"DBFilesClient\\WorldMapOverlay.db2",
"DBFilesClient\\WorldMapTransforms.db2",
"DBFilesClient\\WorldSafeLocs.db2",
- "DBFilesClient\\WorldState.db2",
"DBFilesClient\\WorldStateExpression.db2",
"DBFilesClient\\WorldStateUI.db2",
"DBFilesClient\\WorldStateZoneSounds.db2",
@@ -627,6 +631,7 @@ char const* DBFilesClientList[] =
"DBFilesClient\\ZoneLight.db2",
"DBFilesClient\\ZoneLightPoint.db2",
"DBFilesClient\\ZoneMusic.db2",
+ "DBFilesClient\\ZoneStory.db2",
nullptr // terminator
};
diff --git a/src/tools/vmap4_extractor/gameobject_extract.cpp b/src/tools/vmap4_extractor/gameobject_extract.cpp
index 1ee45471684..3f7cfc2de52 100644
--- a/src/tools/vmap4_extractor/gameobject_extract.cpp
+++ b/src/tools/vmap4_extractor/gameobject_extract.cpp
@@ -77,8 +77,7 @@ struct GameobjectDisplayInfoLoadInfo
};
static char const* types = "ifffh";
static uint8 const arraySizes[5] = { 1, 6, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[5] = { uint32(0), float(0), float(0), float(0), uint16(0) };
- static DB2Meta const meta(-1, 5, 0x9F2098D1, types, arraySizes, fieldDefaults);
+ static DB2Meta const meta(-1, 5, 0x9F2098D1, types, arraySizes, -1);
static DB2FileLoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, &meta);
return &loadInfo;
}
diff --git a/src/tools/vmap4_extractor/vmapexport.cpp b/src/tools/vmap4_extractor/vmapexport.cpp
index 430005b5ad8..3f68a0c9fe4 100644
--- a/src/tools/vmap4_extractor/vmapexport.cpp
+++ b/src/tools/vmap4_extractor/vmapexport.cpp
@@ -73,16 +73,16 @@ struct MapLoadInfo
{
{ false, FT_INT, "ID" },
{ false, FT_STRING_NOT_LOCALIZED, "Directory" },
- { false, FT_INT, "Flags1" },
- { false, FT_INT, "Flags2" },
- { false, FT_FLOAT, "MinimapIconScale" },
- { false, FT_FLOAT, "CorpsePosX" },
- { false, FT_FLOAT, "CorpsePosY" },
{ false, FT_STRING, "MapName" },
{ false, FT_STRING, "MapDescription0" },
{ false, FT_STRING, "MapDescription1" },
{ false, FT_STRING, "ShortDescription" },
{ false, FT_STRING, "LongDescription" },
+ { false, FT_INT, "Flags1" },
+ { false, FT_INT, "Flags2" },
+ { false, FT_FLOAT, "MinimapIconScale" },
+ { false, FT_FLOAT, "CorpsePosX" },
+ { false, FT_FLOAT, "CorpsePosY" },
{ false, FT_SHORT, "AreaTableID" },
{ false, FT_SHORT, "LoadingScreenID" },
{ true, FT_SHORT, "CorpseMapID" },
@@ -96,10 +96,9 @@ struct MapLoadInfo
{ false, FT_BYTE, "MaxPlayers" },
{ false, FT_BYTE, "TimeOffset" },
};
- static char const* types = "siffssssshhhhhhhbbbbb";
- static uint8 const arraySizes[21] = { 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- static DB2FieldDefault const fieldDefaults[21] = { "", uint32(0), float(0), float(0), "", "", "", "", "", uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) };
- static DB2Meta const meta(-1, 21, 0xA37A2830, types, arraySizes, fieldDefaults);
+ static char const* types = "ssssssiffhhhhhhhbbbbb";
+ static uint8 const arraySizes[21] = { 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
+ static DB2Meta const meta(-1, 21, 0xF568DF12, types, arraySizes, -1);
static DB2FileLoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, &meta);
return &loadInfo;
}