diff options
| author | Shauren <shauren.trinity@gmail.com> | 2018-03-16 18:44:57 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2018-09-16 16:57:43 +0200 |
| commit | 1188a48c944aeb650ced19008646b6529c341c22 (patch) | |
| tree | a8c897437e2cce56135a67c539e5574a9fe67092 /src/server | |
| parent | b994868c6a732284f5b1edbd931fc4f6470761a6 (diff) | |
Core/DataStores: Implemented WDC2
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/game/DataStores/DB2Stores.cpp | 12 | ||||
| -rw-r--r-- | src/server/shared/DataStores/DB2DatabaseLoader.cpp | 10 |
2 files changed, 11 insertions, 11 deletions
diff --git a/src/server/game/DataStores/DB2Stores.cpp b/src/server/game/DataStores/DB2Stores.cpp index fe91d679d97..82bacdf7839 100644 --- a/src/server/game/DataStores/DB2Stores.cpp +++ b/src/server/game/DataStores/DB2Stores.cpp @@ -394,21 +394,19 @@ namespace WorldMapAreaByAreaIDContainer _worldMapAreaByAreaID; } -typedef std::vector<std::string> DB2StoreProblemList; - template<class T, template<class> class DB2> -inline void LoadDB2(uint32& availableDb2Locales, DB2StoreProblemList& errlist, StorageMap& stores, DB2StorageBase* storage, std::string const& db2Path, uint32 defaultLocale, DB2<T> const& /*hint*/) +inline void LoadDB2(uint32& availableDb2Locales, std::vector<std::string>& errlist, StorageMap& stores, DB2StorageBase* storage, std::string const& db2Path, uint32 defaultLocale, DB2<T> const& /*hint*/) { // validate structure DB2LoadInfo const* loadInfo = storage->GetLoadInfo(); { std::string clientMetaString, ourMetaString; for (std::size_t i = 0; i < loadInfo->Meta->FieldCount; ++i) - for (std::size_t j = 0; j < loadInfo->Meta->ArraySizes[i]; ++j) - clientMetaString += loadInfo->Meta->Types[i]; + for (std::size_t j = 0; j < loadInfo->Meta->Fields[i].ArraySize; ++j) + clientMetaString += loadInfo->Meta->Fields[i].Type; for (std::size_t i = loadInfo->Meta->HasIndexFieldInData() ? 0 : 1; i < loadInfo->FieldCount; ++i) - ourMetaString += char(std::tolower(loadInfo->Fields[i].Type)); + ourMetaString += loadInfo->Fields[i].Type; ASSERT(clientMetaString == ourMetaString, "%s C++ structure fields %s do not match generated types from the client %s", @@ -471,7 +469,7 @@ void DB2Manager::LoadStores(std::string const& dataPath, uint32 defaultLocale) std::string db2Path = dataPath + "dbc/"; - DB2StoreProblemList bad_db2_files; + std::vector<std::string> bad_db2_files; uint32 availableDb2Locales = 0xFF; #define LOAD_DB2(store) LoadDB2(availableDb2Locales, bad_db2_files, _stores, &store, db2Path, defaultLocale, store) diff --git a/src/server/shared/DataStores/DB2DatabaseLoader.cpp b/src/server/shared/DataStores/DB2DatabaseLoader.cpp index 3619920c0c0..ec99537c066 100644 --- a/src/server/shared/DataStores/DB2DatabaseLoader.cpp +++ b/src/server/shared/DataStores/DB2DatabaseLoader.cpp @@ -112,7 +112,7 @@ char* DB2DatabaseLoader::Load(uint32& records, char**& indexTable, char*& string for (uint32 x = 0; x < _loadInfo->Meta->FieldCount; ++x) { - for (uint32 z = 0; z < _loadInfo->Meta->ArraySizes[x]; ++z) + for (uint32 z = 0; z < _loadInfo->Meta->Fields[x].ArraySize; ++z) { switch (_loadInfo->TypesString[f]) { @@ -165,7 +165,8 @@ char* DB2DatabaseLoader::Load(uint32& records, char**& indexTable, char*& string break; } default: - ASSERT(false, "Unknown format character '%c' found in %s meta", _loadInfo->TypesString[x], _storageName.c_str()); + ASSERT(false, "Unknown format character '%c' found in %s meta for field %s", + _loadInfo->TypesString[f], _storageName.c_str(), _loadInfo->Fields[f].Name); break; } ++f; @@ -236,7 +237,7 @@ void DB2DatabaseLoader::LoadStrings(uint32 locale, uint32 records, char** indexT for (uint32 x = 0; x < fieldCount; ++x) { - for (uint32 z = 0; z < _loadInfo->Meta->ArraySizes[x]; ++z) + for (uint32 z = 0; z < _loadInfo->Meta->Fields[x].ArraySize; ++z) { switch (_loadInfo->TypesString[fieldIndex]) { @@ -269,7 +270,8 @@ void DB2DatabaseLoader::LoadStrings(uint32 locale, uint32 records, char** indexT offset += sizeof(char*); break; default: - ASSERT(false, "Unknown format character '%c' found in %s meta", _loadInfo->TypesString[x], _storageName.c_str()); + ASSERT(false, "Unknown format character '%c' found in %s meta for field %s", + _loadInfo->TypesString[fieldIndex], _storageName.c_str(), _loadInfo->Fields[fieldIndex].Name); break; } ++fieldIndex; |
