aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2019-06-08 13:19:48 +0200
committerShauren <shauren.trinity@gmail.com>2019-06-08 17:10:00 +0200
commitbcaaa3d6f69cd60b25a25fc69904f9a8ece24250 (patch)
tree585dac52b621b55b5f380a8cdc6725b4b2df6129 /src
parentfc330fd8ff0115804d9c4b53a1f810c00dd63de9 (diff)
Core/DataStores: Updated db2 structures to 8.1.5
Diffstat (limited to 'src')
-rw-r--r--src/common/DataStores/DB2FileLoader.cpp958
-rw-r--r--src/common/DataStores/DB2FileLoader.h19
-rw-r--r--src/common/DataStores/DB2Meta.cpp44
-rw-r--r--src/common/DataStores/DB2Meta.h4
-rw-r--r--src/server/database/Database/Implementation/HotfixDatabase.cpp68
-rw-r--r--src/server/database/Database/Implementation/HotfixDatabase.h6
-rw-r--r--src/server/game/DataStores/DB2LoadInfo.h104
-rw-r--r--src/server/game/DataStores/DB2Metadata.h1956
-rw-r--r--src/server/game/DataStores/DB2Stores.cpp18
-rw-r--r--src/server/game/DataStores/DB2Stores.h2
-rw-r--r--src/server/game/DataStores/DB2Structure.h71
-rw-r--r--src/server/game/DataStores/DBCEnums.h6
-rw-r--r--src/server/game/Entities/Item/ItemTemplate.h2
-rw-r--r--src/server/game/Entities/Player/CollectionMgr.cpp11
-rw-r--r--src/server/game/Entities/Player/CollectionMgr.h3
-rw-r--r--src/server/game/Miscellaneous/SharedDefines.h3
-rw-r--r--src/server/game/Spells/SpellEffects.cpp3
-rw-r--r--src/server/game/Spells/SpellInfo.cpp3
-rw-r--r--src/server/shared/DataStores/DB2Store.cpp10
-rw-r--r--src/tools/extractor_common/CascHandles.cpp25
-rw-r--r--src/tools/extractor_common/CascHandles.h2
-rw-r--r--src/tools/extractor_common/DB2CascFileSource.cpp19
-rw-r--r--src/tools/extractor_common/DB2CascFileSource.h4
-rw-r--r--src/tools/extractor_common/ExtractorDB2LoadInfo.h16
-rw-r--r--src/tools/map_extractor/System.cpp130
-rw-r--r--src/tools/map_extractor/loadlib/DBFilesClientList.h1361
-rw-r--r--src/tools/vmap4_extractor/gameobject_extract.cpp2
-rw-r--r--src/tools/vmap4_extractor/vmapexport.cpp2
28 files changed, 2857 insertions, 1995 deletions
diff --git a/src/common/DataStores/DB2FileLoader.cpp b/src/common/DataStores/DB2FileLoader.cpp
index 47d5a2fc1e0..76aad009683 100644
--- a/src/common/DataStores/DB2FileLoader.cpp
+++ b/src/common/DataStores/DB2FileLoader.cpp
@@ -35,18 +35,6 @@ enum class DB2ColumnCompression : uint32
#pragma pack(push, 1)
-struct DB2SectionHeader
-{
- uint64 TactKeyId;
- uint32 FileOffset;
- uint32 RecordCount;
- uint32 StringTableSize;
- uint32 CopyTableSize;
- uint32 CatalogDataOffset;
- uint32 IdTableSize;
- uint32 ParentLookupDataSize;
-};
-
struct DB2FieldEntry
{
int16 UnusedBits;
@@ -116,8 +104,7 @@ struct DB2IndexEntry
struct DB2IndexData
{
- DB2IndexDataInfo Info;
- std::unique_ptr<DB2IndexEntry[]> Entries;
+ std::vector<DB2IndexEntry> Entries;
};
DB2FieldMeta::DB2FieldMeta(bool isSigned, DBCFormer type, char const* name)
@@ -175,6 +162,7 @@ public:
virtual void LoadColumnData(std::unique_ptr<DB2SectionHeader[]> sections, std::unique_ptr<DB2FieldEntry[]> fields, 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) = 0;
+ virtual void SkipEncryptedSection(uint32 section) = 0;
virtual bool LoadTableData(DB2FileSource* source, uint32 section) = 0;
virtual bool LoadCatalogData(DB2FileSource* source, uint32 section) = 0;
virtual void SetAdditionalData(std::vector<uint32> idTable, std::vector<DB2RecordCopy> copyTable, std::vector<DB2IndexData> parentIndexes) = 0;
@@ -192,7 +180,7 @@ public:
private:
friend class DB2Record;
- virtual unsigned char const* GetRawRecordData(uint32 recordNumber) const = 0;
+ virtual unsigned char const* GetRawRecordData(uint32 recordNumber, uint32 const* section) 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;
@@ -214,6 +202,7 @@ public:
void LoadColumnData(std::unique_ptr<DB2SectionHeader[]> sections, std::unique_ptr<DB2FieldEntry[]> fields, 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) override;
+ void SkipEncryptedSection(uint32 /*section*/) override { }
bool LoadTableData(DB2FileSource* source, uint32 section) override;
bool LoadCatalogData(DB2FileSource* /*source*/, uint32 /*section*/) override { return true; }
void SetAdditionalData(std::vector<uint32> idTable, std::vector<DB2RecordCopy> copyTable, std::vector<DB2IndexData> parentIndexes) override;
@@ -231,7 +220,8 @@ public:
private:
void FillParentLookup(char* dataTable);
- uint8 const* GetRawRecordData(uint32 recordNumber) const override;
+ uint32 GetRecordSection(uint32 recordNumber) const;
+ unsigned char const* GetRawRecordData(uint32 recordNumber, uint32 const* section) 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;
@@ -265,18 +255,19 @@ private:
class DB2FileLoaderSparseImpl final : public DB2FileLoaderImpl
{
public:
- DB2FileLoaderSparseImpl(char const* fileName, DB2FileLoadInfo const* loadInfo, DB2Header const* header);
+ DB2FileLoaderSparseImpl(char const* fileName, DB2FileLoadInfo const* loadInfo, DB2Header const* header, DB2FileSource* source);
~DB2FileLoaderSparseImpl();
void LoadColumnData(std::unique_ptr<DB2SectionHeader[]> sections, std::unique_ptr<DB2FieldEntry[]> fields, 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) override;
- bool LoadTableData(DB2FileSource* source, uint32 section) override;
+ void SkipEncryptedSection(uint32 section) override;
+ bool LoadTableData(DB2FileSource* source, uint32 section) override { return true; }
bool LoadCatalogData(DB2FileSource* source, uint32 section) override;
- void SetAdditionalData(std::vector<uint32> /*idTable*/, std::vector<DB2RecordCopy> /*copyTable*/, std::vector<DB2IndexData> /*parentIndexes*/) override { }
+ void SetAdditionalData(std::vector<uint32> /*idTable*/, std::vector<DB2RecordCopy> /*copyTable*/, std::vector<DB2IndexData> /*parentIndexes*/) override;
char* AutoProduceData(uint32& records, char**& indexTable, std::vector<char*>& stringPool) override;
char* AutoProduceStrings(char** indexTable, uint32 indexTableSize, uint32 locale) override;
- void AutoProduceRecordCopies(uint32 /*records*/, char** /*indexTable*/, char* /*dataTable*/) override { }
+ void AutoProduceRecordCopies(uint32 /*records*/, char** /*indexTable*/, char* /*dataTable*/) override;
DB2Record GetRecord(uint32 recordNumber) const override;
DB2RecordCopy GetRecordCopy(uint32 copyNumber) const override;
uint32 GetRecordCount() const override;
@@ -287,7 +278,9 @@ public:
bool IsSignedField(uint32 field) const override;
private:
- uint8 const* GetRawRecordData(uint32 recordNumber) const override;
+ void FillParentLookup(char* dataTable);
+ uint32 GetRecordSection(uint32 recordNumber) const;
+ unsigned char const* GetRawRecordData(uint32 recordNumber, uint32 const* section) 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;
@@ -309,12 +302,17 @@ private:
char const* _fileName;
DB2FileLoadInfo const* _loadInfo;
DB2Header const* _header;
- std::size_t _dataStart;
- std::unique_ptr<uint8[]> _data;
+ DB2FileSource* const _source;
+ std::size_t _totalRecordSize;
+ uint16 _maxRecordSize;
+ std::unique_ptr<uint8[]> _recordBuffer;
std::unique_ptr<DB2SectionHeader[]> _sections;
std::unique_ptr<DB2FieldEntry[]> _fields;
std::unique_ptr<std::size_t[]> _fieldAndArrayOffsets;
- std::unique_ptr<DB2CatalogEntry[]> _catalog;
+ std::vector<uint32> _catalogIds;
+ std::vector<DB2CatalogEntry> _catalog;
+ std::vector<DB2RecordCopy> _copyTable;
+ std::vector<DB2IndexData> _parentIndexes;
};
DB2FileLoaderRegularImpl::DB2FileLoaderRegularImpl(char const* fileName, DB2FileLoadInfo const* loadInfo, DB2Header const* header) :
@@ -409,122 +407,134 @@ char* DB2FileLoaderRegularImpl::AutoProduceData(uint32& records, char**& indexTa
}
uint32 offset = 0;
+ uint32 y = 0;
- for (uint32 y = 0; y < _header->RecordCount; y++)
+ for (uint32 section = 0; section < _header->SectionCount; ++section)
{
- unsigned char const* rawRecord = GetRawRecordData(y);
- if (!rawRecord)
+ DB2SectionHeader const& sectionHeader = GetSection(section);
+ if (sectionHeader.TactId)
+ {
+ offset += recordsize * sectionHeader.RecordCount;
+ y += sectionHeader.RecordCount;
continue;
+ }
- uint32 indexVal = RecordGetId(rawRecord, y);
+ for (uint32 sr = 0; sr < sectionHeader.RecordCount; ++sr, ++y)
+ {
+ unsigned char const* rawRecord = GetRawRecordData(y, &section);
+ if (!rawRecord)
+ continue;
- indexTable[indexVal] = &dataTable[offset];
+ uint32 indexVal = RecordGetId(rawRecord, y);
- uint32 fieldIndex = 0;
- if (!_loadInfo->Meta->HasIndexFieldInData())
- {
- *((uint32*)(&dataTable[offset])) = indexVal;
- offset += 4;
- ++fieldIndex;
- }
+ indexTable[indexVal] = &dataTable[offset];
+
+ uint32 fieldIndex = 0;
+ if (!_loadInfo->Meta->HasIndexFieldInData())
+ {
+ *((uint32*)(&dataTable[offset])) = indexVal;
+ offset += 4;
+ ++fieldIndex;
+ }
- uint32 stringFieldOffset = 0;
+ uint32 stringFieldOffset = 0;
- for (uint32 x = 0; x < _header->FieldCount; ++x)
- {
- for (uint32 z = 0; z < _loadInfo->Meta->Fields[x].ArraySize; ++z)
+ for (uint32 x = 0; x < _header->FieldCount; ++x)
{
- switch (_loadInfo->TypesString[fieldIndex])
+ for (uint32 z = 0; z < _loadInfo->Meta->Fields[x].ArraySize; ++z)
{
- case FT_FLOAT:
- *((float*)(&dataTable[offset])) = RecordGetFloat(rawRecord, x, z);
- offset += 4;
- break;
- case FT_INT:
- *((uint32*)(&dataTable[offset])) = RecordGetVarInt<uint32>(rawRecord, x, z);
- offset += 4;
- break;
- case FT_BYTE:
- *((uint8*)(&dataTable[offset])) = RecordGetUInt8(rawRecord, x, z);
- offset += 1;
- break;
- case FT_SHORT:
- *((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:
+ switch (_loadInfo->TypesString[fieldIndex])
{
- // init db2 string field slots by pointers to string holders
- char const*** slot = (char const***)(&dataTable[offset]);
- *slot = (char const**)(&stringHoldersPool[stringHoldersRecordPoolSize * y + stringFieldOffset]);
- if (_loadInfo->TypesString[fieldIndex] == FT_STRING)
- stringFieldOffset += sizeof(LocalizedString);
- else
- stringFieldOffset += sizeof(char*);
-
- offset += sizeof(char*);
- break;
+ case FT_FLOAT:
+ *((float*)(&dataTable[offset])) = RecordGetFloat(rawRecord, x, z);
+ offset += 4;
+ break;
+ case FT_INT:
+ *((uint32*)(&dataTable[offset])) = RecordGetVarInt<uint32>(rawRecord, x, z);
+ offset += 4;
+ break;
+ case FT_BYTE:
+ *((uint8*)(&dataTable[offset])) = RecordGetUInt8(rawRecord, x, z);
+ offset += 1;
+ break;
+ case FT_SHORT:
+ *((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:
+ {
+ // init db2 string field slots by pointers to string holders
+ char const*** slot = (char const***)(&dataTable[offset]);
+ *slot = (char const**)(&stringHoldersPool[stringHoldersRecordPoolSize * y + stringFieldOffset]);
+ if (_loadInfo->TypesString[fieldIndex] == FT_STRING)
+ stringFieldOffset += sizeof(LocalizedString);
+ else
+ stringFieldOffset += sizeof(char*);
+
+ offset += sizeof(char*);
+ break;
+ }
+ default:
+ ASSERT(false, "Unknown format character '%c' found in %s meta for field %s",
+ _loadInfo->TypesString[fieldIndex], _fileName, _loadInfo->Fields[fieldIndex].Name);
+ break;
}
- default:
- ASSERT(false, "Unknown format character '%c' found in %s meta for field %s",
- _loadInfo->TypesString[fieldIndex], _fileName, _loadInfo->Fields[fieldIndex].Name);
- break;
+ ++fieldIndex;
}
- ++fieldIndex;
}
- }
- for (uint32 x = _header->FieldCount; x < _loadInfo->Meta->FieldCount; ++x)
- {
- for (uint32 z = 0; z < _loadInfo->Meta->Fields[x].ArraySize; ++z)
+ for (uint32 x = _header->FieldCount; x < _loadInfo->Meta->FieldCount; ++x)
{
- switch (_loadInfo->TypesString[fieldIndex])
+ for (uint32 z = 0; z < _loadInfo->Meta->Fields[x].ArraySize; ++z)
{
- case FT_FLOAT:
- *((float*)(&dataTable[offset])) = 0;
- offset += 4;
- break;
- case FT_INT:
- *((uint32*)(&dataTable[offset])) = 0;
- offset += 4;
- break;
- case FT_BYTE:
- *((uint8*)(&dataTable[offset])) = 0;
- offset += 1;
- break;
- case FT_SHORT:
- *((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:
+ switch (_loadInfo->TypesString[fieldIndex])
{
- // init db2 string field slots by pointers to string holders
- char const*** slot = (char const***)(&dataTable[offset]);
- *slot = (char const**)(&stringHoldersPool[stringHoldersRecordPoolSize * y + stringFieldOffset]);
- if (_loadInfo->TypesString[fieldIndex] == FT_STRING)
- stringFieldOffset += sizeof(LocalizedString);
- else
- stringFieldOffset += sizeof(char*);
-
- offset += sizeof(char*);
- break;
+ case FT_FLOAT:
+ *((float*)(&dataTable[offset])) = 0;
+ offset += 4;
+ break;
+ case FT_INT:
+ *((uint32*)(&dataTable[offset])) = 0;
+ offset += 4;
+ break;
+ case FT_BYTE:
+ *((uint8*)(&dataTable[offset])) = 0;
+ offset += 1;
+ break;
+ case FT_SHORT:
+ *((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:
+ {
+ // init db2 string field slots by pointers to string holders
+ char const*** slot = (char const***)(&dataTable[offset]);
+ *slot = (char const**)(&stringHoldersPool[stringHoldersRecordPoolSize * y + stringFieldOffset]);
+ if (_loadInfo->TypesString[fieldIndex] == FT_STRING)
+ stringFieldOffset += sizeof(LocalizedString);
+ else
+ stringFieldOffset += sizeof(char*);
+
+ offset += sizeof(char*);
+ break;
+ }
+ default:
+ ASSERT(false, "Unknown format character '%c' found in %s meta for field %s",
+ _loadInfo->TypesString[fieldIndex], _fileName, _loadInfo->Fields[fieldIndex].Name);
+ break;
}
- default:
- ASSERT(false, "Unknown format character '%c' found in %s meta for field %s",
- _loadInfo->TypesString[fieldIndex], _fileName, _loadInfo->Fields[fieldIndex].Name);
- break;
+ ++fieldIndex;
}
- ++fieldIndex;
}
}
}
@@ -557,72 +567,84 @@ char* DB2FileLoaderRegularImpl::AutoProduceStrings(char** indexTable, uint32 ind
char* stringPool = new char[_header->StringTableSize];
memcpy(stringPool, _stringTable, _header->StringTableSize);
- for (uint32 y = 0; y < _header->RecordCount; y++)
+ uint32 y = 0;
+
+ for (uint32 section = 0; section < _header->SectionCount; ++section)
{
- unsigned char const* rawRecord = GetRawRecordData(y);
- if (!rawRecord)
+ DB2SectionHeader const& sectionHeader = GetSection(section);
+ if (sectionHeader.TactId)
+ {
+ y += sectionHeader.RecordCount;
continue;
+ }
- uint32 indexVal = RecordGetId(rawRecord, y);
- if (indexVal >= indexTableSize)
- continue;
+ for (uint32 sr = 0; sr < sectionHeader.RecordCount; ++sr, ++y)
+ {
+ unsigned char const* rawRecord = GetRawRecordData(y, &section);
+ if (!rawRecord)
+ continue;
- char* recordData = indexTable[indexVal];
+ uint32 indexVal = RecordGetId(rawRecord, y);
+ if (indexVal >= indexTableSize)
+ continue;
- uint32 offset = 0;
- uint32 fieldIndex = 0;
- if (!_loadInfo->Meta->HasIndexFieldInData())
- {
- offset += 4;
- ++fieldIndex;
- }
+ char* recordData = indexTable[indexVal];
- for (uint32 x = 0; x < _loadInfo->Meta->FieldCount; ++x)
- {
- for (uint32 z = 0; z < _loadInfo->Meta->Fields[x].ArraySize; ++z)
+ uint32 offset = 0;
+ uint32 fieldIndex = 0;
+ if (!_loadInfo->Meta->HasIndexFieldInData())
+ {
+ offset += 4;
+ ++fieldIndex;
+ }
+
+ for (uint32 x = 0; x < _loadInfo->Meta->FieldCount; ++x)
{
- switch (_loadInfo->TypesString[fieldIndex])
+ for (uint32 z = 0; z < _loadInfo->Meta->Fields[x].ArraySize; ++z)
{
- case FT_FLOAT:
- case FT_INT:
- offset += 4;
- break;
- case FT_BYTE:
- offset += 1;
- break;
- case FT_SHORT:
- offset += 2;
- break;
- case FT_LONG:
- offset += 8;
- break;
- case FT_STRING:
+ switch (_loadInfo->TypesString[fieldIndex])
{
- // fill only not filled entries
- LocalizedString* db2str = *(LocalizedString**)(&recordData[offset]);
- if (db2str->Str[locale] == nullStr)
+ case FT_FLOAT:
+ case FT_INT:
+ offset += 4;
+ break;
+ case FT_BYTE:
+ offset += 1;
+ break;
+ case FT_SHORT:
+ offset += 2;
+ break;
+ case FT_LONG:
+ offset += 8;
+ break;
+ case FT_STRING:
+ {
+ // fill only not filled entries
+ LocalizedString* db2str = *(LocalizedString * *)(&recordData[offset]);
+ if (db2str->Str[locale] == nullStr)
+ {
+ char const* st = RecordGetString(rawRecord, x, z);
+ db2str->Str[locale] = stringPool + (st - (char const*)_stringTable);
+ }
+
+ offset += sizeof(char*);
+ break;
+ }
+ case FT_STRING_NOT_LOCALIZED:
{
+ char** db2str = (char**)(&recordData[offset]);
char const* st = RecordGetString(rawRecord, x, z);
- db2str->Str[locale] = stringPool + (st - (char const*)_stringTable);
+ *db2str = stringPool + (st - (char const*)_stringTable);
+ offset += sizeof(char*);
+ break;
}
-
- offset += sizeof(char*);
- break;
- }
- case FT_STRING_NOT_LOCALIZED:
- {
- char** db2str = (char**)(&recordData[offset]);
- char const* st = RecordGetString(rawRecord, x, z);
- *db2str = stringPool + (st - (char const*)_stringTable);
- offset += sizeof(char*);
- break;
+ default:
+ ASSERT(false, "Unknown format character '%c' found in %s meta for field %s",
+ _loadInfo->TypesString[fieldIndex], _fileName, _loadInfo->Fields[fieldIndex].Name);
+ break;
}
- default:
- ASSERT(false, "Unknown format character '%c' found in %s meta for field %s",
- _loadInfo->TypesString[fieldIndex], _fileName, _loadInfo->Fields[fieldIndex].Name);
- break;
+ ++fieldIndex;
}
- ++fieldIndex;
}
}
}
@@ -652,7 +674,7 @@ void DB2FileLoaderRegularImpl::FillParentLookup(char* dataTable)
{
int32 parentIdOffset = _loadInfo->Meta->GetParentIndexFieldOffset();
uint32 recordSize = _loadInfo->Meta->GetRecordSize();
- for (uint32 i = 0; i < _parentIndexes[0].Info.NumEntries; ++i)
+ for (std::size_t i = 0; i < _parentIndexes[0].Entries.size(); ++i)
{
uint32 parentId = _parentIndexes[0].Entries[i].ParentId;
char* recordData = &dataTable[_parentIndexes[0].Entries[i].RecordIndex * recordSize];
@@ -698,11 +720,29 @@ uint32 DB2FileLoaderRegularImpl::GetRecordCopyCount() const
return _copyTable.size();
}
-uint8 const* DB2FileLoaderRegularImpl::GetRawRecordData(uint32 recordNumber) const
+uint32 DB2FileLoaderRegularImpl::GetRecordSection(uint32 recordNumber) const
+{
+ uint32 section = 0;
+ for (; section < _header->SectionCount; ++section)
+ {
+ DB2SectionHeader const& sectionHeader = GetSection(section);
+ if (recordNumber < sectionHeader.RecordCount)
+ break;
+
+ recordNumber -= sectionHeader.RecordCount;
+ }
+
+ return section;
+}
+
+unsigned char const* DB2FileLoaderRegularImpl::GetRawRecordData(uint32 recordNumber, uint32 const* section) const
{
if (recordNumber >= _header->RecordCount)
return nullptr;
+ if (GetSection(section ? *section : GetRecordSection(recordNumber)).TactId)
+ return nullptr;
+
return &_data[recordNumber * _header->RecordSize];
}
@@ -873,7 +913,11 @@ uint32 DB2FileLoaderRegularImpl::GetMaxId() const
uint32 maxId = 0;
for (uint32 row = 0; row < _header->RecordCount; ++row)
{
- uint32 id = RecordGetId(GetRawRecordData(row), row);
+ unsigned char const* rawRecord = GetRawRecordData(row, nullptr);
+ if (!rawRecord)
+ continue;
+
+ uint32 id = RecordGetId(rawRecord, row);
if (id > maxId)
maxId = id;
}
@@ -885,6 +929,7 @@ uint32 DB2FileLoaderRegularImpl::GetMaxId() const
maxId = id;
}
+ ASSERT(maxId <= _header->MaxId);
return maxId;
}
@@ -927,12 +972,14 @@ bool DB2FileLoaderRegularImpl::IsSignedField(uint32 field) const
return false;
}
-DB2FileLoaderSparseImpl::DB2FileLoaderSparseImpl(char const* fileName, DB2FileLoadInfo const* loadInfo, DB2Header const* header) :
+DB2FileLoaderSparseImpl::DB2FileLoaderSparseImpl(char const* fileName, DB2FileLoadInfo const* loadInfo, DB2Header const* header, DB2FileSource* source) :
_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)))
+ _source(source),
+ _totalRecordSize(0),
+ _maxRecordSize(0),
+ _fieldAndArrayOffsets(loadInfo ? (Trinity::make_unique<std::size_t[]>(loadInfo->Meta->FieldCount + loadInfo->FieldCount - (!loadInfo->Meta->HasIndexFieldInData() ? 1 : 0))) : nullptr)
{
}
@@ -948,23 +995,46 @@ void DB2FileLoaderSparseImpl::LoadColumnData(std::unique_ptr<DB2SectionHeader[]>
_fields = std::move(fields);
}
-bool DB2FileLoaderSparseImpl::LoadTableData(DB2FileSource* source, uint32 section)
+void DB2FileLoaderSparseImpl::SkipEncryptedSection(uint32 section)
{
- if (section != 0)
- return false;
-
- _dataStart = source->GetPosition();
- _data = Trinity::make_unique<uint8[]>(_sections[0].CatalogDataOffset - _dataStart);
- return source->Read(_data.get(), _sections[0].CatalogDataOffset - _dataStart);
+ _catalogIds.resize(_catalogIds.size() + _sections[section].CatalogDataCount);
+ _catalog.resize(_catalog.size() + _sections[section].CatalogDataCount);
}
bool DB2FileLoaderSparseImpl::LoadCatalogData(DB2FileSource* source, uint32 section)
{
- if (section != 0)
+ source->SetPosition(_sections[section].CatalogDataOffset);
+
+ std::size_t oldSize = _catalog.size();
+ _catalogIds.resize(oldSize + _sections[section].CatalogDataCount);
+ if (!source->Read(&_catalogIds[oldSize], sizeof(uint32) * _sections[section].CatalogDataCount))
+ return false;
+
+ if (_sections[section].CopyTableCount)
+ {
+ std::size_t oldCopyTableSize = _copyTable.size();
+ _copyTable.resize(oldCopyTableSize + _sections[section].CopyTableCount);
+ if (!source->Read(&_copyTable[oldSize], sizeof(DB2RecordCopy) * _sections[section].CopyTableCount))
+ return false;
+ }
+
+ _catalog.resize(oldSize + _sections[section].CatalogDataCount);
+ if (!source->Read(&_catalog[oldSize], sizeof(DB2CatalogEntry) * _sections[section].CatalogDataCount))
return false;
- _catalog = Trinity::make_unique<DB2CatalogEntry[]>(_header->MaxId - _header->MinId + 1);
- return source->Read(_catalog.get(), sizeof(DB2CatalogEntry) * (_header->MaxId - _header->MinId + 1));
+ for (uint32 i = 0; i < _sections[section].CatalogDataCount; ++i)
+ {
+ _totalRecordSize += _catalog[oldSize + i].RecordSize;
+ _maxRecordSize = std::max(_maxRecordSize, _catalog[oldSize + i].RecordSize);
+ }
+
+ return true;
+}
+
+void DB2FileLoaderSparseImpl::SetAdditionalData(std::vector<uint32> /*idTable*/, std::vector<DB2RecordCopy> /*copyTable*/, std::vector<DB2IndexData> parentIndexes)
+{
+ _parentIndexes = std::move(parentIndexes);
+ _recordBuffer = Trinity::make_unique<uint8[]>(_maxRecordSize);
}
char* DB2FileLoaderSparseImpl::AutoProduceData(uint32& maxId, char**& indexTable, std::vector<char*>& stringPool)
@@ -974,18 +1044,7 @@ char* DB2FileLoaderSparseImpl::AutoProduceData(uint32& maxId, char**& indexTable
//get struct size and index pos
uint32 recordsize = _loadInfo->Meta->GetRecordSize();
-
- uint32 offsetCount = _header->MaxId - _header->MinId + 1;
- uint32 records = 0;
- uint32 expandedDataSize = 0;
- for (uint32 i = 0; i < offsetCount; ++i)
- {
- if (_catalog[i].FileOffset && _catalog[i].RecordSize)
- {
- ++records;
- expandedDataSize += _catalog[i].RecordSize;
- }
- }
+ uint32 records = _catalog.size();
using index_entry_t = char*;
@@ -993,7 +1052,7 @@ char* DB2FileLoaderSparseImpl::AutoProduceData(uint32& maxId, char**& indexTable
indexTable = new index_entry_t[maxId];
memset(indexTable, 0, maxId * sizeof(index_entry_t));
- char* dataTable = new char[records * recordsize];
+ char* dataTable = new char[(records + _copyTable.size()) * recordsize];
// we store flat holders pool as single memory block
std::size_t stringFields = _loadInfo->GetStringFieldCount(false);
@@ -1010,91 +1069,153 @@ char* DB2FileLoaderSparseImpl::AutoProduceData(uint32& maxId, char**& indexTable
for (std::size_t i = 0; i < stringHoldersPoolSize / sizeof(char*); ++i)
((char const**)stringHoldersPool)[i] = nullStr;
- char* stringTable = new char[expandedDataSize - records * ((recordsize - (!_loadInfo->Meta->HasIndexFieldInData() ? 4 : 0)) - stringFields * sizeof(char*))];
- memset(stringTable, 0, expandedDataSize - records * ((recordsize - (!_loadInfo->Meta->HasIndexFieldInData() ? 4 : 0)) - stringFields * sizeof(char*)));
+ char* stringTable = new char[_totalRecordSize - records * ((recordsize - (!_loadInfo->Meta->HasIndexFieldInData() ? 4 : 0)) - stringFields * sizeof(char*))];
+ memset(stringTable, 0, _totalRecordSize - records * ((recordsize - (!_loadInfo->Meta->HasIndexFieldInData() ? 4 : 0)) - stringFields * sizeof(char*)));
stringPool.push_back(stringTable);
char* stringPtr = stringTable;
uint32 offset = 0;
uint32 recordNum = 0;
- for (uint32 y = 0; y < offsetCount; ++y)
- {
- unsigned char const* rawRecord = GetRawRecordData(y);
- if (!rawRecord)
- continue;
+ uint32 y = 0;
- uint32 indexVal = RecordGetId(rawRecord, y);
- indexTable[indexVal] = &dataTable[offset];
-
- uint32 fieldIndex = 0;
- if (!_loadInfo->Meta->HasIndexFieldInData())
+ for (uint32 section = 0; section < _header->SectionCount; ++section)
+ {
+ DB2SectionHeader const& sectionHeader = GetSection(section);
+ if (sectionHeader.TactId)
{
- *((uint32*)(&dataTable[offset])) = indexVal;
- offset += 4;
- ++fieldIndex;
+ offset += recordsize * sectionHeader.RecordCount;
+ y += sectionHeader.RecordCount;
+ continue;
}
- uint32 stringFieldOffset = 0;
- for (uint32 x = 0; x < _header->FieldCount; ++x)
+ for (uint32 sr = 0; sr < sectionHeader.CatalogDataCount; ++sr, ++y)
{
- for (uint32 z = 0; z < _loadInfo->Meta->Fields[x].ArraySize; ++z)
+ unsigned char const* rawRecord = GetRawRecordData(y, &section);
+ if (!rawRecord)
+ continue;
+
+ uint32 indexVal = _catalogIds[y];
+ indexTable[indexVal] = &dataTable[offset];
+
+ uint32 fieldIndex = 0;
+ if (!_loadInfo->Meta->HasIndexFieldInData())
+ {
+ *((uint32*)(&dataTable[offset])) = indexVal;
+ offset += 4;
+ ++fieldIndex;
+ }
+
+ uint32 stringFieldOffset = 0;
+ for (uint32 x = 0; x < _header->FieldCount; ++x)
{
- switch (_loadInfo->TypesString[fieldIndex])
+ for (uint32 z = 0; z < _loadInfo->Meta->Fields[x].ArraySize; ++z)
{
- case FT_FLOAT:
- *((float*)(&dataTable[offset])) = RecordGetFloat(rawRecord, x, z);
- offset += 4;
- break;
- case FT_INT:
- *((uint32*)(&dataTable[offset])) = RecordGetVarInt(rawRecord, x, z, _loadInfo->Fields[fieldIndex].IsSigned);
- offset += 4;
- break;
- case FT_BYTE:
- *((uint8*)(&dataTable[offset])) = RecordGetUInt8(rawRecord, x, z);
- offset += 1;
- break;
- case FT_SHORT:
- *((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:
+ switch (_loadInfo->TypesString[fieldIndex])
{
- LocalizedString** slot = (LocalizedString**)(&dataTable[offset]);
- *slot = (LocalizedString*)(&stringHoldersPool[stringHoldersRecordPoolSize * recordNum + stringFieldOffset]);
- for (uint32 locale = 0; locale < TOTAL_LOCALES; ++locale)
- if (_header->Locale & (1 << locale))
- (*slot)->Str[locale] = stringPtr;
- strcpy(stringPtr, RecordGetString(rawRecord, x, z));
- stringPtr += strlen(stringPtr) + 1;
- stringFieldOffset += sizeof(LocalizedString);
- offset += sizeof(LocalizedString*);
- break;
+ case FT_FLOAT:
+ *((float*)(&dataTable[offset])) = RecordGetFloat(rawRecord, x, z);
+ offset += 4;
+ break;
+ case FT_INT:
+ *((uint32*)(&dataTable[offset])) = RecordGetVarInt(rawRecord, x, z, _loadInfo->Fields[fieldIndex].IsSigned);
+ offset += 4;
+ break;
+ case FT_BYTE:
+ *((uint8*)(&dataTable[offset])) = RecordGetUInt8(rawRecord, x, z);
+ offset += 1;
+ break;
+ case FT_SHORT:
+ *((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]);
+ *slot = (LocalizedString*)(&stringHoldersPool[stringHoldersRecordPoolSize * recordNum + stringFieldOffset]);
+ for (uint32 locale = 0; locale < TOTAL_LOCALES; ++locale)
+ if (_header->Locale & (1 << locale))
+ (*slot)->Str[locale] = stringPtr;
+ strcpy(stringPtr, RecordGetString(rawRecord, x, z));
+ stringPtr += strlen(stringPtr) + 1;
+ stringFieldOffset += sizeof(LocalizedString);
+ offset += sizeof(LocalizedString*);
+ break;
+ }
+ case FT_STRING_NOT_LOCALIZED:
+ {
+ char const*** slot = (char const***)(&dataTable[offset]);
+ *slot = (char const**)(&stringHoldersPool[stringHoldersRecordPoolSize * recordNum + stringFieldOffset]);
+ **slot = stringPtr;
+ strcpy(stringPtr, RecordGetString(rawRecord, x, z));
+ stringPtr += strlen(stringPtr) + 1;
+ stringFieldOffset += sizeof(char*);
+ offset += sizeof(char*);
+ break;
+ }
+ default:
+ ASSERT(false, "Unknown format character '%c' found in %s meta for field %s",
+ _loadInfo->TypesString[fieldIndex], _fileName, _loadInfo->Fields[fieldIndex].Name);
+ break;
}
- case FT_STRING_NOT_LOCALIZED:
+ ++fieldIndex;
+ }
+ }
+
+ for (uint32 x = _header->FieldCount; x < _loadInfo->Meta->FieldCount; ++x)
+ {
+ for (uint32 z = 0; z < _loadInfo->Meta->Fields[x].ArraySize; ++z)
+ {
+ switch (_loadInfo->TypesString[fieldIndex])
{
- char const*** slot = (char const***)(&dataTable[offset]);
- *slot = (char const**)(&stringHoldersPool[stringHoldersRecordPoolSize * recordNum + stringFieldOffset]);
- **slot = stringPtr;
- strcpy(stringPtr, RecordGetString(rawRecord, x, z));
- stringPtr += strlen(stringPtr) + 1;
- stringFieldOffset += sizeof(char*);
- offset += sizeof(char*);
- break;
+ case FT_FLOAT:
+ *((float*)(&dataTable[offset])) = 0;
+ offset += 4;
+ break;
+ case FT_INT:
+ *((uint32*)(&dataTable[offset])) = 0;
+ offset += 4;
+ break;
+ case FT_BYTE:
+ *((uint8*)(&dataTable[offset])) = 0;
+ offset += 1;
+ break;
+ case FT_SHORT:
+ *((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:
+ {
+ // init db2 string field slots by pointers to string holders
+ char const*** slot = (char const***)(&dataTable[offset]);
+ *slot = (char const**)(&stringHoldersPool[stringHoldersRecordPoolSize * recordNum + stringFieldOffset]);
+ if (_loadInfo->TypesString[fieldIndex] == FT_STRING)
+ stringFieldOffset += sizeof(LocalizedString);
+ else
+ stringFieldOffset += sizeof(char*);
+
+ offset += sizeof(char*);
+ break;
+ }
+ default:
+ ASSERT(false, "Unknown format character '%c' found in %s meta for field %s",
+ _loadInfo->TypesString[fieldIndex], _fileName, _loadInfo->Fields[fieldIndex].Name);
+ break;
}
- default:
- ASSERT(false, "Unknown format character '%c' found in %s meta for field %s",
- _loadInfo->TypesString[fieldIndex], _fileName, _loadInfo->Fields[fieldIndex].Name);
- break;
+ ++fieldIndex;
}
- ++fieldIndex;
}
- }
- ++recordNum;
+ ++recordNum;
+ }
}
return dataTable;
@@ -1122,77 +1243,84 @@ char* DB2FileLoaderSparseImpl::AutoProduceStrings(char** indexTable, uint32 inde
return nullptr;
}
- uint32 offsetCount = _header->MaxId - _header->MinId + 1;
- uint32 records = 0;
- for (uint32 i = 0; i < offsetCount; ++i)
- if (_catalog[i].FileOffset && _catalog[i].RecordSize)
- ++records;
-
+ uint32 records = _catalog.size();
uint32 recordsize = _loadInfo->Meta->GetRecordSize();
std::size_t stringFields = _loadInfo->GetStringFieldCount(true);
- char* stringTable = new char[_sections[0].CatalogDataOffset - _dataStart - records * ((recordsize - (!_loadInfo->Meta->HasIndexFieldInData() ? 4 : 0)) - stringFields * sizeof(char*))];
- memset(stringTable, 0, _sections[0].CatalogDataOffset - _dataStart - records * ((recordsize - (!_loadInfo->Meta->HasIndexFieldInData() ? 4 : 0)) - stringFields * sizeof(char*)));
+ char* stringTable = new char[_totalRecordSize - records * ((recordsize - (!_loadInfo->Meta->HasIndexFieldInData() ? 4 : 0)) - stringFields * sizeof(char*))];
+ memset(stringTable, 0, _totalRecordSize - records * ((recordsize - (!_loadInfo->Meta->HasIndexFieldInData() ? 4 : 0)) - stringFields * sizeof(char*)));
char* stringPtr = stringTable;
- for (uint32 y = 0; y < offsetCount; y++)
+ uint32 y = 0;
+
+ for (uint32 section = 0; section < _header->SectionCount; ++section)
{
- unsigned char const* rawRecord = GetRawRecordData(y);
- if (!rawRecord)
+ DB2SectionHeader const& sectionHeader = GetSection(section);
+ if (sectionHeader.TactId)
+ {
+ y += sectionHeader.RecordCount;
continue;
+ }
- uint32 indexVal = RecordGetId(rawRecord, y);
- if (indexVal >= indexTableSize)
- continue;
+ for (uint32 sr = 0; sr < sectionHeader.CatalogDataCount; ++sr, ++y)
+ {
+ unsigned char const* rawRecord = GetRawRecordData(y, &section);
+ if (!rawRecord)
+ continue;
- char* recordData = indexTable[indexVal];
+ uint32 indexVal = _catalogIds[y];
+ if (indexVal >= indexTableSize)
+ continue;
- uint32 offset = 0;
- uint32 fieldIndex = 0;
- if (!_loadInfo->Meta->HasIndexFieldInData())
- {
- offset += 4;
- ++fieldIndex;
- }
+ char* recordData = indexTable[indexVal];
- for (uint32 x = 0; x < _header->FieldCount; ++x)
- {
- for (uint32 z = 0; z < _loadInfo->Meta->Fields[x].ArraySize; ++z)
+ uint32 offset = 0;
+ uint32 fieldIndex = 0;
+ if (!_loadInfo->Meta->HasIndexFieldInData())
{
- switch (_loadInfo->TypesString[fieldIndex])
+ offset += 4;
+ ++fieldIndex;
+ }
+
+ for (uint32 x = 0; x < _header->FieldCount; ++x)
+ {
+ for (uint32 z = 0; z < _loadInfo->Meta->Fields[x].ArraySize; ++z)
{
- case FT_FLOAT:
- offset += 4;
- break;
- case FT_INT:
- offset += 4;
- break;
- case FT_BYTE:
- offset += 1;
- break;
- case FT_SHORT:
- offset += 2;
- break;
- case FT_LONG:
- offset += 8;
- break;
- case FT_STRING:
+ switch (_loadInfo->TypesString[fieldIndex])
{
- LocalizedString* db2str = *(LocalizedString**)(&recordData[offset]);
- db2str->Str[locale] = stringPtr;
- strcpy(stringPtr, RecordGetString(rawRecord, x, z));
- stringPtr += strlen(stringPtr) + 1;
- offset += sizeof(char*);
- break;
+ case FT_FLOAT:
+ offset += 4;
+ break;
+ case FT_INT:
+ offset += 4;
+ break;
+ case FT_BYTE:
+ offset += 1;
+ break;
+ case FT_SHORT:
+ offset += 2;
+ break;
+ case FT_LONG:
+ offset += 8;
+ break;
+ case FT_STRING:
+ {
+ LocalizedString* db2str = *(LocalizedString * *)(&recordData[offset]);
+ db2str->Str[locale] = stringPtr;
+ strcpy(stringPtr, RecordGetString(rawRecord, x, z));
+ stringPtr += strlen(stringPtr) + 1;
+ offset += sizeof(char*);
+ break;
+ }
+ case FT_STRING_NOT_LOCALIZED:
+ offset += sizeof(char*);
+ break;
+ default:
+ ASSERT(false, "Unknown format character '%c' found in %s meta for field %s",
+ _loadInfo->TypesString[fieldIndex], _fileName, _loadInfo->Fields[fieldIndex].Name);
+ break;
}
- case FT_STRING_NOT_LOCALIZED:
- offset += sizeof(char*);
- break;
- default:
- ASSERT(false, "Unknown format character '%c' found in %s meta for field %s",
- _loadInfo->TypesString[fieldIndex], _fileName, _loadInfo->Fields[fieldIndex].Name);
- break;
+ ++fieldIndex;
}
- ++fieldIndex;
}
}
}
@@ -1200,32 +1328,102 @@ char* DB2FileLoaderSparseImpl::AutoProduceStrings(char** indexTable, uint32 inde
return stringTable;
}
+void DB2FileLoaderSparseImpl::AutoProduceRecordCopies(uint32 records, char** indexTable, char* dataTable)
+{
+ uint32 recordsize = _loadInfo->Meta->GetRecordSize();
+ uint32 offset = _header->RecordCount * recordsize;
+ uint32 idFieldOffset = _loadInfo->Meta->HasIndexFieldInData() ? _loadInfo->Meta->GetIndexFieldOffset() : 0;
+ for (uint32 c = 0; c < GetRecordCopyCount(); ++c)
+ {
+ DB2RecordCopy copy = GetRecordCopy(c);
+ if (copy.SourceRowId && copy.SourceRowId < records && copy.NewRowId < records && indexTable[copy.SourceRowId])
+ {
+ indexTable[copy.NewRowId] = &dataTable[offset];
+ memcpy(indexTable[copy.NewRowId], indexTable[copy.SourceRowId], recordsize);
+ *((uint32*)(&dataTable[offset + idFieldOffset])) = copy.NewRowId;
+ offset += recordsize;
+ }
+ }
+}
+
DB2Record DB2FileLoaderSparseImpl::GetRecord(uint32 recordNumber) const
{
return DB2Record(*this, recordNumber, _fieldAndArrayOffsets.get());
}
-DB2RecordCopy DB2FileLoaderSparseImpl::GetRecordCopy(uint32 /*recordId*/) const
+DB2RecordCopy DB2FileLoaderSparseImpl::GetRecordCopy(uint32 copyNumber) const
{
- return DB2RecordCopy{};
+ if (copyNumber >= GetRecordCopyCount())
+ return DB2RecordCopy{};
+
+ return _copyTable[copyNumber];
}
uint32 DB2FileLoaderSparseImpl::GetRecordCount() const
{
- return _header->MaxId - _header->MinId + 1;
+ return _catalog.size();
}
uint32 DB2FileLoaderSparseImpl::GetRecordCopyCount() const
{
- return 0;
+ return _copyTable.size();
+}
+
+void DB2FileLoaderSparseImpl::FillParentLookup(char* dataTable)
+{
+ int32 parentIdOffset = _loadInfo->Meta->GetParentIndexFieldOffset();
+ uint32 recordSize = _loadInfo->Meta->GetRecordSize();
+ for (std::size_t i = 0; i < _parentIndexes[0].Entries.size(); ++i)
+ {
+ uint32 parentId = _parentIndexes[0].Entries[i].ParentId;
+ char* recordData = &dataTable[_parentIndexes[0].Entries[i].RecordIndex * recordSize];
+
+ switch (_loadInfo->Meta->Fields[_loadInfo->Meta->ParentIndexField].Type)
+ {
+ case FT_SHORT:
+ *reinterpret_cast<uint16*>(&recordData[parentIdOffset]) = uint16(parentId);
+ break;
+ case FT_BYTE:
+ *reinterpret_cast<uint8*>(&recordData[parentIdOffset]) = uint8(parentId);
+ break;
+ case FT_INT:
+ *reinterpret_cast<uint32*>(&recordData[parentIdOffset]) = parentId;
+ break;
+ default:
+ ASSERT(false, "Unhandled parent id type '%c' found in %s", _loadInfo->Meta->Fields[_loadInfo->Meta->ParentIndexField].Type, _fileName);
+ break;
+ }
+ }
+}
+
+uint32 DB2FileLoaderSparseImpl::GetRecordSection(uint32 recordNumber) const
+{
+ uint32 section = 0;
+ for (; section < _header->SectionCount; ++section)
+ {
+ DB2SectionHeader const& sectionHeader = GetSection(section);
+ if (recordNumber < sectionHeader.CatalogDataCount)
+ break;
+
+ recordNumber -= sectionHeader.CatalogDataCount;
+ }
+
+ return section;
}
-uint8 const* DB2FileLoaderSparseImpl::GetRawRecordData(uint32 recordNumber) const
+unsigned char const* DB2FileLoaderSparseImpl::GetRawRecordData(uint32 recordNumber, uint32 const* section) const
{
- if (recordNumber > (_header->MaxId - _header->MinId) || !_catalog[recordNumber].FileOffset || !_catalog[recordNumber].RecordSize)
+ if (recordNumber >= _catalog.size())
+ return nullptr;
+
+ if (GetSection(section ? *section : GetRecordSection(recordNumber)).TactId)
+ return nullptr;
+
+ _source->SetPosition(_catalog[recordNumber].FileOffset);
+ uint8* rawRecord = _recordBuffer.get();
+ if (!_source->Read(rawRecord, _catalog[recordNumber].RecordSize))
return nullptr;
- uint8 const* rawRecord = &_data[_catalog[recordNumber].FileOffset - _dataStart];
CalculateAndStoreFieldOffsets(rawRecord);
return rawRecord;
}
@@ -1235,7 +1433,7 @@ uint32 DB2FileLoaderSparseImpl::RecordGetId(uint8 const* record, uint32 recordIn
if (_loadInfo->Meta->HasIndexFieldInData())
return RecordGetVarInt(record, _loadInfo->Meta->GetIndexField(), 0, false);
- return _header->MinId + recordIndex;
+ return _catalogIds[recordIndex];
}
uint8 DB2FileLoaderSparseImpl::RecordGetUInt8(uint8 const* record, uint32 field, uint32 arrayIndex) const
@@ -1383,7 +1581,7 @@ bool DB2FileLoaderSparseImpl::IsSignedField(uint32 field) const
}
DB2Record::DB2Record(DB2FileLoaderImpl const& db2, uint32 recordIndex, std::size_t* fieldOffsets)
- : _db2(db2), _recordIndex(recordIndex), _recordData(db2.GetRawRecordData(recordIndex)), _fieldOffsets(fieldOffsets)
+ : _db2(db2), _recordIndex(recordIndex), _recordData(db2.GetRawRecordData(recordIndex, nullptr)), _fieldOffsets(fieldOffsets)
{
}
@@ -1500,7 +1698,7 @@ DB2FileLoader::~DB2FileLoader()
delete _impl;
}
-bool DB2FileLoader::Load(DB2FileSource* source, DB2FileLoadInfo const* loadInfo)
+bool DB2FileLoader::LoadHeaders(DB2FileSource* source, DB2FileLoadInfo const* loadInfo)
{
if (!source->IsOpen())
return false;
@@ -1528,19 +1726,19 @@ bool DB2FileLoader::Load(DB2FileSource* source, DB2FileLoadInfo const* loadInfo)
EndianConvert(_header.PalletDataSize);
EndianConvert(_header.SectionCount);
- if (_header.Signature != 0x32434457) //'WDC2'
+ if (_header.Signature != 0x33434457) //'WDC3'
return false;
- if (_header.LayoutHash != loadInfo->Meta->LayoutHash)
+ if (loadInfo && _header.LayoutHash != loadInfo->Meta->LayoutHash)
return false;
if (_header.ParentLookupCount > 1)
return false;
- if (_header.TotalFieldCount + (loadInfo->Meta->ParentIndexField >= int32(_header.TotalFieldCount) ? 1 : 0) != loadInfo->Meta->FieldCount)
+ if (loadInfo && (_header.TotalFieldCount + (loadInfo->Meta->ParentIndexField >= int32(_header.TotalFieldCount) ? 1 : 0) != loadInfo->Meta->FieldCount))
return false;
- if (_header.ParentLookupCount && loadInfo->Meta->ParentIndexField == -1)
+ if (loadInfo && (_header.ParentLookupCount && loadInfo->Meta->ParentIndexField == -1))
return false;
std::unique_ptr<DB2SectionHeader[]> sections = Trinity::make_unique<DB2SectionHeader[]>(_header.SectionCount);
@@ -1551,11 +1749,11 @@ bool DB2FileLoader::Load(DB2FileSource* source, DB2FileLoadInfo const* loadInfo)
uint32 totalParentLookupDataSize = 0;
for (uint32 i = 0; i < _header.SectionCount; ++i)
{
- totalCopyTableSize += sections[i].CopyTableSize;
+ totalCopyTableSize += sections[i].CopyTableCount * sizeof(DB2RecordCopy);
totalParentLookupDataSize += sections[i].ParentLookupDataSize;
}
- if (!(_header.Flags & 0x1))
+ if (loadInfo && !(_header.Flags & 0x1))
{
std::size_t expectedFileSize =
sizeof(DB2Header) +
@@ -1588,10 +1786,13 @@ bool DB2FileLoader::Load(DB2FileSource* source, DB2FileLoadInfo const* loadInfo)
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 ||
- columnMeta[loadInfo->Meta->IndexField].CompressionType == DB2ColumnCompression::SignedImmediate);
+ if (loadInfo)
+ {
+ ASSERT(!loadInfo->Meta->HasIndexFieldInData() ||
+ columnMeta[loadInfo->Meta->IndexField].CompressionType == DB2ColumnCompression::None ||
+ columnMeta[loadInfo->Meta->IndexField].CompressionType == DB2ColumnCompression::Immediate ||
+ columnMeta[loadInfo->Meta->IndexField].CompressionType == DB2ColumnCompression::SignedImmediate);
+ }
palletValues = Trinity::make_unique<std::unique_ptr<DB2PalletValue[]>[]>(_header.TotalFieldCount);
for (uint32 i = 0; i < _header.TotalFieldCount; ++i)
@@ -1643,20 +1844,34 @@ bool DB2FileLoader::Load(DB2FileSource* source, DB2FileLoadInfo const* loadInfo)
if (!(_header.Flags & 0x1))
_impl = new DB2FileLoaderRegularImpl(source->GetFileName(), loadInfo, &_header);
else
- _impl = new DB2FileLoaderSparseImpl(source->GetFileName(), loadInfo, &_header);
+ _impl = new DB2FileLoaderSparseImpl(source->GetFileName(), loadInfo, &_header, source);
_impl->LoadColumnData(std::move(sections), std::move(fieldData), std::move(columnMeta), std::move(palletValues), std::move(palletArrayValues), std::move(commonValues));
+ return true;
+}
+
+bool DB2FileLoader::Load(DB2FileSource* source, DB2FileLoadInfo const* loadInfo)
+{
+ if (!LoadHeaders(source, loadInfo))
+ return false;
std::vector<uint32> idTable;
std::vector<DB2RecordCopy> copyTable;
std::vector<DB2IndexData> parentIndexes;
- if (!loadInfo->Meta->HasIndexFieldInData() && _header.RecordCount)
+ if (loadInfo && !loadInfo->Meta->HasIndexFieldInData() && _header.RecordCount)
idTable.reserve(_header.RecordCount);
for (uint32 i = 0; i < _header.SectionCount; ++i)
{
DB2SectionHeader const& section = _impl->GetSection(i);
+ if (section.TactId)
+ {
+ _impl->SkipEncryptedSection(i);
+ idTable.resize(idTable.size() + section.IdTableSize / sizeof(uint32));
+ continue;
+ }
+
if (!source->SetPosition(section.FileOffset))
return false;
@@ -1666,22 +1881,25 @@ bool DB2FileLoader::Load(DB2FileSource* source, DB2FileLoadInfo const* loadInfo)
if (!_impl->LoadCatalogData(source, i))
return false;
- ASSERT(!loadInfo->Meta->HasIndexFieldInData() || section.IdTableSize == 0);
- ASSERT(loadInfo->Meta->HasIndexFieldInData() || section.IdTableSize == 4 * section.RecordCount);
+ if (loadInfo)
+ {
+ ASSERT(!loadInfo->Meta->HasIndexFieldInData() || section.IdTableSize == 0);
+ ASSERT(loadInfo->Meta->HasIndexFieldInData() || section.IdTableSize == 4 * section.RecordCount);
+ }
- if (!loadInfo->Meta->HasIndexFieldInData() && section.IdTableSize)
+ if (section.IdTableSize)
{
std::size_t idTableSize = idTable.size();
- idTable.resize(idTableSize + section.IdTableSize);
+ idTable.resize(idTableSize + section.IdTableSize / sizeof(uint32));
if (!source->Read(&idTable[idTableSize], section.IdTableSize))
return false;
}
- if (section.CopyTableSize)
+ if (!(_header.Flags & 0x1) && section.CopyTableCount)
{
std::size_t copyTableSize = copyTable.size();
- copyTable.resize(copyTableSize + section.CopyTableSize / sizeof(DB2RecordCopy));
- if (!source->Read(&copyTable[copyTableSize], section.CopyTableSize))
+ copyTable.resize(copyTableSize + section.CopyTableCount);
+ if (!source->Read(&copyTable[copyTableSize], section.CopyTableCount * sizeof(DB2RecordCopy)))
return false;
}
@@ -1690,14 +1908,16 @@ bool DB2FileLoader::Load(DB2FileSource* source, DB2FileLoadInfo const* loadInfo)
parentIndexes.resize(_header.ParentLookupCount);
for (uint32 i = 0; i < _header.ParentLookupCount; ++i)
{
- if (!source->Read(&parentIndexes[i].Info, sizeof(DB2IndexDataInfo)))
+ DB2IndexDataInfo indexInfo;
+ if (!source->Read(&indexInfo, sizeof(DB2IndexDataInfo)))
return false;
- if (!parentIndexes[i].Info.NumEntries)
+ if (!indexInfo.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))
+ std::size_t oldSize = parentIndexes[i].Entries.size();
+ parentIndexes[i].Entries.resize(oldSize + indexInfo.NumEntries);
+ if (!source->Read(&parentIndexes[i].Entries[oldSize], sizeof(DB2IndexEntry) * indexInfo.NumEntries))
return false;
}
}
@@ -1705,16 +1925,19 @@ bool DB2FileLoader::Load(DB2FileSource* source, DB2FileLoadInfo const* loadInfo)
_impl->SetAdditionalData(std::move(idTable), std::move(copyTable), std::move(parentIndexes));
- uint32 fieldIndex = 0;
- if (!loadInfo->Meta->HasIndexFieldInData())
+ if (loadInfo)
{
- ASSERT(!loadInfo->Fields[0].IsSigned, "ID must be unsigned");
- ++fieldIndex;
- }
- for (uint32 f = 0; f < loadInfo->Meta->FieldCount; ++f)
- {
- ASSERT(loadInfo->Fields[fieldIndex].IsSigned == _impl->IsSignedField(f), "Mismatched field signedness for field %u (%s)", f, loadInfo->Fields[fieldIndex].Name);
- fieldIndex += loadInfo->Meta->Fields[f].ArraySize;
+ uint32 fieldIndex = 0;
+ if (!loadInfo->Meta->HasIndexFieldInData())
+ {
+ ASSERT(!loadInfo->Fields[0].IsSigned, "ID must be unsigned");
+ ++fieldIndex;
+ }
+ for (uint32 f = 0; f < loadInfo->Meta->FieldCount; ++f)
+ {
+ ASSERT(loadInfo->Fields[fieldIndex].IsSigned == _impl->IsSignedField(f), "Mismatched field signedness for field %u (%s)", f, loadInfo->Fields[fieldIndex].Name);
+ fieldIndex += loadInfo->Meta->Fields[f].ArraySize;
+ }
}
return true;
@@ -1750,6 +1973,11 @@ uint32 DB2FileLoader::GetMaxId() const
return _impl->GetMaxId();
}
+DB2SectionHeader const& DB2FileLoader::GetSectionHeader(uint32 section) const
+{
+ return _impl->GetSection(section);
+}
+
DB2Record DB2FileLoader::GetRecord(uint32 recordNumber) const
{
return _impl->GetRecord(recordNumber);
diff --git a/src/common/DataStores/DB2FileLoader.h b/src/common/DataStores/DB2FileLoader.h
index 0a5edd87873..8442805c64a 100644
--- a/src/common/DataStores/DB2FileLoader.h
+++ b/src/common/DataStores/DB2FileLoader.h
@@ -27,6 +27,7 @@ struct DB2FieldMeta;
struct DB2Meta;
#pragma pack(push, 1)
+
struct DB2Header
{
uint32 Signature;
@@ -49,6 +50,20 @@ struct DB2Header
uint32 PalletDataSize;
uint32 SectionCount;
};
+
+struct DB2SectionHeader
+{
+ uint64 TactId;
+ uint32 FileOffset;
+ uint32 RecordCount;
+ uint32 StringTableSize;
+ uint32 CatalogDataOffset;
+ uint32 IdTableSize;
+ uint32 ParentLookupDataSize;
+ uint32 CatalogDataCount;
+ uint32 CopyTableCount;
+};
+
#pragma pack(pop)
struct TC_COMMON_API DB2FieldMeta
@@ -146,6 +161,8 @@ public:
DB2FileLoader();
~DB2FileLoader();
+ // loadInfo argument is required when trying to read data from the file
+ bool LoadHeaders(DB2FileSource* source, DB2FileLoadInfo const* loadInfo);
bool Load(DB2FileSource* source, DB2FileLoadInfo const* loadInfo);
char* AutoProduceData(uint32& count, char**& indexTable, std::vector<char*>& stringPool);
char* AutoProduceStrings(char** indexTable, uint32 indexTableSize, uint32 locale);
@@ -158,6 +175,8 @@ public:
uint32 GetLayoutHash() const { return _header.LayoutHash; }
uint32 GetMaxId() const;
+ DB2Header const& GetHeader() const { return _header; }
+ DB2SectionHeader const& GetSectionHeader(uint32 section) const;
DB2Record GetRecord(uint32 recordNumber) const;
DB2RecordCopy GetRecordCopy(uint32 copyNumber) const;
diff --git a/src/common/DataStores/DB2Meta.cpp b/src/common/DataStores/DB2Meta.cpp
index a2d0f06527a..551442c92a8 100644
--- a/src/common/DataStores/DB2Meta.cpp
+++ b/src/common/DataStores/DB2Meta.cpp
@@ -22,8 +22,8 @@ DB2MetaField::DB2MetaField(DBCFormer type, uint8 arraySize, bool isSigned) : Typ
{
}
-DB2Meta::DB2Meta(int32 indexField, uint32 fieldCount, uint32 layoutHash, DB2MetaField const* fields, int32 parentIndexField)
- : IndexField(indexField), ParentIndexField(parentIndexField), FieldCount(fieldCount), LayoutHash(layoutHash), Fields(fields)
+DB2Meta::DB2Meta(uint32 fileDataId, int32 indexField, uint32 fieldCount, uint32 layoutHash, DB2MetaField const* fields, int32 parentIndexField)
+ : FileDataId(fileDataId),IndexField(indexField), ParentIndexField(parentIndexField), FieldCount(fieldCount), LayoutHash(layoutHash), Fields(fields)
{
}
@@ -76,6 +76,46 @@ uint32 DB2Meta::GetRecordSize() const
return size;
}
+uint32 DB2Meta::GetIndexFieldOffset() const
+{
+ if (IndexField == -1)
+ return 0;
+
+ uint32 offset = 0;
+
+ for (int32 i = 0; i < IndexField; ++i)
+ {
+ for (uint8 j = 0; j < Fields[i].ArraySize; ++j)
+ {
+ switch (Fields[i].Type)
+ {
+ 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:
+ case FT_STRING_NOT_LOCALIZED:
+ offset += sizeof(char*);
+ break;
+ default:
+ ASSERT(false, "Unsupported column type specified %c", Fields[i].Type);
+ break;
+ }
+ }
+ }
+
+ return offset;
+}
+
int32 DB2Meta::GetParentIndexFieldOffset() const
{
if (ParentIndexField == -1)
diff --git a/src/common/DataStores/DB2Meta.h b/src/common/DataStores/DB2Meta.h
index 6dc163a5c3d..33b89e99fde 100644
--- a/src/common/DataStores/DB2Meta.h
+++ b/src/common/DataStores/DB2Meta.h
@@ -31,7 +31,7 @@ struct TC_COMMON_API DB2MetaField
struct TC_COMMON_API DB2Meta
{
- DB2Meta(int32 indexField, uint32 fieldCount, uint32 layoutHash, DB2MetaField const* fields, int32 parentIndexField);
+ DB2Meta(uint32 fileDataId, int32 indexField, uint32 fieldCount, uint32 layoutHash, DB2MetaField const* fields, int32 parentIndexField);
bool HasIndexFieldInData() const;
@@ -41,6 +41,7 @@ struct TC_COMMON_API DB2Meta
// Returns size of final loaded structure
uint32 GetRecordSize() const;
+ uint32 GetIndexFieldOffset() const;
int32 GetParentIndexFieldOffset() const;
uint32 GetDbIndexField() const;
@@ -48,6 +49,7 @@ struct TC_COMMON_API DB2Meta
bool IsSignedField(uint32 field) const;
+ uint32 FileDataId;
int32 IndexField;
int32 ParentIndexField;
uint32 FieldCount;
diff --git a/src/server/database/Database/Implementation/HotfixDatabase.cpp b/src/server/database/Database/Implementation/HotfixDatabase.cpp
index ddb0679e705..df045400b71 100644
--- a/src/server/database/Database/Implementation/HotfixDatabase.cpp
+++ b/src/server/database/Database/Implementation/HotfixDatabase.cpp
@@ -33,7 +33,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()
// Achievement.db2
PrepareStatement(HOTFIX_SEL_ACHIEVEMENT, "SELECT Description, Title, Reward, ID, InstanceID, Faction, Supercedes, Category, MinimumCriteria, "
- "Points, Flags, UiOrder, IconFileID, CriteriaTree, SharesCriteria FROM achievement ORDER BY ID DESC", CONNECTION_SYNCH);
+ "Points, Flags, UiOrder, IconFileID, RewardItemID, CriteriaTree, SharesCriteria FROM achievement ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_ACHIEVEMENT, "SELECT ID, Description_lang, Title_lang, Reward_lang FROM achievement_locale WHERE locale = ?", CONNECTION_SYNCH);
// AnimationData.db2
@@ -68,7 +68,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()
// ArtifactAppearance.db2
PrepareStatement(HOTFIX_SEL_ARTIFACT_APPEARANCE, "SELECT Name, ID, ArtifactAppearanceSetID, DisplayIndex, UnlockPlayerConditionID, "
"ItemAppearanceModifierID, UiSwatchColor, UiModelSaturation, UiModelOpacity, OverrideShapeshiftFormID, OverrideShapeshiftDisplayID, "
- "UiItemAppearanceID, UiAltItemAppearanceID, Flags, UiCameraID FROM artifact_appearance ORDER BY ID DESC", CONNECTION_SYNCH);
+ "UiItemAppearanceID, UiAltItemAppearanceID, Flags, UiCameraID, UsablePlayerConditionID FROM artifact_appearance ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_ARTIFACT_APPEARANCE, "SELECT ID, Name_lang FROM artifact_appearance_locale WHERE locale = ?", CONNECTION_SYNCH);
// ArtifactAppearanceSet.db2
@@ -151,7 +151,8 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_LOCALE_STMT(HOTFIX_SEL_BROADCAST_TEXT, "SELECT ID, Text_lang, Text1_lang FROM broadcast_text_locale WHERE locale = ?", CONNECTION_SYNCH);
// CfgRegions.db2
- PrepareStatement(HOTFIX_SEL_CFG_REGIONS, "SELECT ID, Tag, RegionID, Raidorigin, RegionGroupMask, ChallengeOrigin FROM cfg_regions ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_CFG_REGIONS, "SELECT ID, Tag, RegionID, Raidorigin, RegionGroupMask, ChallengeOrigin, ChallengeTimeOffset1, "
+ "ChallengeTimeOffset2 FROM cfg_regions ORDER BY ID DESC", CONNECTION_SYNCH);
// CharacterFacialHairStyles.db2
PrepareStatement(HOTFIX_SEL_CHARACTER_FACIAL_HAIR_STYLES, "SELECT ID, Geoset1, Geoset2, Geoset3, Geoset4, Geoset5, RaceID, SexID, VariationID"
@@ -180,8 +181,9 @@ void HotfixDatabaseConnection::DoPrepareStatements()
// ChrClasses.db2
PrepareStatement(HOTFIX_SEL_CHR_CLASSES, "SELECT Name, Filename, NameMale, NameFemale, PetNameToken, ID, CreateScreenFileDataID, "
- "SelectScreenFileDataID, IconFileDataID, LowResScreenFileDataID, StartingLevel, Flags, CinematicSequenceID, DefaultSpec, PrimaryStatPriority, "
- "DisplayPower, RangedAttackPowerPerAgility, AttackPowerPerAgility, AttackPowerPerStrength, SpellClassSet FROM chr_classes ORDER BY ID DESC", CONNECTION_SYNCH);
+ "SelectScreenFileDataID, IconFileDataID, LowResScreenFileDataID, StartingLevel, SpellTextureBlobFileDataID, Flags, CinematicSequenceID, "
+ "DefaultSpec, PrimaryStatPriority, DisplayPower, RangedAttackPowerPerAgility, AttackPowerPerAgility, AttackPowerPerStrength, SpellClassSet"
+ " FROM chr_classes ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_CHR_CLASSES, "SELECT ID, Name_lang, NameMale_lang, NameFemale_lang FROM chr_classes_locale WHERE locale = ?", CONNECTION_SYNCH);
// ChrClassesXPowerTypes.db2
@@ -262,7 +264,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()
// CurrencyTypes.db2
PrepareStatement(HOTFIX_SEL_CURRENCY_TYPES, "SELECT ID, Name, Description, CategoryID, InventoryIconFileID, SpellWeight, SpellCategory, MaxQty, "
- "MaxEarnablePerWeek, Flags, Quality, FactionID FROM currency_types ORDER BY ID DESC", CONNECTION_SYNCH);
+ "MaxEarnablePerWeek, Flags, Quality, FactionID, ItemGroupSoundsID 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);
// Curve.db2
@@ -285,8 +287,8 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_LOCALE_STMT(HOTFIX_SEL_DIFFICULTY, "SELECT ID, Name_lang FROM difficulty_locale WHERE locale = ?", CONNECTION_SYNCH);
// DungeonEncounter.db2
- PrepareStatement(HOTFIX_SEL_DUNGEON_ENCOUNTER, "SELECT Name, ID, MapID, DifficultyID, OrderIndex, Bit, CreatureDisplayID, Flags, SpellIconFileID"
- " FROM dungeon_encounter ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_DUNGEON_ENCOUNTER, "SELECT Name, ID, MapID, DifficultyID, OrderIndex, CompleteWorldStateID, Bit, CreatureDisplayID, "
+ "Flags, SpellIconFileID, Faction FROM dungeon_encounter ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_DUNGEON_ENCOUNTER, "SELECT ID, Name_lang FROM dungeon_encounter_locale WHERE locale = ?", CONNECTION_SYNCH);
// DurabilityCosts.db2
@@ -422,16 +424,17 @@ void HotfixDatabaseConnection::DoPrepareStatements()
// Heirloom.db2
PrepareStatement(HOTFIX_SEL_HEIRLOOM, "SELECT SourceText, ID, ItemID, LegacyUpgradedItemID, StaticUpgradedItemID, SourceTypeEnum, Flags, "
- "LegacyItemID, UpgradeItemID1, UpgradeItemID2, UpgradeItemID3, UpgradeItemBonusListID1, UpgradeItemBonusListID2, UpgradeItemBonusListID3"
- " FROM heirloom ORDER BY ID DESC", CONNECTION_SYNCH);
+ "LegacyItemID, UpgradeItemID1, UpgradeItemID2, UpgradeItemID3, UpgradeItemID4, UpgradeItemBonusListID1, UpgradeItemBonusListID2, "
+ "UpgradeItemBonusListID3, UpgradeItemBonusListID4 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);
// Holidays.db2
PrepareStatement(HOTFIX_SEL_HOLIDAYS, "SELECT ID, Region, Looping, HolidayNameID, HolidayDescriptionID, Priority, CalendarFilterType, Flags, "
"Duration1, Duration2, Duration3, Duration4, Duration5, Duration6, Duration7, Duration8, Duration9, Duration10, Date1, Date2, Date3, Date4, "
- "Date5, Date6, Date7, Date8, Date9, Date10, Date11, Date12, Date13, Date14, Date15, Date16, CalendarFlags1, CalendarFlags2, CalendarFlags3, "
- "CalendarFlags4, CalendarFlags5, CalendarFlags6, CalendarFlags7, CalendarFlags8, CalendarFlags9, CalendarFlags10, TextureFileDataID1, "
- "TextureFileDataID2, TextureFileDataID3 FROM holidays ORDER BY ID DESC", CONNECTION_SYNCH);
+ "Date5, Date6, Date7, Date8, Date9, Date10, Date11, Date12, Date13, Date14, Date15, Date16, Date17, Date18, Date19, Date20, Date21, Date22, "
+ "Date23, Date24, Date25, Date26, CalendarFlags1, CalendarFlags2, CalendarFlags3, CalendarFlags4, CalendarFlags5, CalendarFlags6, "
+ "CalendarFlags7, CalendarFlags8, CalendarFlags9, CalendarFlags10, TextureFileDataID1, TextureFileDataID2, TextureFileDataID3 FROM holidays"
+ " ORDER BY ID DESC", CONNECTION_SYNCH);
// ImportPriceArmor.db2
PrepareStatement(HOTFIX_SEL_IMPORT_PRICE_ARMOR, "SELECT ID, ClothModifier, LeatherModifier, ChainModifier, PlateModifier FROM import_price_armor"
@@ -481,7 +484,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()
"ParentItemBonusTreeID FROM item_bonus_tree_node ORDER BY ID DESC", CONNECTION_SYNCH);
// ItemChildEquipment.db2
- PrepareStatement(HOTFIX_SEL_ITEM_CHILD_EQUIPMENT, "SELECT ID, ChildItemID, ChildItemEquipSlot, ParentItemID FROM item_child_equipment"
+ PrepareStatement(HOTFIX_SEL_ITEM_CHILD_EQUIPMENT, "SELECT ID, ParentItemID, ChildItemID, ChildItemEquipSlot FROM item_child_equipment"
" ORDER BY ID DESC", CONNECTION_SYNCH);
// ItemClass.db2
@@ -526,7 +529,8 @@ void HotfixDatabaseConnection::DoPrepareStatements()
" FROM item_extended_cost ORDER BY ID DESC", CONNECTION_SYNCH);
// ItemLevelSelector.db2
- PrepareStatement(HOTFIX_SEL_ITEM_LEVEL_SELECTOR, "SELECT ID, MinItemLevel, ItemLevelSelectorQualitySetID FROM item_level_selector ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_ITEM_LEVEL_SELECTOR, "SELECT ID, MinItemLevel, ItemLevelSelectorQualitySetID, AzeriteUnlockMappingSet"
+ " FROM item_level_selector ORDER BY ID DESC", CONNECTION_SYNCH);
// ItemLevelSelectorQuality.db2
PrepareStatement(HOTFIX_SEL_ITEM_LEVEL_SELECTOR_QUALITY, "SELECT ID, QualityItemBonusListID, Quality, ParentILSQualitySetID"
@@ -550,16 +554,6 @@ void HotfixDatabaseConnection::DoPrepareStatements()
// ItemPriceBase.db2
PrepareStatement(HOTFIX_SEL_ITEM_PRICE_BASE, "SELECT ID, ItemLevel, Armor, Weapon FROM item_price_base ORDER BY ID DESC", CONNECTION_SYNCH);
- // ItemRandomProperties.db2
- PrepareStatement(HOTFIX_SEL_ITEM_RANDOM_PROPERTIES, "SELECT ID, Name, Enchantment1, Enchantment2, Enchantment3, Enchantment4, Enchantment5"
- " FROM item_random_properties ORDER BY ID DESC", CONNECTION_SYNCH);
- PREPARE_LOCALE_STMT(HOTFIX_SEL_ITEM_RANDOM_PROPERTIES, "SELECT ID, Name_lang FROM item_random_properties_locale WHERE locale = ?", CONNECTION_SYNCH);
-
- // ItemRandomSuffix.db2
- PrepareStatement(HOTFIX_SEL_ITEM_RANDOM_SUFFIX, "SELECT ID, Name, Enchantment1, Enchantment2, Enchantment3, Enchantment4, Enchantment5, "
- "AllocationPct1, AllocationPct2, AllocationPct3, AllocationPct4, AllocationPct5 FROM item_random_suffix ORDER BY ID DESC", CONNECTION_SYNCH);
- 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 AllowableRace, Display, ID, OverallQualityID, ExpansionID, MinFactionID, MinReputation, "
"AllowableClass, RequiredLevel, RequiredSkill, RequiredSkillRank, RequiredAbility, ItemLevel, Flags1, Flags2, Flags3, Flags4"
@@ -583,12 +577,12 @@ void HotfixDatabaseConnection::DoPrepareStatements()
"StatPercentEditor5, StatPercentEditor6, StatPercentEditor7, StatPercentEditor8, StatPercentEditor9, StatPercentEditor10, Stackable, "
"MaxCount, RequiredAbility, SellPrice, BuyPrice, VendorStackCount, PriceVariance, PriceRandomValue, Flags1, Flags2, Flags3, Flags4, "
"FactionRelated, ItemNameDescriptionID, RequiredTransmogHoliday, RequiredHoliday, LimitCategory, GemProperties, SocketMatchEnchantmentId, "
- "TotemCategoryID, InstanceBound, ZoneBound, ItemSet, ItemRandomSuffixGroupID, RandomSelect, LockID, StartQuestID, PageID, ItemDelay, "
- "ScalingStatDistributionID, MinFactionID, RequiredSkillRank, RequiredSkill, ItemLevel, AllowableClass, ExpansionID, ArtifactID, SpellWeight, "
- "SpellWeightCategory, SocketType1, SocketType2, SocketType3, SheatheType, Material, PageMaterialID, LanguageID, Bonding, DamageDamageType, "
- "StatModifierBonusStat1, StatModifierBonusStat2, StatModifierBonusStat3, StatModifierBonusStat4, StatModifierBonusStat5, "
- "StatModifierBonusStat6, StatModifierBonusStat7, StatModifierBonusStat8, StatModifierBonusStat9, StatModifierBonusStat10, ContainerSlots, "
- "MinReputation, RequiredPVPMedal, RequiredPVPRank, RequiredLevel, InventoryType, OverallQualityID FROM item_sparse ORDER BY ID DESC", CONNECTION_SYNCH);
+ "TotemCategoryID, InstanceBound, ZoneBound, ItemSet, LockID, StartQuestID, PageID, ItemDelay, ScalingStatDistributionID, MinFactionID, "
+ "RequiredSkillRank, RequiredSkill, ItemLevel, AllowableClass, ExpansionID, ArtifactID, SpellWeight, SpellWeightCategory, SocketType1, "
+ "SocketType2, SocketType3, SheatheType, Material, PageMaterialID, LanguageID, Bonding, DamageDamageType, StatModifierBonusStat1, "
+ "StatModifierBonusStat2, StatModifierBonusStat3, StatModifierBonusStat4, StatModifierBonusStat5, StatModifierBonusStat6, "
+ "StatModifierBonusStat7, StatModifierBonusStat8, StatModifierBonusStat9, StatModifierBonusStat10, ContainerSlots, MinReputation, "
+ "RequiredPVPMedal, RequiredPVPRank, RequiredLevel, InventoryType, OverallQualityID FROM item_sparse ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_ITEM_SPARSE, "SELECT ID, Description_lang, Display3_lang, Display2_lang, Display1_lang, Display_lang"
" FROM item_sparse_locale WHERE locale = ?", CONNECTION_SYNCH);
@@ -643,13 +637,13 @@ void HotfixDatabaseConnection::DoPrepareStatements()
// Map.db2
PrepareStatement(HOTFIX_SEL_MAP, "SELECT ID, Directory, MapName, MapDescription0, MapDescription1, PvpShortDescription, PvpLongDescription, "
"CorpseX, CorpseY, MapType, InstanceType, ExpansionID, AreaTableID, LoadingScreenID, TimeOfDayOverride, ParentMapID, CosmeticParentMapID, "
- "TimeOffset, MinimapIconScale, CorpseMapID, MaxPlayers, WindSettingsID, ZmpFileDataID, Flags1, Flags2 FROM map ORDER BY ID DESC", CONNECTION_SYNCH);
+ "TimeOffset, MinimapIconScale, CorpseMapID, MaxPlayers, WindSettingsID, ZmpFileDataID, WdtFileDataID, Flags1, Flags2 FROM map ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_MAP, "SELECT ID, MapName_lang, MapDescription0_lang, MapDescription1_lang, PvpShortDescription_lang, "
"PvpLongDescription_lang FROM map_locale WHERE locale = ?", CONNECTION_SYNCH);
// MapDifficulty.db2
- PrepareStatement(HOTFIX_SEL_MAP_DIFFICULTY, "SELECT ID, Message, ItemContextPickerID, ContentTuningID, DifficultyID, LockID, ResetInterval, "
- "MaxPlayers, ItemContext, Flags, MapID FROM map_difficulty ORDER BY ID DESC", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_MAP_DIFFICULTY, "SELECT ID, Message, DifficultyID, LockID, ResetInterval, MaxPlayers, ItemContext, "
+ "ItemContextPickerID, Flags, ContentTuningID, 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
@@ -995,8 +989,8 @@ void HotfixDatabaseConnection::DoPrepareStatements()
// TaxiNodes.db2
PrepareStatement(HOTFIX_SEL_TAXI_NODES, "SELECT Name, PosX, PosY, PosZ, MapOffsetX, MapOffsetY, FlightMapOffsetX, FlightMapOffsetY, ID, "
- "ContinentID, ConditionID, CharacterBitNumber, Flags, UiTextureKitID, Facing, SpecialIconConditionID, VisibilityConditionID, "
- "MountCreatureID1, MountCreatureID2 FROM taxi_nodes ORDER BY ID DESC", CONNECTION_SYNCH);
+ "ContinentID, ConditionID, CharacterBitNumber, Flags, UiTextureKitID, MinimapAtlasMemberID, Facing, SpecialIconConditionID, "
+ "VisibilityConditionID, MountCreatureID1, MountCreatureID2 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);
// TaxiPath.db2
@@ -1019,7 +1013,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()
// TransmogSet.db2
PrepareStatement(HOTFIX_SEL_TRANSMOG_SET, "SELECT Name, ID, ClassMask, TrackingQuestID, Flags, TransmogSetGroupID, ItemNameDescriptionID, "
- "ParentTransmogSetID, ExpansionID, UiOrder FROM transmog_set ORDER BY ID DESC", CONNECTION_SYNCH);
+ "ParentTransmogSetID, Unknown810, ExpansionID, PatchID, UiOrder FROM transmog_set ORDER BY ID DESC", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_TRANSMOG_SET, "SELECT ID, Name_lang FROM transmog_set_locale WHERE locale = ?", CONNECTION_SYNCH);
// TransmogSetGroup.db2
diff --git a/src/server/database/Database/Implementation/HotfixDatabase.h b/src/server/database/Database/Implementation/HotfixDatabase.h
index 9ea81915ba3..3406421a8fd 100644
--- a/src/server/database/Database/Implementation/HotfixDatabase.h
+++ b/src/server/database/Database/Implementation/HotfixDatabase.h
@@ -300,12 +300,6 @@ enum HotfixDatabaseStatements : uint32
HOTFIX_SEL_ITEM_PRICE_BASE,
- HOTFIX_SEL_ITEM_RANDOM_PROPERTIES,
- HOTFIX_SEL_ITEM_RANDOM_PROPERTIES_LOCALE,
-
- HOTFIX_SEL_ITEM_RANDOM_SUFFIX,
- HOTFIX_SEL_ITEM_RANDOM_SUFFIX_LOCALE,
-
HOTFIX_SEL_ITEM_SEARCH_NAME,
HOTFIX_SEL_ITEM_SEARCH_NAME_LOCALE,
diff --git a/src/server/game/DataStores/DB2LoadInfo.h b/src/server/game/DataStores/DB2LoadInfo.h
index 2822fb05180..02993db8522 100644
--- a/src/server/game/DataStores/DB2LoadInfo.h
+++ b/src/server/game/DataStores/DB2LoadInfo.h
@@ -43,6 +43,7 @@ struct AchievementLoadInfo
{ true, FT_INT, "Flags" },
{ true, FT_SHORT, "UiOrder" },
{ true, FT_INT, "IconFileID" },
+ { true, FT_INT, "RewardItemID" },
{ false, FT_INT, "CriteriaTree" },
{ true, FT_SHORT, "SharesCriteria" },
};
@@ -231,6 +232,7 @@ struct ArtifactAppearanceLoadInfo
{ false, FT_INT, "UiAltItemAppearanceID" },
{ false, FT_BYTE, "Flags" },
{ false, FT_SHORT, "UiCameraID" },
+ { false, FT_INT, "UsablePlayerConditionID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ArtifactAppearanceMeta::Instance(), HOTFIX_SEL_ARTIFACT_APPEARANCE);
return &loadInfo;
@@ -527,7 +529,7 @@ struct BattlePetSpeciesStateLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_BYTE, "BattlePetStateID" },
+ { false, FT_SHORT, "BattlePetStateID" },
{ true, FT_INT, "Value" },
{ false, FT_SHORT, "BattlePetSpeciesID" },
};
@@ -621,6 +623,8 @@ struct CfgRegionsLoadInfo
{ false, FT_INT, "Raidorigin" },
{ false, FT_BYTE, "RegionGroupMask" },
{ false, FT_INT, "ChallengeOrigin" },
+ { true, FT_INT, "ChallengeTimeOffset1" },
+ { true, FT_INT, "ChallengeTimeOffset2" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, Cfg_RegionsMeta::Instance(), HOTFIX_SEL_CFG_REGIONS);
return &loadInfo;
@@ -780,6 +784,7 @@ struct ChrClassesLoadInfo
{ false, FT_INT, "IconFileDataID" },
{ false, FT_INT, "LowResScreenFileDataID" },
{ true, FT_INT, "StartingLevel" },
+ { false, FT_INT, "SpellTextureBlobFileDataID" },
{ false, FT_SHORT, "Flags" },
{ false, FT_SHORT, "CinematicSequenceID" },
{ false, FT_SHORT, "DefaultSpec" },
@@ -1194,6 +1199,7 @@ struct CurrencyTypesLoadInfo
{ false, FT_INT, "Flags" },
{ true, FT_BYTE, "Quality" },
{ true, FT_INT, "FactionID" },
+ { true, FT_INT, "ItemGroupSoundsID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, CurrencyTypesMeta::Instance(), HOTFIX_SEL_CURRENCY_TYPES);
return &loadInfo;
@@ -1281,7 +1287,7 @@ struct DifficultyLoadInfo
{ false, FT_BYTE, "FallbackDifficultyID" },
{ false, FT_BYTE, "MinPlayers" },
{ false, FT_BYTE, "MaxPlayers" },
- { false, FT_BYTE, "Flags" },
+ { false, FT_SHORT, "Flags" },
{ false, FT_BYTE, "ItemContext" },
{ false, FT_BYTE, "ToggleDifficultyID" },
{ false, FT_SHORT, "GroupSizeHealthCurveID" },
@@ -1304,10 +1310,12 @@ struct DungeonEncounterLoadInfo
{ true, FT_SHORT, "MapID" },
{ true, FT_BYTE, "DifficultyID" },
{ true, FT_INT, "OrderIndex" },
+ { true, FT_INT, "CompleteWorldStateID" },
{ true, FT_BYTE, "Bit" },
{ true, FT_INT, "CreatureDisplayID" },
{ false, FT_BYTE, "Flags" },
{ true, FT_INT, "SpellIconFileID" },
+ { true, FT_INT, "Faction" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, DungeonEncounterMeta::Instance(), HOTFIX_SEL_DUNGEON_ENCOUNTER);
return &loadInfo;
@@ -1487,7 +1495,7 @@ struct FactionLoadInfo
{ true, FT_SHORT, "ReputationIndex" },
{ false, FT_SHORT, "ParentFactionID" },
{ false, FT_BYTE, "Expansion" },
- { false, FT_BYTE, "FriendshipRepID" },
+ { false, FT_INT, "FriendshipRepID" },
{ false, FT_BYTE, "Flags" },
{ false, FT_SHORT, "ParagonFactionID" },
{ true, FT_SHORT, "ReputationClassMask1" },
@@ -1991,9 +1999,11 @@ struct HeirloomLoadInfo
{ true, FT_INT, "UpgradeItemID1" },
{ true, FT_INT, "UpgradeItemID2" },
{ true, FT_INT, "UpgradeItemID3" },
+ { true, FT_INT, "UpgradeItemID4" },
{ false, FT_SHORT, "UpgradeItemBonusListID1" },
{ false, FT_SHORT, "UpgradeItemBonusListID2" },
{ false, FT_SHORT, "UpgradeItemBonusListID3" },
+ { false, FT_SHORT, "UpgradeItemBonusListID4" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, HeirloomMeta::Instance(), HOTFIX_SEL_HEIRLOOM);
return &loadInfo;
@@ -2040,6 +2050,16 @@ struct HolidaysLoadInfo
{ false, FT_INT, "Date14" },
{ false, FT_INT, "Date15" },
{ false, FT_INT, "Date16" },
+ { false, FT_INT, "Date17" },
+ { false, FT_INT, "Date18" },
+ { false, FT_INT, "Date19" },
+ { false, FT_INT, "Date20" },
+ { false, FT_INT, "Date21" },
+ { false, FT_INT, "Date22" },
+ { false, FT_INT, "Date23" },
+ { false, FT_INT, "Date24" },
+ { false, FT_INT, "Date25" },
+ { false, FT_INT, "Date26" },
{ false, FT_BYTE, "CalendarFlags1" },
{ false, FT_BYTE, "CalendarFlags2" },
{ false, FT_BYTE, "CalendarFlags3" },
@@ -2287,9 +2307,9 @@ struct ItemChildEquipmentLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
+ { true, FT_INT, "ParentItemID" },
{ true, FT_INT, "ChildItemID" },
{ false, FT_BYTE, "ChildItemEquipSlot" },
- { true, FT_INT, "ParentItemID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemChildEquipmentMeta::Instance(), HOTFIX_SEL_ITEM_CHILD_EQUIPMENT);
return &loadInfo;
@@ -2522,6 +2542,7 @@ struct ItemLevelSelectorLoadInfo
{ false, FT_INT, "ID" },
{ false, FT_SHORT, "MinItemLevel" },
{ false, FT_SHORT, "ItemLevelSelectorQualitySetID" },
+ { false, FT_SHORT, "AzeriteUnlockMappingSet" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemLevelSelectorMeta::Instance(), HOTFIX_SEL_ITEM_LEVEL_SELECTOR);
return &loadInfo;
@@ -2625,49 +2646,6 @@ struct ItemPriceBaseLoadInfo
}
};
-struct ItemRandomPropertiesLoadInfo
-{
- static DB2LoadInfo const* Instance()
- {
- static DB2FieldMeta const fields[] =
- {
- { false, FT_INT, "ID" },
- { false, FT_STRING, "Name" },
- { false, FT_SHORT, "Enchantment1" },
- { false, FT_SHORT, "Enchantment2" },
- { false, FT_SHORT, "Enchantment3" },
- { false, FT_SHORT, "Enchantment4" },
- { false, FT_SHORT, "Enchantment5" },
- };
- static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemRandomPropertiesMeta::Instance(), HOTFIX_SEL_ITEM_RANDOM_PROPERTIES);
- return &loadInfo;
- }
-};
-
-struct ItemRandomSuffixLoadInfo
-{
- static DB2LoadInfo const* Instance()
- {
- static DB2FieldMeta const fields[] =
- {
- { false, FT_INT, "ID" },
- { false, FT_STRING, "Name" },
- { false, FT_SHORT, "Enchantment1" },
- { false, FT_SHORT, "Enchantment2" },
- { false, FT_SHORT, "Enchantment3" },
- { false, FT_SHORT, "Enchantment4" },
- { false, FT_SHORT, "Enchantment5" },
- { false, FT_SHORT, "AllocationPct1" },
- { false, FT_SHORT, "AllocationPct2" },
- { false, FT_SHORT, "AllocationPct3" },
- { false, FT_SHORT, "AllocationPct4" },
- { false, FT_SHORT, "AllocationPct5" },
- };
- static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemRandomSuffixMeta::Instance(), HOTFIX_SEL_ITEM_RANDOM_SUFFIX);
- return &loadInfo;
- }
-};
-
struct ItemSearchNameLoadInfo
{
static DB2LoadInfo const* Instance()
@@ -2809,8 +2787,6 @@ struct ItemSparseLoadInfo
{ false, FT_SHORT, "InstanceBound" },
{ false, FT_SHORT, "ZoneBound" },
{ false, FT_SHORT, "ItemSet" },
- { false, FT_SHORT, "ItemRandomSuffixGroupID" },
- { false, FT_SHORT, "RandomSelect" },
{ false, FT_SHORT, "LockID" },
{ false, FT_SHORT, "StartQuestID" },
{ false, FT_SHORT, "PageID" },
@@ -3199,6 +3175,7 @@ struct MapLoadInfo
{ false, FT_BYTE, "MaxPlayers" },
{ true, FT_SHORT, "WindSettingsID" },
{ true, FT_INT, "ZmpFileDataID" },
+ { true, FT_INT, "WdtFileDataID" },
{ true, FT_INT, "Flags1" },
{ true, FT_INT, "Flags2" },
};
@@ -3215,15 +3192,15 @@ struct MapDifficultyLoadInfo
{
{ false, FT_INT, "ID" },
{ false, FT_STRING, "Message" },
- { false, FT_INT, "ItemContextPickerID" },
+ { true, FT_INT, "DifficultyID" },
+ { true, FT_INT, "LockID" },
+ { true, FT_BYTE, "ResetInterval" },
+ { true, FT_INT, "MaxPlayers" },
+ { true, FT_INT, "ItemContext" },
+ { true, FT_INT, "ItemContextPickerID" },
+ { true, FT_INT, "Flags" },
{ true, FT_INT, "ContentTuningID" },
- { false, FT_BYTE, "DifficultyID" },
- { false, FT_BYTE, "LockID" },
- { false, FT_BYTE, "ResetInterval" },
- { false, FT_BYTE, "MaxPlayers" },
- { false, FT_BYTE, "ItemContext" },
- { false, FT_BYTE, "Flags" },
- { false, FT_SHORT, "MapID" },
+ { true, FT_INT, "MapID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, MapDifficultyMeta::Instance(), HOTFIX_SEL_MAP_DIFFICULTY);
return &loadInfo;
@@ -4182,7 +4159,7 @@ struct SoundKitLoadInfo
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
- { false, FT_BYTE, "SoundType" },
+ { true, FT_INT, "SoundType" },
{ false, FT_FLOAT, "VolumeFloat" },
{ false, FT_SHORT, "Flags" },
{ false, FT_FLOAT, "MinDistance" },
@@ -5026,10 +5003,11 @@ struct TaxiNodesLoadInfo
{ false, FT_FLOAT, "FlightMapOffsetY" },
{ false, FT_INT, "ID" },
{ false, FT_SHORT, "ContinentID" },
- { false, FT_SHORT, "ConditionID" },
+ { true, FT_INT, "ConditionID" },
{ false, FT_SHORT, "CharacterBitNumber" },
{ false, FT_BYTE, "Flags" },
{ true, FT_INT, "UiTextureKitID" },
+ { true, FT_INT, "MinimapAtlasMemberID" },
{ false, FT_FLOAT, "Facing" },
{ false, FT_INT, "SpecialIconConditionID" },
{ false, FT_INT, "VisibilityConditionID" },
@@ -5072,8 +5050,8 @@ struct TaxiPathNodeLoadInfo
{ false, FT_SHORT, "ContinentID" },
{ false, FT_BYTE, "Flags" },
{ false, FT_INT, "Delay" },
- { false, FT_SHORT, "ArrivalEventID" },
- { false, FT_SHORT, "DepartureEventID" },
+ { true, FT_INT, "ArrivalEventID" },
+ { true, FT_INT, "DepartureEventID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, TaxiPathNodeMeta::Instance(), HOTFIX_SEL_TAXI_PATH_NODE);
return &loadInfo;
@@ -5141,7 +5119,9 @@ struct TransmogSetLoadInfo
{ false, FT_INT, "TransmogSetGroupID" },
{ true, FT_INT, "ItemNameDescriptionID" },
{ false, FT_SHORT, "ParentTransmogSetID" },
+ { false, FT_BYTE, "Unknown810" },
{ false, FT_BYTE, "ExpansionID" },
+ { true, FT_INT, "PatchID" },
{ true, FT_SHORT, "UiOrder" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, TransmogSetMeta::Instance(), HOTFIX_SEL_TRANSMOG_SET);
@@ -5500,7 +5480,7 @@ struct WorldEffectLoadInfo
{ false, FT_INT, "ID" },
{ false, FT_INT, "QuestFeedbackEffectID" },
{ false, FT_BYTE, "WhenToDisplay" },
- { false, FT_BYTE, "TargetType" },
+ { true, FT_BYTE, "TargetType" },
{ true, FT_INT, "TargetAsset" },
{ false, FT_INT, "PlayerConditionID" },
{ false, FT_SHORT, "CombatConditionID" },
diff --git a/src/server/game/DataStores/DB2Metadata.h b/src/server/game/DataStores/DB2Metadata.h
index 82e82b4203c..04fc9b76b97 100644
--- a/src/server/game/DataStores/DB2Metadata.h
+++ b/src/server/game/DataStores/DB2Metadata.h
@@ -24,7 +24,7 @@ struct AchievementMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[15] =
+ static DB2MetaField const fields[16] =
{
{ FT_STRING, 1, true },
{ FT_STRING, 1, true },
@@ -39,10 +39,11 @@ struct AchievementMeta
{ FT_INT, 1, true },
{ FT_SHORT, 1, true },
{ FT_INT, 1, true },
+ { FT_INT, 1, true },
{ FT_INT, 1, false },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(3, 15, 0x13CB7BEE, fields, 11);
+ static DB2Meta instance(1260179, 3, 16, 0x126B44E5, fields, 11);
return &instance;
}
};
@@ -58,7 +59,7 @@ struct Achievement_CategoryMeta
{ FT_SHORT, 1, true },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(1, 4, 0x0B008A91, fields, 3);
+ static DB2Meta instance(1324299, 1, 4, 0x0B008A91, fields, 3);
return &instance;
}
};
@@ -87,12 +88,12 @@ struct AdventureJournalMeta
{ FT_INT, 1, true },
{ FT_INT, 1, false },
{ FT_SHORT, 1, false },
- { FT_BYTE, 1, false },
+ { FT_INT, 1, false },
{ FT_SHORT, 1, false },
{ FT_INT, 2, false },
{ FT_BYTE, 2, false },
};
- static DB2Meta instance(-1, 22, 0x9D620FC8, fields, -1);
+ static DB2Meta instance(1115949, -1, 22, 0x4FEAA1F0, fields, -1);
return &instance;
}
};
@@ -116,7 +117,7 @@ struct AdventureMapPOIMeta
{ FT_INT, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 12, 0x4AABC870, fields, -1);
+ static DB2Meta instance(1267070, -1, 12, 0x4AABC870, fields, -1);
return &instance;
}
};
@@ -136,7 +137,7 @@ struct AlliedRaceMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(0, 8, 0xE89FA2D2, fields, -1);
+ static DB2Meta instance(1710672, 0, 8, 0xE89FA2D2, fields, -1);
return &instance;
}
};
@@ -153,7 +154,7 @@ struct AlliedRaceRacialAbilityMeta
{ FT_BYTE, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 5, 0x96902165, fields, 4);
+ static DB2Meta instance(1720145, -1, 5, 0x96902165, fields, 4);
return &instance;
}
};
@@ -168,7 +169,7 @@ struct AnimKitMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 3, 0x0C4BCDEC, fields, -1);
+ static DB2Meta instance(1304323, -1, 3, 0x0C4BCDEC, fields, -1);
return &instance;
}
};
@@ -185,7 +186,7 @@ struct AnimKitBoneSetMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 5, 0x1C432613, fields, -1);
+ static DB2Meta instance(1375433, -1, 5, 0x1C432613, fields, -1);
return &instance;
}
};
@@ -199,7 +200,7 @@ struct AnimKitBoneSetAliasMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 2, 0xB307E8FC, fields, -1);
+ static DB2Meta instance(1266937, -1, 2, 0xB307E8FC, fields, -1);
return &instance;
}
};
@@ -212,7 +213,7 @@ struct AnimKitConfigMeta
{
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 1, 0x972D46F8, fields, -1);
+ static DB2Meta instance(1300872, -1, 1, 0x972D46F8, fields, -1);
return &instance;
}
};
@@ -227,7 +228,7 @@ struct AnimKitConfigBoneSetMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 3, 0x48518303, fields, 2);
+ static DB2Meta instance(1300873, -1, 3, 0x48518303, fields, 2);
return &instance;
}
};
@@ -240,7 +241,7 @@ struct AnimKitPriorityMeta
{
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 1, 0x27ED596B, fields, -1);
+ static DB2Meta instance(1266540, -1, 1, 0x27ED596B, fields, -1);
return &instance;
}
};
@@ -257,7 +258,7 @@ struct AnimKitReplacementMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(0, 5, 0xB0BBA55F, fields, 4);
+ static DB2Meta instance(1559807, 0, 5, 0xB0BBA55F, fields, 4);
return &instance;
}
};
@@ -287,7 +288,7 @@ struct AnimKitSegmentMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 18, 0xEBF796F5, fields, 0);
+ static DB2Meta instance(1304324, -1, 18, 0xEBF796F5, fields, 0);
return &instance;
}
};
@@ -304,7 +305,7 @@ struct AnimReplacementMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(0, 5, 0x5D91ABFD, fields, 4);
+ static DB2Meta instance(1301100, 0, 5, 0x5D91ABFD, fields, 4);
return &instance;
}
};
@@ -317,7 +318,7 @@ struct AnimReplacementSetMeta
{
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 1, 0x15AFC3D6, fields, -1);
+ static DB2Meta instance(1284817, -1, 1, 0x15AFC3D6, fields, -1);
return &instance;
}
};
@@ -333,7 +334,7 @@ struct AnimationDataMeta
{ FT_INT, 1, true },
{ FT_INT, 2, true },
};
- static DB2Meta instance(-1, 4, 0xFB408E92, fields, -1);
+ static DB2Meta instance(1375431, -1, 4, 0xFB408E92, fields, -1);
return &instance;
}
};
@@ -350,7 +351,7 @@ struct AoiBoxMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 5, 0x173154C8, fields, 4);
+ static DB2Meta instance(2140223, -1, 5, 0x173154C8, fields, 4);
return &instance;
}
};
@@ -367,7 +368,7 @@ struct AreaConditionalDataMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(1, 5, 0xBE8C656A, fields, 4);
+ static DB2Meta instance(2123730, 1, 5, 0xBE8C656A, fields, 4);
return &instance;
}
};
@@ -383,7 +384,7 @@ struct AreaFarClipOverrideMeta
{ FT_FLOAT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 4, 0xD7028AD6, fields, -1);
+ static DB2Meta instance(1537162, -1, 4, 0xD7028AD6, fields, -1);
return &instance;
}
};
@@ -397,7 +398,7 @@ struct AreaGroupMemberMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 2, 0x27C84A16, fields, 1);
+ static DB2Meta instance(1093406, -1, 2, 0x27C84A16, fields, 1);
return &instance;
}
};
@@ -406,7 +407,7 @@ struct AreaPOIMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[17] =
+ static DB2MetaField const fields[18] =
{
{ FT_STRING, 1, true },
{ FT_STRING, 1, true },
@@ -423,10 +424,11 @@ struct AreaPOIMeta
{ FT_SHORT, 1, true },
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
+ { FT_SHORT, 1, false },
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(2, 17, 0x34D56581, fields, 11);
+ static DB2Meta instance(1000630, 2, 18, 0xB6C3F3AB, fields, 11);
return &instance;
}
};
@@ -443,7 +445,7 @@ struct AreaPOIStateMeta
{ FT_INT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 5, 0xEB8CA12C, fields, 4);
+ static DB2Meta instance(1000631, -1, 5, 0xEB8CA12C, fields, 4);
return &instance;
}
};
@@ -478,7 +480,7 @@ struct AreaTableMeta
{ FT_INT, 2, true },
{ FT_SHORT, 4, false },
};
- static DB2Meta instance(-1, 23, 0x22229BE7, fields, -1);
+ static DB2Meta instance(1353545, -1, 23, 0x22229BE7, fields, -1);
return &instance;
}
};
@@ -505,7 +507,7 @@ struct AreaTriggerMeta
{ FT_SHORT, 1, true },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(1, 15, 0x61A4F966, fields, 2);
+ static DB2Meta instance(1354401, 1, 15, 0x61A4F966, fields, 2);
return &instance;
}
};
@@ -518,7 +520,7 @@ struct AreaTriggerActionSetMeta
{
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(-1, 1, 0xBE34F649, fields, -1);
+ static DB2Meta instance(1352378, -1, 1, 0xBE34F649, fields, -1);
return &instance;
}
};
@@ -531,7 +533,7 @@ struct AreaTriggerBoxMeta
{
{ FT_FLOAT, 3, true },
};
- static DB2Meta instance(-1, 1, 0x14918F12, fields, -1);
+ static DB2Meta instance(1332554, -1, 1, 0x14918F12, fields, -1);
return &instance;
}
};
@@ -545,7 +547,7 @@ struct AreaTriggerCreatePropertiesMeta
{ FT_BYTE, 1, true },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(-1, 2, 0xAAE6E300, fields, -1);
+ static DB2Meta instance(1937227, -1, 2, 0xAAE6E300, fields, -1);
return &instance;
}
};
@@ -560,7 +562,7 @@ struct AreaTriggerCylinderMeta
{ FT_FLOAT, 1, true },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 3, 0x867834A9, fields, -1);
+ static DB2Meta instance(1121943, -1, 3, 0x867834A9, fields, -1);
return &instance;
}
};
@@ -573,7 +575,7 @@ struct AreaTriggerSphereMeta
{
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 1, 0xF1D2220B, fields, -1);
+ static DB2Meta instance(1315630, -1, 1, 0xF1D2220B, fields, -1);
return &instance;
}
};
@@ -590,7 +592,7 @@ struct ArmorLocationMeta
{ FT_FLOAT, 1, true },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 5, 0x1C0BBC02, fields, -1);
+ static DB2Meta instance(1284818, -1, 5, 0x1C0BBC02, fields, -1);
return &instance;
}
};
@@ -613,7 +615,7 @@ struct ArtifactMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(1, 11, 0x780D61EA, fields, -1);
+ static DB2Meta instance(1007934, 1, 11, 0x780D61EA, fields, -1);
return &instance;
}
};
@@ -622,7 +624,7 @@ struct ArtifactAppearanceMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[15] =
+ static DB2MetaField const fields[16] =
{
{ FT_STRING, 1, true },
{ FT_INT, 1, false },
@@ -639,8 +641,9 @@ struct ArtifactAppearanceMeta
{ FT_INT, 1, false },
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
+ { FT_INT, 1, false },
};
- static DB2Meta instance(1, 15, 0x330F75C9, fields, 2);
+ static DB2Meta instance(1116407, 1, 16, 0xA4ABF40A, fields, 2);
return &instance;
}
};
@@ -661,7 +664,7 @@ struct ArtifactAppearanceSetMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(2, 9, 0xBB4DB4D3, fields, 8);
+ static DB2Meta instance(1116408, 2, 9, 0xBB4DB4D3, fields, 8);
return &instance;
}
};
@@ -675,7 +678,7 @@ struct ArtifactCategoryMeta
{ FT_SHORT, 1, true },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(-1, 2, 0x484A6D55, fields, -1);
+ static DB2Meta instance(1376210, -1, 2, 0x484A6D55, fields, -1);
return &instance;
}
};
@@ -690,7 +693,7 @@ struct ArtifactItemToTransmogMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0xD54CBBE1, fields, 0);
+ static DB2Meta instance(2029780, -1, 3, 0xD54CBBE1, fields, 0);
return &instance;
}
};
@@ -709,7 +712,7 @@ struct ArtifactPowerMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(1, 7, 0x1F7637C8, fields, 2);
+ static DB2Meta instance(1007937, 1, 7, 0x1F7637C8, fields, 2);
return &instance;
}
};
@@ -723,7 +726,7 @@ struct ArtifactPowerLinkMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 2, 0xBB7E3584, fields, -1);
+ static DB2Meta instance(1133731, -1, 2, 0xBB7E3584, fields, -1);
return &instance;
}
};
@@ -736,7 +739,7 @@ struct ArtifactPowerPickerMeta
{
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 1, 0x253242BA, fields, -1);
+ static DB2Meta instance(1597467, -1, 1, 0x253242BA, fields, -1);
return &instance;
}
};
@@ -753,7 +756,7 @@ struct ArtifactPowerRankMeta
{ FT_FLOAT, 1, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 5, 0x7DC78F1E, fields, 4);
+ static DB2Meta instance(1261405, -1, 5, 0x7DC78F1E, fields, 4);
return &instance;
}
};
@@ -766,7 +769,7 @@ struct ArtifactQuestXPMeta
{
{ FT_INT, 10, false },
};
- static DB2Meta instance(-1, 1, 0x7E00C5B6, fields, -1);
+ static DB2Meta instance(1036203, -1, 1, 0x7E00C5B6, fields, -1);
return &instance;
}
};
@@ -783,7 +786,7 @@ struct ArtifactTierMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 5, 0xA47F6D9D, fields, -1);
+ static DB2Meta instance(1600114, -1, 5, 0xA47F6D9D, fields, -1);
return &instance;
}
};
@@ -800,7 +803,7 @@ struct ArtifactUnlockMeta
{ FT_INT, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 5, 0x40C54B9F, fields, 4);
+ static DB2Meta instance(1094540, -1, 5, 0x40C54B9F, fields, 4);
return &instance;
}
};
@@ -816,7 +819,7 @@ struct AuctionHouseMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 4, 0x61E641BA, fields, -1);
+ static DB2Meta instance(1237439, -1, 4, 0x61E641BA, fields, -1);
return &instance;
}
};
@@ -831,7 +834,7 @@ struct AzeriteEmpoweredItemMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 3, 0x4078BECD, fields, -1);
+ static DB2Meta instance(1846046, -1, 3, 0x4078BECD, fields, -1);
return &instance;
}
};
@@ -844,7 +847,7 @@ struct AzeriteItemMeta
{
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 1, 0xDAC6A93C, fields, -1);
+ static DB2Meta instance(1846048, -1, 1, 0xDAC6A93C, fields, -1);
return &instance;
}
};
@@ -858,7 +861,7 @@ struct AzeriteItemMilestonePowerMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(-1, 2, 0x7C4DC43D, fields, -1);
+ static DB2Meta instance(1915395, -1, 2, 0x7C4DC43D, fields, -1);
return &instance;
}
};
@@ -874,7 +877,7 @@ struct AzeritePowerMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 4, 0xE7FE46AC, fields, -1);
+ static DB2Meta instance(1846044, -1, 4, 0xE7FE46AC, fields, -1);
return &instance;
}
};
@@ -886,12 +889,12 @@ struct AzeritePowerSetMemberMeta
static DB2MetaField const fields[5] =
{
{ FT_SHORT, 1, false },
+ { FT_SHORT, 1, false },
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
- { FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 5, 0xDB24A281, fields, 4);
+ static DB2Meta instance(1846040, -1, 5, 0x62C2D471, fields, 0);
return &instance;
}
};
@@ -907,7 +910,37 @@ struct AzeriteTierUnlockMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 4, 0x2B04F059, fields, 3);
+ static DB2Meta instance(1846043, -1, 4, 0x2B04F059, fields, 3);
+ return &instance;
+ }
+};
+
+struct AzeriteTierUnlockSetMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[1] =
+ {
+ { FT_INT, 1, true },
+ };
+ static DB2Meta instance(2446322, -1, 1, 0x78F7B48B, fields, -1);
+ return &instance;
+ }
+};
+
+struct AzeriteUnlockMappingMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[5] =
+ {
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ };
+ static DB2Meta instance(2564314, -1, 5, 0x102F3E5F, fields, 4);
return &instance;
}
};
@@ -920,7 +953,7 @@ struct BankBagSlotPricesMeta
{
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 1, 0x897A4D1E, fields, -1);
+ static DB2Meta instance(1284819, -1, 1, 0x897A4D1E, fields, -1);
return &instance;
}
};
@@ -935,7 +968,7 @@ struct BannedAddonsMeta
{ FT_STRING_NOT_LOCALIZED, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 3, 0xF4525F59, fields, -1);
+ static DB2Meta instance(1373459, -1, 3, 0xF4525F59, fields, -1);
return &instance;
}
};
@@ -955,7 +988,31 @@ struct BarberShopStyleMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(2, 8, 0x2DD3952C, fields, -1);
+ static DB2Meta instance(1237437, 2, 8, 0x2DD3952C, fields, -1);
+ return &instance;
+ }
+};
+
+struct BarrageEffectMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[12] =
+ {
+ { FT_INT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_BYTE, 1, true },
+ { FT_INT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ };
+ static DB2Meta instance(2499852, -1, 12, 0x0CE31822, fields, -1);
return &instance;
}
};
@@ -974,7 +1031,7 @@ struct BattlePetAbilityMeta
{ FT_SHORT, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 7, 0x4C3AF583, fields, -1);
+ static DB2Meta instance(841610, -1, 7, 0x4C3AF583, fields, -1);
return &instance;
}
};
@@ -993,7 +1050,7 @@ struct BattlePetAbilityEffectMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 6, true },
};
- static DB2Meta instance(0, 7, 0xC850B549, fields, 1);
+ static DB2Meta instance(801575, 0, 7, 0xC850B549, fields, 1);
return &instance;
}
};
@@ -1004,11 +1061,11 @@ struct BattlePetAbilityStateMeta
{
static DB2MetaField const fields[3] =
{
- { FT_BYTE, 1, false },
+ { FT_INT, 1, false },
{ FT_INT, 1, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 3, 0x73DDAA6A, fields, 2);
+ static DB2Meta instance(801576, -1, 3, 0x30DDCC32, fields, 2);
return &instance;
}
};
@@ -1026,7 +1083,7 @@ struct BattlePetAbilityTurnMeta
{ FT_BYTE, 1, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(0, 6, 0xF2218887, fields, 1);
+ static DB2Meta instance(801577, 0, 6, 0xF2218887, fields, 1);
return &instance;
}
};
@@ -1040,7 +1097,7 @@ struct BattlePetBreedQualityMeta
{ FT_FLOAT, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 2, 0x6CD46EB5, fields, -1);
+ static DB2Meta instance(801578, -1, 2, 0x6CD46EB5, fields, -1);
return &instance;
}
};
@@ -1055,7 +1112,7 @@ struct BattlePetBreedStateMeta
{ FT_SHORT, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 3, 0xC1A59CCF, fields, 2);
+ static DB2Meta instance(801579, -1, 3, 0xC1A59CCF, fields, 2);
return &instance;
}
};
@@ -1071,7 +1128,7 @@ struct BattlePetDisplayOverrideMeta
{ FT_INT, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 4, 0x6F9CB092, fields, -1);
+ static DB2Meta instance(1802988, -1, 4, 0x6F9CB092, fields, -1);
return &instance;
}
};
@@ -1086,7 +1143,7 @@ struct BattlePetEffectPropertiesMeta
{ FT_SHORT, 1, false },
{ FT_BYTE, 6, false },
};
- static DB2Meta instance(-1, 3, 0xA2D4ADF5, fields, -1);
+ static DB2Meta instance(801580, -1, 3, 0xA2D4ADF5, fields, -1);
return &instance;
}
};
@@ -1099,7 +1156,7 @@ struct BattlePetNPCTeamMemberMeta
{
{ FT_STRING, 1, true },
};
- static DB2Meta instance(-1, 1, 0x9F2C8370, fields, -1);
+ static DB2Meta instance(841648, -1, 1, 0x9F2C8370, fields, -1);
return &instance;
}
};
@@ -1122,7 +1179,7 @@ struct BattlePetSpeciesMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(2, 11, 0x78A6B928, fields, -1);
+ static DB2Meta instance(841622, 2, 11, 0x78A6B928, fields, -1);
return &instance;
}
};
@@ -1133,11 +1190,11 @@ struct BattlePetSpeciesStateMeta
{
static DB2MetaField const fields[3] =
{
- { FT_BYTE, 1, false },
+ { FT_SHORT, 1, false },
{ FT_INT, 1, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 3, 0x99EBACAA, fields, 2);
+ static DB2Meta instance(801581, -1, 3, 0xFE1277C8, fields, 2);
return &instance;
}
};
@@ -1153,7 +1210,7 @@ struct BattlePetSpeciesXAbilityMeta
{ FT_BYTE, 1, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 4, 0x630BA932, fields, 3);
+ static DB2Meta instance(801582, -1, 4, 0x630BA932, fields, 3);
return &instance;
}
};
@@ -1168,7 +1225,7 @@ struct BattlePetStateMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 3, 0xF9579FAC, fields, -1);
+ static DB2Meta instance(801583, -1, 3, 0xF9579FAC, fields, -1);
return &instance;
}
};
@@ -1187,7 +1244,7 @@ struct BattlePetVisualMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 7, 0x284AF258, fields, -1);
+ static DB2Meta instance(801584, -1, 7, 0x284AF258, fields, -1);
return &instance;
}
};
@@ -1216,7 +1273,7 @@ struct BattlemasterListMeta
{ FT_SHORT, 1, true },
{ FT_SHORT, 16, true },
};
- static DB2Meta instance(-1, 17, 0x167284E8, fields, -1);
+ static DB2Meta instance(1360265, -1, 17, 0x167284E8, fields, -1);
return &instance;
}
};
@@ -1238,7 +1295,7 @@ struct BeamEffectMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 10, 0x0E55B843, fields, -1);
+ static DB2Meta instance(1525607, -1, 10, 0x0E55B843, fields, -1);
return &instance;
}
};
@@ -1252,7 +1309,7 @@ struct BoneWindModifierModelMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 2, 0x77B007CA, fields, 0);
+ static DB2Meta instance(1467254, -1, 2, 0x77B007CA, fields, 0);
return &instance;
}
};
@@ -1266,7 +1323,7 @@ struct BoneWindModifiersMeta
{ FT_FLOAT, 3, true },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 2, 0xC6F446CE, fields, -1);
+ static DB2Meta instance(1416756, -1, 2, 0xC6F446CE, fields, -1);
return &instance;
}
};
@@ -1282,7 +1339,7 @@ struct BonusRollMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 4, 0xF7A194FA, fields, -1);
+ static DB2Meta instance(1983274, -1, 4, 0xF7A194FA, fields, -1);
return &instance;
}
};
@@ -1299,7 +1356,7 @@ struct BountyMeta
{ FT_INT, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 5, 0x797CCAA0, fields, 4);
+ static DB2Meta instance(1367866, -1, 5, 0x797CCAA0, fields, 4);
return &instance;
}
};
@@ -1313,7 +1370,7 @@ struct BountySetMeta
{ FT_INT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 2, 0xB67E3F83, fields, -1);
+ static DB2Meta instance(1367865, -1, 2, 0xB67E3F83, fields, -1);
return &instance;
}
};
@@ -1336,7 +1393,22 @@ struct BroadcastTextMeta
{ FT_SHORT, 3, false },
{ FT_SHORT, 3, false },
};
- static DB2Meta instance(2, 11, 0x6318993B, fields, -1);
+ static DB2Meta instance(841604, 2, 11, 0x6318993B, fields, -1);
+ return &instance;
+ }
+};
+
+struct BroadcastTextDurationMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[3] =
+ {
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ };
+ static DB2Meta instance(2166900, -1, 3, 0x6466B673, fields, 0);
return &instance;
}
};
@@ -1349,7 +1421,7 @@ struct CameraEffectMeta
{
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 1, 0xAB0FD78E, fields, -1);
+ static DB2Meta instance(1117695, -1, 1, 0xAB0FD78E, fields, -1);
return &instance;
}
};
@@ -1377,7 +1449,7 @@ struct CameraEffectEntryMeta
{ FT_BYTE, 1, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 16, 0xED27DC2F, fields, 15);
+ static DB2Meta instance(1117696, -1, 16, 0xED27DC2F, fields, 15);
return &instance;
}
};
@@ -1400,7 +1472,7 @@ struct CameraModeMeta
{ FT_BYTE, 1, true },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 11, 0xEE5489F4, fields, -1);
+ static DB2Meta instance(1343308, -1, 11, 0xEE5489F4, fields, -1);
return &instance;
}
};
@@ -1419,7 +1491,7 @@ struct CampaignMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(3, 7, 0x2D49AABD, fields, -1);
+ static DB2Meta instance(2031607, 3, 7, 0x2D49AABD, fields, -1);
return &instance;
}
};
@@ -1434,7 +1506,7 @@ struct CampaignXConditionMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 3, 0x638FC159, fields, 2);
+ static DB2Meta instance(2031611, -1, 3, 0x638FC159, fields, 2);
return &instance;
}
};
@@ -1449,7 +1521,7 @@ struct CampaignXQuestLineMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 3, 0x7303E0F9, fields, 0);
+ static DB2Meta instance(2036722, -1, 3, 0x7303E0F9, fields, 0);
return &instance;
}
};
@@ -1463,7 +1535,7 @@ struct CastableRaidBuffsMeta
{ FT_INT, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 2, 0x3B349C01, fields, 1);
+ static DB2Meta instance(1283018, -1, 2, 0x3B349C01, fields, 1);
return &instance;
}
};
@@ -1490,7 +1562,7 @@ struct CelestialBodyMeta
{ FT_FLOAT, 2, true },
{ FT_FLOAT, 2, true },
};
- static DB2Meta instance(1, 15, 0xFC417DCA, fields, -1);
+ static DB2Meta instance(1592470, 1, 15, 0xFC417DCA, fields, -1);
return &instance;
}
};
@@ -1507,7 +1579,7 @@ struct Cfg_CategoriesMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 5, 0xB6FEB874, fields, -1);
+ static DB2Meta instance(1068162, -1, 5, 0xB6FEB874, fields, -1);
return &instance;
}
};
@@ -1523,7 +1595,7 @@ struct Cfg_ConfigsMeta
{ FT_SHORT, 1, false },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 4, 0xA275539B, fields, -1);
+ static DB2Meta instance(1080949, -1, 4, 0xA275539B, fields, -1);
return &instance;
}
};
@@ -1532,15 +1604,16 @@ struct Cfg_RegionsMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[5] =
+ static DB2MetaField const fields[6] =
{
{ FT_STRING_NOT_LOCALIZED, 1, true },
{ FT_SHORT, 1, false },
{ FT_INT, 1, false },
{ FT_BYTE, 1, false },
{ FT_INT, 1, false },
+ { FT_INT, 2, true },
};
- static DB2Meta instance(-1, 5, 0x0125202F, fields, -1);
+ static DB2Meta instance(1082876, -1, 6, 0xF85137B2, fields, -1);
return &instance;
}
};
@@ -1554,7 +1627,7 @@ struct CharBaseInfoMeta
{ FT_BYTE, 1, true },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 2, 0x10AA45F8, fields, -1);
+ static DB2Meta instance(1343386, -1, 2, 0x10AA45F8, fields, -1);
return &instance;
}
};
@@ -1569,7 +1642,7 @@ struct CharBaseSectionMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 3, 0xF9D1C513, fields, -1);
+ static DB2Meta instance(1375798, -1, 3, 0xF9D1C513, fields, -1);
return &instance;
}
};
@@ -1583,7 +1656,7 @@ struct CharComponentTextureLayoutsMeta
{ FT_SHORT, 1, true },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(-1, 2, 0x48D8D7BC, fields, -1);
+ static DB2Meta instance(1360262, -1, 2, 0x48D8D7BC, fields, -1);
return &instance;
}
};
@@ -1602,7 +1675,7 @@ struct CharComponentTextureSectionsMeta
{ FT_SHORT, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 7, 0xD6EDA743, fields, -1);
+ static DB2Meta instance(1360263, -1, 7, 0xD6EDA743, fields, -1);
return &instance;
}
};
@@ -1616,7 +1689,7 @@ struct CharHairGeosetsMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, true },
- { FT_BYTE, 1, false },
+ { FT_BYTE, 1, true },
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, true },
{ FT_BYTE, 1, true },
@@ -1624,7 +1697,25 @@ struct CharHairGeosetsMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 10, 0xE3732EA9, fields, 0);
+ static DB2Meta instance(1256914, -1, 10, 0xC1638C2C, fields, 0);
+ return &instance;
+ }
+};
+
+struct CharSectionConditionMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[6] =
+ {
+ { FT_BYTE, 1, true },
+ { FT_BYTE, 1, true },
+ { FT_BYTE, 1, true },
+ { FT_BYTE, 1, true },
+ { FT_INT, 1, true },
+ { FT_BYTE, 1, true },
+ };
+ static DB2Meta instance(2388725, -1, 6, 0x4C843BC5, fields, 5);
return &instance;
}
};
@@ -1643,7 +1734,7 @@ struct CharSectionsMeta
{ FT_SHORT, 1, true },
{ FT_INT, 3, true },
};
- static DB2Meta instance(-1, 7, 0x273A7F6F, fields, -1);
+ static DB2Meta instance(1365366, -1, 7, 0x273A7F6F, fields, -1);
return &instance;
}
};
@@ -1664,7 +1755,7 @@ struct CharShipmentMeta
{ FT_SHORT, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 9, 0xD47EC921, fields, 0);
+ static DB2Meta instance(972425, -1, 9, 0xD47EC921, fields, 0);
return &instance;
}
};
@@ -1692,7 +1783,7 @@ struct CharShipmentContainerMeta
{ FT_BYTE, 1, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 16, 0x13048703, fields, -1);
+ static DB2Meta instance(972405, -1, 16, 0x13048703, fields, -1);
return &instance;
}
};
@@ -1711,7 +1802,7 @@ struct CharStartOutfitMeta
{ FT_INT, 24, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 7, 0x0F59DD96, fields, 6);
+ static DB2Meta instance(1237591, -1, 7, 0x0F59DD96, fields, 6);
return &instance;
}
};
@@ -1727,7 +1818,7 @@ struct CharTitlesMeta
{ FT_SHORT, 1, true },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 4, 0x81B69C5F, fields, -1);
+ static DB2Meta instance(1349054, -1, 4, 0x81B69C5F, fields, -1);
return &instance;
}
};
@@ -1744,7 +1835,7 @@ struct CharacterFaceBoneSetMeta
{ FT_INT, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 5, 0x3C6DE4D7, fields, 4);
+ static DB2Meta instance(1028733, -1, 5, 0x3C6DE4D7, fields, 4);
return &instance;
}
};
@@ -1760,7 +1851,7 @@ struct CharacterFacialHairStylesMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 4, 0xAA817A08, fields, -1);
+ static DB2Meta instance(1369752, -1, 4, 0xAA817A08, fields, -1);
return &instance;
}
};
@@ -1775,7 +1866,7 @@ struct CharacterLoadoutMeta
{ FT_BYTE, 1, true },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 3, 0xA07F9727, fields, -1);
+ static DB2Meta instance(1344281, -1, 3, 0xA07F9727, fields, -1);
return &instance;
}
};
@@ -1789,7 +1880,7 @@ struct CharacterLoadoutItemMeta
{ FT_SHORT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 2, 0xD892CDA9, fields, 0);
+ static DB2Meta instance(1302846, -1, 2, 0xD892CDA9, fields, 0);
return &instance;
}
};
@@ -1812,7 +1903,7 @@ struct CharacterServiceInfoMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 11, 0xC263D77C, fields, -1);
+ static DB2Meta instance(1815417, -1, 11, 0xC263D77C, fields, -1);
return &instance;
}
};
@@ -1828,7 +1919,7 @@ struct ChatChannelsMeta
{ FT_INT, 1, true },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 4, 0x113E92FA, fields, -1);
+ static DB2Meta instance(1345278, -1, 4, 0x113E92FA, fields, -1);
return &instance;
}
};
@@ -1842,7 +1933,7 @@ struct ChatProfanityMeta
{ FT_STRING_NOT_LOCALIZED, 1, true },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 2, 0xAF5F92A6, fields, -1);
+ static DB2Meta instance(1117084, -1, 2, 0xAF5F92A6, fields, -1);
return &instance;
}
};
@@ -1860,7 +1951,7 @@ struct ChrClassRaceSexMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 6, 0x204BD561, fields, -1);
+ static DB2Meta instance(1306188, -1, 6, 0x204BD561, fields, -1);
return &instance;
}
};
@@ -1875,7 +1966,7 @@ struct ChrClassTitleMeta
{ FT_STRING, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 3, 0xA01D47C8, fields, -1);
+ static DB2Meta instance(1267497, -1, 3, 0xA01D47C8, fields, -1);
return &instance;
}
};
@@ -1890,7 +1981,7 @@ struct ChrClassUIDisplayMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 3, 0x3D58F88F, fields, -1);
+ static DB2Meta instance(1316515, -1, 3, 0x3D58F88F, fields, -1);
return &instance;
}
};
@@ -1905,7 +1996,7 @@ struct ChrClassVillainMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 3, 0x601C7CCD, fields, -1);
+ static DB2Meta instance(1267498, -1, 3, 0x601C7CCD, fields, -1);
return &instance;
}
};
@@ -1914,7 +2005,7 @@ struct ChrClassesMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[20] =
+ static DB2MetaField const fields[21] =
{
{ FT_STRING, 1, true },
{ FT_STRING_NOT_LOCALIZED, 1, true },
@@ -1927,6 +2018,7 @@ struct ChrClassesMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
{ FT_INT, 1, true },
+ { FT_INT, 1, false },
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
@@ -1937,7 +2029,7 @@ struct ChrClassesMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(5, 20, 0x2CD115AC, fields, -1);
+ static DB2Meta instance(1361031, 5, 21, 0x16C686A5, fields, -1);
return &instance;
}
};
@@ -1951,7 +2043,7 @@ struct ChrClassesXPowerTypesMeta
{ FT_BYTE, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 2, 0x6DE888E7, fields, 1);
+ static DB2Meta instance(1121420, -1, 2, 0x6DE888E7, fields, 1);
return &instance;
}
};
@@ -1970,7 +2062,7 @@ struct ChrCustomizationMeta
{ FT_INT, 3, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 7, 0xC29562A3, fields, 6);
+ static DB2Meta instance(1611874, -1, 7, 0xC29562A3, fields, 6);
return &instance;
}
};
@@ -2028,7 +2120,7 @@ struct ChrRacesMeta
{ FT_BYTE, 1, true },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(6, 46, 0xC8BCDC89, fields, -1);
+ static DB2Meta instance(1305311, 6, 46, 0xC8BCDC89, fields, -1);
return &instance;
}
};
@@ -2053,7 +2145,7 @@ struct ChrSpecializationMeta
{ FT_INT, 1, true },
{ FT_INT, 2, true },
};
- static DB2Meta instance(3, 13, 0xFF9DD5DD, fields, 4);
+ static DB2Meta instance(1343390, 3, 13, 0xFF9DD5DD, fields, 4);
return &instance;
}
};
@@ -2068,7 +2160,7 @@ struct ChrUpgradeBucketMeta
{ FT_SHORT, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(0, 3, 0x81B7C74C, fields, 2);
+ static DB2Meta instance(984529, 0, 3, 0x81B7C74C, fields, 2);
return &instance;
}
};
@@ -2082,7 +2174,7 @@ struct ChrUpgradeBucketSpellMeta
{ FT_INT, 1, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 2, 0xC665F469, fields, 1);
+ static DB2Meta instance(984528, -1, 2, 0xC665F469, fields, 1);
return &instance;
}
};
@@ -2098,7 +2190,7 @@ struct ChrUpgradeTierMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(1, 4, 0xEC517FDD, fields, -1);
+ static DB2Meta instance(984530, 1, 4, 0xEC517FDD, fields, -1);
return &instance;
}
};
@@ -2114,7 +2206,7 @@ struct CinematicCameraMeta
{ FT_FLOAT, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 4, 0x20C5E540, fields, -1);
+ static DB2Meta instance(1294214, -1, 4, 0x20C5E540, fields, -1);
return &instance;
}
};
@@ -2128,7 +2220,7 @@ struct CinematicSequencesMeta
{ FT_INT, 1, false },
{ FT_SHORT, 8, false },
};
- static DB2Meta instance(-1, 2, 0x6A232AD4, fields, -1);
+ static DB2Meta instance(1134583, -1, 2, 0x6A232AD4, fields, -1);
return &instance;
}
};
@@ -2141,7 +2233,7 @@ struct ClientSceneEffectMeta
{
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 1, 0x00EE4486, fields, -1);
+ static DB2Meta instance(1939843, -1, 1, 0x00EE4486, fields, -1);
return &instance;
}
};
@@ -2160,7 +2252,7 @@ struct CloakDampeningMeta
{ FT_FLOAT, 2, true },
{ FT_FLOAT, 2, true },
};
- static DB2Meta instance(-1, 7, 0xF7C03F6E, fields, -1);
+ static DB2Meta instance(1465903, -1, 7, 0xF7C03F6E, fields, -1);
return &instance;
}
};
@@ -2180,7 +2272,7 @@ struct CloneEffectMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 8, 0x2F946F74, fields, -1);
+ static DB2Meta instance(2175218, -1, 8, 0x2F946F74, fields, -1);
return &instance;
}
};
@@ -2203,7 +2295,7 @@ struct CombatConditionMeta
{ FT_BYTE, 2, false },
{ FT_BYTE, 2, false },
};
- static DB2Meta instance(-1, 11, 0x75A29044, fields, -1);
+ static DB2Meta instance(1120958, -1, 11, 0x75A29044, fields, -1);
return &instance;
}
};
@@ -2217,7 +2309,7 @@ struct CommentatorStartLocationMeta
{ FT_FLOAT, 3, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 2, 0xF552D58F, fields, -1);
+ static DB2Meta instance(1664251, -1, 2, 0xF552D58F, fields, -1);
return &instance;
}
};
@@ -2233,7 +2325,7 @@ struct CommentatorTrackedCooldownMeta
{ FT_BYTE, 1, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 4, 0x3A1476FC, fields, 3);
+ static DB2Meta instance(1661584, -1, 4, 0x3A1476FC, fields, 3);
return &instance;
}
};
@@ -2248,7 +2340,7 @@ struct CommunityIconMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(0, 3, 0x7E19DEAD, fields, -1);
+ static DB2Meta instance(2098645, 0, 3, 0x7E19DEAD, fields, -1);
return &instance;
}
};
@@ -2264,7 +2356,7 @@ struct ComponentModelFileDataMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 4, 0x0F90AFAF, fields, -1);
+ static DB2Meta instance(1349053, -1, 4, 0x0F90AFAF, fields, -1);
return &instance;
}
};
@@ -2279,7 +2371,7 @@ struct ComponentTextureFileDataMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 3, 0x263AACE3, fields, -1);
+ static DB2Meta instance(1278239, -1, 3, 0x263AACE3, fields, -1);
return &instance;
}
};
@@ -2293,7 +2385,7 @@ struct ConfigurationWarningMeta
{ FT_STRING, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 2, 0x99BCBA2D, fields, -1);
+ static DB2Meta instance(1709409, -1, 2, 0x99BCBA2D, fields, -1);
return &instance;
}
};
@@ -2311,7 +2403,7 @@ struct ContentTuningMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(0, 6, 0xD1A210D1, fields, -1);
+ static DB2Meta instance(1962930, 0, 6, 0xD1A210D1, fields, -1);
return &instance;
}
};
@@ -2330,7 +2422,7 @@ struct ContributionMeta
{ FT_INT, 1, true },
{ FT_INT, 4, true },
};
- static DB2Meta instance(2, 7, 0x37C49135, fields, 3);
+ static DB2Meta instance(1587153, 2, 7, 0x37C49135, fields, 3);
return &instance;
}
};
@@ -2349,7 +2441,7 @@ struct ContributionStyleMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 7, 0x799AE511, fields, -1);
+ static DB2Meta instance(2143633, -1, 7, 0x799AE511, fields, -1);
return &instance;
}
};
@@ -2362,7 +2454,7 @@ struct ContributionStyleContainerMeta
{
{ FT_INT, 5, true },
};
- static DB2Meta instance(-1, 1, 0x55DAA69B, fields, -1);
+ static DB2Meta instance(2143634, -1, 1, 0x55DAA69B, fields, -1);
return &instance;
}
};
@@ -2382,7 +2474,7 @@ struct ConversationLineMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 8, 0x227B5003, fields, -1);
+ static DB2Meta instance(1260801, -1, 8, 0x227B5003, fields, -1);
return &instance;
}
};
@@ -2405,7 +2497,7 @@ struct CreatureMeta
{ FT_FLOAT, 4, true },
{ FT_INT, 3, true },
};
- static DB2Meta instance(-1, 11, 0x0D492BF3, fields, -1);
+ static DB2Meta instance(841631, -1, 11, 0x0D492BF3, fields, -1);
return &instance;
}
};
@@ -2424,7 +2516,7 @@ struct CreatureDifficultyMeta
{ FT_INT, 7, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 7, 0xD344A642, fields, 6);
+ static DB2Meta instance(879282, -1, 7, 0xD344A642, fields, 6);
return &instance;
}
};
@@ -2438,7 +2530,7 @@ struct CreatureDispXUiCameraMeta
{ FT_INT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 2, 0xD3D075FD, fields, -1);
+ static DB2Meta instance(1146692, -1, 2, 0xD3D075FD, fields, -1);
return &instance;
}
};
@@ -2475,7 +2567,7 @@ struct CreatureDisplayInfoMeta
{ FT_BYTE, 1, true },
{ FT_INT, 3, true },
};
- static DB2Meta instance(0, 25, 0x613413D1, fields, -1);
+ static DB2Meta instance(1108759, 0, 25, 0x613413D1, fields, -1);
return &instance;
}
};
@@ -2502,7 +2594,7 @@ struct CreatureDisplayInfoCondMeta
{ FT_INT, 3, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 15, 0x596B4605, fields, 14);
+ static DB2Meta instance(1332686, -1, 15, 0x596B4605, fields, 14);
return &instance;
}
};
@@ -2518,7 +2610,7 @@ struct CreatureDisplayInfoEvtMeta
{ FT_BYTE, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 4, 0x16C6EC13, fields, 3);
+ static DB2Meta instance(1586882, -1, 4, 0x16C6EC13, fields, 3);
return &instance;
}
};
@@ -2542,7 +2634,7 @@ struct CreatureDisplayInfoExtraMeta
{ FT_INT, 1, true },
{ FT_BYTE, 3, false },
};
- static DB2Meta instance(-1, 12, 0x89E31B13, fields, -1);
+ static DB2Meta instance(1264997, -1, 12, 0x89E31B13, fields, -1);
return &instance;
}
};
@@ -2557,7 +2649,7 @@ struct CreatureDisplayInfoGeosetDataMeta
{ FT_BYTE, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 3, 0x13350FA0, fields, 2);
+ static DB2Meta instance(1720141, -1, 3, 0x13350FA0, fields, 2);
return &instance;
}
};
@@ -2575,7 +2667,7 @@ struct CreatureDisplayInfoTrnMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 6, 0xC3E28858, fields, 5);
+ static DB2Meta instance(1146698, -1, 6, 0xC3E28858, fields, 5);
return &instance;
}
};
@@ -2596,7 +2688,7 @@ struct CreatureFamilyMeta
{ FT_INT, 1, true },
{ FT_SHORT, 2, true },
};
- static DB2Meta instance(-1, 9, 0x9D14B492, fields, -1);
+ static DB2Meta instance(1351351, -1, 9, 0x9D14B492, fields, -1);
return &instance;
}
};
@@ -2617,7 +2709,7 @@ struct CreatureImmunitiesMeta
{ FT_INT, 9, false },
{ FT_INT, 16, false },
};
- static DB2Meta instance(-1, 9, 0x36D9340F, fields, -1);
+ static DB2Meta instance(1131322, -1, 9, 0x36D9340F, fields, -1);
return &instance;
}
};
@@ -2657,7 +2749,7 @@ struct CreatureModelDataMeta
{ FT_FLOAT, 1, true },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 28, 0xF61D550A, fields, -1);
+ static DB2Meta instance(1365368, -1, 28, 0xF61D550A, fields, -1);
return &instance;
}
};
@@ -2670,7 +2762,7 @@ struct CreatureMovementInfoMeta
{
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 1, 0x31BE6397, fields, -1);
+ static DB2Meta instance(1125666, -1, 1, 0x31BE6397, fields, -1);
return &instance;
}
};
@@ -2719,7 +2811,7 @@ struct CreatureSoundDataMeta
{ FT_INT, 5, false },
{ FT_INT, 4, false },
};
- static DB2Meta instance(-1, 37, 0xA58BDB91, fields, -1);
+ static DB2Meta instance(1344466, -1, 37, 0xA58BDB91, fields, -1);
return &instance;
}
};
@@ -2733,7 +2825,7 @@ struct CreatureTypeMeta
{ FT_STRING, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 2, 0x218D575A, fields, -1);
+ static DB2Meta instance(1131315, -1, 2, 0x218D575A, fields, -1);
return &instance;
}
};
@@ -2748,7 +2840,7 @@ struct CreatureXContributionMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(0, 3, 0x2DC69C04, fields, 2);
+ static DB2Meta instance(1587158, 0, 3, 0x2DC69C04, fields, 2);
return &instance;
}
};
@@ -2765,7 +2857,7 @@ struct CreatureXDisplayInfoMeta
{ FT_BYTE, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 5, 0x44D147A6, fields, 4);
+ static DB2Meta instance(1864302, -1, 5, 0x44D147A6, fields, 4);
return &instance;
}
};
@@ -2788,7 +2880,7 @@ struct CriteriaMeta
{ FT_SHORT, 1, true },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 11, 0x754DDF45, fields, -1);
+ static DB2Meta instance(1263817, -1, 11, 0x754DDF45, fields, -1);
return &instance;
}
};
@@ -2807,7 +2899,7 @@ struct CriteriaTreeMeta
{ FT_INT, 1, true },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(-1, 7, 0xC926CF94, fields, -1);
+ static DB2Meta instance(1263818, -1, 7, 0xC926CF94, fields, -1);
return &instance;
}
};
@@ -2821,7 +2913,7 @@ struct CriteriaTreeXEffectMeta
{ FT_SHORT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 2, 0x80C700F5, fields, 1);
+ static DB2Meta instance(1345969, -1, 2, 0x80C700F5, fields, 1);
return &instance;
}
};
@@ -2836,7 +2928,7 @@ struct CurrencyCategoryMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 3, 0x0DB1F53C, fields, -1);
+ static DB2Meta instance(1125667, -1, 3, 0x0DB1F53C, fields, -1);
return &instance;
}
};
@@ -2856,7 +2948,7 @@ struct CurrencyContainerMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 8, 0xAC6030BF, fields, 7);
+ static DB2Meta instance(1934603, -1, 8, 0xAC6030BF, fields, 7);
return &instance;
}
};
@@ -2865,7 +2957,7 @@ struct CurrencyTypesMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[11] =
+ static DB2MetaField const fields[12] =
{
{ FT_STRING, 1, true },
{ FT_STRING, 1, true },
@@ -2878,8 +2970,9 @@ struct CurrencyTypesMeta
{ FT_INT, 1, false },
{ FT_BYTE, 1, true },
{ FT_INT, 1, true },
+ { FT_INT, 1, true },
};
- static DB2Meta instance(-1, 11, 0x998F0AAA, fields, -1);
+ static DB2Meta instance(1095531, -1, 12, 0xC6A4670A, fields, -1);
return &instance;
}
};
@@ -2893,7 +2986,7 @@ struct CurveMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 2, 0x4E6F1184, fields, -1);
+ static DB2Meta instance(892585, -1, 2, 0x4E6F1184, fields, -1);
return &instance;
}
};
@@ -2908,7 +3001,7 @@ struct CurvePointMeta
{ FT_SHORT, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 3, 0xFA003217, fields, -1);
+ static DB2Meta instance(892586, -1, 3, 0xFA003217, fields, -1);
return &instance;
}
};
@@ -2924,7 +3017,7 @@ struct DeathThudLookupsMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 4, 0x3BF7542C, fields, -1);
+ static DB2Meta instance(1279415, -1, 4, 0x3BF7542C, fields, -1);
return &instance;
}
};
@@ -2954,7 +3047,7 @@ struct DecalPropertiesMeta
{ FT_INT, 1, true },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(0, 18, 0xB11F3B40, fields, -1);
+ static DB2Meta instance(1278176, 0, 18, 0xB11F3B40, fields, -1);
return &instance;
}
};
@@ -2968,7 +3061,7 @@ struct DeclinedWordMeta
{ FT_STRING_NOT_LOCALIZED, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(1, 2, 0x10D7C6A6, fields, -1);
+ static DB2Meta instance(1279100, 1, 2, 0x10D7C6A6, fields, -1);
return &instance;
}
};
@@ -2983,7 +3076,7 @@ struct DeclinedWordCasesMeta
{ FT_BYTE, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0x3E19B9C5, fields, 2);
+ static DB2Meta instance(1279099, -1, 3, 0x3E19B9C5, fields, 2);
return &instance;
}
};
@@ -3017,7 +3110,7 @@ struct DestructibleModelDataMeta
{ FT_BYTE, 1, true },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 22, 0xF245BA93, fields, -1);
+ static DB2Meta instance(1122116, -1, 22, 0xF245BA93, fields, -1);
return &instance;
}
};
@@ -3031,7 +3124,7 @@ struct DeviceBlacklistMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 2, 0x2A350905, fields, -1);
+ static DB2Meta instance(922722, -1, 2, 0x2A350905, fields, -1);
return &instance;
}
};
@@ -3046,7 +3139,7 @@ struct DeviceDefaultSettingsMeta
{ FT_SHORT, 1, false },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 3, 0x2AB8A38C, fields, -1);
+ static DB2Meta instance(925422, -1, 3, 0x2AB8A38C, fields, -1);
return &instance;
}
};
@@ -3064,14 +3157,14 @@ struct DifficultyMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
- { FT_BYTE, 1, false },
+ { FT_SHORT, 1, false },
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 13, 0x29FC158C, fields, -1);
+ static DB2Meta instance(1352127, -1, 13, 0xCE2EF986, fields, -1);
return &instance;
}
};
@@ -3097,7 +3190,7 @@ struct DissolveEffectMeta
{ FT_INT, 1, false },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 14, 0x77C510EC, fields, -1);
+ static DB2Meta instance(1304325, -1, 14, 0x77C510EC, fields, -1);
return &instance;
}
};
@@ -3116,7 +3209,7 @@ struct DriverBlacklistMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 7, 0x88C28C05, fields, -1);
+ static DB2Meta instance(922720, -1, 7, 0x88C28C05, fields, -1);
return &instance;
}
};
@@ -3125,19 +3218,21 @@ struct DungeonEncounterMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[9] =
+ static DB2MetaField const fields[11] =
{
{ FT_STRING, 1, true },
{ FT_INT, 1, false },
{ FT_SHORT, 1, true },
{ FT_BYTE, 1, true },
{ FT_INT, 1, true },
+ { FT_INT, 1, true },
{ FT_BYTE, 1, true },
{ FT_INT, 1, true },
{ FT_BYTE, 1, false },
{ FT_INT, 1, true },
+ { FT_INT, 1, true },
};
- static DB2Meta instance(1, 9, 0x6E5C2332, fields, 2);
+ static DB2Meta instance(1347279, 1, 11, 0x1FD23060, fields, 2);
return &instance;
}
};
@@ -3151,7 +3246,7 @@ struct DurabilityCostsMeta
{ FT_SHORT, 21, false },
{ FT_SHORT, 8, false },
};
- static DB2Meta instance(-1, 2, 0xBB493F52, fields, -1);
+ static DB2Meta instance(1283019, -1, 2, 0xBB493F52, fields, -1);
return &instance;
}
};
@@ -3164,7 +3259,7 @@ struct DurabilityQualityMeta
{
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 1, 0xCFF4EEC9, fields, -1);
+ static DB2Meta instance(1130268, -1, 1, 0xCFF4EEC9, fields, -1);
return &instance;
}
};
@@ -3189,7 +3284,7 @@ struct EdgeGlowEffectMeta
{ FT_INT, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 13, 0xCBCC7336, fields, -1);
+ static DB2Meta instance(1387381, -1, 13, 0xCBCC7336, fields, -1);
return &instance;
}
};
@@ -3210,7 +3305,7 @@ struct EmotesMeta
{ FT_INT, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 9, 0xA909E182, fields, -1);
+ static DB2Meta instance(1343602, -1, 9, 0xA909E182, fields, -1);
return &instance;
}
};
@@ -3224,7 +3319,7 @@ struct EmotesTextMeta
{ FT_STRING_NOT_LOCALIZED, 1, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 2, 0xE255C6B0, fields, -1);
+ static DB2Meta instance(1347273, -1, 2, 0xE255C6B0, fields, -1);
return &instance;
}
};
@@ -3239,7 +3334,7 @@ struct EmotesTextDataMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 3, 0x460E8F09, fields, 2);
+ static DB2Meta instance(1283024, -1, 3, 0x460E8F09, fields, 2);
return &instance;
}
};
@@ -3256,7 +3351,7 @@ struct EmotesTextSoundMeta
{ FT_INT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 5, 0x3A15105C, fields, 4);
+ static DB2Meta instance(1286524, -1, 5, 0x3A15105C, fields, 4);
return &instance;
}
};
@@ -3265,14 +3360,12 @@ struct EnvironmentalDamageMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[4] =
+ static DB2MetaField const fields[2] =
{
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
- { FT_BYTE, 1, false },
- { FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 4, 0x448422B4, fields, -1);
+ static DB2Meta instance(1278398, -1, 2, 0x448422B4, fields, -1);
return &instance;
}
};
@@ -3292,7 +3385,7 @@ struct ExhaustionMeta
{ FT_FLOAT, 1, true },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(2, 8, 0xF0F48BB5, fields, -1);
+ static DB2Meta instance(1343313, 2, 8, 0xF0F48BB5, fields, -1);
return &instance;
}
};
@@ -3315,7 +3408,7 @@ struct ExpectedStatMeta
{ FT_FLOAT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 11, 0xF0E61875, fields, 10);
+ static DB2Meta instance(1937326, -1, 11, 0xF0E61875, fields, 10);
return &instance;
}
};
@@ -3336,7 +3429,7 @@ struct ExpectedStatModMeta
{ FT_FLOAT, 1, true },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 9, 0xEA56E599, fields, -1);
+ static DB2Meta instance(1969773, -1, 9, 0xEA56E599, fields, -1);
return &instance;
}
};
@@ -3354,7 +3447,7 @@ struct FactionMeta
{ FT_SHORT, 1, true },
{ FT_SHORT, 1, false },
{ FT_BYTE, 1, false },
- { FT_BYTE, 1, false },
+ { FT_INT, 1, false },
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
{ FT_SHORT, 4, true },
@@ -3364,7 +3457,7 @@ struct FactionMeta
{ FT_FLOAT, 2, true },
{ FT_BYTE, 2, false },
};
- static DB2Meta instance(3, 16, 0x86FE2D69, fields, -1);
+ static DB2Meta instance(1361972, 3, 16, 0xB6C3CC81, fields, -1);
return &instance;
}
};
@@ -3382,7 +3475,7 @@ struct FactionGroupMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(2, 6, 0xB9B4369B, fields, -1);
+ static DB2Meta instance(1343595, 2, 6, 0xB9B4369B, fields, -1);
return &instance;
}
};
@@ -3401,7 +3494,7 @@ struct FactionTemplateMeta
{ FT_SHORT, 4, false },
{ FT_SHORT, 4, false },
};
- static DB2Meta instance(-1, 7, 0xD7143473, fields, -1);
+ static DB2Meta instance(1361579, -1, 7, 0xD7143473, fields, -1);
return &instance;
}
};
@@ -3416,7 +3509,7 @@ struct FootprintTexturesMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0xF82F1359, fields, -1);
+ static DB2Meta instance(1308056, -1, 3, 0xF82F1359, fields, -1);
return &instance;
}
};
@@ -3432,7 +3525,7 @@ struct FootstepTerrainLookupMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 4, 0xC70AACC6, fields, -1);
+ static DB2Meta instance(1267647, -1, 4, 0xC70AACC6, fields, -1);
return &instance;
}
};
@@ -3444,10 +3537,10 @@ struct FriendshipRepReactionMeta
static DB2MetaField const fields[3] =
{
{ FT_STRING, 1, true },
- { FT_BYTE, 1, false },
+ { FT_INT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 3, 0x8B096063, fields, 1);
+ static DB2Meta instance(1237638, -1, 3, 0x81C2BAAB, fields, 1);
return &instance;
}
};
@@ -3463,7 +3556,7 @@ struct FriendshipReputationMeta
{ FT_SHORT, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(1, 4, 0xECCE459C, fields, -1);
+ static DB2Meta instance(1237639, 1, 4, 0xECCE459C, fields, -1);
return &instance;
}
};
@@ -3503,7 +3596,7 @@ struct FullScreenEffectMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 28, 0x9854A6AC, fields, -1);
+ static DB2Meta instance(1348282, -1, 28, 0x9854A6AC, fields, -1);
return &instance;
}
};
@@ -3518,7 +3611,7 @@ struct GMSurveyAnswersMeta
{ FT_BYTE, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 3, 0xDE59EC07, fields, 2);
+ static DB2Meta instance(1283025, -1, 3, 0xDE59EC07, fields, 2);
return &instance;
}
};
@@ -3531,7 +3624,7 @@ struct GMSurveyCurrentSurveyMeta
{
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 1, 0xAD0D7453, fields, -1);
+ static DB2Meta instance(1278177, -1, 1, 0xAD0D7453, fields, -1);
return &instance;
}
};
@@ -3544,7 +3637,7 @@ struct GMSurveyQuestionsMeta
{
{ FT_STRING, 1, true },
};
- static DB2Meta instance(-1, 1, 0x12B097E1, fields, -1);
+ static DB2Meta instance(1278178, -1, 1, 0x12B097E1, fields, -1);
return &instance;
}
};
@@ -3557,7 +3650,7 @@ struct GMSurveySurveysMeta
{
{ FT_BYTE, 15, false },
};
- static DB2Meta instance(-1, 1, 0x24BB51BE, fields, -1);
+ static DB2Meta instance(1283020, -1, 1, 0x24BB51BE, fields, -1);
return &instance;
}
};
@@ -3571,7 +3664,7 @@ struct GameObjectArtKitMeta
{ FT_INT, 1, true },
{ FT_INT, 3, true },
};
- static DB2Meta instance(-1, 2, 0xECF16719, fields, -1);
+ static DB2Meta instance(1266737, -1, 2, 0xECF16719, fields, -1);
return &instance;
}
};
@@ -3587,7 +3680,7 @@ struct GameObjectDiffAnimMapMeta
{ FT_SHORT, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 4, 0xDB3508F3, fields, 3);
+ static DB2Meta instance(1302847, -1, 4, 0xDB3508F3, fields, 3);
return &instance;
}
};
@@ -3604,7 +3697,7 @@ struct GameObjectDisplayInfoMeta
{ FT_FLOAT, 1, true },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 5, 0x7A816799, fields, -1);
+ static DB2Meta instance(1266277, -1, 5, 0x7A816799, fields, -1);
return &instance;
}
};
@@ -3619,7 +3712,7 @@ struct GameObjectDisplayInfoXSoundKitMeta
{ FT_BYTE, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0x456E4627, fields, 2);
+ static DB2Meta instance(1345272, -1, 3, 0x456E4627, fields, 2);
return &instance;
}
};
@@ -3643,7 +3736,7 @@ struct GameObjectsMeta
{ FT_SHORT, 1, false },
{ FT_INT, 8, true },
};
- static DB2Meta instance(3, 12, 0x0995B956, fields, 4);
+ static DB2Meta instance(841620, 3, 12, 0x0995B956, fields, 4);
return &instance;
}
};
@@ -3659,7 +3752,7 @@ struct GameTipsMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 4, 0x768EB877, fields, -1);
+ static DB2Meta instance(1368021, -1, 4, 0x768EB877, fields, -1);
return &instance;
}
};
@@ -3679,7 +3772,7 @@ struct GarrAbilityMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(2, 8, 0x8256E595, fields, -1);
+ static DB2Meta instance(966238, 2, 8, 0x8256E595, fields, -1);
return &instance;
}
};
@@ -3692,7 +3785,7 @@ struct GarrAbilityCategoryMeta
{
{ FT_STRING, 1, true },
};
- static DB2Meta instance(-1, 1, 0x9F2C8370, fields, -1);
+ static DB2Meta instance(1020248, -1, 1, 0x9F2C8370, fields, -1);
return &instance;
}
};
@@ -3716,7 +3809,7 @@ struct GarrAbilityEffectMeta
{ FT_INT, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(0, 12, 0x682EE0E1, fields, 1);
+ static DB2Meta instance(966241, 0, 12, 0x682EE0E1, fields, 1);
return &instance;
}
};
@@ -3752,7 +3845,7 @@ struct GarrBuildingMeta
{ FT_SHORT, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 24, 0x158D48D4, fields, -1);
+ static DB2Meta instance(929747, -1, 24, 0x158D48D4, fields, -1);
return &instance;
}
};
@@ -3769,7 +3862,7 @@ struct GarrBuildingDoodadSetMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 5, 0x9A6DE309, fields, -1);
+ static DB2Meta instance(943937, -1, 5, 0x9A6DE309, fields, -1);
return &instance;
}
};
@@ -3786,7 +3879,7 @@ struct GarrBuildingPlotInstMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(1, 5, 0xFB61E627, fields, 2);
+ static DB2Meta instance(983298, 1, 5, 0xFB61E627, fields, 2);
return &instance;
}
};
@@ -3806,7 +3899,7 @@ struct GarrClassSpecMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(3, 8, 0x644E1AC4, fields, -1);
+ static DB2Meta instance(981570, 3, 8, 0x644E1AC4, fields, -1);
return &instance;
}
};
@@ -3824,7 +3917,7 @@ struct GarrClassSpecPlayerCondMeta
{ FT_INT, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 6, 0x561DEBFE, fields, -1);
+ static DB2Meta instance(1380674, -1, 6, 0x561DEBFE, fields, -1);
return &instance;
}
};
@@ -3833,7 +3926,7 @@ struct GarrEncounterMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[7] =
+ static DB2MetaField const fields[8] =
{
{ FT_STRING, 1, true },
{ FT_INT, 1, false },
@@ -3842,8 +3935,9 @@ struct GarrEncounterMeta
{ FT_INT, 1, false },
{ FT_FLOAT, 1, true },
{ FT_FLOAT, 1, true },
+ { FT_INT, 1, true },
};
- static DB2Meta instance(1, 7, 0xD193D559, fields, -1);
+ static DB2Meta instance(975304, 1, 8, 0x5D084137, fields, -1);
return &instance;
}
};
@@ -3858,7 +3952,7 @@ struct GarrEncounterSetXEncounterMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(0, 3, 0xCA7143E7, fields, 2);
+ static DB2Meta instance(1354772, 0, 3, 0xCA7143E7, fields, 2);
return &instance;
}
};
@@ -3873,7 +3967,7 @@ struct GarrEncounterXMechanicMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 3, 0x0960A66B, fields, 2);
+ static DB2Meta instance(967961, -1, 3, 0x0960A66B, fields, 2);
return &instance;
}
};
@@ -3889,7 +3983,7 @@ struct GarrFollItemSetMemberMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 4, 0x9166B16F, fields, 3);
+ static DB2Meta instance(981569, -1, 4, 0x9166B16F, fields, 3);
return &instance;
}
};
@@ -3905,7 +3999,7 @@ struct GarrFollSupportSpellMeta
{ FT_BYTE, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 4, 0xDB563FC8, fields, 3);
+ static DB2Meta instance(1345970, -1, 4, 0xDB563FC8, fields, 3);
return &instance;
}
};
@@ -3949,7 +4043,7 @@ struct GarrFollowerMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(3, 32, 0x7C5C19F1, fields, -1);
+ static DB2Meta instance(949906, 3, 32, 0x7C5C19F1, fields, -1);
return &instance;
}
};
@@ -3965,7 +4059,7 @@ struct GarrFollowerLevelXPMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 4, 0xABD178B2, fields, -1);
+ static DB2Meta instance(970979, -1, 4, 0xABD178B2, fields, -1);
return &instance;
}
};
@@ -3984,7 +4078,7 @@ struct GarrFollowerQualityMeta
{ FT_SHORT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 7, 0xCAE87042, fields, -1);
+ static DB2Meta instance(1027793, -1, 7, 0xCAE87042, fields, -1);
return &instance;
}
};
@@ -3998,7 +4092,7 @@ struct GarrFollowerSetXFollowerMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 2, 0x621C60FF, fields, 1);
+ static DB2Meta instance(1361029, -1, 2, 0x621C60FF, fields, 1);
return &instance;
}
};
@@ -4017,7 +4111,7 @@ struct GarrFollowerTypeMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 7, 0xB4B34EF0, fields, -1);
+ static DB2Meta instance(1118784, -1, 7, 0xB4B34EF0, fields, -1);
return &instance;
}
};
@@ -4035,7 +4129,7 @@ struct GarrFollowerUICreatureMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 6, 0x93A1FAA6, fields, 5);
+ static DB2Meta instance(1412636, -1, 6, 0x93A1FAA6, fields, 5);
return &instance;
}
};
@@ -4051,7 +4145,7 @@ struct GarrFollowerXAbilityMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 4, 0x590C69F7, fields, 3);
+ static DB2Meta instance(968468, -1, 4, 0x590C69F7, fields, 3);
return &instance;
}
};
@@ -4068,7 +4162,7 @@ struct GarrItemLevelUpgradeDataMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(0, 5, 0x6B8723A1, fields, -1);
+ static DB2Meta instance(1572314, 0, 5, 0x6B8723A1, fields, -1);
return &instance;
}
};
@@ -4083,7 +4177,7 @@ struct GarrMechanicMeta
{ FT_FLOAT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0xA83BF5A9, fields, -1);
+ static DB2Meta instance(967963, -1, 3, 0xA83BF5A9, fields, -1);
return &instance;
}
};
@@ -4098,7 +4192,7 @@ struct GarrMechanicSetXMechanicMeta
{ FT_BYTE, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(0, 3, 0xFC7F16A3, fields, 2);
+ static DB2Meta instance(1391531, 0, 3, 0xFC7F16A3, fields, 2);
return &instance;
}
};
@@ -4115,7 +4209,7 @@ struct GarrMechanicTypeMeta
{ FT_INT, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(2, 5, 0x05F19FE7, fields, -1);
+ static DB2Meta instance(967964, 2, 5, 0x05F19FE7, fields, -1);
return &instance;
}
};
@@ -4156,7 +4250,7 @@ struct GarrMissionMeta
{ FT_INT, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(5, 29, 0x00777205, fields, 28);
+ static DB2Meta instance(967962, 5, 29, 0x00777205, fields, 28);
return &instance;
}
};
@@ -4170,7 +4264,7 @@ struct GarrMissionTextureMeta
{ FT_FLOAT, 2, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 2, 0x0D378464, fields, -1);
+ static DB2Meta instance(1125220, -1, 2, 0x0D378464, fields, -1);
return &instance;
}
};
@@ -4185,7 +4279,7 @@ struct GarrMissionTypeMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 3, 0x3FC87149, fields, -1);
+ static DB2Meta instance(984174, -1, 3, 0x3FC87149, fields, -1);
return &instance;
}
};
@@ -4202,7 +4296,7 @@ struct GarrMissionXEncounterMeta
{ FT_BYTE, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(0, 5, 0x539B5B1B, fields, 4);
+ static DB2Meta instance(967960, 0, 5, 0x539B5B1B, fields, 4);
return &instance;
}
};
@@ -4217,7 +4311,7 @@ struct GarrMissionXFollowerMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0xFB9C7E3D, fields, 2);
+ static DB2Meta instance(1359096, -1, 3, 0xFB9C7E3D, fields, 2);
return &instance;
}
};
@@ -4234,7 +4328,7 @@ struct GarrMssnBonusAbilityMeta
{ FT_FLOAT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 5, 0x91DD4CE6, fields, -1);
+ static DB2Meta instance(1138458, -1, 5, 0x91DD4CE6, fields, -1);
return &instance;
}
};
@@ -4253,7 +4347,7 @@ struct GarrPlotMeta
{ FT_BYTE, 1, false },
{ FT_INT, 2, false },
};
- static DB2Meta instance(-1, 7, 0x3897880E, fields, -1);
+ static DB2Meta instance(937634, -1, 7, 0x3897880E, fields, -1);
return &instance;
}
};
@@ -4267,7 +4361,7 @@ struct GarrPlotBuildingMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 2, 0x1ECDCE0A, fields, -1);
+ static DB2Meta instance(929743, -1, 2, 0x1ECDCE0A, fields, -1);
return &instance;
}
};
@@ -4281,7 +4375,7 @@ struct GarrPlotInstanceMeta
{ FT_STRING_NOT_LOCALIZED, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 2, 0x1FD77CCF, fields, -1);
+ static DB2Meta instance(929742, -1, 2, 0x1FD77CCF, fields, -1);
return &instance;
}
};
@@ -4295,7 +4389,7 @@ struct GarrPlotUICategoryMeta
{ FT_STRING, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 2, 0x867482E6, fields, -1);
+ static DB2Meta instance(937635, -1, 2, 0x867482E6, fields, -1);
return &instance;
}
};
@@ -4316,7 +4410,7 @@ struct GarrSiteLevelMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 9, 0x4D823E68, fields, -1);
+ static DB2Meta instance(939295, -1, 9, 0x4D823E68, fields, -1);
return &instance;
}
};
@@ -4332,7 +4426,7 @@ struct GarrSiteLevelPlotInstMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 4, 0xA3DF8AD1, fields, 1);
+ static DB2Meta instance(940404, -1, 4, 0xA3DF8AD1, fields, 1);
return &instance;
}
};
@@ -4351,7 +4445,7 @@ struct GarrSpecializationMeta
{ FT_INT, 1, true },
{ FT_FLOAT, 2, true },
};
- static DB2Meta instance(-1, 7, 0x8400A7E7, fields, -1);
+ static DB2Meta instance(937647, -1, 7, 0x8400A7E7, fields, -1);
return &instance;
}
};
@@ -4364,7 +4458,7 @@ struct GarrStringMeta
{
{ FT_STRING, 1, true },
};
- static DB2Meta instance(-1, 1, 0xF404C7D8, fields, -1);
+ static DB2Meta instance(1416758, -1, 1, 0xF404C7D8, fields, -1);
return &instance;
}
};
@@ -4396,7 +4490,7 @@ struct GarrTalentMeta
{ FT_INT, 1, false },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(2, 20, 0x96BE787E, fields, 3);
+ static DB2Meta instance(1361032, 2, 20, 0x96BE787E, fields, 3);
return &instance;
}
};
@@ -4415,7 +4509,7 @@ struct GarrTalentTreeMeta
{ FT_BYTE, 1, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 7, 0x9A3BC97D, fields, -1);
+ static DB2Meta instance(1361030, -1, 7, 0x9A3BC97D, fields, -1);
return &instance;
}
};
@@ -4432,7 +4526,7 @@ struct GarrTypeMeta
{ FT_INT, 1, false },
{ FT_INT, 2, true },
};
- static DB2Meta instance(-1, 5, 0xCCA7D7B5, fields, -1);
+ static DB2Meta instance(1333161, -1, 5, 0xCCA7D7B5, fields, -1);
return &instance;
}
};
@@ -4450,7 +4544,7 @@ struct GarrUiAnimClassInfoMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 6, 0xF6444415, fields, -1);
+ static DB2Meta instance(976037, -1, 6, 0xF6444415, fields, -1);
return &instance;
}
};
@@ -4475,7 +4569,7 @@ struct GarrUiAnimRaceInfoMeta
{ FT_FLOAT, 1, true },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 13, 0x62B1D302, fields, -1);
+ static DB2Meta instance(976035, -1, 13, 0x62B1D302, fields, -1);
return &instance;
}
};
@@ -4490,7 +4584,7 @@ struct GemPropertiesMeta
{ FT_INT, 1, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 3, 0xBCE902DB, fields, -1);
+ static DB2Meta instance(1343604, -1, 3, 0xBCE902DB, fields, -1);
return &instance;
}
};
@@ -4505,7 +4599,7 @@ struct GlobalStringsMeta
{ FT_STRING, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 3, 0x843675FD, fields, -1);
+ static DB2Meta instance(1394440, -1, 3, 0x843675FD, fields, -1);
return &instance;
}
};
@@ -4519,7 +4613,7 @@ struct GlyphBindableSpellMeta
{ FT_INT, 1, true },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(-1, 2, 0x03429C72, fields, 1);
+ static DB2Meta instance(1270147, -1, 2, 0x03429C72, fields, 1);
return &instance;
}
};
@@ -4532,7 +4626,7 @@ struct GlyphExclusiveCategoryMeta
{
{ FT_STRING, 1, true },
};
- static DB2Meta instance(-1, 1, 0x59622339, fields, -1);
+ static DB2Meta instance(948546, -1, 1, 0x59622339, fields, -1);
return &instance;
}
};
@@ -4548,7 +4642,7 @@ struct GlyphPropertiesMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 4, 0x7C1C2F11, fields, -1);
+ static DB2Meta instance(1345274, -1, 4, 0x7C1C2F11, fields, -1);
return &instance;
}
};
@@ -4562,7 +4656,35 @@ struct GlyphRequiredSpecMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 2, 0x70D4ECC6, fields, 1);
+ static DB2Meta instance(948496, -1, 2, 0x70D4ECC6, fields, 1);
+ return &instance;
+ }
+};
+
+struct GradientEffectMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[16] =
+ {
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ };
+ static DB2Meta instance(2433582, -1, 16, 0x730DC7A1, fields, -1);
return &instance;
}
};
@@ -4578,7 +4700,7 @@ struct GroundEffectDoodadMeta
{ FT_FLOAT, 1, true },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 4, 0xAB0C6E12, fields, -1);
+ static DB2Meta instance(1308057, -1, 4, 0xAB0C6E12, fields, -1);
return &instance;
}
};
@@ -4594,7 +4716,7 @@ struct GroundEffectTextureMeta
{ FT_SHORT, 4, false },
{ FT_BYTE, 4, true },
};
- static DB2Meta instance(-1, 4, 0xCCBD52E8, fields, -1);
+ static DB2Meta instance(1308499, -1, 4, 0xCCBD52E8, fields, -1);
return &instance;
}
};
@@ -4620,7 +4742,7 @@ struct GroupFinderActivityMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 14, 0xEC40E4B1, fields, -1);
+ static DB2Meta instance(974813, -1, 14, 0xEC40E4B1, fields, -1);
return &instance;
}
};
@@ -4634,7 +4756,7 @@ struct GroupFinderActivityGrpMeta
{ FT_STRING, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 2, 0x1EC8D046, fields, -1);
+ static DB2Meta instance(974814, -1, 2, 0x1EC8D046, fields, -1);
return &instance;
}
};
@@ -4649,7 +4771,7 @@ struct GroupFinderCategoryMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 3, 0xBFF47DC0, fields, -1);
+ static DB2Meta instance(974812, -1, 3, 0xBFF47DC0, fields, -1);
return &instance;
}
};
@@ -4664,7 +4786,7 @@ struct GuildColorBackgroundMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 3, 0xCC5FFB4D, fields, -1);
+ static DB2Meta instance(1286526, -1, 3, 0xCC5FFB4D, fields, -1);
return &instance;
}
};
@@ -4679,7 +4801,7 @@ struct GuildColorBorderMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 3, 0xCC5FFB4D, fields, -1);
+ static DB2Meta instance(1286527, -1, 3, 0xCC5FFB4D, fields, -1);
return &instance;
}
};
@@ -4694,7 +4816,21 @@ struct GuildColorEmblemMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 3, 0xCC5FFB4D, fields, -1);
+ static DB2Meta instance(1286525, -1, 3, 0xCC5FFB4D, fields, -1);
+ return &instance;
+ }
+};
+
+struct GuildEmblemMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[2] =
+ {
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ };
+ static DB2Meta instance(2734754, -1, 2, 0x58D7EB20, fields, -1);
return &instance;
}
};
@@ -4707,7 +4843,7 @@ struct GuildPerkSpellsMeta
{
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 1, 0xC9961BEB, fields, -1);
+ static DB2Meta instance(1135238, -1, 1, 0xC9961BEB, fields, -1);
return &instance;
}
};
@@ -4726,10 +4862,10 @@ struct HeirloomMeta
{ FT_BYTE, 1, true },
{ FT_BYTE, 1, false },
{ FT_INT, 1, true },
- { FT_INT, 3, true },
- { FT_SHORT, 3, false },
+ { FT_INT, 4, true },
+ { FT_SHORT, 4, false },
};
- static DB2Meta instance(1, 10, 0xB5925FE9, fields, -1);
+ static DB2Meta instance(1097696, 1, 10, 0xB5925FE9, fields, -1);
return &instance;
}
};
@@ -4744,20 +4880,22 @@ struct HelmetAnimScalingMeta
{ FT_FLOAT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0xC43CA2FC, fields, 2);
+ static DB2Meta instance(1348283, -1, 3, 0xC43CA2FC, fields, 2);
return &instance;
}
};
-struct HelmetGeosetVisDataMeta
+struct HelmetGeosetDataMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[1] =
+ static DB2MetaField const fields[3] =
{
- { FT_INT, 9, true },
+ { FT_INT, 1, true },
+ { FT_BYTE, 1, true },
+ { FT_INT, 1, true },
};
- static DB2Meta instance(-1, 1, 0x2E7C7FED, fields, -1);
+ static DB2Meta instance(2821752, -1, 3, 0xA88423BF, fields, 2);
return &instance;
}
};
@@ -4774,7 +4912,7 @@ struct HighlightColorMeta
{ FT_INT, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 5, 0xDC14DB43, fields, -1);
+ static DB2Meta instance(996358, -1, 5, 0xDC14DB43, fields, -1);
return &instance;
}
};
@@ -4787,7 +4925,7 @@ struct HolidayDescriptionsMeta
{
{ FT_STRING, 1, true },
};
- static DB2Meta instance(-1, 1, 0xE70F298C, fields, -1);
+ static DB2Meta instance(996360, -1, 1, 0xE70F298C, fields, -1);
return &instance;
}
};
@@ -4800,7 +4938,7 @@ struct HolidayNamesMeta
{
{ FT_STRING, 1, true },
};
- static DB2Meta instance(-1, 1, 0xF2917D77, fields, -1);
+ static DB2Meta instance(996359, -1, 1, 0xF2917D77, fields, -1);
return &instance;
}
};
@@ -4820,11 +4958,11 @@ struct HolidaysMeta
{ FT_BYTE, 1, true },
{ FT_BYTE, 1, false },
{ FT_SHORT, 10, false },
- { FT_INT, 16, false },
+ { FT_INT, 26, false },
{ FT_BYTE, 10, false },
{ FT_INT, 3, true },
};
- static DB2Meta instance(0, 12, 0xF6DA3904, fields, -1);
+ static DB2Meta instance(996357, 0, 12, 0xF6DA3904, fields, -1);
return &instance;
}
};
@@ -4833,13 +4971,14 @@ struct HotfixesMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[3] =
+ static DB2MetaField const fields[4] =
{
{ FT_STRING_NOT_LOCALIZED, 1, true },
{ FT_INT, 1, true },
{ FT_INT, 1, true },
+ { FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0xB67D3F47, fields, -1);
+ static DB2Meta instance(1995523, -1, 4, 0x5AA7BA84, fields, -1);
return &instance;
}
};
@@ -4855,7 +4994,7 @@ struct ImportPriceArmorMeta
{ FT_FLOAT, 1, true },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 4, 0xC4C8D847, fields, -1);
+ static DB2Meta instance(1121229, -1, 4, 0xC4C8D847, fields, -1);
return &instance;
}
};
@@ -4868,7 +5007,7 @@ struct ImportPriceQualityMeta
{
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 1, 0xCFF4EEC9, fields, -1);
+ static DB2Meta instance(1121228, -1, 1, 0xCFF4EEC9, fields, -1);
return &instance;
}
};
@@ -4881,7 +5020,7 @@ struct ImportPriceShieldMeta
{
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 1, 0xCFF4EEC9, fields, -1);
+ static DB2Meta instance(1121227, -1, 1, 0xCFF4EEC9, fields, -1);
return &instance;
}
};
@@ -4894,7 +5033,7 @@ struct ImportPriceWeaponMeta
{
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 1, 0xCFF4EEC9, fields, -1);
+ static DB2Meta instance(1121230, -1, 1, 0xCFF4EEC9, fields, -1);
return &instance;
}
};
@@ -4916,7 +5055,7 @@ struct InvasionClientDataMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(2, 10, 0x04FC0B4F, fields, 9);
+ static DB2Meta instance(1336651, 2, 10, 0x04FC0B4F, fields, 9);
return &instance;
}
};
@@ -4936,7 +5075,7 @@ struct ItemMeta
{ FT_INT, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 8, 0xF9600007, fields, -1);
+ static DB2Meta instance(841626, -1, 8, 0xF9600007, fields, -1);
return &instance;
}
};
@@ -4952,7 +5091,7 @@ struct ItemAppearanceMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 4, 0x422F764D, fields, -1);
+ static DB2Meta instance(982462, -1, 4, 0x422F764D, fields, -1);
return &instance;
}
};
@@ -4966,7 +5105,7 @@ struct ItemAppearanceXUiCameraMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 2, 0xCD3677FD, fields, -1);
+ static DB2Meta instance(1248126, -1, 2, 0xCD3677FD, fields, -1);
return &instance;
}
};
@@ -4979,7 +5118,7 @@ struct ItemArmorQualityMeta
{
{ FT_FLOAT, 7, true },
};
- static DB2Meta instance(-1, 1, 0x0B17E016, fields, -1);
+ static DB2Meta instance(1283021, -1, 1, 0x0B17E016, fields, -1);
return &instance;
}
};
@@ -4993,7 +5132,7 @@ struct ItemArmorShieldMeta
{ FT_FLOAT, 7, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 2, 0xC88C8C8D, fields, -1);
+ static DB2Meta instance(1277741, -1, 2, 0xC88C8C8D, fields, -1);
return &instance;
}
};
@@ -5010,7 +5149,7 @@ struct ItemArmorTotalMeta
{ FT_FLOAT, 1, true },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 5, 0xC4CD0FD9, fields, -1);
+ static DB2Meta instance(1283022, -1, 5, 0xC4CD0FD9, fields, -1);
return &instance;
}
};
@@ -5023,7 +5162,7 @@ struct ItemBagFamilyMeta
{
{ FT_STRING, 1, true },
};
- static DB2Meta instance(-1, 1, 0x9F2C8370, fields, -1);
+ static DB2Meta instance(1278179, -1, 1, 0x9F2C8370, fields, -1);
return &instance;
}
};
@@ -5039,7 +5178,7 @@ struct ItemBonusMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 4, 0xB96C1748, fields, 1);
+ static DB2Meta instance(959070, -1, 4, 0xB96C1748, fields, 1);
return &instance;
}
};
@@ -5053,7 +5192,7 @@ struct ItemBonusListLevelDeltaMeta
{ FT_SHORT, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(1, 2, 0x819C0CC1, fields, -1);
+ static DB2Meta instance(1320358, 1, 2, 0x819C0CC1, fields, -1);
return &instance;
}
};
@@ -5070,7 +5209,7 @@ struct ItemBonusTreeNodeMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 5, 0x1DDAA885, fields, 4);
+ static DB2Meta instance(987134, -1, 5, 0x1DDAA885, fields, 4);
return &instance;
}
};
@@ -5082,10 +5221,10 @@ struct ItemChildEquipmentMeta
static DB2MetaField const fields[3] =
{
{ FT_INT, 1, true },
- { FT_BYTE, 1, false },
{ FT_INT, 1, true },
+ { FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 3, 0x48E64550, fields, 2);
+ static DB2Meta instance(1247926, -1, 3, 0x50B8B75E, fields, 0);
return &instance;
}
};
@@ -5101,7 +5240,7 @@ struct ItemClassMeta
{ FT_FLOAT, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 4, 0xB6C67A3D, fields, -1);
+ static DB2Meta instance(1140189, -1, 4, 0xB6C67A3D, fields, -1);
return &instance;
}
};
@@ -5119,7 +5258,7 @@ struct ItemContextPickerEntryMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 6, 0x1596EAF3, fields, 5);
+ static DB2Meta instance(1405665, -1, 6, 0x1596EAF3, fields, 5);
return &instance;
}
};
@@ -5132,7 +5271,7 @@ struct ItemCurrencyCostMeta
{
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 1, 0xDAC6A93C, fields, 0);
+ static DB2Meta instance(801670, -1, 1, 0xDAC6A93C, fields, 0);
return &instance;
}
};
@@ -5146,7 +5285,7 @@ struct ItemDamageAmmoMeta
{ FT_SHORT, 1, false },
{ FT_FLOAT, 7, true },
};
- static DB2Meta instance(-1, 2, 0x1309BE8D, fields, -1);
+ static DB2Meta instance(1277740, -1, 2, 0x1309BE8D, fields, -1);
return &instance;
}
};
@@ -5160,7 +5299,7 @@ struct ItemDamageOneHandMeta
{ FT_SHORT, 1, false },
{ FT_FLOAT, 7, true },
};
- static DB2Meta instance(-1, 2, 0x1309BE8D, fields, -1);
+ static DB2Meta instance(1277743, -1, 2, 0x1309BE8D, fields, -1);
return &instance;
}
};
@@ -5174,7 +5313,7 @@ struct ItemDamageOneHandCasterMeta
{ FT_SHORT, 1, false },
{ FT_FLOAT, 7, true },
};
- static DB2Meta instance(-1, 2, 0x1309BE8D, fields, -1);
+ static DB2Meta instance(1277739, -1, 2, 0x1309BE8D, fields, -1);
return &instance;
}
};
@@ -5188,7 +5327,7 @@ struct ItemDamageTwoHandMeta
{ FT_SHORT, 1, false },
{ FT_FLOAT, 7, true },
};
- static DB2Meta instance(-1, 2, 0x1309BE8D, fields, -1);
+ static DB2Meta instance(1277738, -1, 2, 0x1309BE8D, fields, -1);
return &instance;
}
};
@@ -5202,7 +5341,7 @@ struct ItemDamageTwoHandCasterMeta
{ FT_SHORT, 1, false },
{ FT_FLOAT, 7, true },
};
- static DB2Meta instance(-1, 2, 0x1309BE8D, fields, -1);
+ static DB2Meta instance(1277742, -1, 2, 0x1309BE8D, fields, -1);
return &instance;
}
};
@@ -5221,7 +5360,7 @@ struct ItemDisenchantLootMeta
{ FT_BYTE, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 7, 0x146B9F40, fields, 6);
+ static DB2Meta instance(1134087, -1, 7, 0x146B9F40, fields, 6);
return &instance;
}
};
@@ -5248,7 +5387,7 @@ struct ItemDisplayInfoMeta
{ FT_INT, 6, true },
{ FT_INT, 2, true },
};
- static DB2Meta instance(-1, 15, 0x089404D9, fields, -1);
+ static DB2Meta instance(1266429, -1, 15, 0x089404D9, fields, -1);
return &instance;
}
};
@@ -5263,7 +5402,7 @@ struct ItemDisplayInfoMaterialResMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0x936E6A99, fields, 2);
+ static DB2Meta instance(1280614, -1, 3, 0x936E6A99, fields, 2);
return &instance;
}
};
@@ -5277,7 +5416,7 @@ struct ItemDisplayXUiCameraMeta
{ FT_INT, 1, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 2, 0x3E999EAA, fields, -1);
+ static DB2Meta instance(1146690, -1, 2, 0x3E999EAA, fields, -1);
return &instance;
}
};
@@ -5298,7 +5437,7 @@ struct ItemEffectMeta
{ FT_SHORT, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 9, 0x46818AA6, fields, 8);
+ static DB2Meta instance(969941, -1, 9, 0x46818AA6, fields, 8);
return &instance;
}
};
@@ -5320,7 +5459,22 @@ struct ItemExtendedCostMeta
{ FT_SHORT, 5, false },
{ FT_INT, 5, false },
};
- static DB2Meta instance(-1, 10, 0x2AC5BE11, fields, -1);
+ static DB2Meta instance(801681, -1, 10, 0x2AC5BE11, fields, -1);
+ return &instance;
+ }
+};
+
+struct ItemFallbackVisualMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[3] =
+ {
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ };
+ static DB2Meta instance(2358574, -1, 3, 0x9628BAFD, fields, -1);
return &instance;
}
};
@@ -5333,7 +5487,7 @@ struct ItemGroupSoundsMeta
{
{ FT_INT, 4, false },
};
- static DB2Meta instance(-1, 1, 0x909375D2, fields, -1);
+ static DB2Meta instance(1283023, -1, 1, 0x909375D2, fields, -1);
return &instance;
}
};
@@ -5342,12 +5496,13 @@ struct ItemLevelSelectorMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[2] =
+ static DB2MetaField const fields[3] =
{
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
+ { FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 2, 0x3112276E, fields, -1);
+ static DB2Meta instance(1588911, -1, 3, 0xED48D0C0, fields, -1);
return &instance;
}
};
@@ -5362,7 +5517,7 @@ struct ItemLevelSelectorQualityMeta
{ FT_BYTE, 1, true },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(-1, 3, 0xC40169D5, fields, 2);
+ static DB2Meta instance(1624937, -1, 3, 0xC40169D5, fields, 2);
return &instance;
}
};
@@ -5376,7 +5531,7 @@ struct ItemLevelSelectorQualitySetMeta
{ FT_SHORT, 1, true },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(-1, 2, 0x89657A48, fields, -1);
+ static DB2Meta instance(1624933, -1, 2, 0x89657A48, fields, -1);
return &instance;
}
};
@@ -5391,7 +5546,7 @@ struct ItemLimitCategoryMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 3, 0xE068171C, fields, -1);
+ static DB2Meta instance(1237440, -1, 3, 0xE068171C, fields, -1);
return &instance;
}
};
@@ -5406,7 +5561,7 @@ struct ItemLimitCategoryConditionMeta
{ FT_INT, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0x7F847085, fields, 2);
+ static DB2Meta instance(1378590, -1, 3, 0x7F847085, fields, 2);
return &instance;
}
};
@@ -5424,7 +5579,7 @@ struct ItemModifiedAppearanceMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(0, 6, 0x9C32B7FF, fields, 1);
+ static DB2Meta instance(982457, 0, 6, 0x9C32B7FF, fields, 1);
return &instance;
}
};
@@ -5441,7 +5596,7 @@ struct ItemModifiedAppearanceExtraMeta
{ FT_BYTE, 1, true },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 5, 0x7E2FD302, fields, -1);
+ static DB2Meta instance(1278399, -1, 5, 0x7E2FD302, fields, -1);
return &instance;
}
};
@@ -5455,7 +5610,7 @@ struct ItemNameDescriptionMeta
{ FT_STRING, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 2, 0xBBF04CCC, fields, -1);
+ static DB2Meta instance(1332559, -1, 2, 0xBBF04CCC, fields, -1);
return &instance;
}
};
@@ -5468,7 +5623,7 @@ struct ItemPetFoodMeta
{
{ FT_STRING, 1, true },
};
- static DB2Meta instance(-1, 1, 0xD6AB60EB, fields, -1);
+ static DB2Meta instance(1302240, -1, 1, 0xD6AB60EB, fields, -1);
return &instance;
}
};
@@ -5483,36 +5638,7 @@ struct ItemPriceBaseMeta
{ FT_FLOAT, 1, true },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 3, 0xC90092C7, fields, -1);
- return &instance;
- }
-};
-
-struct ItemRandomPropertiesMeta
-{
- static DB2Meta const* Instance()
- {
- static DB2MetaField const fields[2] =
- {
- { FT_STRING, 1, true },
- { FT_SHORT, 5, false },
- };
- static DB2Meta instance(-1, 2, 0xBDA8BFCD, fields, -1);
- return &instance;
- }
-};
-
-struct ItemRandomSuffixMeta
-{
- static DB2Meta const* Instance()
- {
- static DB2MetaField const fields[3] =
- {
- { FT_STRING, 1, true },
- { FT_SHORT, 5, false },
- { FT_SHORT, 5, false },
- };
- static DB2Meta instance(-1, 3, 0xABCC4871, fields, -1);
+ static DB2Meta instance(1121231, -1, 3, 0xC90092C7, fields, -1);
return &instance;
}
};
@@ -5528,7 +5654,7 @@ struct ItemRangedDisplayInfoMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 4, 0xA6B99F0D, fields, -1);
+ static DB2Meta instance(1270315, -1, 4, 0xA6B99F0D, fields, -1);
return &instance;
}
};
@@ -5554,7 +5680,7 @@ struct ItemSearchNameMeta
{ FT_SHORT, 1, false },
{ FT_INT, 4, true },
};
- static DB2Meta instance(2, 14, 0xF0940AFC, fields, -1);
+ static DB2Meta instance(1273408, 2, 14, 0xF0940AFC, fields, -1);
return &instance;
}
};
@@ -5571,7 +5697,7 @@ struct ItemSetMeta
{ FT_SHORT, 1, false },
{ FT_INT, 17, false },
};
- static DB2Meta instance(-1, 5, 0xB02A9041, fields, -1);
+ static DB2Meta instance(1343609, -1, 5, 0xB02A9041, fields, -1);
return &instance;
}
};
@@ -5587,7 +5713,7 @@ struct ItemSetSpellMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 4, 0xD6AEEA60, fields, 3);
+ static DB2Meta instance(1314689, -1, 4, 0xD6AEEA60, fields, 3);
return &instance;
}
};
@@ -5596,7 +5722,7 @@ struct ItemSparseMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[64] =
+ static DB2MetaField const fields[62] =
{
{ FT_LONG, 1, true },
{ FT_STRING, 1, true },
@@ -5640,8 +5766,6 @@ struct ItemSparseMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
- { FT_SHORT, 1, false },
- { FT_SHORT, 1, false },
{ FT_SHORT, 1, true },
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
@@ -5663,7 +5787,7 @@ struct ItemSparseMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 64, 0xF9021F01, fields, -1);
+ static DB2Meta instance(1572924, -1, 62, 0xF8931063, fields, -1);
return &instance;
}
};
@@ -5681,7 +5805,7 @@ struct ItemSpecMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 6, 0xEB138F8E, fields, 2);
+ static DB2Meta instance(1135120, -1, 6, 0xEB138F8E, fields, 2);
return &instance;
}
};
@@ -5695,7 +5819,7 @@ struct ItemSpecOverrideMeta
{ FT_SHORT, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 2, 0xB235D33A, fields, 1);
+ static DB2Meta instance(1134576, -1, 2, 0xB235D33A, fields, 1);
return &instance;
}
};
@@ -5717,7 +5841,7 @@ struct ItemSubClassMeta
{ FT_BYTE, 1, true },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 10, 0xC7178B11, fields, 2);
+ static DB2Meta instance(1261604, -1, 10, 0xC7178B11, fields, 2);
return &instance;
}
};
@@ -5732,7 +5856,7 @@ struct ItemSubClassMaskMeta
{ FT_BYTE, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 3, 0x146E3154, fields, -1);
+ static DB2Meta instance(1302852, -1, 3, 0x146E3154, fields, -1);
return &instance;
}
};
@@ -5749,7 +5873,7 @@ struct ItemUpgradeMeta
{ FT_SHORT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 5, 0x706FA369, fields, -1);
+ static DB2Meta instance(801687, -1, 5, 0x706FA369, fields, -1);
return &instance;
}
};
@@ -5762,7 +5886,7 @@ struct ItemVisualsMeta
{
{ FT_INT, 5, true },
};
- static DB2Meta instance(-1, 1, 0x4025FA36, fields, -1);
+ static DB2Meta instance(1343605, -1, 1, 0x4025FA36, fields, -1);
return &instance;
}
};
@@ -5776,7 +5900,7 @@ struct ItemXBonusTreeMeta
{ FT_SHORT, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 2, 0x57244BD5, fields, 1);
+ static DB2Meta instance(987133, -1, 2, 0x57244BD5, fields, 1);
return &instance;
}
};
@@ -5785,12 +5909,13 @@ struct JournalEncounterMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[10] =
+ static DB2MetaField const fields[11] =
{
{ FT_STRING, 1, true },
{ FT_STRING, 1, true },
{ FT_FLOAT, 2, true },
{ FT_SHORT, 1, false },
+ { FT_SHORT, 1, false },
{ FT_INT, 1, false },
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
@@ -5798,7 +5923,7 @@ struct JournalEncounterMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 10, 0x5E057FAD, fields, -1);
+ static DB2Meta instance(1240336, -1, 11, 0x9C7CB433, fields, -1);
return &instance;
}
};
@@ -5818,7 +5943,7 @@ struct JournalEncounterCreatureMeta
{ FT_BYTE, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(2, 8, 0x71CE658D, fields, 3);
+ static DB2Meta instance(1301155, 2, 8, 0x71CE658D, fields, 3);
return &instance;
}
};
@@ -5836,7 +5961,7 @@ struct JournalEncounterItemMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(0, 6, 0x5FD94071, fields, 1);
+ static DB2Meta instance(1344467, 0, 6, 0x5FD94071, fields, 1);
return &instance;
}
};
@@ -5863,7 +5988,7 @@ struct JournalEncounterSectionMeta
{ FT_SHORT, 1, false },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 15, 0x582FB4F6, fields, -1);
+ static DB2Meta instance(1134413, -1, 15, 0x582FB4F6, fields, -1);
return &instance;
}
};
@@ -5877,7 +6002,7 @@ struct JournalEncounterXDifficultyMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 2, 0x436676BA, fields, 1);
+ static DB2Meta instance(1121901, -1, 2, 0x436676BA, fields, 1);
return &instance;
}
};
@@ -5894,7 +6019,7 @@ struct JournalEncounterXMapLocMeta
{ FT_BYTE, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 5, 0xBCE56697, fields, 4);
+ static DB2Meta instance(1722928, -1, 5, 0xBCE56697, fields, 4);
return &instance;
}
};
@@ -5917,7 +6042,7 @@ struct JournalInstanceMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(2, 11, 0xBB10478F, fields, -1);
+ static DB2Meta instance(1237438, 2, 11, 0xBB10478F, fields, -1);
return &instance;
}
};
@@ -5931,7 +6056,7 @@ struct JournalItemXDifficultyMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 2, 0xF938F4BD, fields, 1);
+ static DB2Meta instance(1277744, -1, 2, 0xF938F4BD, fields, 1);
return &instance;
}
};
@@ -5945,7 +6070,7 @@ struct JournalSectionXDifficultyMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 2, 0xE02C355F, fields, 1);
+ static DB2Meta instance(1121900, -1, 2, 0xE02C355F, fields, 1);
return &instance;
}
};
@@ -5958,7 +6083,7 @@ struct JournalTierMeta
{
{ FT_STRING, 1, true },
};
- static DB2Meta instance(-1, 1, 0xE0D727CB, fields, -1);
+ static DB2Meta instance(1349056, -1, 1, 0xE0D727CB, fields, -1);
return &instance;
}
};
@@ -5972,7 +6097,7 @@ struct JournalTierXInstanceMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 2, 0xD584CE6A, fields, 0);
+ static DB2Meta instance(1285009, -1, 2, 0xD584CE6A, fields, 0);
return &instance;
}
};
@@ -5985,7 +6110,7 @@ struct KeychainMeta
{
{ FT_BYTE, 32, false },
};
- static DB2Meta instance(-1, 1, 0x67DDA82E, fields, -1);
+ static DB2Meta instance(801693, -1, 1, 0x67DDA82E, fields, -1);
return &instance;
}
};
@@ -6001,7 +6126,7 @@ struct KeystoneAffixMeta
{ FT_INT, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(2, 4, 0x60D97B7F, fields, -1);
+ static DB2Meta instance(1344761, 2, 4, 0x60D97B7F, fields, -1);
return &instance;
}
};
@@ -6020,7 +6145,7 @@ struct LFGDungeonExpansionMeta
{ FT_INT, 1, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 7, 0x6754EDAB, fields, 6);
+ static DB2Meta instance(1343606, -1, 7, 0x6754EDAB, fields, 6);
return &instance;
}
};
@@ -6036,7 +6161,7 @@ struct LFGDungeonGroupMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 4, 0x4E84BE76, fields, -1);
+ static DB2Meta instance(1135058, -1, 4, 0x4E84BE76, fields, -1);
return &instance;
}
};
@@ -6081,7 +6206,7 @@ struct LFGDungeonsMeta
{ FT_BYTE, 1, false },
{ FT_INT, 2, true },
};
- static DB2Meta instance(-1, 33, 0xD9B678AD, fields, -1);
+ static DB2Meta instance(1361033, -1, 33, 0xD9B678AD, fields, -1);
return &instance;
}
};
@@ -6096,7 +6221,7 @@ struct LFGRoleRequirementMeta
{ FT_INT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 3, 0x35B34A59, fields, 2);
+ static DB2Meta instance(982805, -1, 3, 0x35B34A59, fields, 2);
return &instance;
}
};
@@ -6110,7 +6235,7 @@ struct LanguageWordsMeta
{ FT_STRING_NOT_LOCALIZED, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 2, 0xFBB33D15, fields, -1);
+ static DB2Meta instance(984702, -1, 2, 0xFBB33D15, fields, -1);
return &instance;
}
};
@@ -6124,7 +6249,7 @@ struct LanguagesMeta
{ FT_STRING, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(1, 2, 0xAA508D47, fields, -1);
+ static DB2Meta instance(1135325, 1, 2, 0xAA508D47, fields, -1);
return &instance;
}
};
@@ -6139,7 +6264,7 @@ struct LfgDungeonsGroupingMapMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 3, 0xD50B89E4, fields, 2);
+ static DB2Meta instance(1339818, -1, 3, 0xD50B89E4, fields, 2);
return &instance;
}
};
@@ -6156,7 +6281,7 @@ struct LightMeta
{ FT_SHORT, 1, true },
{ FT_SHORT, 8, false },
};
- static DB2Meta instance(-1, 5, 0x04052B1F, fields, -1);
+ static DB2Meta instance(1375579, -1, 5, 0x04052B1F, fields, -1);
return &instance;
}
};
@@ -6165,7 +6290,7 @@ struct LightDataMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[36] =
+ static DB2MetaField const fields[37] =
{
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
@@ -6203,8 +6328,9 @@ struct LightDataMeta
{ FT_INT, 1, false },
{ FT_FLOAT, 1, true },
{ FT_INT, 1, false },
+ { FT_FLOAT, 4, true },
};
- static DB2Meta instance(-1, 36, 0xE7CA3F85, fields, 0);
+ static DB2Meta instance(1375580, -1, 37, 0xFCED593A, fields, 0);
return &instance;
}
};
@@ -6225,10 +6351,10 @@ struct LightParamsMeta
{ FT_FLOAT, 1, true },
{ FT_FLOAT, 1, true },
{ FT_FLOAT, 1, true },
- { FT_BYTE, 1, true },
+ { FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(1, 12, 0xA08FAABA, fields, -1);
+ static DB2Meta instance(1334669, 1, 12, 0x92B4D392, fields, -1);
return &instance;
}
};
@@ -6244,7 +6370,7 @@ struct LightSkyboxMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 4, 0x757E9EB6, fields, -1);
+ static DB2Meta instance(1308501, -1, 4, 0x757E9EB6, fields, -1);
return &instance;
}
};
@@ -6290,7 +6416,7 @@ struct LightningMeta
{ FT_FLOAT, 1, true },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 34, 0x8B6D192C, fields, -1);
+ static DB2Meta instance(2003383, -1, 34, 0x8B6D192C, fields, -1);
return &instance;
}
};
@@ -6304,7 +6430,7 @@ struct LiquidMaterialMeta
{ FT_BYTE, 1, true },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 2, 0x6A7287A2, fields, -1);
+ static DB2Meta instance(1132538, -1, 2, 0x6A7287A2, fields, -1);
return &instance;
}
};
@@ -6321,7 +6447,7 @@ struct LiquidObjectMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 5, 0x7AF380AA, fields, -1);
+ static DB2Meta instance(1308058, -1, 5, 0x7AF380AA, fields, -1);
return &instance;
}
};
@@ -6354,7 +6480,23 @@ struct LiquidTypeMeta
{ FT_INT, 4, false },
{ FT_FLOAT, 4, true },
};
- static DB2Meta instance(-1, 21, 0x29F8C65E, fields, -1);
+ static DB2Meta instance(1371380, -1, 21, 0x29F8C65E, fields, -1);
+ return &instance;
+ }
+};
+
+struct LiquidTypeXTextureMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[4] =
+ {
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_BYTE, 1, true },
+ { FT_INT, 1, true },
+ };
+ static DB2Meta instance(2261065, -1, 4, 0x6182D296, fields, 3);
return &instance;
}
};
@@ -6371,7 +6513,7 @@ struct LoadingScreenTaxiSplinesMeta
{ FT_FLOAT, 10, true },
{ FT_FLOAT, 10, true },
};
- static DB2Meta instance(-1, 5, 0xCDF5DDF1, fields, -1);
+ static DB2Meta instance(1302239, -1, 5, 0xCDF5DDF1, fields, -1);
return &instance;
}
};
@@ -6380,13 +6522,20 @@ struct LoadingScreensMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[3] =
+ static DB2MetaField const fields[10] =
{
{ FT_INT, 1, true },
{ FT_INT, 1, true },
{ FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 3, 0xA2488A1C, fields, -1);
+ static DB2Meta instance(1266541, -1, 10, 0x13F390BF, fields, -1);
return &instance;
}
};
@@ -6395,14 +6544,15 @@ struct LocaleMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[4] =
+ static DB2MetaField const fields[5] =
{
{ FT_BYTE, 1, false },
{ FT_INT, 1, true },
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
+ { FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 4, 0x65638FD5, fields, -1);
+ static DB2Meta instance(801706, -1, 5, 0x4D136010, fields, -1);
return &instance;
}
};
@@ -6416,7 +6566,7 @@ struct LocationMeta
{ FT_FLOAT, 3, true },
{ FT_FLOAT, 3, true },
};
- static DB2Meta instance(-1, 2, 0x71BD1122, fields, -1);
+ static DB2Meta instance(801707, -1, 2, 0x71BD1122, fields, -1);
return &instance;
}
};
@@ -6432,7 +6582,7 @@ struct LockMeta
{ FT_BYTE, 8, false },
{ FT_BYTE, 8, false },
};
- static DB2Meta instance(-1, 4, 0x156C0BD7, fields, -1);
+ static DB2Meta instance(1343608, -1, 4, 0x156C0BD7, fields, -1);
return &instance;
}
};
@@ -6449,7 +6599,7 @@ struct LockTypeMeta
{ FT_STRING_NOT_LOCALIZED, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(4, 5, 0x3F736720, fields, -1);
+ static DB2Meta instance(1284823, 4, 5, 0x3F736720, fields, -1);
return &instance;
}
};
@@ -6479,7 +6629,7 @@ struct LookAtControllerMeta
{ FT_FLOAT, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 18, 0x2E077E56, fields, -1);
+ static DB2Meta instance(1098785, -1, 18, 0x2E077E56, fields, -1);
return &instance;
}
};
@@ -6492,7 +6642,7 @@ struct MailTemplateMeta
{
{ FT_STRING, 1, true },
};
- static DB2Meta instance(-1, 1, 0xC6E0D9B5, fields, -1);
+ static DB2Meta instance(1240344, -1, 1, 0xC6E0D9B5, fields, -1);
return &instance;
}
};
@@ -6501,7 +6651,7 @@ struct ManagedWorldStateMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[10] =
+ static DB2MetaField const fields[11] =
{
{ FT_INT, 1, false },
{ FT_INT, 1, true },
@@ -6512,9 +6662,10 @@ struct ManagedWorldStateMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
{ FT_INT, 1, true },
+ { FT_BYTE, 1, true },
{ FT_INT, 4, true },
};
- static DB2Meta instance(0, 10, 0x043BFC8F, fields, -1);
+ static DB2Meta instance(1587159, 0, 11, 0x5A184C08, fields, -1);
return &instance;
}
};
@@ -6530,7 +6681,7 @@ struct ManagedWorldStateBuffMeta
{ FT_INT, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 4, 0x049B986F, fields, 3);
+ static DB2Meta instance(1587155, -1, 4, 0x049B986F, fields, 3);
return &instance;
}
};
@@ -6545,7 +6696,7 @@ struct ManagedWorldStateInputMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0x21237CDC, fields, -1);
+ static DB2Meta instance(1587151, -1, 3, 0x21237CDC, fields, -1);
return &instance;
}
};
@@ -6558,7 +6709,7 @@ struct ManifestInterfaceActionIconMeta
{
{ FT_INT, 1, false },
};
- static DB2Meta instance(0, 1, 0xB5EE0DCB, fields, -1);
+ static DB2Meta instance(1375803, 0, 1, 0xB5EE0DCB, fields, -1);
return &instance;
}
};
@@ -6572,7 +6723,7 @@ struct ManifestInterfaceDataMeta
{ FT_STRING_NOT_LOCALIZED, 1, true },
{ FT_STRING_NOT_LOCALIZED, 1, true },
};
- static DB2Meta instance(-1, 2, 0x03E4C021, fields, -1);
+ static DB2Meta instance(1375801, -1, 2, 0x03E4C021, fields, -1);
return &instance;
}
};
@@ -6585,7 +6736,7 @@ struct ManifestInterfaceItemIconMeta
{
{ FT_INT, 1, false },
};
- static DB2Meta instance(0, 1, 0xB5EE0DCB, fields, -1);
+ static DB2Meta instance(1375804, 0, 1, 0xB5EE0DCB, fields, -1);
return &instance;
}
};
@@ -6598,7 +6749,7 @@ struct ManifestInterfaceTOCDataMeta
{
{ FT_STRING_NOT_LOCALIZED, 1, true },
};
- static DB2Meta instance(-1, 1, 0xD00DAF09, fields, -1);
+ static DB2Meta instance(1267335, -1, 1, 0xD00DAF09, fields, -1);
return &instance;
}
};
@@ -6611,7 +6762,7 @@ struct ManifestMP3Meta
{
{ FT_INT, 1, false },
};
- static DB2Meta instance(0, 1, 0xB5EE0DCB, fields, -1);
+ static DB2Meta instance(1375802, 0, 1, 0xB5EE0DCB, fields, -1);
return &instance;
}
};
@@ -6620,7 +6771,7 @@ struct MapMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[22] =
+ static DB2MetaField const fields[23] =
{
{ FT_STRING_NOT_LOCALIZED, 1, true },
{ FT_STRING, 1, true },
@@ -6643,9 +6794,10 @@ struct MapMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, true },
{ FT_INT, 1, true },
+ { FT_INT, 1, true },
{ FT_INT, 2, true },
};
- static DB2Meta instance(-1, 22, 0x503A3E58, fields, -1);
+ static DB2Meta instance(1349477, -1, 23, 0xB290D217, fields, -1);
return &instance;
}
};
@@ -6660,7 +6812,7 @@ struct MapCelestialBodyMeta
{ FT_INT, 1, false },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(-1, 3, 0x14543648, fields, 2);
+ static DB2Meta instance(1597466, -1, 3, 0x14543648, fields, 2);
return &instance;
}
};
@@ -6677,7 +6829,7 @@ struct MapChallengeModeMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 3, true },
};
- static DB2Meta instance(1, 5, 0x50F3ABC2, fields, 2);
+ static DB2Meta instance(801709, 1, 5, 0x50F3ABC2, fields, 2);
return &instance;
}
};
@@ -6689,17 +6841,17 @@ struct MapDifficultyMeta
static DB2MetaField const fields[10] =
{
{ FT_STRING, 1, true },
- { FT_INT, 1, false },
{ FT_INT, 1, true },
- { FT_BYTE, 1, false },
- { FT_BYTE, 1, false },
- { FT_BYTE, 1, false },
- { FT_BYTE, 1, false },
- { FT_BYTE, 1, false },
- { FT_BYTE, 1, false },
- { FT_SHORT, 1, false },
+ { FT_INT, 1, true },
+ { FT_BYTE, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
};
- static DB2Meta instance(-1, 10, 0xF876E8BA, fields, 9);
+ static DB2Meta instance(1367868, -1, 10, 0xD3C70303, fields, 9);
return &instance;
}
};
@@ -6715,7 +6867,7 @@ struct MapDifficultyXConditionMeta
{ FT_INT, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 4, 0x8DBA5D16, fields, 3);
+ static DB2Meta instance(1375435, -1, 4, 0x8DBA5D16, fields, 3);
return &instance;
}
};
@@ -6732,7 +6884,7 @@ struct MapLoadingScreenMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 5, 0xC4CFD9A8, fields, 4);
+ static DB2Meta instance(1719707, -1, 5, 0xC4CFD9A8, fields, 4);
return &instance;
}
};
@@ -6751,7 +6903,7 @@ struct MarketingPromotionsXLocaleMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 7, 0xC04E61FB, fields, -1);
+ static DB2Meta instance(801710, -1, 7, 0xC04E61FB, fields, -1);
return &instance;
}
};
@@ -6767,7 +6919,7 @@ struct MaterialMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 4, 0x370D43B4, fields, -1);
+ static DB2Meta instance(1294217, -1, 4, 0x370D43B4, fields, -1);
return &instance;
}
};
@@ -6782,7 +6934,7 @@ struct MinorTalentMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0x09F57B9C, fields, 2);
+ static DB2Meta instance(1347274, -1, 3, 0x09F57B9C, fields, 2);
return &instance;
}
};
@@ -6806,7 +6958,7 @@ struct MissileTargetingMeta
{ FT_FLOAT, 2, true },
{ FT_INT, 2, true },
};
- static DB2Meta instance(-1, 12, 0xF695DDBA, fields, -1);
+ static DB2Meta instance(1710117, -1, 12, 0xF695DDBA, fields, -1);
return &instance;
}
};
@@ -6821,7 +6973,7 @@ struct ModelAnimCloakDampeningMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 3, 0xAA668B4F, fields, 2);
+ static DB2Meta instance(1465904, -1, 3, 0xAA668B4F, fields, 2);
return &instance;
}
};
@@ -6837,7 +6989,7 @@ struct ModelFileDataMeta
{ FT_BYTE, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(0, 4, 0x9C9B4543, fields, 3);
+ static DB2Meta instance(1337833, 0, 4, 0x9C9B4543, fields, 3);
return &instance;
}
};
@@ -6851,7 +7003,7 @@ struct ModelRibbonQualityMeta
{ FT_BYTE, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 2, 0xA26E8DD1, fields, 1);
+ static DB2Meta instance(1399953, -1, 2, 0xA26E8DD1, fields, 1);
return &instance;
}
};
@@ -6870,7 +7022,7 @@ struct ModifierTreeMeta
{ FT_INT, 1, true },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 7, 0x643002AE, fields, -1);
+ static DB2Meta instance(1267645, -1, 7, 0x643002AE, fields, -1);
return &instance;
}
};
@@ -6893,7 +7045,7 @@ struct MountMeta
{ FT_FLOAT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(3, 11, 0x629E87E2, fields, -1);
+ static DB2Meta instance(921760, 3, 11, 0x629E87E2, fields, -1);
return &instance;
}
};
@@ -6913,7 +7065,7 @@ struct MountCapabilityMeta
{ FT_INT, 1, true },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(0, 8, 0xD8A906D6, fields, -1);
+ static DB2Meta instance(1114709, 0, 8, 0xD8A906D6, fields, -1);
return &instance;
}
};
@@ -6928,7 +7080,7 @@ struct MountTypeXCapabilityMeta
{ FT_SHORT, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 3, 0x613701E9, fields, 0);
+ static DB2Meta instance(1114715, -1, 3, 0x613701E9, fields, 0);
return &instance;
}
};
@@ -6943,7 +7095,7 @@ struct MountXDisplayMeta
{ FT_INT, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0x2D4F3D78, fields, 2);
+ static DB2Meta instance(1576117, -1, 3, 0x2D4F3D78, fields, 2);
return &instance;
}
};
@@ -6959,7 +7111,7 @@ struct MovieMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 4, 0x4848C4FB, fields, -1);
+ static DB2Meta instance(1332556, -1, 4, 0x4848C4FB, fields, -1);
return &instance;
}
};
@@ -6972,7 +7124,7 @@ struct MovieFileDataMeta
{
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 1, 0xB24F82EB, fields, -1);
+ static DB2Meta instance(1301154, -1, 1, 0xB24F82EB, fields, -1);
return &instance;
}
};
@@ -6987,7 +7139,7 @@ struct MovieVariationMeta
{ FT_INT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 3, 0xAEA671AA, fields, 2);
+ static DB2Meta instance(1339819, -1, 3, 0xAEA671AA, fields, 2);
return &instance;
}
};
@@ -7010,7 +7162,7 @@ struct MultiStatePropertiesMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 11, 0x50BB5EDC, fields, 10);
+ static DB2Meta instance(1965592, -1, 11, 0x50BB5EDC, fields, 10);
return &instance;
}
};
@@ -7027,7 +7179,21 @@ struct MultiTransitionPropertiesMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 5, 0x5720F452, fields, -1);
+ static DB2Meta instance(1965589, -1, 5, 0x5720F452, fields, -1);
+ return &instance;
+ }
+};
+
+struct MythicPlusSeasonMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[2] =
+ {
+ { FT_INT, 1, false },
+ { FT_INT, 1, true },
+ };
+ static DB2Meta instance(2400282, 0, 2, 0xC8DCB4C5, fields, -1);
return &instance;
}
};
@@ -7043,7 +7209,7 @@ struct MythicPlusSeasonRewardLevelsMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 4, 0xAD6A6D9F, fields, 3);
+ static DB2Meta instance(2123783, -1, 4, 0x5A0606F2, fields, 3);
return &instance;
}
};
@@ -7058,7 +7224,7 @@ struct NPCModelItemSlotDisplayInfoMeta
{ FT_BYTE, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0xB8EC2628, fields, 2);
+ static DB2Meta instance(1340661, -1, 3, 0xB8EC2628, fields, 2);
return &instance;
}
};
@@ -7071,7 +7237,7 @@ struct NPCSoundsMeta
{
{ FT_INT, 4, false },
};
- static DB2Meta instance(-1, 1, 0x5EF56D1F, fields, -1);
+ static DB2Meta instance(1282621, -1, 1, 0x5EF56D1F, fields, -1);
return &instance;
}
};
@@ -7086,7 +7252,7 @@ struct NameGenMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 3, 0xB0EBC6C9, fields, -1);
+ static DB2Meta instance(1122117, -1, 3, 0xB0EBC6C9, fields, -1);
return &instance;
}
};
@@ -7100,7 +7266,7 @@ struct NamesProfanityMeta
{ FT_STRING_NOT_LOCALIZED, 1, true },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 2, 0xCD33D2BE, fields, -1);
+ static DB2Meta instance(1117086, -1, 2, 0xCD33D2BE, fields, -1);
return &instance;
}
};
@@ -7113,7 +7279,7 @@ struct NamesReservedMeta
{
{ FT_STRING_NOT_LOCALIZED, 1, true },
};
- static DB2Meta instance(-1, 1, 0xECCAE96B, fields, -1);
+ static DB2Meta instance(1117085, -1, 1, 0xECCAE96B, fields, -1);
return &instance;
}
};
@@ -7127,7 +7293,7 @@ struct NamesReservedLocaleMeta
{ FT_STRING_NOT_LOCALIZED, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 2, 0x5AAEEDD3, fields, -1);
+ static DB2Meta instance(1117087, -1, 2, 0x5AAEEDD3, fields, -1);
return &instance;
}
};
@@ -7143,7 +7309,7 @@ struct NumTalentsAtLevelMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(0, 4, 0xDE3268EF, fields, -1);
+ static DB2Meta instance(1953326, 0, 4, 0xDE3268EF, fields, -1);
return &instance;
}
};
@@ -7163,7 +7329,7 @@ struct ObjectEffectMeta
{ FT_BYTE, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 8, 0x48D89FCF, fields, -1);
+ static DB2Meta instance(1090577, -1, 8, 0x48D89FCF, fields, -1);
return &instance;
}
};
@@ -7179,7 +7345,7 @@ struct ObjectEffectModifierMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 4, 0x68D120B3, fields, -1);
+ static DB2Meta instance(1090575, -1, 4, 0x68D120B3, fields, -1);
return &instance;
}
};
@@ -7194,7 +7360,7 @@ struct ObjectEffectPackageElemMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 3, 0x3B8C53F9, fields, -1);
+ static DB2Meta instance(1090578, -1, 3, 0x3B8C53F9, fields, -1);
return &instance;
}
};
@@ -7215,7 +7381,7 @@ struct OccluderMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(0, 9, 0xFEDCAAB3, fields, -1);
+ static DB2Meta instance(2066958, 0, 9, 0xFEDCAAB3, fields, -1);
return &instance;
}
};
@@ -7231,7 +7397,7 @@ struct OccluderLocationMeta
{ FT_INT, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(2, 4, 0x95F8BBE4, fields, -1);
+ static DB2Meta instance(2115224, 2, 4, 0x95F8BBE4, fields, -1);
return &instance;
}
};
@@ -7247,7 +7413,7 @@ struct OccluderNodeMeta
{ FT_SHORT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(0, 4, 0x19A34490, fields, -1);
+ static DB2Meta instance(2066959, 0, 4, 0x19A34490, fields, -1);
return &instance;
}
};
@@ -7265,7 +7431,7 @@ struct OutlineEffectMeta
{ FT_FLOAT, 1, true },
{ FT_INT, 2, false },
};
- static DB2Meta instance(-1, 6, 0xECA16738, fields, -1);
+ static DB2Meta instance(1279739, -1, 6, 0xECA16738, fields, -1);
return &instance;
}
};
@@ -7280,7 +7446,7 @@ struct OverrideSpellDataMeta
{ FT_INT, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 3, 0xCEE01938, fields, -1);
+ static DB2Meta instance(1002186, -1, 3, 0xCEE01938, fields, -1);
return &instance;
}
};
@@ -7294,7 +7460,7 @@ struct PVPBracketTypesMeta
{ FT_BYTE, 1, true },
{ FT_INT, 4, false },
};
- static DB2Meta instance(-1, 2, 0x54CF87FB, fields, -1);
+ static DB2Meta instance(1394275, -1, 2, 0x54CF87FB, fields, -1);
return &instance;
}
};
@@ -7310,7 +7476,7 @@ struct PVPDifficultyMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 4, 0x794DB95D, fields, 3);
+ static DB2Meta instance(1339820, -1, 4, 0x794DB95D, fields, 3);
return &instance;
}
};
@@ -7324,7 +7490,7 @@ struct PVPItemMeta
{ FT_INT, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 2, 0x0CD750C1, fields, -1);
+ static DB2Meta instance(972287, -1, 2, 0x0CD750C1, fields, -1);
return &instance;
}
};
@@ -7337,7 +7503,7 @@ struct PageTextMaterialMeta
{
{ FT_STRING_NOT_LOCALIZED, 1, true },
};
- static DB2Meta instance(-1, 1, 0xF6F6B04B, fields, -1);
+ static DB2Meta instance(1271600, -1, 1, 0xF6F6B04B, fields, -1);
return &instance;
}
};
@@ -7352,7 +7518,7 @@ struct PaperDollItemFrameMeta
{ FT_INT, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 3, 0xB85F646E, fields, -1);
+ static DB2Meta instance(1252503, -1, 3, 0xB85F646E, fields, -1);
return &instance;
}
};
@@ -7367,7 +7533,7 @@ struct ParagonReputationMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0xF9AC6E2E, fields, 0);
+ static DB2Meta instance(1581183, -1, 3, 0xF9AC6E2E, fields, 0);
return &instance;
}
};
@@ -7382,7 +7548,7 @@ struct ParticleColorMeta
{ FT_INT, 3, true },
{ FT_INT, 3, true },
};
- static DB2Meta instance(-1, 3, 0xB44B4D4D, fields, -1);
+ static DB2Meta instance(1284820, -1, 3, 0xB44B4D4D, fields, -1);
return &instance;
}
};
@@ -7399,7 +7565,7 @@ struct ParticulateSoundMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 5, 0xF60E0955, fields, 0);
+ static DB2Meta instance(2053913, -1, 5, 0xF60E0955, fields, 0);
return &instance;
}
};
@@ -7418,7 +7584,21 @@ struct PathMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 7, 0x3551690B, fields, -1);
+ static DB2Meta instance(801732, -1, 7, 0x3551690B, fields, -1);
+ return &instance;
+ }
+};
+
+struct PathEdgeMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[2] =
+ {
+ { FT_INT, 2, true },
+ { FT_INT, 1, true },
+ };
+ static DB2Meta instance(2428705, -1, 2, 0xB96C19D5, fields, 1);
return &instance;
}
};
@@ -7434,7 +7614,7 @@ struct PathNodeMeta
{ FT_SHORT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(0, 4, 0x19A34490, fields, -1);
+ static DB2Meta instance(801733, 0, 4, 0x19A34490, fields, -1);
return &instance;
}
};
@@ -7443,15 +7623,16 @@ struct PathNodePropertyMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[5] =
+ static DB2MetaField const fields[6] =
{
{ FT_INT, 1, false },
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
+ { FT_INT, 1, true },
{ FT_BYTE, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(0, 5, 0x578DA815, fields, -1);
+ static DB2Meta instance(801734, 0, 6, 0x496C7404, fields, -1);
return &instance;
}
};
@@ -7467,7 +7648,7 @@ struct PathPropertyMeta
{ FT_BYTE, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(0, 4, 0x3B269A90, fields, -1);
+ static DB2Meta instance(801735, 0, 4, 0x3B269A90, fields, -1);
return &instance;
}
};
@@ -7480,7 +7661,7 @@ struct PhaseMeta
{
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 1, 0x60D39728, fields, -1);
+ static DB2Meta instance(1348558, -1, 1, 0x60D39728, fields, -1);
return &instance;
}
};
@@ -7505,7 +7686,7 @@ struct PhaseShiftZoneSoundsMeta
{ FT_SHORT, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 13, 0x7CA0A010, fields, -1);
+ static DB2Meta instance(1267336, -1, 13, 0x7CA0A010, fields, -1);
return &instance;
}
};
@@ -7519,7 +7700,7 @@ struct PhaseXPhaseGroupMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 2, 0xF00195AE, fields, 1);
+ static DB2Meta instance(987581, -1, 2, 0xF00195AE, fields, 1);
return &instance;
}
};
@@ -7612,7 +7793,7 @@ struct PlayerConditionMeta
{ FT_INT, 6, false },
{ FT_INT, 2, true },
};
- static DB2Meta instance(2, 81, 0xF28CBD18, fields, -1);
+ static DB2Meta instance(1045411, 2, 81, 0xF28CBD18, fields, -1);
return &instance;
}
};
@@ -7628,7 +7809,7 @@ struct PositionerMeta
{ FT_FLOAT, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 4, 0x533B33CB, fields, -1);
+ static DB2Meta instance(1251523, -1, 4, 0x533B33CB, fields, -1);
return &instance;
}
};
@@ -7648,7 +7829,7 @@ struct PositionerStateMeta
{ FT_FLOAT, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 8, 0x9E87B63A, fields, -1);
+ static DB2Meta instance(1251506, -1, 8, 0x9E87B63A, fields, -1);
return &instance;
}
};
@@ -7671,7 +7852,7 @@ struct PositionerStateEntryMeta
{ FT_BYTE, 1, true },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 11, 0xBA9A19C4, fields, -1);
+ static DB2Meta instance(1251533, -1, 11, 0xBA9A19C4, fields, -1);
return &instance;
}
};
@@ -7688,7 +7869,7 @@ struct PowerDisplayMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 5, 0xEB89C62F, fields, -1);
+ static DB2Meta instance(1332557, -1, 5, 0xEB89C62F, fields, -1);
return &instance;
}
};
@@ -7712,7 +7893,7 @@ struct PowerTypeMeta
{ FT_FLOAT, 1, true },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(-1, 12, 0x6D438CB5, fields, -1);
+ static DB2Meta instance(1266022, -1, 12, 0x6D438CB5, fields, -1);
return &instance;
}
};
@@ -7729,7 +7910,7 @@ struct PrestigeLevelInfoMeta
{ FT_BYTE, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 5, 0x31BD813F, fields, -1);
+ static DB2Meta instance(1275869, -1, 5, 0x31BD813F, fields, -1);
return &instance;
}
};
@@ -7744,7 +7925,7 @@ struct PvpScalingEffectMeta
{ FT_INT, 1, true },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 3, 0xAF88F6DB, fields, 1);
+ static DB2Meta instance(1591100, -1, 3, 0xAF88F6DB, fields, 1);
return &instance;
}
};
@@ -7757,7 +7938,23 @@ struct PvpScalingEffectTypeMeta
{
{ FT_STRING_NOT_LOCALIZED, 1, true },
};
- static DB2Meta instance(-1, 1, 0xF6F6B04B, fields, -1);
+ static DB2Meta instance(1591098, -1, 1, 0xF6F6B04B, fields, -1);
+ return &instance;
+ }
+};
+
+struct PvpSeasonRewardLevelsMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[4] =
+ {
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ };
+ static DB2Meta instance(2470695, -1, 4, 0xA1C5D2E9, fields, 3);
return &instance;
}
};
@@ -7778,7 +7975,7 @@ struct PvpTalentMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(1, 9, 0x340BABA3, fields, 2);
+ static DB2Meta instance(1302853, 1, 9, 0x340BABA3, fields, 2);
return &instance;
}
};
@@ -7791,7 +7988,7 @@ struct PvpTalentCategoryMeta
{
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 1, 0xBB4B5731, fields, -1);
+ static DB2Meta instance(1891534, -1, 1, 0xBB4B5731, fields, -1);
return &instance;
}
};
@@ -7807,7 +8004,7 @@ struct PvpTalentSlotUnlockMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 4, 0x572DDD84, fields, -1);
+ static DB2Meta instance(1950197, -1, 4, 0x572DDD84, fields, -1);
return &instance;
}
};
@@ -7827,7 +8024,7 @@ struct PvpTierMeta
{ FT_BYTE, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 8, 0x689983C8, fields, 5);
+ static DB2Meta instance(2066871, -1, 8, 0x689983C8, fields, 5);
return &instance;
}
};
@@ -7840,7 +8037,7 @@ struct QuestFactionRewardMeta
{
{ FT_SHORT, 10, true },
};
- static DB2Meta instance(-1, 1, 0x504FAFB5, fields, -1);
+ static DB2Meta instance(1282622, -1, 1, 0x504FAFB5, fields, -1);
return &instance;
}
};
@@ -7849,8 +8046,9 @@ struct QuestFeedbackEffectMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[6] =
+ static DB2MetaField const fields[7] =
{
+ { FT_STRING_NOT_LOCALIZED, 1, true },
{ FT_INT, 1, false },
{ FT_SHORT, 1, false },
{ FT_BYTE, 1, false },
@@ -7858,7 +8056,7 @@ struct QuestFeedbackEffectMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 6, 0x58E79FBF, fields, -1);
+ static DB2Meta instance(1343388, -1, 7, 0xE253C9FB, fields, -1);
return &instance;
}
};
@@ -7874,7 +8072,7 @@ struct QuestInfoMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 4, 0xDDB38B83, fields, -1);
+ static DB2Meta instance(1120960, -1, 4, 0xDDB38B83, fields, -1);
return &instance;
}
};
@@ -7889,7 +8087,7 @@ struct QuestLineMeta
{ FT_STRING, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 3, 0xC4BD3235, fields, -1);
+ static DB2Meta instance(973430, -1, 3, 0xC4BD3235, fields, -1);
return &instance;
}
};
@@ -7904,7 +8102,7 @@ struct QuestLineXQuestMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 3, 0x57EF18BF, fields, 0);
+ static DB2Meta instance(973441, -1, 3, 0x57EF18BF, fields, 0);
return &instance;
}
};
@@ -7917,7 +8115,7 @@ struct QuestMoneyRewardMeta
{
{ FT_INT, 10, false },
};
- static DB2Meta instance(-1, 1, 0x7E00C5B6, fields, -1);
+ static DB2Meta instance(1139047, -1, 1, 0x7E00C5B6, fields, -1);
return &instance;
}
};
@@ -7937,7 +8135,7 @@ struct QuestObjectiveMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 8, 0x37353FB6, fields, 7);
+ static DB2Meta instance(1251960, -1, 8, 0x37353FB6, fields, 7);
return &instance;
}
};
@@ -7956,7 +8154,7 @@ struct QuestPOIBlobMeta
{ FT_INT, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(0, 7, 0x5DF4B040, fields, 1);
+ static DB2Meta instance(1251882, 0, 7, 0x5DF4B040, fields, 1);
return &instance;
}
};
@@ -7972,7 +8170,7 @@ struct QuestPOIPointMeta
{ FT_SHORT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(0, 4, 0x18D6E719, fields, 3);
+ static DB2Meta instance(1251883, 0, 4, 0x18D6E719, fields, 3);
return &instance;
}
};
@@ -7988,7 +8186,7 @@ struct QuestPackageItemMeta
{ FT_INT, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 4, 0xEB0764D1, fields, -1);
+ static DB2Meta instance(801743, -1, 4, 0xEB0764D1, fields, -1);
return &instance;
}
};
@@ -8002,7 +8200,7 @@ struct QuestSortMeta
{ FT_STRING, 1, true },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 2, 0x2F5E2228, fields, -1);
+ static DB2Meta instance(1134585, -1, 2, 0x2F5E2228, fields, -1);
return &instance;
}
};
@@ -8015,7 +8213,7 @@ struct QuestV2Meta
{
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 1, 0x638D02EF, fields, -1);
+ static DB2Meta instance(1139443, -1, 1, 0x638D02EF, fields, -1);
return &instance;
}
};
@@ -8051,7 +8249,7 @@ struct QuestV2CliTaskMeta
{ FT_INT, 1, true },
{ FT_INT, 3, false },
};
- static DB2Meta instance(3, 24, 0xC0387D4E, fields, -1);
+ static DB2Meta instance(1028735, 3, 24, 0xC0387D4E, fields, -1);
return &instance;
}
};
@@ -8065,7 +8263,7 @@ struct QuestXGroupActivityMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 2, 0xAA88A593, fields, -1);
+ static DB2Meta instance(1573634, -1, 2, 0xAA88A593, fields, -1);
return &instance;
}
};
@@ -8078,7 +8276,7 @@ struct QuestXPMeta
{
{ FT_SHORT, 10, false },
};
- static DB2Meta instance(-1, 1, 0xC33E0774, fields, -1);
+ static DB2Meta instance(1139378, -1, 1, 0xC33E0774, fields, -1);
return &instance;
}
};
@@ -8094,7 +8292,7 @@ struct RandPropPointsMeta
{ FT_INT, 5, false },
{ FT_INT, 5, false },
};
- static DB2Meta instance(-1, 4, 0x7741F65C, fields, -1);
+ static DB2Meta instance(1310245, -1, 4, 0x7741F65C, fields, -1);
return &instance;
}
};
@@ -8109,7 +8307,7 @@ struct RelicSlotTierRequirementMeta
{ FT_BYTE, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0x22CDBDE9, fields, -1);
+ static DB2Meta instance(1716803, -1, 3, 0x22CDBDE9, fields, -1);
return &instance;
}
};
@@ -8126,7 +8324,7 @@ struct RelicTalentMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 5, 0x8BEAE937, fields, -1);
+ static DB2Meta instance(1671256, -1, 5, 0x8BEAE937, fields, -1);
return &instance;
}
};
@@ -8144,7 +8342,7 @@ struct ResearchBranchMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 6, 0xA6CB64A5, fields, -1);
+ static DB2Meta instance(1133729, -1, 6, 0xA6CB64A5, fields, -1);
return &instance;
}
};
@@ -8159,7 +8357,7 @@ struct ResearchFieldMeta
{ FT_INT, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(1, 3, 0xD7448990, fields, -1);
+ static DB2Meta instance(1133711, 1, 3, 0xD7448990, fields, -1);
return &instance;
}
};
@@ -8180,7 +8378,7 @@ struct ResearchProjectMeta
{ FT_INT, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(2, 9, 0x4A748755, fields, -1);
+ static DB2Meta instance(1134090, 2, 9, 0x4A748755, fields, -1);
return &instance;
}
};
@@ -8196,7 +8394,7 @@ struct ResearchSiteMeta
{ FT_INT, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 4, 0x14F7693B, fields, -1);
+ static DB2Meta instance(1134091, -1, 4, 0x14F7693B, fields, -1);
return &instance;
}
};
@@ -8211,7 +8409,7 @@ struct ResistancesMeta
{ FT_BYTE, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 3, 0xF7F049B5, fields, -1);
+ static DB2Meta instance(1135072, -1, 3, 0xF7F049B5, fields, -1);
return &instance;
}
};
@@ -8229,7 +8427,7 @@ struct RewardPackMeta
{ FT_BYTE, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 6, 0xB0527FA7, fields, -1);
+ static DB2Meta instance(1307156, -1, 6, 0xB0527FA7, fields, -1);
return &instance;
}
};
@@ -8244,7 +8442,7 @@ struct RewardPackXCurrencyTypeMeta
{ FT_INT, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 3, 0xEA88FC16, fields, 2);
+ static DB2Meta instance(1307153, -1, 3, 0xEA88FC16, fields, 2);
return &instance;
}
};
@@ -8259,7 +8457,7 @@ struct RewardPackXItemMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0x277E8179, fields, 2);
+ static DB2Meta instance(1307155, -1, 3, 0x277E8179, fields, 2);
return &instance;
}
};
@@ -8276,7 +8474,7 @@ struct RibbonQualityMeta
{ FT_FLOAT, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 5, 0xBB0CC4F4, fields, -1);
+ static DB2Meta instance(1398908, -1, 5, 0xBB0CC4F4, fields, -1);
return &instance;
}
};
@@ -8290,7 +8488,7 @@ struct RulesetItemUpgradeMeta
{ FT_INT, 1, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 2, 0xA03B4C48, fields, -1);
+ static DB2Meta instance(801749, -1, 2, 0xA03B4C48, fields, -1);
return &instance;
}
};
@@ -8303,7 +8501,7 @@ struct SDReplacementModelMeta
{
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 1, 0xD9C05976, fields, -1);
+ static DB2Meta instance(1712172, -1, 1, 0xD9C05976, fields, -1);
return &instance;
}
};
@@ -8318,7 +8516,7 @@ struct ScalingStatDistributionMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0x34B9A97A, fields, -1);
+ static DB2Meta instance(1141728, -1, 3, 0x34B9A97A, fields, -1);
return &instance;
}
};
@@ -8335,7 +8533,7 @@ struct ScenarioMeta
{ FT_BYTE, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 5, 0x0857765A, fields, -1);
+ static DB2Meta instance(1139062, -1, 5, 0x0857765A, fields, -1);
return &instance;
}
};
@@ -8349,7 +8547,7 @@ struct ScenarioEventEntryMeta
{ FT_BYTE, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 2, 0x34B30E13, fields, -1);
+ static DB2Meta instance(1141065, -1, 2, 0x34B30E13, fields, -1);
return &instance;
}
};
@@ -8372,7 +8570,7 @@ struct ScenarioStepMeta
{ FT_INT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 11, 0x8FF5E1E6, fields, 2);
+ static DB2Meta instance(1132761, -1, 11, 0x8FF5E1E6, fields, 2);
return &instance;
}
};
@@ -8386,7 +8584,7 @@ struct SceneScriptMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 2, 0xEF472E96, fields, -1);
+ static DB2Meta instance(801754, -1, 2, 0xEF472E96, fields, -1);
return &instance;
}
};
@@ -8400,7 +8598,7 @@ struct SceneScriptGlobalTextMeta
{ FT_STRING_NOT_LOCALIZED, 1, true },
{ FT_STRING_NOT_LOCALIZED, 1, true },
};
- static DB2Meta instance(-1, 2, 0xDE6E2251, fields, -1);
+ static DB2Meta instance(1758036, -1, 2, 0xDE6E2251, fields, -1);
return &instance;
}
};
@@ -8413,7 +8611,7 @@ struct SceneScriptPackageMeta
{
{ FT_STRING_NOT_LOCALIZED, 1, true },
};
- static DB2Meta instance(-1, 1, 0xF6F6B04B, fields, -1);
+ static DB2Meta instance(801755, -1, 1, 0xF6F6B04B, fields, -1);
return &instance;
}
};
@@ -8424,12 +8622,12 @@ struct SceneScriptPackageMemberMeta
{
static DB2MetaField const fields[4] =
{
- { FT_SHORT, 1, false },
- { FT_SHORT, 1, false },
- { FT_SHORT, 1, false },
- { FT_BYTE, 1, false },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
};
- static DB2Meta instance(-1, 4, 0x9E18D06F, fields, 0);
+ static DB2Meta instance(801756, -1, 4, 0x897D1A4B, fields, 0);
return &instance;
}
};
@@ -8443,7 +8641,7 @@ struct SceneScriptTextMeta
{ FT_STRING_NOT_LOCALIZED, 1, true },
{ FT_STRING_NOT_LOCALIZED, 1, true },
};
- static DB2Meta instance(-1, 2, 0xDE6E2251, fields, -1);
+ static DB2Meta instance(1758037, -1, 2, 0xDE6E2251, fields, -1);
return &instance;
}
};
@@ -8460,7 +8658,7 @@ struct ScheduledIntervalMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 5, 0x0C287F7A, fields, -1);
+ static DB2Meta instance(1327082, -1, 5, 0x0C287F7A, fields, -1);
return &instance;
}
};
@@ -8480,7 +8678,7 @@ struct ScheduledWorldStateMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 8, 0xDC45735A, fields, 0);
+ static DB2Meta instance(1327083, -1, 8, 0xDC45735A, fields, 0);
return &instance;
}
};
@@ -8497,7 +8695,7 @@ struct ScheduledWorldStateGroupMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 5, 0xCF71B287, fields, -1);
+ static DB2Meta instance(1327084, -1, 5, 0xCF71B287, fields, -1);
return &instance;
}
};
@@ -8512,7 +8710,7 @@ struct ScheduledWorldStateXUniqCatMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(0, 3, 0xF512C749, fields, 2);
+ static DB2Meta instance(1388724, 0, 3, 0xF512C749, fields, 2);
return &instance;
}
};
@@ -8536,7 +8734,7 @@ struct ScreenEffectMeta
{ FT_BYTE, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 12, 0x7A371491, fields, -1);
+ static DB2Meta instance(1302849, -1, 12, 0x7A371491, fields, -1);
return &instance;
}
};
@@ -8549,7 +8747,7 @@ struct ScreenLocationMeta
{
{ FT_STRING_NOT_LOCALIZED, 1, true },
};
- static DB2Meta instance(-1, 1, 0xF6F6B04B, fields, -1);
+ static DB2Meta instance(1279416, -1, 1, 0xF6F6B04B, fields, -1);
return &instance;
}
};
@@ -8562,7 +8760,7 @@ struct SeamlessSiteMeta
{
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 1, 0x9E36592F, fields, 0);
+ static DB2Meta instance(1328719, -1, 1, 0x9E36592F, fields, 0);
return &instance;
}
};
@@ -8575,7 +8773,7 @@ struct ServerMessagesMeta
{
{ FT_STRING, 1, true },
};
- static DB2Meta instance(-1, 1, 0xCC7971DF, fields, -1);
+ static DB2Meta instance(1301141, -1, 1, 0xCC7971DF, fields, -1);
return &instance;
}
};
@@ -8600,7 +8798,7 @@ struct ShadowyEffectMeta
{ FT_INT, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 13, 0x7292BC4C, fields, -1);
+ static DB2Meta instance(1239844, -1, 13, 0x7292BC4C, fields, -1);
return &instance;
}
};
@@ -8616,7 +8814,7 @@ struct SiegeablePropertiesMeta
{ FT_INT, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 4, 0x98E42A9F, fields, -1);
+ static DB2Meta instance(1954391, -1, 4, 0x98E42A9F, fields, -1);
return &instance;
}
};
@@ -8641,7 +8839,7 @@ struct SkillLineMeta
{ FT_SHORT, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(5, 13, 0xEC83FE8A, fields, -1);
+ static DB2Meta instance(1240935, 5, 13, 0xEC83FE8A, fields, -1);
return &instance;
}
};
@@ -8668,7 +8866,7 @@ struct SkillLineAbilityMeta
{ FT_SHORT, 1, true },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(1, 15, 0xA38AD072, fields, 2);
+ static DB2Meta instance(1266278, 1, 15, 0xA38AD072, fields, 2);
return &instance;
}
};
@@ -8687,7 +8885,7 @@ struct SkillRaceClassInfoMeta
{ FT_BYTE, 1, true },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(-1, 7, 0x4CFD464E, fields, 1);
+ static DB2Meta instance(1240406, -1, 7, 0x4CFD464E, fields, 1);
return &instance;
}
};
@@ -8696,7 +8894,7 @@ struct SoundAmbienceMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[6] =
+ static DB2MetaField const fields[7] =
{
{ FT_BYTE, 1, false },
{ FT_INT, 1, false },
@@ -8704,8 +8902,9 @@ struct SoundAmbienceMeta
{ FT_INT, 2, false },
{ FT_INT, 2, false },
{ FT_INT, 2, false },
+ { FT_INT, 2, false },
};
- static DB2Meta instance(-1, 6, 0x625245C7, fields, -1);
+ static DB2Meta instance(1310628, -1, 7, 0xDC7D52F2, fields, -1);
return &instance;
}
};
@@ -8720,7 +8919,7 @@ struct SoundAmbienceFlavorMeta
{ FT_INT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 3, 0x41E33D5D, fields, 2);
+ static DB2Meta instance(1267065, -1, 3, 0x41E33D5D, fields, 2);
return &instance;
}
};
@@ -8740,7 +8939,7 @@ struct SoundBusMeta
{ FT_BYTE, 1, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(0, 8, 0x7CC84C2D, fields, 7);
+ static DB2Meta instance(1310246, 0, 8, 0x7CC84C2D, fields, 7);
return &instance;
}
};
@@ -8759,7 +8958,7 @@ struct SoundBusOverrideMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(0, 7, 0xF321EA82, fields, 1);
+ static DB2Meta instance(1598732, 0, 7, 0xF321EA82, fields, 1);
return &instance;
}
};
@@ -8773,7 +8972,7 @@ struct SoundEmitterPillPointsMeta
{ FT_FLOAT, 3, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 2, 0xD63C5DE3, fields, 1);
+ static DB2Meta instance(1092317, -1, 2, 0xD63C5DE3, fields, 1);
return &instance;
}
};
@@ -8797,7 +8996,7 @@ struct SoundEmittersMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(3, 12, 0x1FDCDD5A, fields, 11);
+ static DB2Meta instance(1092316, 3, 12, 0x1FDCDD5A, fields, 11);
return &instance;
}
};
@@ -8816,7 +9015,7 @@ struct SoundEnvelopeMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 7, 0xBD6F1248, fields, 0);
+ static DB2Meta instance(1693131, -1, 7, 0xBD6F1248, fields, 0);
return &instance;
}
};
@@ -8829,7 +9028,7 @@ struct SoundFilterMeta
{
{ FT_STRING_NOT_LOCALIZED, 1, true },
};
- static DB2Meta instance(-1, 1, 0xF6F6B04B, fields, -1);
+ static DB2Meta instance(1271601, -1, 1, 0xF6F6B04B, fields, -1);
return &instance;
}
};
@@ -8844,7 +9043,7 @@ struct SoundFilterElemMeta
{ FT_BYTE, 1, true },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 3, 0x84F8D205, fields, 2);
+ static DB2Meta instance(1267066, -1, 3, 0x84F8D205, fields, 2);
return &instance;
}
};
@@ -8856,7 +9055,7 @@ struct SoundKitMeta
static DB2MetaField const fields[16] =
{
{ FT_INT, 1, false },
- { FT_BYTE, 1, false },
+ { FT_INT, 1, true },
{ FT_FLOAT, 1, true },
{ FT_SHORT, 1, false },
{ FT_FLOAT, 1, true },
@@ -8872,7 +9071,7 @@ struct SoundKitMeta
{ FT_SHORT, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(0, 16, 0xAF055926, fields, -1);
+ static DB2Meta instance(1237434, 0, 16, 0x17C44133, fields, -1);
return &instance;
}
};
@@ -8881,7 +9080,7 @@ struct SoundKitAdvancedMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[43] =
+ static DB2MetaField const fields[47] =
{
{ FT_INT, 1, false },
{ FT_INT, 1, false },
@@ -8926,8 +9125,12 @@ struct SoundKitAdvancedMeta
{ FT_INT, 1, true },
{ FT_INT, 1, false },
{ FT_FLOAT, 1, true },
+ { FT_INT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
};
- static DB2Meta instance(0, 43, 0x6EAFA63E, fields, -1);
+ static DB2Meta instance(1237436, 0, 47, 0xF64439CE, fields, -1);
return &instance;
}
};
@@ -8941,7 +9144,7 @@ struct SoundKitChildMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 2, 0x4215B0DD, fields, 1);
+ static DB2Meta instance(1307289, -1, 2, 0x4215B0DD, fields, 1);
return &instance;
}
};
@@ -8957,7 +9160,7 @@ struct SoundKitEntryMeta
{ FT_BYTE, 1, false },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 4, 0xCBC66B5F, fields, 0);
+ static DB2Meta instance(1237435, -1, 4, 0xCBC66B5F, fields, 0);
return &instance;
}
};
@@ -8971,7 +9174,7 @@ struct SoundKitFallbackMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 2, 0x53D01CD7, fields, -1);
+ static DB2Meta instance(1307288, -1, 2, 0x53D01CD7, fields, -1);
return &instance;
}
};
@@ -8984,7 +9187,7 @@ struct SoundKitNameMeta
{
{ FT_STRING_NOT_LOCALIZED, 1, true },
};
- static DB2Meta instance(-1, 1, 0xF6F6B04B, fields, -1);
+ static DB2Meta instance(1665033, -1, 1, 0xF6F6B04B, fields, -1);
return &instance;
}
};
@@ -9001,7 +9204,7 @@ struct SoundOverrideMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 5, 0x4EC15243, fields, -1);
+ static DB2Meta instance(1266542, -1, 5, 0x4EC15243, fields, -1);
return &instance;
}
};
@@ -9036,7 +9239,7 @@ struct SoundProviderPreferencesMeta
{ FT_FLOAT, 1, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 23, 0xF0F42A22, fields, -1);
+ static DB2Meta instance(1279417, -1, 23, 0xF0F42A22, fields, -1);
return &instance;
}
};
@@ -9052,7 +9255,7 @@ struct SourceInfoMeta
{ FT_BYTE, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 4, 0xA94C7962, fields, 3);
+ static DB2Meta instance(1313612, -1, 4, 0xA94C7962, fields, 3);
return &instance;
}
};
@@ -9065,7 +9268,7 @@ struct SpamMessagesMeta
{
{ FT_STRING_NOT_LOCALIZED, 1, true },
};
- static DB2Meta instance(-1, 1, 0x1A080193, fields, -1);
+ static DB2Meta instance(1117088, -1, 1, 0x1A080193, fields, -1);
return &instance;
}
};
@@ -9079,7 +9282,7 @@ struct SpecSetMemberMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 2, 0xC05B6C73, fields, 1);
+ static DB2Meta instance(2057624, -1, 2, 0xC05B6C73, fields, 1);
return &instance;
}
};
@@ -9097,7 +9300,7 @@ struct SpecializationSpellsMeta
{ FT_INT, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(1, 6, 0x88A56A2F, fields, 2);
+ static DB2Meta instance(1240335, 1, 6, 0x88A56A2F, fields, 2);
return &instance;
}
};
@@ -9111,7 +9314,7 @@ struct SpecializationSpellsDisplayMeta
{ FT_SHORT, 1, false },
{ FT_INT, 6, false },
};
- static DB2Meta instance(-1, 2, 0xBD5EEC46, fields, 0);
+ static DB2Meta instance(2067238, -1, 2, 0xBD5EEC46, fields, 0);
return &instance;
}
};
@@ -9126,7 +9329,7 @@ struct SpellMeta
{ FT_STRING, 1, true },
{ FT_STRING, 1, true },
};
- static DB2Meta instance(-1, 3, 0xFFF1DA38, fields, -1);
+ static DB2Meta instance(1140089, -1, 3, 0xFFF1DA38, fields, -1);
return &instance;
}
};
@@ -9140,7 +9343,7 @@ struct SpellActionBarPrefMeta
{ FT_INT, 1, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 2, 0xCF471C9B, fields, -1);
+ static DB2Meta instance(1019373, -1, 2, 0xCF471C9B, fields, -1);
return &instance;
}
};
@@ -9149,7 +9352,7 @@ struct SpellActivationOverlayMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[8] =
+ static DB2MetaField const fields[9] =
{
{ FT_INT, 4, true },
{ FT_INT, 1, true },
@@ -9159,8 +9362,9 @@ struct SpellActivationOverlayMeta
{ FT_INT, 1, true },
{ FT_FLOAT, 1, true },
{ FT_BYTE, 1, true },
+ { FT_INT, 1, true },
};
- static DB2Meta instance(-1, 8, 0xE72C81EF, fields, -1);
+ static DB2Meta instance(1261603, -1, 9, 0xDE42C0F6, fields, -1);
return &instance;
}
};
@@ -9180,7 +9384,7 @@ struct SpellAuraOptionsMeta
{ FT_INT, 2, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 8, 0xCBDA0981, fields, 7);
+ static DB2Meta instance(1139952, -1, 8, 0xCBDA0981, fields, 7);
return &instance;
}
};
@@ -9202,7 +9406,7 @@ struct SpellAuraRestrictionsMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 10, 0xD7479271, fields, 9);
+ static DB2Meta instance(981566, -1, 10, 0xD7479271, fields, 9);
return &instance;
}
};
@@ -9216,7 +9420,7 @@ struct SpellAuraVisXChrSpecMeta
{ FT_SHORT, 1, true },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(-1, 2, 0x8F54FD52, fields, 1);
+ static DB2Meta instance(1280615, -1, 2, 0x8F54FD52, fields, 1);
return &instance;
}
};
@@ -9232,7 +9436,7 @@ struct SpellAuraVisibilityMeta
{ FT_BYTE, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(0, 4, 0xB7F28C20, fields, 3);
+ static DB2Meta instance(1280616, 0, 4, 0xB7F28C20, fields, 3);
return &instance;
}
};
@@ -9247,7 +9451,7 @@ struct SpellCastTimesMeta
{ FT_SHORT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0xA66E197C, fields, -1);
+ static DB2Meta instance(1134089, -1, 3, 0xA66E197C, fields, -1);
return &instance;
}
};
@@ -9266,7 +9470,7 @@ struct SpellCastingRequirementsMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 7, 0xC6D7C649, fields, -1);
+ static DB2Meta instance(1002166, -1, 7, 0xC6D7C649, fields, -1);
return &instance;
}
};
@@ -9287,7 +9491,7 @@ struct SpellCategoriesMeta
{ FT_SHORT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 9, 0xEF1D2548, fields, 8);
+ static DB2Meta instance(1139939, -1, 9, 0xEF1D2548, fields, 8);
return &instance;
}
};
@@ -9305,7 +9509,7 @@ struct SpellCategoryMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 6, 0x53EB1CD3, fields, -1);
+ static DB2Meta instance(1280619, -1, 6, 0x53EB1CD3, fields, -1);
return &instance;
}
};
@@ -9377,7 +9581,7 @@ struct SpellChainEffectsMeta
{ FT_FLOAT, 3, true },
{ FT_INT, 3, true },
};
- static DB2Meta instance(-1, 60, 0x461F9829, fields, -1);
+ static DB2Meta instance(1343310, -1, 60, 0x461F9829, fields, -1);
return &instance;
}
};
@@ -9393,7 +9597,97 @@ struct SpellClassOptionsMeta
{ FT_BYTE, 1, false },
{ FT_INT, 4, true },
};
- static DB2Meta instance(-1, 4, 0xB4E205E0, fields, -1);
+ static DB2Meta instance(979663, -1, 4, 0xB4E205E0, fields, -1);
+ return &instance;
+ }
+};
+
+struct SpellClutterAreaEffectCountsMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[3] =
+ {
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ };
+ static DB2Meta instance(2428696, -1, 3, 0x9311C050, fields, -1);
+ return &instance;
+ }
+};
+
+struct SpellClutterFrameRatesMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[3] =
+ {
+ { FT_INT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ };
+ static DB2Meta instance(2428707, -1, 3, 0xD2F6D8BE, fields, -1);
+ return &instance;
+ }
+};
+
+struct SpellClutterImpactModelCountsMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[3] =
+ {
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ };
+ static DB2Meta instance(2428708, -1, 3, 0x9311C050, fields, -1);
+ return &instance;
+ }
+};
+
+struct SpellClutterKitDistancesMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[3] =
+ {
+ { FT_INT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ };
+ static DB2Meta instance(2428697, -1, 3, 0x073862B6, fields, -1);
+ return &instance;
+ }
+};
+
+struct SpellClutterMissileDistMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[3] =
+ {
+ { FT_INT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ };
+ static DB2Meta instance(2428733, -1, 3, 0x073862B6, fields, -1);
+ return &instance;
+ }
+};
+
+struct SpellClutterWeaponTrailDistMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[3] =
+ {
+ { FT_INT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ };
+ static DB2Meta instance(2428698, -1, 3, 0x073862B6, fields, -1);
return &instance;
}
};
@@ -9410,7 +9704,7 @@ struct SpellCooldownsMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 5, 0x24886B08, fields, 4);
+ static DB2Meta instance(1139924, -1, 5, 0x24886B08, fields, 4);
return &instance;
}
};
@@ -9423,7 +9717,7 @@ struct SpellDescriptionVariablesMeta
{
{ FT_STRING_NOT_LOCALIZED, 1, true },
};
- static DB2Meta instance(-1, 1, 0x9C318DAF, fields, -1);
+ static DB2Meta instance(1140004, -1, 1, 0x9C318DAF, fields, -1);
return &instance;
}
};
@@ -9439,7 +9733,7 @@ struct SpellDispelTypeMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 4, 0xAA83295A, fields, -1);
+ static DB2Meta instance(1137829, -1, 4, 0xAA83295A, fields, -1);
return &instance;
}
};
@@ -9454,7 +9748,7 @@ struct SpellDurationMeta
{ FT_INT, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0x22236CBC, fields, -1);
+ static DB2Meta instance(1137828, -1, 3, 0x22236CBC, fields, -1);
return &instance;
}
};
@@ -9494,7 +9788,7 @@ struct SpellEffectMeta
{ FT_SHORT, 2, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 28, 0x803150B7, fields, 27);
+ static DB2Meta instance(1140088, -1, 28, 0x803150B7, fields, 27);
return &instance;
}
};
@@ -9515,7 +9809,7 @@ struct SpellEffectAutoDescriptionMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 9, 0x7C523D94, fields, -1);
+ static DB2Meta instance(1888495, -1, 9, 0x7C523D94, fields, -1);
return &instance;
}
};
@@ -9531,7 +9825,7 @@ struct SpellEffectEmissionMeta
{ FT_SHORT, 1, true },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 4, 0x66D096CB, fields, -1);
+ static DB2Meta instance(1310248, -1, 4, 0x66D096CB, fields, -1);
return &instance;
}
};
@@ -9547,7 +9841,7 @@ struct SpellEquippedItemsMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 4, 0xA0588766, fields, -1);
+ static DB2Meta instance(1140011, -1, 4, 0xA0588766, fields, -1);
return &instance;
}
};
@@ -9565,7 +9859,7 @@ struct SpellFlyoutMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 6, 0x1F516F53, fields, -1);
+ static DB2Meta instance(1146819, -1, 6, 0x1F516F53, fields, -1);
return &instance;
}
};
@@ -9580,7 +9874,7 @@ struct SpellFlyoutItemMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 3, 0x650A0B4D, fields, 2);
+ static DB2Meta instance(1134085, -1, 3, 0x650A0B4D, fields, 2);
return &instance;
}
};
@@ -9593,7 +9887,7 @@ struct SpellFocusObjectMeta
{
{ FT_STRING, 1, true },
};
- static DB2Meta instance(-1, 1, 0x9F2C8370, fields, -1);
+ static DB2Meta instance(1280620, -1, 1, 0x9F2C8370, fields, -1);
return &instance;
}
};
@@ -9610,7 +9904,7 @@ struct SpellInterruptsMeta
{ FT_INT, 2, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 5, 0xF551B940, fields, 4);
+ static DB2Meta instance(1139906, -1, 5, 0xF551B940, fields, 4);
return &instance;
}
};
@@ -9642,7 +9936,7 @@ struct SpellItemEnchantmentMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 20, 0x96D1828E, fields, -1);
+ static DB2Meta instance(1362771, -1, 20, 0x96D1828E, fields, -1);
return &instance;
}
};
@@ -9660,7 +9954,7 @@ struct SpellItemEnchantmentConditionMeta
{ FT_BYTE, 5, false },
{ FT_BYTE, 5, false },
};
- static DB2Meta instance(-1, 6, 0xFAA95A11, fields, -1);
+ static DB2Meta instance(1121834, -1, 6, 0xFAA95A11, fields, -1);
return &instance;
}
};
@@ -9675,7 +9969,7 @@ struct SpellKeyboundOverrideMeta
{ FT_BYTE, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0xFB8AD330, fields, -1);
+ static DB2Meta instance(1127327, -1, 3, 0xFB8AD330, fields, -1);
return &instance;
}
};
@@ -9689,7 +9983,7 @@ struct SpellLabelMeta
{ FT_INT, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 2, 0xCCA24F16, fields, 1);
+ static DB2Meta instance(1347275, -1, 2, 0xCCA24F16, fields, 1);
return &instance;
}
};
@@ -9704,7 +9998,7 @@ struct SpellLearnSpellMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0xCC8637D2, fields, -1);
+ static DB2Meta instance(1001907, -1, 3, 0xCC8637D2, fields, -1);
return &instance;
}
};
@@ -9722,7 +10016,7 @@ struct SpellLevelsMeta
{ FT_BYTE, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 6, 0xE3096221, fields, 5);
+ static DB2Meta instance(1140079, -1, 6, 0xE3096221, fields, 5);
return &instance;
}
};
@@ -9735,7 +10029,7 @@ struct SpellMechanicMeta
{
{ FT_STRING, 1, true },
};
- static DB2Meta instance(-1, 1, 0x24C6F0F3, fields, -1);
+ static DB2Meta instance(1014438, -1, 1, 0x24C6F0F3, fields, -1);
return &instance;
}
};
@@ -9759,7 +10053,7 @@ struct SpellMiscMeta
{ FT_INT, 14, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 12, 0x76E982BB, fields, 11);
+ static DB2Meta instance(1003144, -1, 12, 0x76E982BB, fields, 11);
return &instance;
}
};
@@ -9786,7 +10080,7 @@ struct SpellMissileMeta
{ FT_FLOAT, 1, true },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 15, 0xAF286A50, fields, -1);
+ static DB2Meta instance(897956, -1, 15, 0xAF286A50, fields, -1);
return &instance;
}
};
@@ -9802,7 +10096,7 @@ struct SpellMissileMotionMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 4, 0xA61A5983, fields, -1);
+ static DB2Meta instance(897955, -1, 4, 0xA61A5983, fields, -1);
return &instance;
}
};
@@ -9815,7 +10109,21 @@ struct SpellNameMeta
{
{ FT_STRING, 1, true },
};
- static DB2Meta instance(-1, 1, 0x9F2C8370, fields, -1);
+ static DB2Meta instance(1990283, -1, 1, 0x9F2C8370, fields, -1);
+ return &instance;
+ }
+};
+
+struct SpellOverrideNameMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[2] =
+ {
+ { FT_STRING, 1, true },
+ { FT_INT, 1, true },
+ };
+ static DB2Meta instance(2618823, -1, 2, 0x85E985A7, fields, -1);
return &instance;
}
};
@@ -9841,7 +10149,7 @@ struct SpellPowerMeta
{ FT_INT, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(0, 14, 0x12ED7A99, fields, 13);
+ static DB2Meta instance(982806, 0, 14, 0x12ED7A99, fields, 13);
return &instance;
}
};
@@ -9856,7 +10164,7 @@ struct SpellPowerDifficultyMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(0, 3, 0x08FEDBFF, fields, -1);
+ static DB2Meta instance(982804, 0, 3, 0x08FEDBFF, fields, -1);
return &instance;
}
};
@@ -9871,7 +10179,7 @@ struct SpellProceduralEffectMeta
{ FT_BYTE, 1, true },
{ FT_FLOAT, 4, true },
};
- static DB2Meta instance(0, 3, 0xF320E3AD, fields, -1);
+ static DB2Meta instance(1140477, 0, 3, 0xF320E3AD, fields, -1);
return &instance;
}
};
@@ -9885,7 +10193,7 @@ struct SpellProcsPerMinuteMeta
{ FT_FLOAT, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 2, 0xBEBE0C8B, fields, -1);
+ static DB2Meta instance(1133526, -1, 2, 0xBEBE0C8B, fields, -1);
return &instance;
}
};
@@ -9901,7 +10209,7 @@ struct SpellProcsPerMinuteModMeta
{ FT_FLOAT, 1, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 4, 0xE5827335, fields, 3);
+ static DB2Meta instance(1133525, -1, 4, 0xE5827335, fields, 3);
return &instance;
}
};
@@ -9917,7 +10225,7 @@ struct SpellRadiusMeta
{ FT_FLOAT, 1, true },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 4, 0xAE4257F8, fields, -1);
+ static DB2Meta instance(1134584, -1, 4, 0xAE4257F8, fields, -1);
return &instance;
}
};
@@ -9934,7 +10242,7 @@ struct SpellRangeMeta
{ FT_FLOAT, 2, true },
{ FT_FLOAT, 2, true },
};
- static DB2Meta instance(-1, 5, 0x6B9E2FD2, fields, -1);
+ static DB2Meta instance(1146820, -1, 5, 0x6B9E2FD2, fields, -1);
return &instance;
}
};
@@ -9949,7 +10257,7 @@ struct SpellReagentsMeta
{ FT_INT, 8, true },
{ FT_SHORT, 8, true },
};
- static DB2Meta instance(-1, 3, 0x4B7DC644, fields, -1);
+ static DB2Meta instance(841946, -1, 3, 0x4B7DC644, fields, -1);
return &instance;
}
};
@@ -9964,7 +10272,7 @@ struct SpellReagentsCurrencyMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 3, 0x4D3F01C6, fields, 0);
+ static DB2Meta instance(1135239, -1, 3, 0x4D3F01C6, fields, 0);
return &instance;
}
};
@@ -9981,7 +10289,7 @@ struct SpellScalingMeta
{ FT_INT, 1, false },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(-1, 5, 0x4B0C2E65, fields, -1);
+ static DB2Meta instance(1139940, -1, 5, 0x4B0C2E65, fields, -1);
return &instance;
}
};
@@ -9997,7 +10305,7 @@ struct SpellShapeshiftMeta
{ FT_INT, 2, true },
{ FT_INT, 2, true },
};
- static DB2Meta instance(-1, 4, 0x91C4FFE9, fields, -1);
+ static DB2Meta instance(1139929, -1, 4, 0x91C4FFE9, fields, -1);
return &instance;
}
};
@@ -10019,7 +10327,7 @@ struct SpellShapeshiftFormMeta
{ FT_INT, 4, false },
{ FT_INT, 8, false },
};
- static DB2Meta instance(-1, 10, 0x7082136E, fields, -1);
+ static DB2Meta instance(1280618, -1, 10, 0x7082136E, fields, -1);
return &instance;
}
};
@@ -10033,7 +10341,7 @@ struct SpellSpecialUnitEffectMeta
{ FT_SHORT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 2, 0xF084B84D, fields, -1);
+ static DB2Meta instance(1268903, -1, 2, 0xF084B84D, fields, -1);
return &instance;
}
};
@@ -10053,7 +10361,7 @@ struct SpellTargetRestrictionsMeta
{ FT_FLOAT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 8, 0x47BE0E0C, fields, 7);
+ static DB2Meta instance(1139993, -1, 8, 0x47BE0E0C, fields, 7);
return &instance;
}
};
@@ -10068,7 +10376,7 @@ struct SpellTotemsMeta
{ FT_SHORT, 2, false },
{ FT_INT, 2, true },
};
- static DB2Meta instance(-1, 3, 0x5214FD94, fields, -1);
+ static DB2Meta instance(1002162, -1, 3, 0x5214FD94, fields, -1);
return &instance;
}
};
@@ -10095,7 +10403,7 @@ struct SpellVisualMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 15, 0x514F85ED, fields, -1);
+ static DB2Meta instance(897952, -1, 15, 0x514F85ED, fields, -1);
return &instance;
}
};
@@ -10110,7 +10418,7 @@ struct SpellVisualAnimMeta
{ FT_INT, 1, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 3, 0xB27FB4A5, fields, -1);
+ static DB2Meta instance(1140479, -1, 3, 0xB27FB4A5, fields, -1);
return &instance;
}
};
@@ -10133,7 +10441,7 @@ struct SpellVisualColorEffectMeta
{ FT_FLOAT, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 11, 0x773CE0DE, fields, -1);
+ static DB2Meta instance(1094006, -1, 11, 0x773CE0DE, fields, -1);
return &instance;
}
};
@@ -10159,7 +10467,7 @@ struct SpellVisualEffectNameMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 14, 0x10206967, fields, -1);
+ static DB2Meta instance(897948, -1, 14, 0x10206967, fields, -1);
return &instance;
}
};
@@ -10180,7 +10488,7 @@ struct SpellVisualEventMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 9, 0x8352EE58, fields, 8);
+ static DB2Meta instance(1685317, -1, 9, 0x8352EE58, fields, 8);
return &instance;
}
};
@@ -10192,12 +10500,12 @@ struct SpellVisualKitMeta
static DB2MetaField const fields[5] =
{
{ FT_INT, 1, true },
- { FT_FLOAT, 1, true },
+ { FT_BYTE, 1, true },
{ FT_INT, 1, false },
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 5, 0x3F538334, fields, -1);
+ static DB2Meta instance(897949, -1, 5, 0xCD23B4AF, fields, -1);
return &instance;
}
};
@@ -10215,7 +10523,7 @@ struct SpellVisualKitAreaModelMeta
{ FT_FLOAT, 1, true },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 6, 0x34C79353, fields, -1);
+ static DB2Meta instance(897951, -1, 6, 0x34C79353, fields, -1);
return &instance;
}
};
@@ -10230,7 +10538,7 @@ struct SpellVisualKitEffectMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0xF104E59F, fields, 2);
+ static DB2Meta instance(1140480, -1, 3, 0x90747013, fields, 2);
return &instance;
}
};
@@ -10264,7 +10572,7 @@ struct SpellVisualKitModelAttachMeta
{ FT_FLOAT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(2, 22, 0x75650E39, fields, 21);
+ static DB2Meta instance(897953, 2, 22, 0x75650E39, fields, 21);
return &instance;
}
};
@@ -10273,7 +10581,7 @@ struct SpellVisualMissileMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[16] =
+ static DB2MetaField const fields[17] =
{
{ FT_FLOAT, 3, true },
{ FT_FLOAT, 3, true },
@@ -10290,9 +10598,10 @@ struct SpellVisualMissileMeta
{ FT_INT, 1, false },
{ FT_SHORT, 1, false },
{ FT_INT, 1, false },
+ { FT_BYTE, 1, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(2, 16, 0x0A0345EB, fields, 15);
+ static DB2Meta instance(897954, 2, 17, 0x9B2241BE, fields, 16);
return &instance;
}
};
@@ -10306,7 +10615,7 @@ struct SpellXDescriptionVariablesMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 2, 0xFBC7B7AE, fields, -1);
+ static DB2Meta instance(1724949, -1, 2, 0xFBC7B7AE, fields, -1);
return &instance;
}
};
@@ -10331,7 +10640,7 @@ struct SpellXSpellVisualMeta
{ FT_INT, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(0, 13, 0xCDAF2854, fields, 12);
+ static DB2Meta instance(1101657, 0, 13, 0xCDAF2854, fields, 12);
return &instance;
}
};
@@ -10346,7 +10655,7 @@ struct StartupFilesMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0xF1381769, fields, -1);
+ static DB2Meta instance(1604265, -1, 3, 0xF1381769, fields, -1);
return &instance;
}
};
@@ -10360,7 +10669,7 @@ struct Startup_StringsMeta
{ FT_STRING_NOT_LOCALIZED, 1, true },
{ FT_STRING, 1, true },
};
- static DB2Meta instance(-1, 2, 0x82058A06, fields, -1);
+ static DB2Meta instance(1375805, -1, 2, 0x82058A06, fields, -1);
return &instance;
}
};
@@ -10375,7 +10684,7 @@ struct StationeryMeta
{ FT_BYTE, 1, false },
{ FT_INT, 2, true },
};
- static DB2Meta instance(-1, 3, 0x8B250029, fields, -1);
+ static DB2Meta instance(1140758, -1, 3, 0x8B250029, fields, -1);
return &instance;
}
};
@@ -10392,7 +10701,7 @@ struct SummonPropertiesMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 5, 0x4134937A, fields, -1);
+ static DB2Meta instance(1345276, -1, 5, 0x4134937A, fields, -1);
return &instance;
}
};
@@ -10405,7 +10714,7 @@ struct TactKeyMeta
{
{ FT_BYTE, 16, false },
};
- static DB2Meta instance(-1, 1, 0xA55E1CCE, fields, -1);
+ static DB2Meta instance(1302850, -1, 1, 0xA55E1CCE, fields, -1);
return &instance;
}
};
@@ -10418,7 +10727,7 @@ struct TactKeyLookupMeta
{
{ FT_BYTE, 8, false },
};
- static DB2Meta instance(-1, 1, 0x1A696886, fields, -1);
+ static DB2Meta instance(1302851, -1, 1, 0x1A696886, fields, -1);
return &instance;
}
};
@@ -10439,7 +10748,7 @@ struct TalentMeta
{ FT_INT, 1, false },
{ FT_BYTE, 2, false },
};
- static DB2Meta instance(-1, 9, 0x2661E6C2, fields, -1);
+ static DB2Meta instance(1369062, -1, 9, 0x2661E6C2, fields, -1);
return &instance;
}
};
@@ -10448,7 +10757,7 @@ struct TaxiNodesMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[14] =
+ static DB2MetaField const fields[15] =
{
{ FT_STRING, 1, true },
{ FT_FLOAT, 3, true },
@@ -10456,16 +10765,17 @@ struct TaxiNodesMeta
{ FT_FLOAT, 2, true },
{ FT_INT, 1, false },
{ FT_SHORT, 1, false },
- { FT_SHORT, 1, false },
+ { FT_INT, 1, true },
{ FT_SHORT, 1, false },
{ FT_BYTE, 1, false },
{ FT_INT, 1, true },
+ { FT_INT, 1, true },
{ FT_FLOAT, 1, true },
{ FT_INT, 1, false },
{ FT_INT, 1, false },
{ FT_INT, 2, true },
};
- static DB2Meta instance(4, 14, 0x91ADBF11, fields, 5);
+ static DB2Meta instance(1068100, 4, 15, 0x187CC2FE, fields, 5);
return &instance;
}
};
@@ -10481,7 +10791,7 @@ struct TaxiPathMeta
{ FT_SHORT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(0, 4, 0x3716BBCD, fields, 1);
+ static DB2Meta instance(1067802, 0, 4, 0x3716BBCD, fields, 1);
return &instance;
}
};
@@ -10499,10 +10809,10 @@ struct TaxiPathNodeMeta
{ FT_SHORT, 1, false },
{ FT_BYTE, 1, false },
{ FT_INT, 1, false },
- { FT_SHORT, 1, false },
- { FT_SHORT, 1, false },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
};
- static DB2Meta instance(1, 9, 0xE28C3360, fields, 2);
+ static DB2Meta instance(1000437, 1, 9, 0x7CC528A4, fields, 2);
return &instance;
}
};
@@ -10517,7 +10827,7 @@ struct TerrainMaterialMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0x9F25E6D3, fields, -1);
+ static DB2Meta instance(1307290, -1, 3, 0x9F25E6D3, fields, -1);
return &instance;
}
};
@@ -10534,7 +10844,7 @@ struct TerrainTypeMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 5, 0xB4573071, fields, -1);
+ static DB2Meta instance(1310249, -1, 5, 0xB4573071, fields, -1);
return &instance;
}
};
@@ -10547,7 +10857,7 @@ struct TerrainTypeSoundsMeta
{
{ FT_STRING_NOT_LOCALIZED, 1, true },
};
- static DB2Meta instance(-1, 1, 0xECCAE96B, fields, -1);
+ static DB2Meta instance(1284822, -1, 1, 0xECCAE96B, fields, -1);
return &instance;
}
};
@@ -10569,7 +10879,7 @@ struct TextureBlendSetMeta
{ FT_FLOAT, 3, true },
{ FT_FLOAT, 4, true },
};
- static DB2Meta instance(-1, 10, 0xF2AFFE4C, fields, -1);
+ static DB2Meta instance(1328721, -1, 10, 0xF2AFFE4C, fields, -1);
return &instance;
}
};
@@ -10584,7 +10894,7 @@ struct TextureFileDataMeta
{ FT_BYTE, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(0, 3, 0x71D3BD92, fields, 2);
+ static DB2Meta instance(982459, 0, 3, 0x71D3BD92, fields, 2);
return &instance;
}
};
@@ -10599,7 +10909,7 @@ struct TotemCategoryMeta
{ FT_BYTE, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0x2AA9FB1E, fields, -1);
+ static DB2Meta instance(1134586, -1, 3, 0x2AA9FB1E, fields, -1);
return &instance;
}
};
@@ -10616,7 +10926,7 @@ struct ToyMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(1, 5, 0x6156EBCA, fields, -1);
+ static DB2Meta instance(988200, 1, 5, 0x6156EBCA, fields, -1);
return &instance;
}
};
@@ -10635,7 +10945,7 @@ struct TradeSkillCategoryMeta
{ FT_SHORT, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(2, 7, 0xAFEA1AAD, fields, -1);
+ static DB2Meta instance(1301101, 2, 7, 0xAFEA1AAD, fields, -1);
return &instance;
}
};
@@ -10649,7 +10959,7 @@ struct TradeSkillItemMeta
{ FT_SHORT, 1, false },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 2, 0xA90CD5D2, fields, -1);
+ static DB2Meta instance(1329070, -1, 2, 0xA90CD5D2, fields, -1);
return &instance;
}
};
@@ -10666,7 +10976,21 @@ struct TransformMatrixMeta
{ FT_FLOAT, 1, true },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 5, 0xBA00B2FD, fields, -1);
+ static DB2Meta instance(1338702, -1, 5, 0xBA00B2FD, fields, -1);
+ return &instance;
+ }
+};
+
+struct TransmogDefaultLevelMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[2] =
+ {
+ { FT_BYTE, 1, true },
+ { FT_INT, 1, true },
+ };
+ static DB2Meta instance(2399695, -1, 2, 0x81205938, fields, -1);
return &instance;
}
};
@@ -10680,7 +11004,7 @@ struct TransmogHolidayMeta
{ FT_INT, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(0, 2, 0x6FC325A0, fields, -1);
+ static DB2Meta instance(1589454, 0, 2, 0x6FC325A0, fields, -1);
return &instance;
}
};
@@ -10689,7 +11013,7 @@ struct TransmogSetMeta
{
static DB2Meta const* Instance()
{
- static DB2MetaField const fields[10] =
+ static DB2MetaField const fields[12] =
{
{ FT_STRING, 1, true },
{ FT_INT, 1, false },
@@ -10700,9 +11024,11 @@ struct TransmogSetMeta
{ FT_INT, 1, true },
{ FT_SHORT, 1, false },
{ FT_BYTE, 1, false },
+ { FT_BYTE, 1, false },
+ { FT_INT, 1, true },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(1, 10, 0x3F0E4AEF, fields, 7);
+ static DB2Meta instance(1376213, 1, 12, 0xFA89DA93, fields, 7);
return &instance;
}
};
@@ -10716,7 +11042,7 @@ struct TransmogSetGroupMeta
{ FT_STRING, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(1, 2, 0x0F60CFC9, fields, -1);
+ static DB2Meta instance(1576116, 1, 2, 0x0F60CFC9, fields, -1);
return &instance;
}
};
@@ -10732,7 +11058,7 @@ struct TransmogSetItemMeta
{ FT_INT, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(0, 4, 0x23855A82, fields, 1);
+ static DB2Meta instance(1376212, 0, 4, 0x23855A82, fields, 1);
return &instance;
}
};
@@ -10748,7 +11074,7 @@ struct TransportAnimationMeta
{ FT_INT, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 4, 0x6329464B, fields, 3);
+ static DB2Meta instance(1140686, -1, 4, 0x6329464B, fields, 3);
return &instance;
}
};
@@ -10770,7 +11096,7 @@ struct TransportPhysicsMeta
{ FT_FLOAT, 1, true },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 10, 0x0B297C98, fields, -1);
+ static DB2Meta instance(1121973, -1, 10, 0x0B297C98, fields, -1);
return &instance;
}
};
@@ -10785,7 +11111,7 @@ struct TransportRotationMeta
{ FT_INT, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0x5FE3BC91, fields, 2);
+ static DB2Meta instance(1140687, -1, 3, 0x5FE3BC91, fields, 2);
return &instance;
}
};
@@ -10801,7 +11127,7 @@ struct TrophyMeta
{ FT_SHORT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 4, 0x0AE68C93, fields, -1);
+ static DB2Meta instance(975024, -1, 4, 0x0AE68C93, fields, -1);
return &instance;
}
};
@@ -10816,7 +11142,7 @@ struct UIExpansionDisplayInfoMeta
{ FT_INT, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 3, 0xCD407FA1, fields, -1);
+ static DB2Meta instance(1729547, -1, 3, 0xCD407FA1, fields, -1);
return &instance;
}
};
@@ -10831,7 +11157,7 @@ struct UIExpansionDisplayInfoIconMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0xC9B51E5D, fields, -1);
+ static DB2Meta instance(1729546, -1, 3, 0xC9B51E5D, fields, -1);
return &instance;
}
};
@@ -10848,7 +11174,7 @@ struct UiCamFbackTransmogChrRaceMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 5, 0xB1C9DAC4, fields, -1);
+ static DB2Meta instance(1261406, -1, 5, 0xB1C9DAC4, fields, -1);
return &instance;
}
};
@@ -10864,7 +11190,7 @@ struct UiCamFbackTransmogWeaponMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 4, 0x5148437F, fields, -1);
+ static DB2Meta instance(1261407, -1, 4, 0x5148437F, fields, -1);
return &instance;
}
};
@@ -10885,7 +11211,7 @@ struct UiCameraMeta
{ FT_BYTE, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 9, 0xC54B36EE, fields, -1);
+ static DB2Meta instance(1120287, -1, 9, 0xC54B36EE, fields, -1);
return &instance;
}
};
@@ -10900,7 +11226,7 @@ struct UiCameraTypeMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 3, 0x34F64532, fields, -1);
+ static DB2Meta instance(1120288, -1, 3, 0x34F64532, fields, -1);
return &instance;
}
};
@@ -10915,7 +11241,7 @@ struct UiCanvasMeta
{ FT_SHORT, 1, true },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(0, 3, 0x77DC2C2A, fields, -1);
+ static DB2Meta instance(1989363, 0, 3, 0x77DC2C2A, fields, -1);
return &instance;
}
};
@@ -10940,7 +11266,7 @@ struct UiMapMeta
{ FT_BYTE, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(1, 13, 0x4B07CF16, fields, 2);
+ static DB2Meta instance(1957206, 1, 13, 0x4B07CF16, fields, 2);
return &instance;
}
};
@@ -10955,7 +11281,7 @@ struct UiMapArtMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0xD85EF8B6, fields, -1);
+ static DB2Meta instance(1957202, -1, 3, 0xD85EF8B6, fields, -1);
return &instance;
}
};
@@ -10976,7 +11302,7 @@ struct UiMapArtStyleLayerMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 9, 0xAFF6429A, fields, 8);
+ static DB2Meta instance(1957208, -1, 9, 0xAFF6429A, fields, 8);
return &instance;
}
};
@@ -10993,7 +11319,7 @@ struct UiMapArtTileMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 5, 0xBA5290E9, fields, 4);
+ static DB2Meta instance(1957210, -1, 5, 0xBA5290E9, fields, 4);
return &instance;
}
};
@@ -11015,7 +11341,7 @@ struct UiMapAssignmentMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(3, 10, 0xFA919770, fields, 4);
+ static DB2Meta instance(1957219, 3, 10, 0xFA919770, fields, 4);
return &instance;
}
};
@@ -11031,7 +11357,7 @@ struct UiMapFogOfWarMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(0, 4, 0x257E044E, fields, 1);
+ static DB2Meta instance(2006972, 0, 4, 0x257E044E, fields, 1);
return &instance;
}
};
@@ -11046,7 +11372,7 @@ struct UiMapFogOfWarVisualizationMeta
{ FT_INT, 1, false },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 3, 0xB8110379, fields, -1);
+ static DB2Meta instance(2006973, -1, 3, 0xB8110379, fields, -1);
return &instance;
}
};
@@ -11063,7 +11389,7 @@ struct UiMapGroupMemberMeta
{ FT_INT, 1, true },
{ FT_BYTE, 1, true },
};
- static DB2Meta instance(-1, 5, 0x3D1DDDA1, fields, 1);
+ static DB2Meta instance(1957204, -1, 5, 0x3D1DDDA1, fields, 1);
return &instance;
}
};
@@ -11081,7 +11407,7 @@ struct UiMapLinkMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(2, 6, 0x1A2F1836, fields, 3);
+ static DB2Meta instance(2030690, 2, 6, 0x1A2F1836, fields, 3);
return &instance;
}
};
@@ -11096,7 +11422,7 @@ struct UiMapXMapArtMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0xD74B6E49, fields, 2);
+ static DB2Meta instance(1957217, -1, 3, 0xD74B6E49, fields, 2);
return &instance;
}
};
@@ -11110,7 +11436,7 @@ struct UiModelSceneMeta
{ FT_BYTE, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 2, 0x0B9EFECA, fields, -1);
+ static DB2Meta instance(1548215, -1, 2, 0x0B9EFECA, fields, -1);
return &instance;
}
};
@@ -11132,7 +11458,7 @@ struct UiModelSceneActorMeta
{ FT_FLOAT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(2, 10, 0x8B5BF449, fields, 9);
+ static DB2Meta instance(1548214, 2, 10, 0x8B5BF449, fields, 9);
return &instance;
}
};
@@ -11151,7 +11477,7 @@ struct UiModelSceneActorDisplayMeta
{ FT_FLOAT, 1, true },
{ FT_FLOAT, 1, true },
};
- static DB2Meta instance(-1, 7, 0xDD1DD903, fields, -1);
+ static DB2Meta instance(1548216, -1, 7, 0xDD1DD903, fields, -1);
return &instance;
}
};
@@ -11179,7 +11505,7 @@ struct UiModelSceneCameraMeta
{ FT_FLOAT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(3, 16, 0xEDFBD5A2, fields, 15);
+ static DB2Meta instance(1548213, 3, 16, 0xEDFBD5A2, fields, 15);
return &instance;
}
};
@@ -11197,7 +11523,7 @@ struct UiPartyPoseMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 6, 0x880480BF, fields, 5);
+ static DB2Meta instance(1993323, -1, 6, 0x880480BF, fields, 5);
return &instance;
}
};
@@ -11213,7 +11539,7 @@ struct UiTextureAtlasMeta
{ FT_SHORT, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 4, 0x6951B2FD, fields, -1);
+ static DB2Meta instance(897470, -1, 4, 0x6951B2FD, fields, -1);
return &instance;
}
};
@@ -11227,7 +11553,7 @@ struct UiTextureAtlasElementMeta
{ FT_STRING_NOT_LOCALIZED, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(1, 2, 0xBBDA0A61, fields, -1);
+ static DB2Meta instance(1989276, 1, 2, 0xBBDA0A61, fields, -1);
return &instance;
}
};
@@ -11249,7 +11575,7 @@ struct UiTextureAtlasMemberMeta
{ FT_BYTE, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(1, 10, 0x4D58B085, fields, 7);
+ static DB2Meta instance(897532, 1, 10, 0x4D58B085, fields, 7);
return &instance;
}
};
@@ -11262,7 +11588,7 @@ struct UiTextureKitMeta
{
{ FT_STRING_NOT_LOCALIZED, 1, true },
};
- static DB2Meta instance(-1, 1, 0x1FC1A9C6, fields, -1);
+ static DB2Meta instance(939159, -1, 1, 0x1FC1A9C6, fields, -1);
return &instance;
}
};
@@ -11274,13 +11600,13 @@ struct UiWidgetMeta
static DB2MetaField const fields[6] =
{
{ FT_STRING_NOT_LOCALIZED, 1, true },
- { FT_SHORT, 1, false },
+ { FT_INT, 1, true },
{ FT_INT, 1, true },
{ FT_INT, 1, true },
{ FT_INT, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 6, 0xC4C60F67, fields, -1);
+ static DB2Meta instance(1983278, -1, 6, 0x21A338EE, fields, -1);
return &instance;
}
};
@@ -11293,9 +11619,9 @@ struct UiWidgetConstantSourceMeta
{
{ FT_SHORT, 1, false },
{ FT_INT, 1, true },
- { FT_SHORT, 1, false },
+ { FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0xFE573B5D, fields, 2);
+ static DB2Meta instance(1983639, -1, 3, 0x5BB89A7E, fields, 2);
return &instance;
}
};
@@ -11308,10 +11634,24 @@ struct UiWidgetDataSourceMeta
{
{ FT_SHORT, 1, false },
{ FT_BYTE, 1, true },
- { FT_SHORT, 1, false },
- { FT_SHORT, 1, false },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ };
+ static DB2Meta instance(1983640, -1, 4, 0x8C104D29, fields, 3);
+ return &instance;
+ }
+};
+
+struct UiWidgetMapMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[2] =
+ {
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
};
- static DB2Meta instance(-1, 4, 0x27BC34FD, fields, 3);
+ static DB2Meta instance(2322531, -1, 2, 0x335BE535, fields, 1);
return &instance;
}
};
@@ -11324,9 +11664,25 @@ struct UiWidgetStringSourceMeta
{
{ FT_STRING, 1, true },
{ FT_SHORT, 1, false },
- { FT_SHORT, 1, false },
+ { FT_INT, 1, true },
};
- static DB2Meta instance(-1, 3, 0x86CECC21, fields, 2);
+ static DB2Meta instance(1983641, -1, 3, 0xD3DB3469, fields, 2);
+ return &instance;
+ }
+};
+
+struct UiWidgetVisTypeDataReqMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[4] =
+ {
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ };
+ static DB2Meta instance(2740907, -1, 4, 0x21F50E85, fields, -1);
return &instance;
}
};
@@ -11342,7 +11698,7 @@ struct UiWidgetVisualizationMeta
{ FT_INT, 1, true },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(-1, 4, 0x1DB32AF9, fields, -1);
+ static DB2Meta instance(1983276, -1, 4, 0x1DB32AF9, fields, -1);
return &instance;
}
};
@@ -11360,7 +11716,7 @@ struct UnitBloodMeta
{ FT_INT, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 6, 0x007ED968, fields, -1);
+ static DB2Meta instance(1284821, -1, 6, 0x007ED968, fields, -1);
return &instance;
}
};
@@ -11373,7 +11729,7 @@ struct UnitBloodLevelsMeta
{
{ FT_BYTE, 3, false },
};
- static DB2Meta instance(-1, 1, 0x684D24F4, fields, -1);
+ static DB2Meta instance(1268904, -1, 1, 0x684D24F4, fields, -1);
return &instance;
}
};
@@ -11389,7 +11745,7 @@ struct UnitConditionMeta
{ FT_BYTE, 8, true },
{ FT_INT, 8, true },
};
- static DB2Meta instance(-1, 4, 0x215CBCD2, fields, -1);
+ static DB2Meta instance(1120959, -1, 4, 0x215CBCD2, fields, -1);
return &instance;
}
};
@@ -11417,7 +11773,7 @@ struct UnitPowerBarMeta
{ FT_INT, 6, true },
{ FT_INT, 6, true },
};
- static DB2Meta instance(-1, 16, 0x2640852D, fields, -1);
+ static DB2Meta instance(1237753, -1, 16, 0x2640852D, fields, -1);
return &instance;
}
};
@@ -11447,7 +11803,7 @@ struct VehicleMeta
{ FT_SHORT, 8, false },
{ FT_SHORT, 3, false },
};
- static DB2Meta instance(-1, 18, 0x221A0252, fields, -1);
+ static DB2Meta instance(1368621, -1, 18, 0x221A0252, fields, -1);
return &instance;
}
};
@@ -11520,7 +11876,7 @@ struct VehicleSeatMeta
{ FT_SHORT, 1, true },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(-1, 61, 0x7AB200FA, fields, -1);
+ static DB2Meta instance(1345447, -1, 61, 0x7AB200FA, fields, -1);
return &instance;
}
};
@@ -11536,7 +11892,7 @@ struct VehicleUIIndSeatMeta
{ FT_FLOAT, 1, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 4, 0x590E3162, fields, 3);
+ static DB2Meta instance(1279741, -1, 4, 0x590E3162, fields, 3);
return &instance;
}
};
@@ -11549,7 +11905,7 @@ struct VehicleUIIndicatorMeta
{
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 1, 0x4B1AACBC, fields, -1);
+ static DB2Meta instance(1279740, -1, 1, 0x4B1AACBC, fields, -1);
return &instance;
}
};
@@ -11570,7 +11926,7 @@ struct VignetteMeta
{ FT_BYTE, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 9, 0xE70E083E, fields, -1);
+ static DB2Meta instance(892861, -1, 9, 0xE70E083E, fields, -1);
return &instance;
}
};
@@ -11584,7 +11940,7 @@ struct VirtualAttachmentMeta
{ FT_STRING_NOT_LOCALIZED, 1, true },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(-1, 2, 0xA9D90777, fields, -1);
+ static DB2Meta instance(1634482, -1, 2, 0xA9D90777, fields, -1);
return &instance;
}
};
@@ -11599,7 +11955,7 @@ struct VirtualAttachmentCustomizationMeta
{ FT_INT, 1, true },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(-1, 3, 0x5812DF35, fields, -1);
+ static DB2Meta instance(1634480, -1, 3, 0x5812DF35, fields, -1);
return &instance;
}
};
@@ -11615,7 +11971,7 @@ struct VocalUISoundsMeta
{ FT_BYTE, 1, false },
{ FT_INT, 2, false },
};
- static DB2Meta instance(-1, 4, 0x264C4E59, fields, -1);
+ static DB2Meta instance(1267067, -1, 4, 0x264C4E59, fields, -1);
return &instance;
}
};
@@ -11642,7 +11998,7 @@ struct WMOAreaTableMeta
{ FT_SHORT, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(1, 15, 0x60EC930B, fields, 2);
+ static DB2Meta instance(1355528, 1, 15, 0x60EC930B, fields, 2);
return &instance;
}
};
@@ -11659,7 +12015,87 @@ struct WMOMinimapTextureMeta
{ FT_INT, 1, true },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(-1, 5, 0x48CE176C, fields, 4);
+ static DB2Meta instance(1323241, -1, 5, 0x48CE176C, fields, 4);
+ return &instance;
+ }
+};
+
+struct WaterfallDataMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[19] =
+ {
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_FLOAT, 1, true },
+ { FT_INT, 1, true },
+ };
+ static DB2Meta instance(2565222, -1, 19, 0x9AF7AF6D, fields, -1);
+ return &instance;
+ }
+};
+
+struct WaypointEdgeMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[6] =
+ {
+ { FT_INT, 1, false },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ };
+ static DB2Meta instance(2565258, 0, 6, 0x7A49AFE4, fields, -1);
+ return &instance;
+ }
+};
+
+struct WaypointNodeMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[5] =
+ {
+ { FT_STRING, 1, true },
+ { FT_INT, 1, false },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ };
+ static DB2Meta instance(2565265, 1, 5, 0xF61E3EC2, fields, -1);
+ return &instance;
+ }
+};
+
+struct WaypointSafeLocsMeta
+{
+ static DB2Meta const* Instance()
+ {
+ static DB2MetaField const fields[2] =
+ {
+ { FT_FLOAT, 3, true },
+ { FT_INT, 1, true },
+ };
+ static DB2Meta instance(2820850, -1, 2, 0x61C88F74, fields, -1);
return &instance;
}
};
@@ -11676,7 +12112,7 @@ struct WbAccessControlListMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 5, 0xDC9D8334, fields, -1);
+ static DB2Meta instance(879634, -1, 5, 0xDC9D8334, fields, -1);
return &instance;
}
};
@@ -11692,7 +12128,7 @@ struct WbCertWhitelistMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 4, 0x1524F278, fields, -1);
+ static DB2Meta instance(879591, -1, 4, 0x1524F278, fields, -1);
return &instance;
}
};
@@ -11711,7 +12147,7 @@ struct WeaponImpactSoundsMeta
{ FT_INT, 11, false },
{ FT_INT, 11, false },
};
- static DB2Meta instance(-1, 7, 0x9C7F9BA6, fields, -1);
+ static DB2Meta instance(1267648, -1, 7, 0x9C7F9BA6, fields, -1);
return &instance;
}
};
@@ -11726,7 +12162,7 @@ struct WeaponSwingSounds2Meta
{ FT_BYTE, 1, false },
{ FT_INT, 1, false },
};
- static DB2Meta instance(-1, 3, 0x18B6CC57, fields, -1);
+ static DB2Meta instance(1267068, -1, 3, 0x18B6CC57, fields, -1);
return &instance;
}
};
@@ -11747,7 +12183,7 @@ struct WeaponTrailMeta
{ FT_FLOAT, 3, true },
{ FT_FLOAT, 3, true },
};
- static DB2Meta instance(-1, 9, 0xB05F809A, fields, -1);
+ static DB2Meta instance(982461, -1, 9, 0xB05F809A, fields, -1);
return &instance;
}
};
@@ -11762,7 +12198,7 @@ struct WeaponTrailModelDefMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 3, 0xCE7AD194, fields, 2);
+ static DB2Meta instance(1239843, -1, 3, 0xCE7AD194, fields, 2);
return &instance;
}
};
@@ -11784,7 +12220,7 @@ struct WeaponTrailParamMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 10, 0xC3B87CA4, fields, 9);
+ static DB2Meta instance(1239842, -1, 10, 0xC3B87CA4, fields, 9);
return &instance;
}
};
@@ -11818,7 +12254,7 @@ struct WeatherMeta
{ FT_FLOAT, 2, true },
{ FT_FLOAT, 3, true },
};
- static DB2Meta instance(-1, 22, 0x784E91E0, fields, -1);
+ static DB2Meta instance(1343311, -1, 22, 0x784E91E0, fields, -1);
return &instance;
}
};
@@ -11832,7 +12268,7 @@ struct WeatherXParticulateMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 2, 0x791A7865, fields, 1);
+ static DB2Meta instance(1965591, -1, 2, 0x791A7865, fields, 1);
return &instance;
}
};
@@ -11854,7 +12290,7 @@ struct WindSettingsMeta
{ FT_FLOAT, 1, true },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 10, 0xE09E01C4, fields, -1);
+ static DB2Meta instance(943871, -1, 10, 0xE09E01C4, fields, -1);
return &instance;
}
};
@@ -11868,7 +12304,7 @@ struct WorldBossLockoutMeta
{ FT_STRING, 1, true },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 2, 0x57E8ADB8, fields, -1);
+ static DB2Meta instance(975279, -1, 2, 0x57E8ADB8, fields, -1);
return &instance;
}
};
@@ -11886,7 +12322,7 @@ struct WorldChunkSoundsMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 6, 0xA5616A27, fields, -1);
+ static DB2Meta instance(1267069, -1, 6, 0xA5616A27, fields, -1);
return &instance;
}
};
@@ -11899,12 +12335,12 @@ struct WorldEffectMeta
{
{ FT_INT, 1, false },
{ FT_BYTE, 1, false },
- { FT_BYTE, 1, false },
+ { FT_BYTE, 1, true },
{ FT_INT, 1, true },
{ FT_INT, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 6, 0xBCB8719B, fields, -1);
+ static DB2Meta instance(1343312, -1, 6, 0x8A7EC767, fields, -1);
return &instance;
}
};
@@ -11919,7 +12355,7 @@ struct WorldElapsedTimerMeta
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 3, 0x103B8712, fields, -1);
+ static DB2Meta instance(1135240, -1, 3, 0x103B8712, fields, -1);
return &instance;
}
};
@@ -11944,7 +12380,7 @@ struct WorldMapOverlayMeta
{ FT_INT, 1, false },
{ FT_INT, 4, false },
};
- static DB2Meta instance(0, 13, 0x837A3DAA, fields, 1);
+ static DB2Meta instance(1134579, 0, 13, 0x837A3DAA, fields, 1);
return &instance;
}
};
@@ -11961,7 +12397,7 @@ struct WorldMapOverlayTileMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 5, 0xC4DCC916, fields, 4);
+ static DB2Meta instance(1957212, -1, 5, 0xC4DCC916, fields, 4);
return &instance;
}
};
@@ -11977,7 +12413,7 @@ struct WorldSafeLocsMeta
{ FT_SHORT, 1, false },
{ FT_FLOAT, 1, false }
};
- static DB2Meta instance(-1, 4, 0x6BF0D7EC, fields, 3);
+ static DB2Meta instance(1369425, -1, 4, 0x6BF0D7EC, fields, 3);
return &instance;
}
};
@@ -11990,7 +12426,7 @@ struct WorldStateExpressionMeta
{
{ FT_STRING_NOT_LOCALIZED, 1, true },
};
- static DB2Meta instance(-1, 1, 0xF23806A6, fields, -1);
+ static DB2Meta instance(1332558, -1, 1, 0xF23806A6, fields, -1);
return &instance;
}
};
@@ -12019,7 +12455,7 @@ struct WorldStateUIMeta
{ FT_SHORT, 1, false },
{ FT_SHORT, 3, false },
};
- static DB2Meta instance(5, 17, 0xE1F042FE, fields, 6);
+ static DB2Meta instance(1343596, 5, 17, 0xE1F042FE, fields, 6);
return &instance;
}
};
@@ -12039,7 +12475,7 @@ struct WorldStateZoneSoundsMeta
{ FT_SHORT, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 8, 0x44CFA417, fields, -1);
+ static DB2Meta instance(1266941, -1, 8, 0x44CFA417, fields, -1);
return &instance;
}
};
@@ -12058,7 +12494,7 @@ struct World_PVP_AreaMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, true },
};
- static DB2Meta instance(-1, 7, 0x3F8DDC83, fields, -1);
+ static DB2Meta instance(1310255, -1, 7, 0x3F8DDC83, fields, -1);
return &instance;
}
};
@@ -12074,7 +12510,7 @@ struct ZoneIntroMusicTableMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 4, 0x5453B51D, fields, -1);
+ static DB2Meta instance(1310251, -1, 4, 0x5453B51D, fields, -1);
return &instance;
}
};
@@ -12090,7 +12526,7 @@ struct ZoneLightMeta
{ FT_SHORT, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta instance(-1, 4, 0xD553DE84, fields, -1);
+ static DB2Meta instance(1310253, -1, 4, 0xD553DE84, fields, -1);
return &instance;
}
};
@@ -12105,7 +12541,7 @@ struct ZoneLightPointMeta
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
};
- static DB2Meta instance(-1, 3, 0xB21DA554, fields, 2);
+ static DB2Meta instance(1310256, -1, 3, 0xB21DA554, fields, 2);
return &instance;
}
};
@@ -12121,7 +12557,7 @@ struct ZoneMusicMeta
{ FT_INT, 2, false },
{ FT_INT, 2, false },
};
- static DB2Meta instance(-1, 4, 0x9EBD4495, fields, -1);
+ static DB2Meta instance(1310254, -1, 4, 0x9EBD4495, fields, -1);
return &instance;
}
};
@@ -12137,7 +12573,7 @@ struct ZoneStoryMeta
{ FT_INT, 1, false },
{ FT_INT, 1, true },
};
- static DB2Meta instance(-1, 4, 0x5BFB82E8, fields, 3);
+ static DB2Meta instance(1797864, -1, 4, 0x5BFB82E8, fields, 3);
return &instance;
}
};
diff --git a/src/server/game/DataStores/DB2Stores.cpp b/src/server/game/DataStores/DB2Stores.cpp
index 09ff125f3a6..72ea24adad6 100644
--- a/src/server/game/DataStores/DB2Stores.cpp
+++ b/src/server/game/DataStores/DB2Stores.cpp
@@ -155,8 +155,6 @@ DB2Storage<ItemLimitCategoryEntry> sItemLimitCategoryStore("ItemLim
DB2Storage<ItemLimitCategoryConditionEntry> sItemLimitCategoryConditionStore("ItemLimitCategoryCondition.db2", ItemLimitCategoryConditionLoadInfo::Instance());
DB2Storage<ItemModifiedAppearanceEntry> sItemModifiedAppearanceStore("ItemModifiedAppearance.db2", ItemModifiedAppearanceLoadInfo::Instance());
DB2Storage<ItemPriceBaseEntry> sItemPriceBaseStore("ItemPriceBase.db2", ItemPriceBaseLoadInfo::Instance());
-DB2Storage<ItemRandomPropertiesEntry> sItemRandomPropertiesStore("ItemRandomProperties.db2", ItemRandomPropertiesLoadInfo::Instance());
-DB2Storage<ItemRandomSuffixEntry> sItemRandomSuffixStore("ItemRandomSuffix.db2", ItemRandomSuffixLoadInfo::Instance());
DB2Storage<ItemSearchNameEntry> sItemSearchNameStore("ItemSearchName.db2", ItemSearchNameLoadInfo::Instance());
DB2Storage<ItemSetEntry> sItemSetStore("ItemSet.db2", ItemSetLoadInfo::Instance());
DB2Storage<ItemSetSpellEntry> sItemSetSpellStore("ItemSetSpell.db2", ItemSetSpellLoadInfo::Instance());
@@ -613,8 +611,6 @@ void DB2Manager::LoadStores(std::string const& dataPath, uint32 defaultLocale)
LOAD_DB2(sItemLimitCategoryConditionStore);
LOAD_DB2(sItemModifiedAppearanceStore);
LOAD_DB2(sItemPriceBaseStore);
- LOAD_DB2(sItemRandomPropertiesStore);
- LOAD_DB2(sItemRandomSuffixStore);
LOAD_DB2(sItemSearchNameStore);
LOAD_DB2(sItemSetStore);
LOAD_DB2(sItemSetSpellStore);
@@ -1264,13 +1260,13 @@ void DB2Manager::LoadStores(std::string const& dataPath, uint32 defaultLocale)
}
// Check loaded DB2 files proper version
- if (!sAreaTableStore.LookupEntry(10048) || // last area added in 8.0.1 (28153)
- !sCharTitlesStore.LookupEntry(633) || // last char title added in 8.0.1 (28153)
- !sGemPropertiesStore.LookupEntry(3745) || // last gem property added in 8.0.1 (28153)
- !sItemStore.LookupEntry(164760) || // last item added in 8.0.1 (28153)
- !sItemExtendedCostStore.LookupEntry(6448) || // last item extended cost added in 8.0.1 (28153)
- !sMapStore.LookupEntry(2103) || // last map added in 8.0.1 (28153)
- !sSpellNameStore.LookupEntry(281872)) // last spell added in 8.0.1 (28153)
+ if (!sAreaTableStore.LookupEntry(10521) || // last area added in 8.1.5 (30706)
+ !sCharTitlesStore.LookupEntry(649) || // last char title added in 8.1.5 (30706)
+ !sGemPropertiesStore.LookupEntry(3746) || // last gem property added in 8.1.5 (30706)
+ !sItemStore.LookupEntry(168279) || // last item added in 8.1.5 (30706)
+ !sItemExtendedCostStore.LookupEntry(6545) || // last item extended cost added in 8.1.5 (30706)
+ !sMapStore.LookupEntry(2178) || // last map added in 8.1.5 (30706)
+ !sSpellNameStore.LookupEntry(296952)) // last spell added in 8.1.5 (30706)
{
TC_LOG_ERROR("misc", "You have _outdated_ DB2 files. Please extract correct versions from current using client.");
exit(1);
diff --git a/src/server/game/DataStores/DB2Stores.h b/src/server/game/DataStores/DB2Stores.h
index 158ecb9de15..3d224c857cb 100644
--- a/src/server/game/DataStores/DB2Stores.h
+++ b/src/server/game/DataStores/DB2Stores.h
@@ -127,8 +127,6 @@ TC_GAME_API extern DB2Storage<ItemExtendedCostEntry> sItemExtende
TC_GAME_API extern DB2Storage<ItemLimitCategoryEntry> sItemLimitCategoryStore;
TC_GAME_API extern DB2Storage<ItemModifiedAppearanceEntry> sItemModifiedAppearanceStore;
TC_GAME_API extern DB2Storage<ItemPriceBaseEntry> sItemPriceBaseStore;
-TC_GAME_API extern DB2Storage<ItemRandomPropertiesEntry> sItemRandomPropertiesStore;
-TC_GAME_API extern DB2Storage<ItemRandomSuffixEntry> sItemRandomSuffixStore;
TC_GAME_API extern DB2Storage<ItemSearchNameEntry> sItemSearchNameStore;
TC_GAME_API extern DB2Storage<ItemSetEntry> sItemSetStore;
TC_GAME_API extern DB2Storage<ItemSetSpellEntry> sItemSetSpellStore;
diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h
index 30b4c10a033..314f7d98c89 100644
--- a/src/server/game/DataStores/DB2Structure.h
+++ b/src/server/game/DataStores/DB2Structure.h
@@ -41,6 +41,7 @@ struct AchievementEntry
int32 Flags;
int16 UiOrder;
int32 IconFileID;
+ int32 RewardItemID;
uint32 CriteriaTree;
int16 SharesCriteria; // referenced achievement (counting of all completed criterias)
};
@@ -166,6 +167,7 @@ struct ArtifactAppearanceEntry
uint32 UiAltItemAppearanceID;
uint8 Flags;
uint16 UiCameraID;
+ uint32 UsablePlayerConditionID;
};
struct ArtifactAppearanceSetEntry
@@ -316,7 +318,7 @@ struct BattlePetSpeciesEntry
struct BattlePetSpeciesStateEntry
{
uint32 ID;
- uint8 BattlePetStateID;
+ uint16 BattlePetStateID;
int32 Value;
uint16 BattlePetSpeciesID;
};
@@ -368,6 +370,7 @@ struct Cfg_RegionsEntry
uint32 Raidorigin; // Date of first raid reset, all other resets are calculated as this date plus interval
uint8 RegionGroupMask;
uint32 ChallengeOrigin;
+ int32 ChallengeTimeOffset[2];
};
struct CharacterFacialHairStylesEntry
@@ -444,6 +447,7 @@ struct ChrClassesEntry
uint32 IconFileDataID;
uint32 LowResScreenFileDataID;
int32 StartingLevel;
+ uint32 SpellTextureBlobFileDataID;
uint16 Flags;
uint16 CinematicSequenceID;
uint16 DefaultSpec;
@@ -851,6 +855,7 @@ struct CurrencyTypesEntry
uint32 Flags;
int8 Quality;
int32 FactionID;
+ int32 ItemGroupSoundsID;
};
struct CurveEntry
@@ -905,7 +910,7 @@ struct DifficultyEntry
uint8 FallbackDifficultyID;
uint8 MinPlayers;
uint8 MaxPlayers;
- uint8 Flags;
+ uint16 Flags;
uint8 ItemContext;
uint8 ToggleDifficultyID;
uint16 GroupSizeHealthCurveID;
@@ -920,10 +925,12 @@ struct DungeonEncounterEntry
int16 MapID;
int8 DifficultyID;
int32 OrderIndex;
+ int32 CompleteWorldStateID;
int8 Bit;
int32 CreatureDisplayID;
uint8 Flags;
int32 SpellIconFileID;
+ int32 Faction;
};
struct DurabilityCostsEntry
@@ -1009,7 +1016,7 @@ struct FactionEntry
int16 ReputationIndex;
uint16 ParentFactionID;
uint8 Expansion;
- uint8 FriendshipRepID;
+ uint32 FriendshipRepID;
uint8 Flags;
uint16 ParagonFactionID;
int16 ReputationClassMask[4];
@@ -1338,12 +1345,12 @@ struct HeirloomEntry
int8 SourceTypeEnum;
uint8 Flags;
int32 LegacyItemID;
- int32 UpgradeItemID[3];
- uint16 UpgradeItemBonusListID[3];
+ int32 UpgradeItemID[4];
+ uint16 UpgradeItemBonusListID[4];
};
#define MAX_HOLIDAY_DURATIONS 10
-#define MAX_HOLIDAY_DATES 16
+#define MAX_HOLIDAY_DATES 26
#define MAX_HOLIDAY_FLAGS 10
struct HolidaysEntry
@@ -1468,9 +1475,9 @@ struct ItemBonusTreeNodeEntry
struct ItemChildEquipmentEntry
{
uint32 ID;
+ int32 ParentItemID;
int32 ChildItemID;
uint8 ChildItemEquipSlot;
- int32 ParentItemID;
};
struct ItemClassEntry
@@ -1572,6 +1579,7 @@ struct ItemLevelSelectorEntry
uint32 ID;
uint16 MinItemLevel;
uint16 ItemLevelSelectorQualitySetID;
+ uint16 AzeriteUnlockMappingSet;
};
struct ItemLevelSelectorQualityEntry
@@ -1623,23 +1631,6 @@ struct ItemPriceBaseEntry
float Weapon;
};
-#define MAX_ITEM_RANDOM_PROPERTIES 5
-
-struct ItemRandomPropertiesEntry
-{
- uint32 ID;
- LocalizedString* Name;
- uint16 Enchantment[MAX_ITEM_RANDOM_PROPERTIES];
-};
-
-struct ItemRandomSuffixEntry
-{
- uint32 ID;
- LocalizedString* Name;
- uint16 Enchantment[MAX_ITEM_RANDOM_PROPERTIES];
- uint16 AllocationPct[MAX_ITEM_RANDOM_PROPERTIES];
-};
-
struct ItemSearchNameEntry
{
int64 AllowableRace;
@@ -1715,8 +1706,6 @@ struct ItemSparseEntry
uint16 InstanceBound;
uint16 ZoneBound;
uint16 ItemSet;
- uint16 ItemRandomSuffixGroupID;
- uint16 RandomSelect;
uint16 LockID;
uint16 StartQuestID;
uint16 PageID;
@@ -1909,6 +1898,7 @@ struct MapEntry
uint8 MaxPlayers;
int16 WindSettingsID;
int32 ZmpFileDataID;
+ int32 WdtFileDataID;
int32 Flags[2];
// Helpers
@@ -1947,15 +1937,15 @@ struct MapDifficultyEntry
{
uint32 ID;
LocalizedString* Message; // m_message_lang (text showed when transfer to map failed)
- uint32 ItemContextPickerID;
+ int32 DifficultyID;
+ int32 LockID;
+ int8 ResetInterval;
+ int32 MaxPlayers;
+ int32 ItemContext;
+ int32 ItemContextPickerID;
+ int32 Flags;
int32 ContentTuningID;
- uint8 DifficultyID;
- uint8 LockID;
- uint8 ResetInterval;
- uint8 MaxPlayers;
- uint8 ItemContext;
- uint8 Flags;
- uint16 MapID;
+ int32 MapID;
uint32 GetRaidDuration() const
{
@@ -2464,7 +2454,7 @@ struct SkillRaceClassInfoEntry
struct SoundKitEntry
{
uint32 ID;
- uint8 SoundType;
+ int32 SoundType;
float VolumeFloat;
uint16 Flags;
float MinDistance;
@@ -2916,10 +2906,11 @@ struct TaxiNodesEntry
DBCPosition2D FlightMapOffset;
uint32 ID;
uint16 ContinentID;
- uint16 ConditionID;
+ int32 ConditionID;
uint16 CharacterBitNumber;
uint8 Flags;
int32 UiTextureKitID;
+ int32 MinimapAtlasMemberID;
float Facing;
uint32 SpecialIconConditionID;
uint32 VisibilityConditionID;
@@ -2943,8 +2934,8 @@ struct TaxiPathNodeEntry
uint16 ContinentID;
uint8 Flags;
uint32 Delay;
- uint16 ArrivalEventID;
- uint16 DepartureEventID;
+ int32 ArrivalEventID;
+ int32 DepartureEventID;
};
struct TotemCategoryEntry
@@ -2980,7 +2971,9 @@ struct TransmogSetEntry
uint32 TransmogSetGroupID;
int32 ItemNameDescriptionID;
uint16 ParentTransmogSetID;
+ uint8 Unknown810;
uint8 ExpansionID;
+ int32 PatchID;
int16 UiOrder;
};
@@ -3215,7 +3208,7 @@ struct WorldEffectEntry
uint32 ID;
uint32 QuestFeedbackEffectID;
uint8 WhenToDisplay;
- uint8 TargetType;
+ int8 TargetType;
int32 TargetAsset;
uint32 PlayerConditionID;
uint16 CombatConditionID;
diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h
index 312b1d403a7..894ea6a343a 100644
--- a/src/server/game/DataStores/DBCEnums.h
+++ b/src/server/game/DataStores/DBCEnums.h
@@ -166,7 +166,7 @@ enum ArtifactPowerFlag : uint8
#define MAX_ARTIFACT_TIER 1
-#define BATTLE_PET_SPECIES_MAX_ID 2480
+#define BATTLE_PET_SPECIES_MAX_ID 2592
enum ChrSpecializationFlag
{
@@ -508,7 +508,7 @@ enum CriteriaTypes : uint8
CRITERIA_TREE_HEART_OF_AZEROTH_LEVEL_REACHED = 215
};
-#define CRITERIA_TYPE_TOTAL 216
+#define CRITERIA_TYPE_TOTAL 217
enum CriteriaTreeFlags : uint16
{
@@ -1002,7 +1002,7 @@ enum SpellShapeshiftFormFlags
SHAPESHIFT_FORM_PREVENT_EMOTE_SOUNDS = 0x1000
};
-#define TaxiMaskSize 286
+#define TaxiMaskSize 299
typedef std::array<uint8, TaxiMaskSize> TaxiMask;
enum TotemCategoryType
diff --git a/src/server/game/Entities/Item/ItemTemplate.h b/src/server/game/Entities/Item/ItemTemplate.h
index d71080dd716..a91086f7049 100644
--- a/src/server/game/Entities/Item/ItemTemplate.h
+++ b/src/server/game/Entities/Item/ItemTemplate.h
@@ -743,8 +743,6 @@ struct TC_GAME_API ItemTemplate
uint32 GetPageText() const { return ExtendedData->PageID; }
uint32 GetStartQuest() const { return ExtendedData->StartQuestID; }
uint32 GetLockID() const { return ExtendedData->LockID; }
- uint32 GetRandomProperty() const { return ExtendedData->RandomSelect; }
- uint32 GetRandomSuffix() const { return ExtendedData->ItemRandomSuffixGroupID; }
uint32 GetItemSet() const { return ExtendedData->ItemSet; }
uint32 GetArea() const { return ExtendedData->ZoneBound; }
uint32 GetMap() const { return ExtendedData->InstanceBound; }
diff --git a/src/server/game/Entities/Player/CollectionMgr.cpp b/src/server/game/Entities/Player/CollectionMgr.cpp
index f043797c09a..4ebbc628625 100644
--- a/src/server/game/Entities/Player/CollectionMgr.cpp
+++ b/src/server/game/Entities/Player/CollectionMgr.cpp
@@ -188,7 +188,9 @@ void CollectionMgr::LoadAccountHeirlooms(PreparedQueryResult result)
uint32 bonusId = 0;
- if (flags & HEIRLOOM_FLAG_BONUS_LEVEL_110)
+ if (flags & HEIRLOOM_FLAG_BONUS_LEVEL_120)
+ bonusId = heirloom->UpgradeItemBonusListID[3];
+ else if (flags & HEIRLOOM_FLAG_BONUS_LEVEL_110)
bonusId = heirloom->UpgradeItemBonusListID[2];
else if (flags & HEIRLOOM_FLAG_BONUS_LEVEL_100)
bonusId = heirloom->UpgradeItemBonusListID[1];
@@ -270,6 +272,11 @@ void CollectionMgr::UpgradeHeirloom(uint32 itemId, int32 castItem)
flags |= HEIRLOOM_FLAG_BONUS_LEVEL_110;
bonusId = heirloom->UpgradeItemBonusListID[2];
}
+ if (heirloom->UpgradeItemID[3] == castItem)
+ {
+ flags |= HEIRLOOM_FLAG_BONUS_LEVEL_120;
+ bonusId = heirloom->UpgradeItemBonusListID[3];
+ }
for (Item* item : player->GetItemListByEntry(itemId, true))
item->AddBonuses(bonusId);
@@ -352,6 +359,8 @@ bool CollectionMgr::CanApplyHeirloomXpBonus(uint32 itemId, uint32 level)
if (itr == _heirlooms.end())
return false;
+ if (itr->second.flags & HEIRLOOM_FLAG_BONUS_LEVEL_120)
+ return level <= 120;
if (itr->second.flags & HEIRLOOM_FLAG_BONUS_LEVEL_110)
return level <= 110;
if (itr->second.flags & HEIRLOOM_FLAG_BONUS_LEVEL_100)
diff --git a/src/server/game/Entities/Player/CollectionMgr.h b/src/server/game/Entities/Player/CollectionMgr.h
index 5f3d054424b..5292d07bf67 100644
--- a/src/server/game/Entities/Player/CollectionMgr.h
+++ b/src/server/game/Entities/Player/CollectionMgr.h
@@ -36,7 +36,8 @@ enum HeirloomPlayerFlags
HEIRLOOM_FLAG_NONE = 0x00,
HEIRLOOM_FLAG_BONUS_LEVEL_90 = 0x01,
HEIRLOOM_FLAG_BONUS_LEVEL_100 = 0x02,
- HEIRLOOM_FLAG_BONUS_LEVEL_110 = 0x04
+ HEIRLOOM_FLAG_BONUS_LEVEL_110 = 0x04,
+ HEIRLOOM_FLAG_BONUS_LEVEL_120 = 0x08
};
enum HeirloomItemFlags
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h
index b2507d8d95f..ac806c758e5 100644
--- a/src/server/game/Miscellaneous/SharedDefines.h
+++ b/src/server/game/Miscellaneous/SharedDefines.h
@@ -1343,6 +1343,9 @@ enum SpellEffectName
SPELL_EFFECT_RESPEC_AZERITE_EMPOWERED_ITEM = 259,
SPELL_EFFECT_SUMMON_STABLED_PET = 260,
SPELL_EFFECT_SCRAP_ITEM = 261,
+ SPELL_EFFECT_262 = 262,
+ SPELL_EFFECT_REPAIR_ITEM = 263,
+ SPELL_EFFECT_REMOVE_GEM = 264,
TOTAL_SPELL_EFFECTS
};
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 1c52f6e0936..08f6bfd0b98 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -336,6 +336,9 @@ pEffect SpellEffects[TOTAL_SPELL_EFFECTS]=
&Spell::EffectNULL, //259 SPELL_EFFECT_RESPEC_AZERITE_EMPOWERED_ITEM
&Spell::EffectNULL, //260 SPELL_EFFECT_SUMMON_STABLED_PET
&Spell::EffectNULL, //261 SPELL_EFFECT_SCRAP_ITEM
+ &Spell::EffectNULL, //262 SPELL_EFFECT_262
+ &Spell::EffectNULL, //263 SPELL_EFFECT_REPAIR_ITEM
+ &Spell::EffectNULL, //264 SPELL_EFFECT_REMOVE_GEM
};
void Spell::EffectNULL(SpellEffIndex /*effIndex*/)
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index 369fc1731df..f264e72c52a 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -1031,6 +1031,9 @@ SpellEffectInfo::StaticData SpellEffectInfo::_data[TOTAL_SPELL_EFFECTS] =
{EFFECT_IMPLICIT_TARGET_EXPLICIT, TARGET_OBJECT_TYPE_ITEM}, // 259 SPELL_EFFECT_RESPEC_AZERITE_EMPOWERED_ITEM
{EFFECT_IMPLICIT_TARGET_NONE, TARGET_OBJECT_TYPE_NONE}, // 260 SPELL_EFFECT_SUMMON_STABLED_PET
{EFFECT_IMPLICIT_TARGET_EXPLICIT, TARGET_OBJECT_TYPE_ITEM}, // 261 SPELL_EFFECT_SCRAP_ITEM
+ {EFFECT_IMPLICIT_TARGET_NONE, TARGET_OBJECT_TYPE_NONE}, // 262 SPELL_EFFECT_262
+ {EFFECT_IMPLICIT_TARGET_EXPLICIT, TARGET_OBJECT_TYPE_ITEM}, // 263 SPELL_EFFECT_REPAIR_ITEM
+ {EFFECT_IMPLICIT_TARGET_EXPLICIT, TARGET_OBJECT_TYPE_ITEM}, // 264 SPELL_EFFECT_REMOVE_GEM
};
SpellInfo::SpellInfo(SpellInfoLoadHelper const& data, SpellEffectEntryMap const& effectsMap, SpellVisualMap&& visuals)
diff --git a/src/server/shared/DataStores/DB2Store.cpp b/src/server/shared/DataStores/DB2Store.cpp
index 51d768af74a..4a9f01723a2 100644
--- a/src/server/shared/DataStores/DB2Store.cpp
+++ b/src/server/shared/DataStores/DB2Store.cpp
@@ -91,12 +91,10 @@ bool DB2StorageBase::Load(std::string const& path, uint32 locale, char**& indexT
{
indexTable = nullptr;
DB2FileLoader db2;
- {
- DB2FileSystemSource source(path + _fileName);
- // Check if load was successful, only then continue
- if (!db2.Load(&source, _loadInfo))
- return false;
- }
+ DB2FileSystemSource source(path + _fileName);
+ // Check if load was successful, only then continue
+ if (!db2.Load(&source, _loadInfo))
+ return false;
_fieldCount = db2.GetCols();
_tableHash = db2.GetTableHash();
diff --git a/src/tools/extractor_common/CascHandles.cpp b/src/tools/extractor_common/CascHandles.cpp
index 9487b3de093..eb84a084a11 100644
--- a/src/tools/extractor_common/CascHandles.cpp
+++ b/src/tools/extractor_common/CascHandles.cpp
@@ -38,6 +38,7 @@ char const* CASC::HumanReadableCASCError(DWORD error)
case ERROR_INVALID_HANDLE: return "INVALID_HANDLE";
case ERROR_ACCESS_DENIED: return "ACCESS_DENIED";
case ERROR_FILE_NOT_FOUND: return "FILE_NOT_FOUND";
+ case ERROR_FILE_ENCRYPTED: return "FILE_ENCRYPTED";
default: return "UNKNOWN";
}
}
@@ -98,10 +99,15 @@ DWORD CASC::GetInstalledLocalesMask(StorageHandle const& storage)
return 0;
}
+bool CASC::HasTactKey(StorageHandle const& storage, ULONGLONG keyLookup)
+{
+ return CascFindEncryptionKey(storage.get(), keyLookup) != nullptr;
+}
+
CASC::FileHandle CASC::OpenFile(StorageHandle const& storage, char const* fileName, DWORD localeMask, bool printErrors /*= false*/)
{
HANDLE handle = nullptr;
- if (!::CascOpenFile(storage.get(), fileName, localeMask, 0, &handle))
+ if (!::CascOpenFile(storage.get(), fileName, localeMask, CASC_OPEN_BY_NAME, &handle))
{
DWORD lastError = GetLastError(); // support checking error set by *Open* call, not the next *Close*
if (printErrors)
@@ -115,6 +121,23 @@ CASC::FileHandle CASC::OpenFile(StorageHandle const& storage, char const* fileNa
return FileHandle(handle);
}
+CASC::FileHandle CASC::OpenFile(StorageHandle const& storage, DWORD fileDataId, DWORD localeMask, bool printErrors /*= false*/)
+{
+ HANDLE handle = nullptr;
+ if (!::CascOpenFile(storage.get(), CASC_FILE_DATA_ID(fileDataId), localeMask, CASC_OPEN_BY_FILEID, &handle))
+ {
+ DWORD lastError = GetLastError(); // support checking error set by *Open* call, not the next *Close*
+ if (printErrors)
+ fprintf(stderr, "Failed to open 'FileDataId %u' in CASC storage: %s\n", fileDataId, HumanReadableCASCError(lastError));
+
+ CascCloseFile(handle);
+ SetLastError(lastError);
+ return FileHandle();
+ }
+
+ return FileHandle(handle);
+}
+
DWORD CASC::GetFileSize(FileHandle const& file, PDWORD fileSizeHigh)
{
return ::CascGetFileSize(file.get(), fileSizeHigh);
diff --git a/src/tools/extractor_common/CascHandles.h b/src/tools/extractor_common/CascHandles.h
index c191cc25045..9feafdbf4af 100644
--- a/src/tools/extractor_common/CascHandles.h
+++ b/src/tools/extractor_common/CascHandles.h
@@ -51,8 +51,10 @@ namespace CASC
StorageHandle OpenStorage(boost::filesystem::path const& path, DWORD localeMask);
DWORD GetBuildNumber(StorageHandle const& storage);
DWORD GetInstalledLocalesMask(StorageHandle const& storage);
+ bool HasTactKey(StorageHandle const& storage, ULONGLONG keyLookup);
FileHandle OpenFile(StorageHandle const& storage, char const* fileName, DWORD localeMask, bool printErrors = false);
+ FileHandle OpenFile(StorageHandle const& storage, DWORD fileDataId, DWORD localeMask, bool printErrors = false);
DWORD GetFileSize(FileHandle const& file, PDWORD fileSizeHigh);
DWORD GetFilePointer(FileHandle const& file);
bool SetFilePointer(FileHandle const& file, LONGLONG position);
diff --git a/src/tools/extractor_common/DB2CascFileSource.cpp b/src/tools/extractor_common/DB2CascFileSource.cpp
index c2478b21def..58f8567dda3 100644
--- a/src/tools/extractor_common/DB2CascFileSource.cpp
+++ b/src/tools/extractor_common/DB2CascFileSource.cpp
@@ -16,14 +16,21 @@
*/
#include "DB2CascFileSource.h"
+#include "StringFormat.h"
#include <CascLib.h>
-DB2CascFileSource::DB2CascFileSource(CASC::StorageHandle const& storage, std::string fileName)
+DB2CascFileSource::DB2CascFileSource(CASC::StorageHandle const& storage, std::string fileName, bool printErrors /*= true*/)
{
- _fileHandle = CASC::OpenFile(storage, fileName.c_str(), CASC_LOCALE_NONE, true);
+ _fileHandle = CASC::OpenFile(storage, fileName.c_str(), CASC_LOCALE_NONE, printErrors);
_fileName = std::move(fileName);
}
+DB2CascFileSource::DB2CascFileSource(CASC::StorageHandle const& storage, uint32 fileDataId, bool printErrors /*= true*/)
+{
+ _fileHandle = CASC::OpenFile(storage, fileDataId, CASC_LOCALE_NONE, printErrors);
+ _fileName = Trinity::StringFormat("FileDataId: %u", fileDataId);
+}
+
bool DB2CascFileSource::IsOpen() const
{
return _fileHandle != nullptr;
@@ -50,9 +57,17 @@ std::size_t DB2CascFileSource::GetFileSize() const
DWORD sizeLow = 0;
DWORD sizeHigh = 0;
sizeLow = CASC::GetFileSize(_fileHandle, &sizeHigh);
+ if (sizeLow == CASC_INVALID_SIZE)
+ return std::size_t(-1);
+
return std::size_t(uint64(sizeLow) | (uint64(sizeHigh) << 32));
}
+CASC::FileHandle const& DB2CascFileSource::GetHandle() const
+{
+ return _fileHandle;
+}
+
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 bfe580714be..80559ff8d41 100644
--- a/src/tools/extractor_common/DB2CascFileSource.h
+++ b/src/tools/extractor_common/DB2CascFileSource.h
@@ -24,12 +24,14 @@
struct DB2CascFileSource : public DB2FileSource
{
- DB2CascFileSource(CASC::StorageHandle const& storage, std::string fileName);
+ DB2CascFileSource(CASC::StorageHandle const& storage, std::string fileName, bool printErrors = true);
+ DB2CascFileSource(CASC::StorageHandle const& storage, uint32 fileDataId, bool printErrors = true);
bool IsOpen() const override;
bool Read(void* buffer, std::size_t numBytes) override;
std::size_t GetPosition() const override;
bool SetPosition(std::size_t position) override;
std::size_t GetFileSize() const override;
+ CASC::FileHandle const& GetHandle() const;
char const* GetFileName() const override;
private:
diff --git a/src/tools/extractor_common/ExtractorDB2LoadInfo.h b/src/tools/extractor_common/ExtractorDB2LoadInfo.h
index 6ee6a9c6355..0f4833af253 100644
--- a/src/tools/extractor_common/ExtractorDB2LoadInfo.h
+++ b/src/tools/extractor_common/ExtractorDB2LoadInfo.h
@@ -43,7 +43,7 @@ struct CinematicCameraLoadInfo
{ FT_FLOAT, 1, true },
{ FT_INT, 1, false },
};
- static DB2Meta meta(-1, 4, 0x20C5E540, fields, -1);
+ static DB2Meta meta(1294214, -1, 4, 0x20C5E540, fields, -1);
static DB2FileLoadInfo const loadInfo(&loadedFields[0], std::extent<decltype(loadedFields)>::value, &meta);
return &loadInfo;
}
@@ -75,7 +75,7 @@ struct GameobjectDisplayInfoLoadInfo
{ FT_FLOAT, 1, true },
{ FT_FLOAT, 1, true },
};
- static DB2Meta meta(-1, 5, 0x7A816799, fields, -1);
+ static DB2Meta meta(1266277, -1, 5, 0x7A816799, fields, -1);
static DB2FileLoadInfo const loadInfo(&loadedFields[0], std::extent<decltype(loadedFields)>::value, &meta);
return &loadInfo;
}
@@ -96,7 +96,7 @@ struct LiquidMaterialLoadInfo
{ FT_BYTE, 1, true },
{ FT_BYTE, 1, true },
};
- static DB2Meta meta(-1, 2, 0x6A7287A2, fields, -1);
+ static DB2Meta meta(1132538, -1, 2, 0x6A7287A2, fields, -1);
static DB2FileLoadInfo const loadInfo(&loadedFields[0], std::extent<decltype(loadedFields)>::value, &meta);
return &loadInfo;
}
@@ -123,7 +123,7 @@ struct LiquidObjectLoadInfo
{ FT_BYTE, 1, false },
{ FT_BYTE, 1, false },
};
- static DB2Meta meta(-1, 5, 0x7AF380AA, fields, -1);
+ static DB2Meta meta(1308058, -1, 5, 0x7AF380AA, fields, -1);
static DB2FileLoadInfo const loadInfo(&loadedFields[0], std::extent<decltype(loadedFields)>::value, &meta);
return &loadInfo;
}
@@ -216,7 +216,7 @@ struct LiquidTypeLoadInfo
{ FT_INT, 4, false },
{ FT_FLOAT, 4, true },
};
- static DB2Meta meta(-1, 21, 0x29F8C65E, fields, -1);
+ static DB2Meta meta(1371380, -1, 21, 0x29F8C65E, fields, -1);
static DB2FileLoadInfo const loadInfo(&loadedFields[0], std::extent<decltype(loadedFields)>::value, &meta);
return &loadInfo;
}
@@ -251,10 +251,11 @@ struct MapLoadInfo
{ false, FT_BYTE, "MaxPlayers" },
{ true, FT_SHORT, "WindSettingsID" },
{ true, FT_INT, "ZmpFileDataID" },
+ { true, FT_INT, "WdtFileDataID" },
{ true, FT_INT, "Flags1" },
{ true, FT_INT, "Flags2" },
};
- static DB2MetaField const fields[22] =
+ static DB2MetaField const fields[23] =
{
{ FT_STRING_NOT_LOCALIZED, 1, true },
{ FT_STRING, 1, true },
@@ -277,9 +278,10 @@ struct MapLoadInfo
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, true },
{ FT_INT, 1, true },
+ { FT_INT, 1, true },
{ FT_INT, 2, true },
};
- static DB2Meta meta(-1, 22, 0x503A3E58, fields, -1);
+ static DB2Meta meta(1349477, -1, 23, 0xB290D217, fields, -1);
static DB2FileLoadInfo const loadInfo(&loadedFields[0], std::extent<decltype(loadedFields)>::value, &meta);
return &loadInfo;
}
diff --git a/src/tools/map_extractor/System.cpp b/src/tools/map_extractor/System.cpp
index c1c28d969b7..9dc017cd1da 100644
--- a/src/tools/map_extractor/System.cpp
+++ b/src/tools/map_extractor/System.cpp
@@ -220,7 +220,7 @@ void ReadMapDBC()
{
printf("Read Map.db2 file...\n");
- DB2CascFileSource source(CascStorage, "DBFilesClient\\Map.db2");
+ DB2CascFileSource source(CascStorage, MapLoadInfo::Instance()->Meta->FileDataId);
DB2FileLoader db2;
if (!db2.Load(&source, MapLoadInfo::Instance()))
{
@@ -268,7 +268,7 @@ void ReadLiquidMaterialTable()
{
printf("Read LiquidMaterial.db2 file...\n");
- DB2CascFileSource source(CascStorage, "DBFilesClient\\LiquidMaterial.db2");
+ DB2CascFileSource source(CascStorage, LiquidMaterialLoadInfo::Instance()->Meta->FileDataId);
DB2FileLoader db2;
if (!db2.Load(&source, LiquidMaterialLoadInfo::Instance()))
{
@@ -279,6 +279,9 @@ void ReadLiquidMaterialTable()
for (uint32 x = 0; x < db2.GetRecordCount(); ++x)
{
DB2Record record = db2.GetRecord(x);
+ if (!record)
+ continue;
+
LiquidMaterialEntry& liquidType = LiquidMaterials[record.GetId()];
liquidType.LVF = record.GetUInt8("LVF");
}
@@ -293,7 +296,7 @@ void ReadLiquidObjectTable()
{
printf("Read LiquidObject.db2 file...\n");
- DB2CascFileSource source(CascStorage, "DBFilesClient\\LiquidObject.db2");
+ DB2CascFileSource source(CascStorage, LiquidObjectLoadInfo::Instance()->Meta->FileDataId);
DB2FileLoader db2;
if (!db2.Load(&source, LiquidObjectLoadInfo::Instance()))
{
@@ -304,6 +307,9 @@ void ReadLiquidObjectTable()
for (uint32 x = 0; x < db2.GetRecordCount(); ++x)
{
DB2Record record = db2.GetRecord(x);
+ if (!record)
+ continue;
+
LiquidObjectEntry& liquidType = LiquidObjects[record.GetId()];
liquidType.LiquidTypeID = record.GetUInt16("LiquidTypeID");
}
@@ -318,7 +324,7 @@ void ReadLiquidTypeTable()
{
printf("Read LiquidType.db2 file...\n");
- DB2CascFileSource source(CascStorage, "DBFilesClient\\LiquidType.db2");
+ DB2CascFileSource source(CascStorage, LiquidTypeLoadInfo::Instance()->Meta->FileDataId);
DB2FileLoader db2;
if (!db2.Load(&source, LiquidTypeLoadInfo::Instance()))
{
@@ -329,6 +335,9 @@ void ReadLiquidTypeTable()
for (uint32 x = 0; x < db2.GetRecordCount(); ++x)
{
DB2Record record = db2.GetRecord(x);
+ if (!record)
+ continue;
+
LiquidTypeEntry& liquidType = LiquidTypes[record.GetId()];
liquidType.SoundBank = record.GetUInt8("SoundBank");
liquidType.MaterialID = record.GetUInt8("MaterialID");
@@ -344,7 +353,7 @@ bool ReadCinematicCameraDBC()
{
printf("Read CinematicCamera.db2 file...\n");
- DB2CascFileSource source(CascStorage, "DBFilesClient\\CinematicCamera.db2");
+ DB2CascFileSource source(CascStorage, CinematicCameraLoadInfo::Instance()->Meta->FileDataId);
DB2FileLoader db2;
if (!db2.Load(&source, CinematicCameraLoadInfo::Instance()))
{
@@ -1159,6 +1168,99 @@ bool ExtractFile(CASC::FileHandle const& fileInArchive, std::string const& filen
return true;
}
+bool ExtractDB2File(uint32 fileDataId, char const* cascFileName, int locale, boost::filesystem::path const& outputPath)
+{
+ DB2CascFileSource source(CascStorage, fileDataId, false);
+ if (!source.IsOpen())
+ {
+ printf("Unable to open file %s in the archive for locale %s: %s\n", cascFileName, localeNames[locale], CASC::HumanReadableCASCError(GetLastError()));
+ return false;
+ }
+
+ std::size_t fileSize = source.GetFileSize();
+ if (fileSize == std::size_t(-1))
+ {
+ printf("Can't read file size of '%s'\n", cascFileName);
+ return false;
+ }
+
+ DB2FileLoader db2;
+ if (!db2.LoadHeaders(&source, nullptr))
+ {
+ printf("Can't read DB2 headers file size of '%s'\n", cascFileName);
+ return false;
+ }
+
+ std::string outputFileName = outputPath.string();
+ FILE* output = fopen(outputFileName.c_str(), "wb");
+ if (!output)
+ {
+ printf("Can't create the output file '%s'\n", outputFileName.c_str());
+ return false;
+ }
+
+ DB2Header header = db2.GetHeader();
+
+ std::size_t posAfterHeaders = 0;
+ posAfterHeaders += fwrite(&header, 1, sizeof(header), output);
+
+ // erase TactId from header if key is known
+ for (uint32 i = 0; i < header.SectionCount; ++i)
+ {
+ DB2SectionHeader sectionHeader = db2.GetSectionHeader(i);
+ if (sectionHeader.TactId && CASC::HasTactKey(CascStorage, sectionHeader.TactId))
+ sectionHeader.TactId = 0;
+
+ posAfterHeaders += fwrite(&sectionHeader, 1, sizeof(sectionHeader), output);
+ }
+
+ char buffer[0x10000];
+ DWORD readBatchSize = 0x10000;
+ DWORD readBytes;
+ source.SetPosition(posAfterHeaders);
+
+ do
+ {
+ readBytes = 0;
+ if (!CASC::ReadFile(source.GetHandle(), buffer, std::min<DWORD>(fileSize, readBatchSize), &readBytes))
+ {
+ if (GetLastError() == ERROR_FILE_ENCRYPTED)
+ {
+ // shrink block size to read as much unencrypted data as possible
+ if (readBatchSize != 1)
+ {
+ readBatchSize = std::max<DWORD>(1, readBatchSize / 2);
+ continue;
+ }
+
+ uint8 zero = 0;
+ --fileSize;
+ fwrite(&zero, 1, 1, output);
+ source.SetPosition(source.GetPosition() + 1);
+ continue;
+ }
+
+ printf("Can't read file '%s'\n", outputFileName.c_str());
+ fclose(output);
+ boost::filesystem::remove(outputPath);
+ return false;
+ }
+
+ if (!readBytes)
+ break;
+
+ fwrite(buffer, 1, readBytes, output);
+ fileSize -= readBytes;
+ readBatchSize = 0x10000;
+ if (!fileSize) // now we have read entire file
+ break;
+
+ } while (true);
+
+ fclose(output);
+ return true;
+}
+
char const* GetCascFilenamePart(char const* cascPath)
{
if (char const* lastSep = strrchr(cascPath, '\\'))
@@ -1178,23 +1280,15 @@ void ExtractDBFilesClient(int l)
printf("locale %s output path %s\n", localeNames[l], localePath.string().c_str());
- uint32 index = 0;
uint32 count = 0;
- char const* fileName = DBFilesClientList[index];
- while (fileName)
+ for (DB2FileInfo const& db2 : DBFilesClientList)
{
- if (CASC::FileHandle dbcFile = CASC::OpenFile(CascStorage, fileName, CASC_LOCALE_NONE))
- {
- boost::filesystem::path filePath = localePath / GetCascFilenamePart(fileName);
+ boost::filesystem::path filePath = localePath / db2.Name;
- if (!boost::filesystem::exists(filePath))
- if (ExtractFile(dbcFile, filePath.string()))
- ++count;
- }
- else
- printf("Unable to open file %s in the archive for locale %s: %s\n", fileName, localeNames[l], CASC::HumanReadableCASCError(GetLastError()));
+ if (!boost::filesystem::exists(filePath))
+ if (ExtractDB2File(db2.FileDataId, db2.Name, l, filePath.string()))
+ ++count;
- fileName = DBFilesClientList[++index];
}
printf("Extracted %u files\n\n", count);
diff --git a/src/tools/map_extractor/loadlib/DBFilesClientList.h b/src/tools/map_extractor/loadlib/DBFilesClientList.h
index a1cd20cf10e..18116d7ab8a 100644
--- a/src/tools/map_extractor/loadlib/DBFilesClientList.h
+++ b/src/tools/map_extractor/loadlib/DBFilesClientList.h
@@ -18,673 +18,702 @@
#ifndef DBFilesClientList_h__
#define DBFilesClientList_h__
-char const* DBFilesClientList[] =
+struct DB2FileInfo
{
- "DBFilesClient\\Achievement.db2",
- "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",
- "DBFilesClient\\AnimKitConfig.db2",
- "DBFilesClient\\AnimKitConfigBoneSet.db2",
- "DBFilesClient\\AnimKitPriority.db2",
- "DBFilesClient\\AnimKitReplacement.db2",
- "DBFilesClient\\AnimKitSegment.db2",
- "DBFilesClient\\AnimReplacement.db2",
- "DBFilesClient\\AnimReplacementSet.db2",
- "DBFilesClient\\AnimationData.db2",
- "DBFilesClient\\AoiBox.db2",
- "DBFilesClient\\AreaConditionalData.db2",
- "DBFilesClient\\AreaFarClipOverride.db2",
- "DBFilesClient\\AreaGroupMember.db2",
- "DBFilesClient\\AreaPOI.db2",
- "DBFilesClient\\AreaPOIState.db2",
- "DBFilesClient\\AreaTable.db2",
- "DBFilesClient\\AreaTrigger.db2",
- "DBFilesClient\\AreaTriggerActionSet.db2",
- "DBFilesClient\\AreaTriggerBox.db2",
- "DBFilesClient\\AreaTriggerCreateProperties.db2",
- "DBFilesClient\\AreaTriggerCylinder.db2",
- "DBFilesClient\\AreaTriggerSphere.db2",
- "DBFilesClient\\ArmorLocation.db2",
- "DBFilesClient\\Artifact.db2",
- "DBFilesClient\\ArtifactAppearance.db2",
- "DBFilesClient\\ArtifactAppearanceSet.db2",
- "DBFilesClient\\ArtifactCategory.db2",
- "DBFilesClient\\ArtifactItemToTransmog.db2",
- "DBFilesClient\\ArtifactPower.db2",
- "DBFilesClient\\ArtifactPowerLink.db2",
- "DBFilesClient\\ArtifactPowerPicker.db2",
- "DBFilesClient\\ArtifactPowerRank.db2",
- "DBFilesClient\\ArtifactQuestXP.db2",
- "DBFilesClient\\ArtifactTier.db2",
- "DBFilesClient\\ArtifactUnlock.db2",
- "DBFilesClient\\AuctionHouse.db2",
- "DBFilesClient\\AzeriteEmpoweredItem.db2",
- "DBFilesClient\\AzeriteItem.db2",
- "DBFilesClient\\AzeriteItemMilestonePower.db2",
- "DBFilesClient\\AzeritePower.db2",
- "DBFilesClient\\AzeritePowerSetMember.db2",
- "DBFilesClient\\AzeriteTierUnlock.db2",
- "DBFilesClient\\BankBagSlotPrices.db2",
- "DBFilesClient\\BannedAddons.db2",
- "DBFilesClient\\BarberShopStyle.db2",
- "DBFilesClient\\BattlePetAbility.db2",
- "DBFilesClient\\BattlePetAbilityEffect.db2",
- "DBFilesClient\\BattlePetAbilityState.db2",
- "DBFilesClient\\BattlePetAbilityTurn.db2",
- "DBFilesClient\\BattlePetBreedQuality.db2",
- "DBFilesClient\\BattlePetBreedState.db2",
- "DBFilesClient\\BattlePetDisplayOverride.db2",
- "DBFilesClient\\BattlePetEffectProperties.db2",
- "DBFilesClient\\BattlePetNPCTeamMember.db2",
- "DBFilesClient\\BattlePetSpecies.db2",
- "DBFilesClient\\BattlePetSpeciesState.db2",
- "DBFilesClient\\BattlePetSpeciesXAbility.db2",
- "DBFilesClient\\BattlePetState.db2",
- "DBFilesClient\\BattlePetVisual.db2",
- "DBFilesClient\\BattlemasterList.db2",
- "DBFilesClient\\BeamEffect.db2",
- "DBFilesClient\\BoneWindModifierModel.db2",
- "DBFilesClient\\BoneWindModifiers.db2",
- "DBFilesClient\\BonusRoll.db2",
- "DBFilesClient\\Bounty.db2",
- "DBFilesClient\\BountySet.db2",
- "DBFilesClient\\BroadcastText.db2",
- "DBFilesClient\\CameraEffect.db2",
- "DBFilesClient\\CameraEffectEntry.db2",
- "DBFilesClient\\CameraMode.db2",
- "DBFilesClient\\Campaign.db2",
- "DBFilesClient\\CampaignXCondition.db2",
- "DBFilesClient\\CampaignXQuestLine.db2",
- "DBFilesClient\\CastableRaidBuffs.db2",
- "DBFilesClient\\CelestialBody.db2",
- "DBFilesClient\\Cfg_Categories.db2",
- "DBFilesClient\\Cfg_Configs.db2",
- "DBFilesClient\\Cfg_Regions.db2",
- "DBFilesClient\\CharBaseInfo.db2",
- "DBFilesClient\\CharBaseSection.db2",
- "DBFilesClient\\CharComponentTextureLayouts.db2",
- "DBFilesClient\\CharComponentTextureSections.db2",
- "DBFilesClient\\CharHairGeosets.db2",
- "DBFilesClient\\CharSections.db2",
- "DBFilesClient\\CharShipment.db2",
- "DBFilesClient\\CharShipmentContainer.db2",
- "DBFilesClient\\CharStartOutfit.db2",
- "DBFilesClient\\CharTitles.db2",
- "DBFilesClient\\CharacterFaceBoneSet.db2",
- "DBFilesClient\\CharacterFacialHairStyles.db2",
- "DBFilesClient\\CharacterLoadout.db2",
- "DBFilesClient\\CharacterLoadoutItem.db2",
- "DBFilesClient\\CharacterServiceInfo.db2",
- "DBFilesClient\\ChatChannels.db2",
- "DBFilesClient\\ChatProfanity.db2",
- "DBFilesClient\\ChrClassRaceSex.db2",
- "DBFilesClient\\ChrClassTitle.db2",
- "DBFilesClient\\ChrClassUIDisplay.db2",
- "DBFilesClient\\ChrClassVillain.db2",
- "DBFilesClient\\ChrClasses.db2",
- "DBFilesClient\\ChrClassesXPowerTypes.db2",
- "DBFilesClient\\ChrCustomization.db2",
- "DBFilesClient\\ChrRaces.db2",
- "DBFilesClient\\ChrSpecialization.db2",
- "DBFilesClient\\ChrUpgradeBucket.db2",
- "DBFilesClient\\ChrUpgradeBucketSpell.db2",
- "DBFilesClient\\ChrUpgradeTier.db2",
- "DBFilesClient\\CinematicCamera.db2",
- "DBFilesClient\\CinematicSequences.db2",
- "DBFilesClient\\ClientSceneEffect.db2",
- "DBFilesClient\\CloakDampening.db2",
- "DBFilesClient\\CloneEffect.db2",
- "DBFilesClient\\CombatCondition.db2",
- "DBFilesClient\\CommentatorStartLocation.db2",
- "DBFilesClient\\CommentatorTrackedCooldown.db2",
- "DBFilesClient\\CommunityIcon.db2",
- "DBFilesClient\\ComponentModelFileData.db2",
- "DBFilesClient\\ComponentTextureFileData.db2",
- "DBFilesClient\\ConfigurationWarning.db2",
- "DBFilesClient\\ContentTuning.db2",
- "DBFilesClient\\Contribution.db2",
- "DBFilesClient\\ContributionStyle.db2",
- "DBFilesClient\\ContributionStyleContainer.db2",
- "DBFilesClient\\ConversationLine.db2",
- "DBFilesClient\\Creature.db2",
- "DBFilesClient\\CreatureDifficulty.db2",
- "DBFilesClient\\CreatureDispXUiCamera.db2",
- "DBFilesClient\\CreatureDisplayInfo.db2",
- "DBFilesClient\\CreatureDisplayInfoCond.db2",
- "DBFilesClient\\CreatureDisplayInfoEvt.db2",
- "DBFilesClient\\CreatureDisplayInfoExtra.db2",
- "DBFilesClient\\CreatureDisplayInfoGeosetData.db2",
- "DBFilesClient\\CreatureDisplayInfoTrn.db2",
- "DBFilesClient\\CreatureFamily.db2",
- "DBFilesClient\\CreatureImmunities.db2",
- "DBFilesClient\\CreatureModelData.db2",
- "DBFilesClient\\CreatureMovementInfo.db2",
- "DBFilesClient\\CreatureSoundData.db2",
- "DBFilesClient\\CreatureType.db2",
- "DBFilesClient\\CreatureXContribution.db2",
- "DBFilesClient\\CreatureXDisplayInfo.db2",
- "DBFilesClient\\Criteria.db2",
- "DBFilesClient\\CriteriaTree.db2",
- "DBFilesClient\\CriteriaTreeXEffect.db2",
- "DBFilesClient\\CurrencyCategory.db2",
- "DBFilesClient\\CurrencyContainer.db2",
- "DBFilesClient\\CurrencyTypes.db2",
- "DBFilesClient\\Curve.db2",
- "DBFilesClient\\CurvePoint.db2",
- "DBFilesClient\\DeathThudLookups.db2",
- "DBFilesClient\\DecalProperties.db2",
- "DBFilesClient\\DeclinedWord.db2",
- "DBFilesClient\\DeclinedWordCases.db2",
- "DBFilesClient\\DestructibleModelData.db2",
- "DBFilesClient\\DeviceBlacklist.db2",
- "DBFilesClient\\DeviceDefaultSettings.db2",
- "DBFilesClient\\Difficulty.db2",
- "DBFilesClient\\DissolveEffect.db2",
- "DBFilesClient\\DriverBlacklist.db2",
- "DBFilesClient\\DungeonEncounter.db2",
- "DBFilesClient\\DurabilityCosts.db2",
- "DBFilesClient\\DurabilityQuality.db2",
- "DBFilesClient\\EdgeGlowEffect.db2",
- "DBFilesClient\\Emotes.db2",
- "DBFilesClient\\EmotesText.db2",
- "DBFilesClient\\EmotesTextData.db2",
- "DBFilesClient\\EmotesTextSound.db2",
- "DBFilesClient\\EnvironmentalDamage.db2",
- "DBFilesClient\\Exhaustion.db2",
- "DBFilesClient\\ExpectedStat.db2",
- "DBFilesClient\\ExpectedStatMod.db2",
- "DBFilesClient\\Faction.db2",
- "DBFilesClient\\FactionGroup.db2",
- "DBFilesClient\\FactionTemplate.db2",
- "DBFilesClient\\FootprintTextures.db2",
- "DBFilesClient\\FootstepTerrainLookup.db2",
- "DBFilesClient\\FriendshipRepReaction.db2",
- "DBFilesClient\\FriendshipReputation.db2",
- "DBFilesClient\\FullScreenEffect.db2",
- "DBFilesClient\\GMSurveyAnswers.db2",
- "DBFilesClient\\GMSurveyCurrentSurvey.db2",
- "DBFilesClient\\GMSurveyQuestions.db2",
- "DBFilesClient\\GMSurveySurveys.db2",
- "DBFilesClient\\GameObjectArtKit.db2",
- "DBFilesClient\\GameObjectDiffAnimMap.db2",
- "DBFilesClient\\GameObjectDisplayInfo.db2",
- "DBFilesClient\\GameObjectDisplayInfoXSoundKit.db2",
- "DBFilesClient\\GameObjects.db2",
- "DBFilesClient\\GameTips.db2",
- "DBFilesClient\\GarrAbility.db2",
- "DBFilesClient\\GarrAbilityCategory.db2",
- "DBFilesClient\\GarrAbilityEffect.db2",
- "DBFilesClient\\GarrBuilding.db2",
- "DBFilesClient\\GarrBuildingDoodadSet.db2",
- "DBFilesClient\\GarrBuildingPlotInst.db2",
- "DBFilesClient\\GarrClassSpec.db2",
- "DBFilesClient\\GarrClassSpecPlayerCond.db2",
- "DBFilesClient\\GarrEncounter.db2",
- "DBFilesClient\\GarrEncounterSetXEncounter.db2",
- "DBFilesClient\\GarrEncounterXMechanic.db2",
- "DBFilesClient\\GarrFollItemSetMember.db2",
- "DBFilesClient\\GarrFollSupportSpell.db2",
- "DBFilesClient\\GarrFollower.db2",
- "DBFilesClient\\GarrFollowerLevelXP.db2",
- "DBFilesClient\\GarrFollowerQuality.db2",
- "DBFilesClient\\GarrFollowerSetXFollower.db2",
- "DBFilesClient\\GarrFollowerType.db2",
- "DBFilesClient\\GarrFollowerUICreature.db2",
- "DBFilesClient\\GarrFollowerXAbility.db2",
- "DBFilesClient\\GarrItemLevelUpgradeData.db2",
- "DBFilesClient\\GarrMechanic.db2",
- "DBFilesClient\\GarrMechanicSetXMechanic.db2",
- "DBFilesClient\\GarrMechanicType.db2",
- "DBFilesClient\\GarrMission.db2",
- "DBFilesClient\\GarrMissionTexture.db2",
- "DBFilesClient\\GarrMissionType.db2",
- "DBFilesClient\\GarrMissionXEncounter.db2",
- "DBFilesClient\\GarrMissionXFollower.db2",
- "DBFilesClient\\GarrMssnBonusAbility.db2",
- "DBFilesClient\\GarrPlot.db2",
- "DBFilesClient\\GarrPlotBuilding.db2",
- "DBFilesClient\\GarrPlotInstance.db2",
- "DBFilesClient\\GarrPlotUICategory.db2",
- "DBFilesClient\\GarrSiteLevel.db2",
- "DBFilesClient\\GarrSiteLevelPlotInst.db2",
- "DBFilesClient\\GarrSpecialization.db2",
- "DBFilesClient\\GarrString.db2",
- "DBFilesClient\\GarrTalent.db2",
- "DBFilesClient\\GarrTalentTree.db2",
- "DBFilesClient\\GarrType.db2",
- "DBFilesClient\\GarrUiAnimClassInfo.db2",
- "DBFilesClient\\GarrUiAnimRaceInfo.db2",
- "DBFilesClient\\GemProperties.db2",
- "DBFilesClient\\GlobalStrings.db2",
- "DBFilesClient\\GlyphBindableSpell.db2",
- "DBFilesClient\\GlyphExclusiveCategory.db2",
- "DBFilesClient\\GlyphProperties.db2",
- "DBFilesClient\\GlyphRequiredSpec.db2",
- "DBFilesClient\\GroundEffectDoodad.db2",
- "DBFilesClient\\GroundEffectTexture.db2",
- "DBFilesClient\\GroupFinderActivity.db2",
- "DBFilesClient\\GroupFinderActivityGrp.db2",
- "DBFilesClient\\GroupFinderCategory.db2",
- "DBFilesClient\\GuildColorBackground.db2",
- "DBFilesClient\\GuildColorBorder.db2",
- "DBFilesClient\\GuildColorEmblem.db2",
- "DBFilesClient\\GuildPerkSpells.db2",
- "DBFilesClient\\Heirloom.db2",
- "DBFilesClient\\HelmetAnimScaling.db2",
- "DBFilesClient\\HelmetGeosetVisData.db2",
- "DBFilesClient\\HighlightColor.db2",
- "DBFilesClient\\HolidayDescriptions.db2",
- "DBFilesClient\\HolidayNames.db2",
- "DBFilesClient\\Holidays.db2",
- "DBFilesClient\\Hotfixes.db2",
- "DBFilesClient\\ImportPriceArmor.db2",
- "DBFilesClient\\ImportPriceQuality.db2",
- "DBFilesClient\\ImportPriceShield.db2",
- "DBFilesClient\\ImportPriceWeapon.db2",
- "DBFilesClient\\InvasionClientData.db2",
- "DBFilesClient\\Item.db2",
- "DBFilesClient\\ItemAppearance.db2",
- "DBFilesClient\\ItemAppearanceXUiCamera.db2",
- "DBFilesClient\\ItemArmorQuality.db2",
- "DBFilesClient\\ItemArmorShield.db2",
- "DBFilesClient\\ItemArmorTotal.db2",
- "DBFilesClient\\ItemBagFamily.db2",
- "DBFilesClient\\ItemBonus.db2",
- "DBFilesClient\\ItemBonusListLevelDelta.db2",
- "DBFilesClient\\ItemBonusTreeNode.db2",
- "DBFilesClient\\ItemChildEquipment.db2",
- "DBFilesClient\\ItemClass.db2",
- "DBFilesClient\\ItemContextPickerEntry.db2",
- "DBFilesClient\\ItemCurrencyCost.db2",
- "DBFilesClient\\ItemDamageAmmo.db2",
- "DBFilesClient\\ItemDamageOneHand.db2",
- "DBFilesClient\\ItemDamageOneHandCaster.db2",
- "DBFilesClient\\ItemDamageTwoHand.db2",
- "DBFilesClient\\ItemDamageTwoHandCaster.db2",
- "DBFilesClient\\ItemDisenchantLoot.db2",
- "DBFilesClient\\ItemDisplayInfo.db2",
- "DBFilesClient\\ItemDisplayInfoMaterialRes.db2",
- "DBFilesClient\\ItemDisplayXUiCamera.db2",
- "DBFilesClient\\ItemEffect.db2",
- "DBFilesClient\\ItemExtendedCost.db2",
- "DBFilesClient\\ItemGroupSounds.db2",
- "DBFilesClient\\ItemLevelSelector.db2",
- "DBFilesClient\\ItemLevelSelectorQuality.db2",
- "DBFilesClient\\ItemLevelSelectorQualitySet.db2",
- "DBFilesClient\\ItemLimitCategory.db2",
- "DBFilesClient\\ItemLimitCategoryCondition.db2",
- "DBFilesClient\\ItemModifiedAppearance.db2",
- "DBFilesClient\\ItemModifiedAppearanceExtra.db2",
- "DBFilesClient\\ItemNameDescription.db2",
- "DBFilesClient\\ItemPetFood.db2",
- "DBFilesClient\\ItemPriceBase.db2",
- "DBFilesClient\\ItemRandomProperties.db2",
- "DBFilesClient\\ItemRandomSuffix.db2",
- "DBFilesClient\\ItemRangedDisplayInfo.db2",
- "DBFilesClient\\ItemSearchName.db2",
- "DBFilesClient\\ItemSet.db2",
- "DBFilesClient\\ItemSetSpell.db2",
- "DBFilesClient\\ItemSparse.db2",
- "DBFilesClient\\ItemSpec.db2",
- "DBFilesClient\\ItemSpecOverride.db2",
- "DBFilesClient\\ItemSubClass.db2",
- "DBFilesClient\\ItemSubClassMask.db2",
- "DBFilesClient\\ItemUpgrade.db2",
- "DBFilesClient\\ItemVisuals.db2",
- "DBFilesClient\\ItemXBonusTree.db2",
- "DBFilesClient\\JournalEncounter.db2",
- "DBFilesClient\\JournalEncounterCreature.db2",
- "DBFilesClient\\JournalEncounterItem.db2",
- "DBFilesClient\\JournalEncounterSection.db2",
- "DBFilesClient\\JournalEncounterXDifficulty.db2",
- "DBFilesClient\\JournalEncounterXMapLoc.db2",
- "DBFilesClient\\JournalInstance.db2",
- "DBFilesClient\\JournalItemXDifficulty.db2",
- "DBFilesClient\\JournalSectionXDifficulty.db2",
- "DBFilesClient\\JournalTier.db2",
- "DBFilesClient\\JournalTierXInstance.db2",
- "DBFilesClient\\Keychain.db2",
- "DBFilesClient\\KeystoneAffix.db2",
- "DBFilesClient\\LFGDungeonExpansion.db2",
- "DBFilesClient\\LFGDungeonGroup.db2",
- "DBFilesClient\\LFGDungeons.db2",
- "DBFilesClient\\LFGRoleRequirement.db2",
- "DBFilesClient\\LanguageWords.db2",
- "DBFilesClient\\Languages.db2",
- "DBFilesClient\\LfgDungeonsGroupingMap.db2",
- "DBFilesClient\\Light.db2",
- "DBFilesClient\\LightData.db2",
- "DBFilesClient\\LightParams.db2",
- "DBFilesClient\\LightSkybox.db2",
- "DBFilesClient\\Lightning.db2",
- "DBFilesClient\\LiquidMaterial.db2",
- "DBFilesClient\\LiquidObject.db2",
- "DBFilesClient\\LiquidType.db2",
- "DBFilesClient\\LoadingScreenTaxiSplines.db2",
- "DBFilesClient\\LoadingScreens.db2",
- "DBFilesClient\\Locale.db2",
- "DBFilesClient\\Location.db2",
- "DBFilesClient\\Lock.db2",
- "DBFilesClient\\LockType.db2",
- "DBFilesClient\\LookAtController.db2",
- "DBFilesClient\\MailTemplate.db2",
- "DBFilesClient\\ManagedWorldState.db2",
- "DBFilesClient\\ManagedWorldStateBuff.db2",
- "DBFilesClient\\ManagedWorldStateInput.db2",
- "DBFilesClient\\ManifestInterfaceActionIcon.db2",
- "DBFilesClient\\ManifestInterfaceData.db2",
- "DBFilesClient\\ManifestInterfaceItemIcon.db2",
- "DBFilesClient\\ManifestInterfaceTOCData.db2",
- "DBFilesClient\\ManifestMP3.db2",
- "DBFilesClient\\Map.db2",
- "DBFilesClient\\MapCelestialBody.db2",
- "DBFilesClient\\MapChallengeMode.db2",
- "DBFilesClient\\MapDifficulty.db2",
- "DBFilesClient\\MapDifficultyXCondition.db2",
- "DBFilesClient\\MapLoadingScreen.db2",
- "DBFilesClient\\MarketingPromotionsXLocale.db2",
- "DBFilesClient\\Material.db2",
- "DBFilesClient\\MinorTalent.db2",
- "DBFilesClient\\MissileTargeting.db2",
- "DBFilesClient\\ModelAnimCloakDampening.db2",
- "DBFilesClient\\ModelFileData.db2",
- "DBFilesClient\\ModelRibbonQuality.db2",
- "DBFilesClient\\ModifierTree.db2",
- "DBFilesClient\\Mount.db2",
- "DBFilesClient\\MountCapability.db2",
- "DBFilesClient\\MountTypeXCapability.db2",
- "DBFilesClient\\MountXDisplay.db2",
- "DBFilesClient\\Movie.db2",
- "DBFilesClient\\MovieFileData.db2",
- "DBFilesClient\\MovieVariation.db2",
- "DBFilesClient\\MultiStateProperties.db2",
- "DBFilesClient\\MultiTransitionProperties.db2",
- "DBFilesClient\\MythicPlusSeasonRewardLevels.db2",
- "DBFilesClient\\NPCModelItemSlotDisplayInfo.db2",
- "DBFilesClient\\NPCSounds.db2",
- "DBFilesClient\\NameGen.db2",
- "DBFilesClient\\NamesProfanity.db2",
- "DBFilesClient\\NamesReserved.db2",
- "DBFilesClient\\NamesReservedLocale.db2",
- "DBFilesClient\\NumTalentsAtLevel.db2",
- "DBFilesClient\\ObjectEffect.db2",
- "DBFilesClient\\ObjectEffectModifier.db2",
- "DBFilesClient\\ObjectEffectPackageElem.db2",
- "DBFilesClient\\Occluder.db2",
- "DBFilesClient\\OccluderLocation.db2",
- "DBFilesClient\\OccluderNode.db2",
- "DBFilesClient\\OutlineEffect.db2",
- "DBFilesClient\\OverrideSpellData.db2",
- "DBFilesClient\\PVPBracketTypes.db2",
- "DBFilesClient\\PVPDifficulty.db2",
- "DBFilesClient\\PVPItem.db2",
- "DBFilesClient\\PageTextMaterial.db2",
- "DBFilesClient\\PaperDollItemFrame.db2",
- "DBFilesClient\\ParagonReputation.db2",
- "DBFilesClient\\ParticleColor.db2",
- "DBFilesClient\\ParticulateSound.db2",
- "DBFilesClient\\Path.db2",
- "DBFilesClient\\PathNode.db2",
- "DBFilesClient\\PathNodeProperty.db2",
- "DBFilesClient\\PathProperty.db2",
- "DBFilesClient\\Phase.db2",
- "DBFilesClient\\PhaseShiftZoneSounds.db2",
- "DBFilesClient\\PhaseXPhaseGroup.db2",
- "DBFilesClient\\PlayerCondition.db2",
- "DBFilesClient\\Positioner.db2",
- "DBFilesClient\\PositionerState.db2",
- "DBFilesClient\\PositionerStateEntry.db2",
- "DBFilesClient\\PowerDisplay.db2",
- "DBFilesClient\\PowerType.db2",
- "DBFilesClient\\PrestigeLevelInfo.db2",
- "DBFilesClient\\PvpScalingEffect.db2",
- "DBFilesClient\\PvpScalingEffectType.db2",
- "DBFilesClient\\PvpTalent.db2",
- "DBFilesClient\\PvpTalentCategory.db2",
- "DBFilesClient\\PvpTalentSlotUnlock.db2",
- "DBFilesClient\\PvpTier.db2",
- "DBFilesClient\\QuestFactionReward.db2",
- "DBFilesClient\\QuestFeedbackEffect.db2",
- "DBFilesClient\\QuestInfo.db2",
- "DBFilesClient\\QuestLine.db2",
- "DBFilesClient\\QuestLineXQuest.db2",
- "DBFilesClient\\QuestMoneyReward.db2",
- "DBFilesClient\\QuestObjective.db2",
- "DBFilesClient\\QuestPOIBlob.db2",
- "DBFilesClient\\QuestPOIPoint.db2",
- "DBFilesClient\\QuestPackageItem.db2",
- "DBFilesClient\\QuestSort.db2",
- "DBFilesClient\\QuestV2.db2",
- "DBFilesClient\\QuestV2CliTask.db2",
- "DBFilesClient\\QuestXGroupActivity.db2",
- "DBFilesClient\\QuestXP.db2",
- "DBFilesClient\\RandPropPoints.db2",
- "DBFilesClient\\RelicSlotTierRequirement.db2",
- "DBFilesClient\\RelicTalent.db2",
- "DBFilesClient\\ResearchBranch.db2",
- "DBFilesClient\\ResearchField.db2",
- "DBFilesClient\\ResearchProject.db2",
- "DBFilesClient\\ResearchSite.db2",
- "DBFilesClient\\Resistances.db2",
- "DBFilesClient\\RewardPack.db2",
- "DBFilesClient\\RewardPackXCurrencyType.db2",
- "DBFilesClient\\RewardPackXItem.db2",
- "DBFilesClient\\RibbonQuality.db2",
- "DBFilesClient\\RulesetItemUpgrade.db2",
- "DBFilesClient\\SDReplacementModel.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",
- "DBFilesClient\\ScheduledWorldStateXUniqCat.db2",
- "DBFilesClient\\ScreenEffect.db2",
- "DBFilesClient\\ScreenLocation.db2",
- "DBFilesClient\\SeamlessSite.db2",
- "DBFilesClient\\ServerMessages.db2",
- "DBFilesClient\\ShadowyEffect.db2",
- "DBFilesClient\\SiegeableProperties.db2",
- "DBFilesClient\\SkillLine.db2",
- "DBFilesClient\\SkillLineAbility.db2",
- "DBFilesClient\\SkillRaceClassInfo.db2",
- "DBFilesClient\\SoundAmbience.db2",
- "DBFilesClient\\SoundAmbienceFlavor.db2",
- "DBFilesClient\\SoundBus.db2",
- "DBFilesClient\\SoundBusOverride.db2",
- "DBFilesClient\\SoundEmitterPillPoints.db2",
- "DBFilesClient\\SoundEmitters.db2",
- "DBFilesClient\\SoundEnvelope.db2",
- "DBFilesClient\\SoundFilter.db2",
- "DBFilesClient\\SoundFilterElem.db2",
- "DBFilesClient\\SoundKit.db2",
- "DBFilesClient\\SoundKitAdvanced.db2",
- "DBFilesClient\\SoundKitChild.db2",
- "DBFilesClient\\SoundKitEntry.db2",
- "DBFilesClient\\SoundKitFallback.db2",
- "DBFilesClient\\SoundKitName.db2",
- "DBFilesClient\\SoundOverride.db2",
- "DBFilesClient\\SoundProviderPreferences.db2",
- "DBFilesClient\\SourceInfo.db2",
- "DBFilesClient\\SpamMessages.db2",
- "DBFilesClient\\SpecSetMember.db2",
- "DBFilesClient\\SpecializationSpells.db2",
- "DBFilesClient\\SpecializationSpellsDisplay.db2",
- "DBFilesClient\\Spell.db2",
- "DBFilesClient\\SpellActionBarPref.db2",
- "DBFilesClient\\SpellActivationOverlay.db2",
- "DBFilesClient\\SpellAuraOptions.db2",
- "DBFilesClient\\SpellAuraRestrictions.db2",
- "DBFilesClient\\SpellAuraVisXChrSpec.db2",
- "DBFilesClient\\SpellAuraVisibility.db2",
- "DBFilesClient\\SpellCastTimes.db2",
- "DBFilesClient\\SpellCastingRequirements.db2",
- "DBFilesClient\\SpellCategories.db2",
- "DBFilesClient\\SpellCategory.db2",
- "DBFilesClient\\SpellChainEffects.db2",
- "DBFilesClient\\SpellClassOptions.db2",
- "DBFilesClient\\SpellCooldowns.db2",
- "DBFilesClient\\SpellDescriptionVariables.db2",
- "DBFilesClient\\SpellDispelType.db2",
- "DBFilesClient\\SpellDuration.db2",
- "DBFilesClient\\SpellEffect.db2",
- "DBFilesClient\\SpellEffectAutoDescription.db2",
- "DBFilesClient\\SpellEffectEmission.db2",
- "DBFilesClient\\SpellEquippedItems.db2",
- "DBFilesClient\\SpellFlyout.db2",
- "DBFilesClient\\SpellFlyoutItem.db2",
- "DBFilesClient\\SpellFocusObject.db2",
- "DBFilesClient\\SpellInterrupts.db2",
- "DBFilesClient\\SpellItemEnchantment.db2",
- "DBFilesClient\\SpellItemEnchantmentCondition.db2",
- "DBFilesClient\\SpellKeyboundOverride.db2",
- "DBFilesClient\\SpellLabel.db2",
- "DBFilesClient\\SpellLearnSpell.db2",
- "DBFilesClient\\SpellLevels.db2",
- "DBFilesClient\\SpellMechanic.db2",
- "DBFilesClient\\SpellMisc.db2",
- "DBFilesClient\\SpellMissile.db2",
- "DBFilesClient\\SpellMissileMotion.db2",
- "DBFilesClient\\SpellName.db2",
- "DBFilesClient\\SpellPower.db2",
- "DBFilesClient\\SpellPowerDifficulty.db2",
- "DBFilesClient\\SpellProceduralEffect.db2",
- "DBFilesClient\\SpellProcsPerMinute.db2",
- "DBFilesClient\\SpellProcsPerMinuteMod.db2",
- "DBFilesClient\\SpellRadius.db2",
- "DBFilesClient\\SpellRange.db2",
- "DBFilesClient\\SpellReagents.db2",
- "DBFilesClient\\SpellReagentsCurrency.db2",
- "DBFilesClient\\SpellScaling.db2",
- "DBFilesClient\\SpellShapeshift.db2",
- "DBFilesClient\\SpellShapeshiftForm.db2",
- "DBFilesClient\\SpellSpecialUnitEffect.db2",
- "DBFilesClient\\SpellTargetRestrictions.db2",
- "DBFilesClient\\SpellTotems.db2",
- "DBFilesClient\\SpellVisual.db2",
- "DBFilesClient\\SpellVisualAnim.db2",
- "DBFilesClient\\SpellVisualColorEffect.db2",
- "DBFilesClient\\SpellVisualEffectName.db2",
- "DBFilesClient\\SpellVisualEvent.db2",
- "DBFilesClient\\SpellVisualKit.db2",
- "DBFilesClient\\SpellVisualKitAreaModel.db2",
- "DBFilesClient\\SpellVisualKitEffect.db2",
- "DBFilesClient\\SpellVisualKitModelAttach.db2",
- "DBFilesClient\\SpellVisualMissile.db2",
- "DBFilesClient\\SpellXDescriptionVariables.db2",
- "DBFilesClient\\SpellXSpellVisual.db2",
- "DBFilesClient\\StartupFiles.db2",
- "DBFilesClient\\Startup_Strings.db2",
- "DBFilesClient\\Stationery.db2",
- "DBFilesClient\\SummonProperties.db2",
- "DBFilesClient\\TactKey.db2",
- "DBFilesClient\\TactKeyLookup.db2",
- "DBFilesClient\\Talent.db2",
- "DBFilesClient\\TaxiNodes.db2",
- "DBFilesClient\\TaxiPath.db2",
- "DBFilesClient\\TaxiPathNode.db2",
- "DBFilesClient\\TerrainMaterial.db2",
- "DBFilesClient\\TerrainType.db2",
- "DBFilesClient\\TerrainTypeSounds.db2",
- "DBFilesClient\\TextureBlendSet.db2",
- "DBFilesClient\\TextureFileData.db2",
- "DBFilesClient\\TotemCategory.db2",
- "DBFilesClient\\Toy.db2",
- "DBFilesClient\\TradeSkillCategory.db2",
- "DBFilesClient\\TradeSkillItem.db2",
- "DBFilesClient\\TransformMatrix.db2",
- "DBFilesClient\\TransmogHoliday.db2",
- "DBFilesClient\\TransmogSet.db2",
- "DBFilesClient\\TransmogSetGroup.db2",
- "DBFilesClient\\TransmogSetItem.db2",
- "DBFilesClient\\TransportAnimation.db2",
- "DBFilesClient\\TransportPhysics.db2",
- "DBFilesClient\\TransportRotation.db2",
- "DBFilesClient\\Trophy.db2",
- "DBFilesClient\\UIExpansionDisplayInfo.db2",
- "DBFilesClient\\UIExpansionDisplayInfoIcon.db2",
- "DBFilesClient\\UiCamFbackTransmogChrRace.db2",
- "DBFilesClient\\UiCamFbackTransmogWeapon.db2",
- "DBFilesClient\\UiCamera.db2",
- "DBFilesClient\\UiCameraType.db2",
- "DBFilesClient\\UiCanvas.db2",
- "DBFilesClient\\UiMap.db2",
- "DBFilesClient\\UiMapArt.db2",
- "DBFilesClient\\UiMapArtStyleLayer.db2",
- "DBFilesClient\\UiMapArtTile.db2",
- "DBFilesClient\\UiMapAssignment.db2",
- "DBFilesClient\\UiMapFogOfWar.db2",
- "DBFilesClient\\UiMapFogOfWarVisualization.db2",
- "DBFilesClient\\UiMapGroupMember.db2",
- "DBFilesClient\\UiMapLink.db2",
- "DBFilesClient\\UiMapXMapArt.db2",
- "DBFilesClient\\UiModelScene.db2",
- "DBFilesClient\\UiModelSceneActor.db2",
- "DBFilesClient\\UiModelSceneActorDisplay.db2",
- "DBFilesClient\\UiModelSceneCamera.db2",
- "DBFilesClient\\UiPartyPose.db2",
- "DBFilesClient\\UiTextureAtlas.db2",
- "DBFilesClient\\UiTextureAtlasElement.db2",
- "DBFilesClient\\UiTextureAtlasMember.db2",
- "DBFilesClient\\UiTextureKit.db2",
- "DBFilesClient\\UiWidget.db2",
- "DBFilesClient\\UiWidgetConstantSource.db2",
- "DBFilesClient\\UiWidgetDataSource.db2",
- "DBFilesClient\\UiWidgetStringSource.db2",
- "DBFilesClient\\UiWidgetVisualization.db2",
- "DBFilesClient\\UnitBlood.db2",
- "DBFilesClient\\UnitBloodLevels.db2",
- "DBFilesClient\\UnitCondition.db2",
- "DBFilesClient\\UnitPowerBar.db2",
- "DBFilesClient\\Vehicle.db2",
- "DBFilesClient\\VehicleSeat.db2",
- "DBFilesClient\\VehicleUIIndSeat.db2",
- "DBFilesClient\\VehicleUIIndicator.db2",
- "DBFilesClient\\Vignette.db2",
- "DBFilesClient\\VirtualAttachment.db2",
- "DBFilesClient\\VirtualAttachmentCustomization.db2",
- "DBFilesClient\\VocalUISounds.db2",
- "DBFilesClient\\WMOAreaTable.db2",
- "DBFilesClient\\WMOMinimapTexture.db2",
- "DBFilesClient\\WbAccessControlList.db2",
- "DBFilesClient\\WbCertWhitelist.db2",
- "DBFilesClient\\WeaponImpactSounds.db2",
- "DBFilesClient\\WeaponSwingSounds2.db2",
- "DBFilesClient\\WeaponTrail.db2",
- "DBFilesClient\\WeaponTrailModelDef.db2",
- "DBFilesClient\\WeaponTrailParam.db2",
- "DBFilesClient\\Weather.db2",
- "DBFilesClient\\WeatherXParticulate.db2",
- "DBFilesClient\\WindSettings.db2",
- "DBFilesClient\\WorldBossLockout.db2",
- "DBFilesClient\\WorldChunkSounds.db2",
- "DBFilesClient\\WorldEffect.db2",
- "DBFilesClient\\WorldElapsedTimer.db2",
- "DBFilesClient\\WorldMapOverlay.db2",
- "DBFilesClient\\WorldMapOverlayTile.db2",
- "DBFilesClient\\WorldSafeLocs.db2",
- "DBFilesClient\\WorldStateExpression.db2",
- "DBFilesClient\\WorldStateUI.db2",
- "DBFilesClient\\WorldStateZoneSounds.db2",
- "DBFilesClient\\World_PVP_Area.db2",
- "DBFilesClient\\ZoneIntroMusicTable.db2",
- "DBFilesClient\\ZoneLight.db2",
- "DBFilesClient\\ZoneLightPoint.db2",
- "DBFilesClient\\ZoneMusic.db2",
- "DBFilesClient\\ZoneStory.db2",
- nullptr // terminator
+ uint32 FileDataId;
+ char const* Name;
+};
+
+DB2FileInfo const DBFilesClientList[] =
+{
+ { 1260179, "Achievement.db2" },
+ { 1324299, "Achievement_Category.db2" },
+ { 1115949, "AdventureJournal.db2" },
+ { 1267070, "AdventureMapPOI.db2" },
+ { 1710672, "AlliedRace.db2" },
+ { 1720145, "AlliedRaceRacialAbility.db2" },
+ { 1304323, "AnimKit.db2" },
+ { 1375433, "AnimKitBoneSet.db2" },
+ { 1266937, "AnimKitBoneSetAlias.db2" },
+ { 1300872, "AnimKitConfig.db2" },
+ { 1300873, "AnimKitConfigBoneSet.db2" },
+ { 1266540, "AnimKitPriority.db2" },
+ { 1559807, "AnimKitReplacement.db2" },
+ { 1304324, "AnimKitSegment.db2" },
+ { 1301100, "AnimReplacement.db2" },
+ { 1284817, "AnimReplacementSet.db2" },
+ { 1375431, "AnimationData.db2" },
+ { 2140223, "AoiBox.db2" },
+ { 2123730, "AreaConditionalData.db2" },
+ { 1537162, "AreaFarClipOverride.db2" },
+ { 1093406, "AreaGroupMember.db2" },
+ { 1000630, "AreaPOI.db2" },
+ { 1000631, "AreaPOIState.db2" },
+ { 1353545, "AreaTable.db2" },
+ { 1354401, "AreaTrigger.db2" },
+ { 1352378, "AreaTriggerActionSet.db2" },
+ { 1332554, "AreaTriggerBox.db2" },
+ { 1937227, "AreaTriggerCreateProperties.db2" },
+ { 1121943, "AreaTriggerCylinder.db2" },
+ { 1315630, "AreaTriggerSphere.db2" },
+ { 1284818, "ArmorLocation.db2" },
+ { 1007934, "Artifact.db2" },
+ { 1116407, "ArtifactAppearance.db2" },
+ { 1116408, "ArtifactAppearanceSet.db2" },
+ { 1376210, "ArtifactCategory.db2" },
+ { 2029780, "ArtifactItemToTransmog.db2" },
+ { 1007937, "ArtifactPower.db2" },
+ { 1133731, "ArtifactPowerLink.db2" },
+ { 1597467, "ArtifactPowerPicker.db2" },
+ { 1261405, "ArtifactPowerRank.db2" },
+ { 1036203, "ArtifactQuestXP.db2" },
+ { 1600114, "ArtifactTier.db2" },
+ { 1094540, "ArtifactUnlock.db2" },
+ { 1237439, "AuctionHouse.db2" },
+ { 1846046, "AzeriteEmpoweredItem.db2" },
+ { 1846048, "AzeriteItem.db2" },
+ { 1915395, "AzeriteItemMilestonePower.db2" },
+ { 1846044, "AzeritePower.db2" },
+ { 1846040, "AzeritePowerSetMember.db2" },
+ { 1846043, "AzeriteTierUnlock.db2" },
+ { 2446322, "AzeriteTierUnlockSet.db2" },
+ { 2564314, "AzeriteUnlockMapping.db2" },
+ { 1284819, "BankBagSlotPrices.db2" },
+ { 1373459, "BannedAddons.db2" },
+ { 1237437, "BarberShopStyle.db2" },
+ { 2499852, "BarrageEffect.db2" },
+ { 841610, "BattlePetAbility.db2" },
+ { 801575, "BattlePetAbilityEffect.db2" },
+ { 801576, "BattlePetAbilityState.db2" },
+ { 801577, "BattlePetAbilityTurn.db2" },
+ { 801578, "BattlePetBreedQuality.db2" },
+ { 801579, "BattlePetBreedState.db2" },
+ { 1802988, "BattlePetDisplayOverride.db2" },
+ { 801580, "BattlePetEffectProperties.db2" },
+ { 841648, "BattlePetNPCTeamMember.db2" },
+ { 841622, "BattlePetSpecies.db2" },
+ { 801581, "BattlePetSpeciesState.db2" },
+ { 801582, "BattlePetSpeciesXAbility.db2" },
+ { 801583, "BattlePetState.db2" },
+ { 801584, "BattlePetVisual.db2" },
+ { 1360265, "BattlemasterList.db2" },
+ { 1525607, "BeamEffect.db2" },
+ { 1467254, "BoneWindModifierModel.db2" },
+ { 1416756, "BoneWindModifiers.db2" },
+ { 1983274, "BonusRoll.db2" },
+ { 1367866, "Bounty.db2" },
+ { 1367865, "BountySet.db2" },
+ { 841604, "BroadcastText.db2" },
+ { 2166900, "BroadcastTextDuration.db2" },
+ { 1117695, "CameraEffect.db2" },
+ { 1117696, "CameraEffectEntry.db2" },
+ { 1343308, "CameraMode.db2" },
+ { 2031607, "Campaign.db2" },
+ { 2031611, "CampaignXCondition.db2" },
+ { 2036722, "CampaignXQuestLine.db2" },
+ { 1283018, "CastableRaidBuffs.db2" },
+ { 1592470, "CelestialBody.db2" },
+ { 1068162, "Cfg_Categories.db2" },
+ { 1080949, "Cfg_Configs.db2" },
+ { 1082876, "Cfg_Regions.db2" },
+ { 1343386, "CharBaseInfo.db2" },
+ { 1375798, "CharBaseSection.db2" },
+ { 1360262, "CharComponentTextureLayouts.db2" },
+ { 1360263, "CharComponentTextureSections.db2" },
+ { 1256914, "CharHairGeosets.db2" },
+ { 2388725, "CharSectionCondition.db2" },
+ { 1365366, "CharSections.db2" },
+ { 972425, "CharShipment.db2" },
+ { 972405, "CharShipmentContainer.db2" },
+ { 1237591, "CharStartOutfit.db2" },
+ { 1349054, "CharTitles.db2" },
+ { 1028733, "CharacterFaceBoneSet.db2" },
+ { 1369752, "CharacterFacialHairStyles.db2" },
+ { 1344281, "CharacterLoadout.db2" },
+ { 1302846, "CharacterLoadoutItem.db2" },
+ { 1815417, "CharacterServiceInfo.db2" },
+ { 1345278, "ChatChannels.db2" },
+ { 1117084, "ChatProfanity.db2" },
+ { 1306188, "ChrClassRaceSex.db2" },
+ { 1267497, "ChrClassTitle.db2" },
+ { 1316515, "ChrClassUIDisplay.db2" },
+ { 1267498, "ChrClassVillain.db2" },
+ { 1361031, "ChrClasses.db2" },
+ { 1121420, "ChrClassesXPowerTypes.db2" },
+ { 1611874, "ChrCustomization.db2" },
+ { 1305311, "ChrRaces.db2" },
+ { 1343390, "ChrSpecialization.db2" },
+ { 984529, "ChrUpgradeBucket.db2" },
+ { 984528, "ChrUpgradeBucketSpell.db2" },
+ { 984530, "ChrUpgradeTier.db2" },
+ { 1294214, "CinematicCamera.db2" },
+ { 1134583, "CinematicSequences.db2" },
+ { 1939843, "ClientSceneEffect.db2" },
+ { 1465903, "CloakDampening.db2" },
+ { 2175218, "CloneEffect.db2" },
+ { 1120958, "CombatCondition.db2" },
+ { 1664251, "CommentatorStartLocation.db2" },
+ { 1661584, "CommentatorTrackedCooldown.db2" },
+ { 2098645, "CommunityIcon.db2" },
+ { 1349053, "ComponentModelFileData.db2" },
+ { 1278239, "ComponentTextureFileData.db2" },
+ { 1709409, "ConfigurationWarning.db2" },
+ { 1962930, "ContentTuning.db2" },
+ { 1587153, "Contribution.db2" },
+ { 2143633, "ContributionStyle.db2" },
+ { 2143634, "ContributionStyleContainer.db2" },
+ { 1260801, "ConversationLine.db2" },
+ { 841631, "Creature.db2" },
+ { 879282, "CreatureDifficulty.db2" },
+ { 1146692, "CreatureDispXUiCamera.db2" },
+ { 1108759, "CreatureDisplayInfo.db2" },
+ { 1332686, "CreatureDisplayInfoCond.db2" },
+ { 1586882, "CreatureDisplayInfoEvt.db2" },
+ { 1264997, "CreatureDisplayInfoExtra.db2" },
+ { 1720141, "CreatureDisplayInfoGeosetData.db2" },
+ { 1146698, "CreatureDisplayInfoTrn.db2" },
+ { 1351351, "CreatureFamily.db2" },
+ { 1131322, "CreatureImmunities.db2" },
+ { 1365368, "CreatureModelData.db2" },
+ { 1125666, "CreatureMovementInfo.db2" },
+ { 1344466, "CreatureSoundData.db2" },
+ { 1131315, "CreatureType.db2" },
+ { 1587158, "CreatureXContribution.db2" },
+ { 1864302, "CreatureXDisplayInfo.db2" },
+ { 1263817, "Criteria.db2" },
+ { 1263818, "CriteriaTree.db2" },
+ { 1345969, "CriteriaTreeXEffect.db2" },
+ { 1125667, "CurrencyCategory.db2" },
+ { 1934603, "CurrencyContainer.db2" },
+ { 1095531, "CurrencyTypes.db2" },
+ { 892585, "Curve.db2" },
+ { 892586, "CurvePoint.db2" },
+ { 1279415, "DeathThudLookups.db2" },
+ { 1278176, "DecalProperties.db2" },
+ { 1279100, "DeclinedWord.db2" },
+ { 1279099, "DeclinedWordCases.db2" },
+ { 1122116, "DestructibleModelData.db2" },
+ { 922722, "DeviceBlacklist.db2" },
+ { 925422, "DeviceDefaultSettings.db2" },
+ { 1352127, "Difficulty.db2" },
+ { 1304325, "DissolveEffect.db2" },
+ { 922720, "DriverBlacklist.db2" },
+ { 1347279, "DungeonEncounter.db2" },
+ { 1283019, "DurabilityCosts.db2" },
+ { 1130268, "DurabilityQuality.db2" },
+ { 1387381, "EdgeGlowEffect.db2" },
+ { 1343602, "Emotes.db2" },
+ { 1347273, "EmotesText.db2" },
+ { 1283024, "EmotesTextData.db2" },
+ { 1286524, "EmotesTextSound.db2" },
+ { 1278398, "EnvironmentalDamage.db2" },
+ { 1343313, "Exhaustion.db2" },
+ { 1937326, "ExpectedStat.db2" },
+ { 1969773, "ExpectedStatMod.db2" },
+ { 1361972, "Faction.db2" },
+ { 1343595, "FactionGroup.db2" },
+ { 1361579, "FactionTemplate.db2" },
+ { 1308056, "FootprintTextures.db2" },
+ { 1267647, "FootstepTerrainLookup.db2" },
+ { 1237638, "FriendshipRepReaction.db2" },
+ { 1237639, "FriendshipReputation.db2" },
+ { 1348282, "FullScreenEffect.db2" },
+ { 1283025, "GMSurveyAnswers.db2" },
+ { 1278177, "GMSurveyCurrentSurvey.db2" },
+ { 1278178, "GMSurveyQuestions.db2" },
+ { 1283020, "GMSurveySurveys.db2" },
+ { 1266737, "GameObjectArtKit.db2" },
+ { 1302847, "GameObjectDiffAnimMap.db2" },
+ { 1266277, "GameObjectDisplayInfo.db2" },
+ { 1345272, "GameObjectDisplayInfoXSoundKit.db2" },
+ { 841620, "GameObjects.db2" },
+ { 1368021, "GameTips.db2" },
+ { 966238, "GarrAbility.db2" },
+ { 1020248, "GarrAbilityCategory.db2" },
+ { 966241, "GarrAbilityEffect.db2" },
+ { 929747, "GarrBuilding.db2" },
+ { 943937, "GarrBuildingDoodadSet.db2" },
+ { 983298, "GarrBuildingPlotInst.db2" },
+ { 981570, "GarrClassSpec.db2" },
+ { 1380674, "GarrClassSpecPlayerCond.db2" },
+ { 975304, "GarrEncounter.db2" },
+ { 1354772, "GarrEncounterSetXEncounter.db2" },
+ { 967961, "GarrEncounterXMechanic.db2" },
+ { 981569, "GarrFollItemSetMember.db2" },
+ { 1345970, "GarrFollSupportSpell.db2" },
+ { 949906, "GarrFollower.db2" },
+ { 970979, "GarrFollowerLevelXP.db2" },
+ { 1027793, "GarrFollowerQuality.db2" },
+ { 1361029, "GarrFollowerSetXFollower.db2" },
+ { 1118784, "GarrFollowerType.db2" },
+ { 1412636, "GarrFollowerUICreature.db2" },
+ { 968468, "GarrFollowerXAbility.db2" },
+ { 1572314, "GarrItemLevelUpgradeData.db2" },
+ { 967963, "GarrMechanic.db2" },
+ { 1391531, "GarrMechanicSetXMechanic.db2" },
+ { 967964, "GarrMechanicType.db2" },
+ { 967962, "GarrMission.db2" },
+ { 1125220, "GarrMissionTexture.db2" },
+ { 984174, "GarrMissionType.db2" },
+ { 967960, "GarrMissionXEncounter.db2" },
+ { 1359096, "GarrMissionXFollower.db2" },
+ { 1138458, "GarrMssnBonusAbility.db2" },
+ { 937634, "GarrPlot.db2" },
+ { 929743, "GarrPlotBuilding.db2" },
+ { 929742, "GarrPlotInstance.db2" },
+ { 937635, "GarrPlotUICategory.db2" },
+ { 939295, "GarrSiteLevel.db2" },
+ { 940404, "GarrSiteLevelPlotInst.db2" },
+ { 937647, "GarrSpecialization.db2" },
+ { 1416758, "GarrString.db2" },
+ { 1361032, "GarrTalent.db2" },
+ { 1361030, "GarrTalentTree.db2" },
+ { 1333161, "GarrType.db2" },
+ { 976037, "GarrUiAnimClassInfo.db2" },
+ { 976035, "GarrUiAnimRaceInfo.db2" },
+ { 1343604, "GemProperties.db2" },
+ { 1394440, "GlobalStrings.db2" },
+ { 1270147, "GlyphBindableSpell.db2" },
+ { 948546, "GlyphExclusiveCategory.db2" },
+ { 1345274, "GlyphProperties.db2" },
+ { 948496, "GlyphRequiredSpec.db2" },
+ { 2433582, "GradientEffect.db2" },
+ { 1308057, "GroundEffectDoodad.db2" },
+ { 1308499, "GroundEffectTexture.db2" },
+ { 974813, "GroupFinderActivity.db2" },
+ { 974814, "GroupFinderActivityGrp.db2" },
+ { 974812, "GroupFinderCategory.db2" },
+ { 1286526, "GuildColorBackground.db2" },
+ { 1286527, "GuildColorBorder.db2" },
+ { 1286525, "GuildColorEmblem.db2" },
+ { 2734754, "GuildEmblem.db2" },
+ { 1135238, "GuildPerkSpells.db2" },
+ { 1097696, "Heirloom.db2" },
+ { 1348283, "HelmetAnimScaling.db2" },
+ { 2821752, "HelmetGeosetData.db2" },
+ { 996358, "HighlightColor.db2" },
+ { 996360, "HolidayDescriptions.db2" },
+ { 996359, "HolidayNames.db2" },
+ { 996357, "Holidays.db2" },
+ { 1995523, "Hotfixes.db2" },
+ { 1121229, "ImportPriceArmor.db2" },
+ { 1121228, "ImportPriceQuality.db2" },
+ { 1121227, "ImportPriceShield.db2" },
+ { 1121230, "ImportPriceWeapon.db2" },
+ { 1336651, "InvasionClientData.db2" },
+ { 841626, "Item.db2" },
+ { 982462, "ItemAppearance.db2" },
+ { 1248126, "ItemAppearanceXUiCamera.db2" },
+ { 1283021, "ItemArmorQuality.db2" },
+ { 1277741, "ItemArmorShield.db2" },
+ { 1283022, "ItemArmorTotal.db2" },
+ { 1278179, "ItemBagFamily.db2" },
+ { 959070, "ItemBonus.db2" },
+ { 1320358, "ItemBonusListLevelDelta.db2" },
+ { 987134, "ItemBonusTreeNode.db2" },
+ { 1247926, "ItemChildEquipment.db2" },
+ { 1140189, "ItemClass.db2" },
+ { 1405665, "ItemContextPickerEntry.db2" },
+ { 801670, "ItemCurrencyCost.db2" },
+ { 1277740, "ItemDamageAmmo.db2" },
+ { 1277743, "ItemDamageOneHand.db2" },
+ { 1277739, "ItemDamageOneHandCaster.db2" },
+ { 1277738, "ItemDamageTwoHand.db2" },
+ { 1277742, "ItemDamageTwoHandCaster.db2" },
+ { 1134087, "ItemDisenchantLoot.db2" },
+ { 1266429, "ItemDisplayInfo.db2" },
+ { 1280614, "ItemDisplayInfoMaterialRes.db2" },
+ { 1146690, "ItemDisplayXUiCamera.db2" },
+ { 969941, "ItemEffect.db2" },
+ { 801681, "ItemExtendedCost.db2" },
+ { 2358574, "ItemFallbackVisual.db2" },
+ { 1283023, "ItemGroupSounds.db2" },
+ { 1588911, "ItemLevelSelector.db2" },
+ { 1624937, "ItemLevelSelectorQuality.db2" },
+ { 1624933, "ItemLevelSelectorQualitySet.db2" },
+ { 1237440, "ItemLimitCategory.db2" },
+ { 1378590, "ItemLimitCategoryCondition.db2" },
+ { 982457, "ItemModifiedAppearance.db2" },
+ { 1278399, "ItemModifiedAppearanceExtra.db2" },
+ { 1332559, "ItemNameDescription.db2" },
+ { 1302240, "ItemPetFood.db2" },
+ { 1121231, "ItemPriceBase.db2" },
+ { 1270315, "ItemRangedDisplayInfo.db2" },
+ { 1273408, "ItemSearchName.db2" },
+ { 1343609, "ItemSet.db2" },
+ { 1314689, "ItemSetSpell.db2" },
+ { 1572924, "ItemSparse.db2" },
+ { 1135120, "ItemSpec.db2" },
+ { 1134576, "ItemSpecOverride.db2" },
+ { 1261604, "ItemSubClass.db2" },
+ { 1302852, "ItemSubClassMask.db2" },
+ { 801687, "ItemUpgrade.db2" },
+ { 1343605, "ItemVisuals.db2" },
+ { 987133, "ItemXBonusTree.db2" },
+ { 1240336, "JournalEncounter.db2" },
+ { 1301155, "JournalEncounterCreature.db2" },
+ { 1344467, "JournalEncounterItem.db2" },
+ { 1134413, "JournalEncounterSection.db2" },
+ { 1121901, "JournalEncounterXDifficulty.db2" },
+ { 1722928, "JournalEncounterXMapLoc.db2" },
+ { 1237438, "JournalInstance.db2" },
+ { 1277744, "JournalItemXDifficulty.db2" },
+ { 1121900, "JournalSectionXDifficulty.db2" },
+ { 1349056, "JournalTier.db2" },
+ { 1285009, "JournalTierXInstance.db2" },
+ { 801693, "Keychain.db2" },
+ { 1344761, "KeystoneAffix.db2" },
+ { 1343606, "LFGDungeonExpansion.db2" },
+ { 1135058, "LFGDungeonGroup.db2" },
+ { 1361033, "LFGDungeons.db2" },
+ { 982805, "LFGRoleRequirement.db2" },
+ { 984702, "LanguageWords.db2" },
+ { 1135325, "Languages.db2" },
+ { 1339818, "LfgDungeonsGroupingMap.db2" },
+ { 1375579, "Light.db2" },
+ { 1375580, "LightData.db2" },
+ { 1334669, "LightParams.db2" },
+ { 1308501, "LightSkybox.db2" },
+ { 2003383, "Lightning.db2" },
+ { 1132538, "LiquidMaterial.db2" },
+ { 1308058, "LiquidObject.db2" },
+ { 1371380, "LiquidType.db2" },
+ { 2261065, "LiquidTypeXTexture.db2" },
+ { 1302239, "LoadingScreenTaxiSplines.db2" },
+ { 1266541, "LoadingScreens.db2" },
+ { 801706, "Locale.db2" },
+ { 801707, "Location.db2" },
+ { 1343608, "Lock.db2" },
+ { 1284823, "LockType.db2" },
+ { 1098785, "LookAtController.db2" },
+ { 1240344, "MailTemplate.db2" },
+ { 1587159, "ManagedWorldState.db2" },
+ { 1587155, "ManagedWorldStateBuff.db2" },
+ { 1587151, "ManagedWorldStateInput.db2" },
+ { 1375803, "ManifestInterfaceActionIcon.db2" },
+ { 1375801, "ManifestInterfaceData.db2" },
+ { 1375804, "ManifestInterfaceItemIcon.db2" },
+ { 1267335, "ManifestInterfaceTOCData.db2" },
+ { 1375802, "ManifestMP3.db2" },
+ { 1349477, "Map.db2" },
+ { 1597466, "MapCelestialBody.db2" },
+ { 801709, "MapChallengeMode.db2" },
+ { 1367868, "MapDifficulty.db2" },
+ { 1375435, "MapDifficultyXCondition.db2" },
+ { 1719707, "MapLoadingScreen.db2" },
+ { 801710, "MarketingPromotionsXLocale.db2" },
+ { 1294217, "Material.db2" },
+ { 1347274, "MinorTalent.db2" },
+ { 1710117, "MissileTargeting.db2" },
+ { 1465904, "ModelAnimCloakDampening.db2" },
+ { 1337833, "ModelFileData.db2" },
+ { 1399953, "ModelRibbonQuality.db2" },
+ { 1267645, "ModifierTree.db2" },
+ { 921760, "Mount.db2" },
+ { 1114709, "MountCapability.db2" },
+ { 1114715, "MountTypeXCapability.db2" },
+ { 1576117, "MountXDisplay.db2" },
+ { 1332556, "Movie.db2" },
+ { 1301154, "MovieFileData.db2" },
+ { 1339819, "MovieVariation.db2" },
+ { 1965592, "MultiStateProperties.db2" },
+ { 1965589, "MultiTransitionProperties.db2" },
+ { 2400282, "MythicPlusSeason.db2" },
+ { 2123783, "MythicPlusSeasonRewardLevels.db2" },
+ { 1340661, "NPCModelItemSlotDisplayInfo.db2" },
+ { 1282621, "NPCSounds.db2" },
+ { 1122117, "NameGen.db2" },
+ { 1117086, "NamesProfanity.db2" },
+ { 1117085, "NamesReserved.db2" },
+ { 1117087, "NamesReservedLocale.db2" },
+ { 1953326, "NumTalentsAtLevel.db2" },
+ { 1090577, "ObjectEffect.db2" },
+ { 1090575, "ObjectEffectModifier.db2" },
+ { 1090578, "ObjectEffectPackageElem.db2" },
+ { 2066958, "Occluder.db2" },
+ { 2115224, "OccluderLocation.db2" },
+ { 2066959, "OccluderNode.db2" },
+ { 1279739, "OutlineEffect.db2" },
+ { 1002186, "OverrideSpellData.db2" },
+ { 1394275, "PVPBracketTypes.db2" },
+ { 1339820, "PVPDifficulty.db2" },
+ { 972287, "PVPItem.db2" },
+ { 1271600, "PageTextMaterial.db2" },
+ { 1252503, "PaperDollItemFrame.db2" },
+ { 1581183, "ParagonReputation.db2" },
+ { 1284820, "ParticleColor.db2" },
+ { 2053913, "ParticulateSound.db2" },
+ { 801732, "Path.db2" },
+ { 2428705, "PathEdge.db2" },
+ { 801733, "PathNode.db2" },
+ { 801734, "PathNodeProperty.db2" },
+ { 801735, "PathProperty.db2" },
+ { 1348558, "Phase.db2" },
+ { 1267336, "PhaseShiftZoneSounds.db2" },
+ { 987581, "PhaseXPhaseGroup.db2" },
+ { 1045411, "PlayerCondition.db2" },
+ { 1251523, "Positioner.db2" },
+ { 1251506, "PositionerState.db2" },
+ { 1251533, "PositionerStateEntry.db2" },
+ { 1332557, "PowerDisplay.db2" },
+ { 1266022, "PowerType.db2" },
+ { 1275869, "PrestigeLevelInfo.db2" },
+ { 1591100, "PvpScalingEffect.db2" },
+ { 1591098, "PvpScalingEffectType.db2" },
+ { 2470695, "PvpSeasonRewardLevels.db2" },
+ { 1302853, "PvpTalent.db2" },
+ { 1891534, "PvpTalentCategory.db2" },
+ { 1950197, "PvpTalentSlotUnlock.db2" },
+ { 2066871, "PvpTier.db2" },
+ { 1282622, "QuestFactionReward.db2" },
+ { 1343388, "QuestFeedbackEffect.db2" },
+ { 1120960, "QuestInfo.db2" },
+ { 973430, "QuestLine.db2" },
+ { 973441, "QuestLineXQuest.db2" },
+ { 1139047, "QuestMoneyReward.db2" },
+ { 1251960, "QuestObjective.db2" },
+ { 1251882, "QuestPOIBlob.db2" },
+ { 1251883, "QuestPOIPoint.db2" },
+ { 801743, "QuestPackageItem.db2" },
+ { 1134585, "QuestSort.db2" },
+ { 1139443, "QuestV2.db2" },
+ { 1028735, "QuestV2CliTask.db2" },
+ { 1573634, "QuestXGroupActivity.db2" },
+ { 1139378, "QuestXP.db2" },
+ { 1310245, "RandPropPoints.db2" },
+ { 1716803, "RelicSlotTierRequirement.db2" },
+ { 1671256, "RelicTalent.db2" },
+ { 1133729, "ResearchBranch.db2" },
+ { 1133711, "ResearchField.db2" },
+ { 1134090, "ResearchProject.db2" },
+ { 1134091, "ResearchSite.db2" },
+ { 1135072, "Resistances.db2" },
+ { 1307156, "RewardPack.db2" },
+ { 1307153, "RewardPackXCurrencyType.db2" },
+ { 1307155, "RewardPackXItem.db2" },
+ { 1398908, "RibbonQuality.db2" },
+ { 801749, "RulesetItemUpgrade.db2" },
+ { 1712172, "SDReplacementModel.db2" },
+ { 1141728, "ScalingStatDistribution.db2" },
+ { 1139062, "Scenario.db2" },
+ { 1141065, "ScenarioEventEntry.db2" },
+ { 1132761, "ScenarioStep.db2" },
+ { 801754, "SceneScript.db2" },
+ { 1758036, "SceneScriptGlobalText.db2" },
+ { 801755, "SceneScriptPackage.db2" },
+ { 801756, "SceneScriptPackageMember.db2" },
+ { 1758037, "SceneScriptText.db2" },
+ { 1327082, "ScheduledInterval.db2" },
+ { 1327083, "ScheduledWorldState.db2" },
+ { 1327084, "ScheduledWorldStateGroup.db2" },
+ { 1388724, "ScheduledWorldStateXUniqCat.db2" },
+ { 1302849, "ScreenEffect.db2" },
+ { 1279416, "ScreenLocation.db2" },
+ { 1328719, "SeamlessSite.db2" },
+ { 1301141, "ServerMessages.db2" },
+ { 1239844, "ShadowyEffect.db2" },
+ { 1954391, "SiegeableProperties.db2" },
+ { 1240935, "SkillLine.db2" },
+ { 1266278, "SkillLineAbility.db2" },
+ { 1240406, "SkillRaceClassInfo.db2" },
+ { 1310628, "SoundAmbience.db2" },
+ { 1267065, "SoundAmbienceFlavor.db2" },
+ { 1310246, "SoundBus.db2" },
+ { 1598732, "SoundBusOverride.db2" },
+ { 1092317, "SoundEmitterPillPoints.db2" },
+ { 1092316, "SoundEmitters.db2" },
+ { 1693131, "SoundEnvelope.db2" },
+ { 1271601, "SoundFilter.db2" },
+ { 1267066, "SoundFilterElem.db2" },
+ { 1237434, "SoundKit.db2" },
+ { 1237436, "SoundKitAdvanced.db2" },
+ { 1307289, "SoundKitChild.db2" },
+ { 1237435, "SoundKitEntry.db2" },
+ { 1307288, "SoundKitFallback.db2" },
+ { 1665033, "SoundKitName.db2" },
+ { 1266542, "SoundOverride.db2" },
+ { 1279417, "SoundProviderPreferences.db2" },
+ { 1313612, "SourceInfo.db2" },
+ { 1117088, "SpamMessages.db2" },
+ { 2057624, "SpecSetMember.db2" },
+ { 1240335, "SpecializationSpells.db2" },
+ { 2067238, "SpecializationSpellsDisplay.db2" },
+ { 1140089, "Spell.db2" },
+ { 1019373, "SpellActionBarPref.db2" },
+ { 1261603, "SpellActivationOverlay.db2" },
+ { 1139952, "SpellAuraOptions.db2" },
+ { 981566, "SpellAuraRestrictions.db2" },
+ { 1280615, "SpellAuraVisXChrSpec.db2" },
+ { 1280616, "SpellAuraVisibility.db2" },
+ { 1134089, "SpellCastTimes.db2" },
+ { 1002166, "SpellCastingRequirements.db2" },
+ { 1139939, "SpellCategories.db2" },
+ { 1280619, "SpellCategory.db2" },
+ { 1343310, "SpellChainEffects.db2" },
+ { 979663, "SpellClassOptions.db2" },
+ { 2428696, "SpellClutterAreaEffectCounts.db2" },
+ { 2428707, "SpellClutterFrameRates.db2" },
+ { 2428708, "SpellClutterImpactModelCounts.db2" },
+ { 2428697, "SpellClutterKitDistances.db2" },
+ { 2428733, "SpellClutterMissileDist.db2" },
+ { 2428698, "SpellClutterWeaponTrailDist.db2" },
+ { 1139924, "SpellCooldowns.db2" },
+ { 1140004, "SpellDescriptionVariables.db2" },
+ { 1137829, "SpellDispelType.db2" },
+ { 1137828, "SpellDuration.db2" },
+ { 1140088, "SpellEffect.db2" },
+ { 1888495, "SpellEffectAutoDescription.db2" },
+ { 1310248, "SpellEffectEmission.db2" },
+ { 1140011, "SpellEquippedItems.db2" },
+ { 1146819, "SpellFlyout.db2" },
+ { 1134085, "SpellFlyoutItem.db2" },
+ { 1280620, "SpellFocusObject.db2" },
+ { 1139906, "SpellInterrupts.db2" },
+ { 1362771, "SpellItemEnchantment.db2" },
+ { 1121834, "SpellItemEnchantmentCondition.db2" },
+ { 1127327, "SpellKeyboundOverride.db2" },
+ { 1347275, "SpellLabel.db2" },
+ { 1001907, "SpellLearnSpell.db2" },
+ { 1140079, "SpellLevels.db2" },
+ { 1014438, "SpellMechanic.db2" },
+ { 1003144, "SpellMisc.db2" },
+ { 897956, "SpellMissile.db2" },
+ { 897955, "SpellMissileMotion.db2" },
+ { 1990283, "SpellName.db2" },
+ { 2618823, "SpellOverrideName.db2" },
+ { 982806, "SpellPower.db2" },
+ { 982804, "SpellPowerDifficulty.db2" },
+ { 1140477, "SpellProceduralEffect.db2" },
+ { 1133526, "SpellProcsPerMinute.db2" },
+ { 1133525, "SpellProcsPerMinuteMod.db2" },
+ { 1134584, "SpellRadius.db2" },
+ { 1146820, "SpellRange.db2" },
+ { 841946, "SpellReagents.db2" },
+ { 1135239, "SpellReagentsCurrency.db2" },
+ { 1139940, "SpellScaling.db2" },
+ { 1139929, "SpellShapeshift.db2" },
+ { 1280618, "SpellShapeshiftForm.db2" },
+ { 1268903, "SpellSpecialUnitEffect.db2" },
+ { 1139993, "SpellTargetRestrictions.db2" },
+ { 1002162, "SpellTotems.db2" },
+ { 897952, "SpellVisual.db2" },
+ { 1140479, "SpellVisualAnim.db2" },
+ { 1094006, "SpellVisualColorEffect.db2" },
+ { 897948, "SpellVisualEffectName.db2" },
+ { 1685317, "SpellVisualEvent.db2" },
+ { 897949, "SpellVisualKit.db2" },
+ { 897951, "SpellVisualKitAreaModel.db2" },
+ { 1140480, "SpellVisualKitEffect.db2" },
+ { 897953, "SpellVisualKitModelAttach.db2" },
+ { 897954, "SpellVisualMissile.db2" },
+ { 1724949, "SpellXDescriptionVariables.db2" },
+ { 1101657, "SpellXSpellVisual.db2" },
+ { 1604265, "StartupFiles.db2" },
+ { 1375805, "Startup_Strings.db2" },
+ { 1140758, "Stationery.db2" },
+ { 1345276, "SummonProperties.db2" },
+ { 1302850, "TactKey.db2" },
+ { 1302851, "TactKeyLookup.db2" },
+ { 1369062, "Talent.db2" },
+ { 1068100, "TaxiNodes.db2" },
+ { 1067802, "TaxiPath.db2" },
+ { 1000437, "TaxiPathNode.db2" },
+ { 1307290, "TerrainMaterial.db2" },
+ { 1310249, "TerrainType.db2" },
+ { 1284822, "TerrainTypeSounds.db2" },
+ { 1328721, "TextureBlendSet.db2" },
+ { 982459, "TextureFileData.db2" },
+ { 1134586, "TotemCategory.db2" },
+ { 988200, "Toy.db2" },
+ { 1301101, "TradeSkillCategory.db2" },
+ { 1329070, "TradeSkillItem.db2" },
+ { 1338702, "TransformMatrix.db2" },
+ { 2399695, "TransmogDefaultLevel.db2" },
+ { 1589454, "TransmogHoliday.db2" },
+ { 1376213, "TransmogSet.db2" },
+ { 1576116, "TransmogSetGroup.db2" },
+ { 1376212, "TransmogSetItem.db2" },
+ { 1140686, "TransportAnimation.db2" },
+ { 1121973, "TransportPhysics.db2" },
+ { 1140687, "TransportRotation.db2" },
+ { 975024, "Trophy.db2" },
+ { 1729547, "UIExpansionDisplayInfo.db2" },
+ { 1729546, "UIExpansionDisplayInfoIcon.db2" },
+ { 1261406, "UiCamFbackTransmogChrRace.db2" },
+ { 1261407, "UiCamFbackTransmogWeapon.db2" },
+ { 1120287, "UiCamera.db2" },
+ { 1120288, "UiCameraType.db2" },
+ { 1989363, "UiCanvas.db2" },
+ { 1957206, "UiMap.db2" },
+ { 1957202, "UiMapArt.db2" },
+ { 1957208, "UiMapArtStyleLayer.db2" },
+ { 1957210, "UiMapArtTile.db2" },
+ { 1957219, "UiMapAssignment.db2" },
+ { 2006972, "UiMapFogOfWar.db2" },
+ { 2006973, "UiMapFogOfWarVisualization.db2" },
+ { 1957204, "UiMapGroupMember.db2" },
+ { 2030690, "UiMapLink.db2" },
+ { 1957217, "UiMapXMapArt.db2" },
+ { 1548215, "UiModelScene.db2" },
+ { 1548214, "UiModelSceneActor.db2" },
+ { 1548216, "UiModelSceneActorDisplay.db2" },
+ { 1548213, "UiModelSceneCamera.db2" },
+ { 1993323, "UiPartyPose.db2" },
+ { 897470, "UiTextureAtlas.db2" },
+ { 1989276, "UiTextureAtlasElement.db2" },
+ { 897532, "UiTextureAtlasMember.db2" },
+ { 939159, "UiTextureKit.db2" },
+ { 1983278, "UiWidget.db2" },
+ { 1983639, "UiWidgetConstantSource.db2" },
+ { 1983640, "UiWidgetDataSource.db2" },
+ { 2322531, "UiWidgetMap.db2" },
+ { 1983641, "UiWidgetStringSource.db2" },
+ { 2740907, "UiWidgetVisTypeDataReq.db2" },
+ { 1983276, "UiWidgetVisualization.db2" },
+ { 1284821, "UnitBlood.db2" },
+ { 1268904, "UnitBloodLevels.db2" },
+ { 1120959, "UnitCondition.db2" },
+ { 1237753, "UnitPowerBar.db2" },
+ { 1368621, "Vehicle.db2" },
+ { 1345447, "VehicleSeat.db2" },
+ { 1279741, "VehicleUIIndSeat.db2" },
+ { 1279740, "VehicleUIIndicator.db2" },
+ { 892861, "Vignette.db2" },
+ { 1634482, "VirtualAttachment.db2" },
+ { 1634480, "VirtualAttachmentCustomization.db2" },
+ { 1267067, "VocalUISounds.db2" },
+ { 1355528, "WMOAreaTable.db2" },
+ { 1323241, "WMOMinimapTexture.db2" },
+ { 2565222, "WaterfallData.db2" },
+ { 2565258, "WaypointEdge.db2" },
+ { 2565265, "WaypointNode.db2" },
+ { 2820850, "WaypointSafeLocs.db2" },
+ { 879634, "WbAccessControlList.db2" },
+ { 879591, "WbCertWhitelist.db2" },
+ { 1267648, "WeaponImpactSounds.db2" },
+ { 1267068, "WeaponSwingSounds2.db2" },
+ { 982461, "WeaponTrail.db2" },
+ { 1239843, "WeaponTrailModelDef.db2" },
+ { 1239842, "WeaponTrailParam.db2" },
+ { 1343311, "Weather.db2" },
+ { 1965591, "WeatherXParticulate.db2" },
+ { 943871, "WindSettings.db2" },
+ { 975279, "WorldBossLockout.db2" },
+ { 1267069, "WorldChunkSounds.db2" },
+ { 1343312, "WorldEffect.db2" },
+ { 1135240, "WorldElapsedTimer.db2" },
+ { 1134579, "WorldMapOverlay.db2" },
+ { 1957212, "WorldMapOverlayTile.db2" },
+ { 1369425, "WorldSafeLocs.db2" },
+ { 1332558, "WorldStateExpression.db2" },
+ { 1343596, "WorldStateUI.db2" },
+ { 1266941, "WorldStateZoneSounds.db2" },
+ { 1310255, "World_PVP_Area.db2" },
+ { 1310251, "ZoneIntroMusicTable.db2" },
+ { 1310253, "ZoneLight.db2" },
+ { 1310256, "ZoneLightPoint.db2" },
+ { 1310254, "ZoneMusic.db2" },
+ { 1797864, "ZoneStory.db2" },
};
#endif // DBFilesClientList_h__
diff --git a/src/tools/vmap4_extractor/gameobject_extract.cpp b/src/tools/vmap4_extractor/gameobject_extract.cpp
index f4e8b8b5a96..bf9cf73e678 100644
--- a/src/tools/vmap4_extractor/gameobject_extract.cpp
+++ b/src/tools/vmap4_extractor/gameobject_extract.cpp
@@ -87,7 +87,7 @@ void ExtractGameobjectModels()
{
printf("Extracting GameObject models...\n");
- DB2CascFileSource source(CascStorage, "DBFilesClient\\GameObjectDisplayInfo.db2");
+ DB2CascFileSource source(CascStorage, GameobjectDisplayInfoLoadInfo::Instance()->Meta->FileDataId);
DB2FileLoader db2;
if (!db2.Load(&source, GameobjectDisplayInfoLoadInfo::Instance()))
{
diff --git a/src/tools/vmap4_extractor/vmapexport.cpp b/src/tools/vmap4_extractor/vmapexport.cpp
index 3a29be3c3f3..babdb7a99c0 100644
--- a/src/tools/vmap4_extractor/vmapexport.cpp
+++ b/src/tools/vmap4_extractor/vmapexport.cpp
@@ -468,7 +468,7 @@ int main(int argc, char ** argv)
{
printf("Read Map.dbc file... ");
- DB2CascFileSource source(CascStorage, "DBFilesClient\\Map.db2");
+ DB2CascFileSource source(CascStorage, MapLoadInfo::Instance()->Meta->FileDataId);
DB2FileLoader db2;
if (!db2.Load(&source, MapLoadInfo::Instance()))
{