fixing WDBC localized strings

This commit is contained in:
Alister
2021-12-26 15:17:48 +00:00
parent 58f770ad32
commit e01391898c
3 changed files with 20 additions and 6 deletions

View File

@@ -4,6 +4,7 @@
#include <noggit/ui/FontAwesome.hpp>
#include <noggit/ui/windows/noggitWindow/NoggitWindow.hpp>
#include <blizzard-database-library/include/structures/Types.h>
#include <noggit/MapView.h>
#include <noggit/World.h>
#include <noggit/Log.h>
@@ -312,7 +313,7 @@ void MapCreationWizard::selectMap(int map_id)
auto directoryName = record.Columns["Directory"].Value;
auto instanceType = record.Columns["InstanceType"].Value;
auto mapName = record.Columns["MapName_lang"].Value;
auto areaTableId = record.Columns["AreaTableID"].Value;
auto loadingScreenId = record.Columns["LoadingScreenID"].Value;
auto minimapIconScale = record.Columns["MinimapIconScale"].Value;
@@ -321,6 +322,7 @@ void MapCreationWizard::selectMap(int map_id)
auto expansionId = record.Columns["ExpansionID"].Value;
auto maxPlayers = record.Columns["MaxPlayers"].Value;
auto timeOffset = record.Columns["TimeOffset"].Value;
_world = new World(directoryName, map_id, Noggit::NoggitRenderContext::MAP_VIEW);
_minimap_widget->world(_world);
@@ -334,13 +336,12 @@ void MapCreationWizard::selectMap(int map_id)
_instance_type->setCurrentIndex(std::atoi(instanceType.c_str()));
//_map_name->fill(record, 5);
_map_name->fill(record, "MapName_lang");
_map_desc_alliance->fill(record, "MapDescription0_lang");
_map_desc_horde->fill(record, "MapDescription1_lang");
_area_table_id->setValue(std::atoi(areaTableId.c_str()));
//_map_desc_alliance->fill(record, 23);
//_map_desc_horde->fill(record, 40);
_loading_screen->setValue(std::atoi(loadingScreenId.c_str()));
_minimap_icon_scale->setValue(std::atof(minimapIconScale.c_str()));
@@ -650,6 +651,18 @@ void LocaleDBCEntry::fill(DBCFile::Record& record, size_t field)
_flags->setValue(record.getInt(field + 16));
}
void LocaleDBCEntry::fill(BlizzardDatabaseLib::Structures::BlizzardDatabaseRow& record, std::string columnName)
{
auto columnValues = record.Columns[columnName].Values;
auto columnFlagsValue = record.Columns[columnName + "_flags"].Value;
for (int loc = 0; loc < 16; ++loc)
{
setValue(columnValues[loc], loc);
}
_flags->setValue(std::atoi(columnFlagsValue.c_str()));
}
void LocaleDBCEntry::toRecord(DBCFile::Record &record, size_t field)
{
for (int loc = 0; loc < 16; ++loc)

View File

@@ -45,6 +45,7 @@ namespace Noggit
std::string getValue(int locale) { return _widget_map.at(_locale_names[locale])->text().toStdString(); };
void fill(DBCFile::Record& record, size_t field);
void fill(BlizzardDatabaseLib::Structures::BlizzardDatabaseRow& record, std::string columnName);
void clear();
void toRecord(DBCFile::Record& record, size_t field);