本文整理汇总了C++中BarGoLink::step方法的典型用法代码示例。如果您正苦于以下问题:C++ BarGoLink::step方法的具体用法?C++ BarGoLink::step怎么用?C++ BarGoLink::step使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BarGoLink
的用法示例。
在下文中一共展示了BarGoLink::step方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LoadDBC
inline void LoadDBC(uint32& availableDbcLocales, BarGoLink& bar, StoreProblemList& errlist, DBCStorage<T>& storage, const std::string& dbc_path, const std::string& filename)
{
// compatibility format and C++ structure sizes
MANGOS_ASSERT(DBCFileLoader::GetFormatRecordSize(storage.GetFormat()) == sizeof(T) || LoadDBC_assert_print(DBCFileLoader::GetFormatRecordSize(storage.GetFormat()), sizeof(T), filename));
std::string dbc_filename = dbc_path + filename;
if (storage.Load(dbc_filename.c_str()))
{
bar.step();
for (uint8 i = 0; fullLocaleNameList[i].name; ++i)
{
if (!(availableDbcLocales & (1 << i)))
continue;
std::string dbc_filename_loc = dbc_path + fullLocaleNameList[i].name + "/" + filename;
if (!storage.LoadStringsFrom(dbc_filename_loc.c_str()))
availableDbcLocales &= ~(1 << i); // mark as not available for speedup next checks
}
}
else
{
// sort problematic dbc to (1) non compatible and (2) nonexistent
FILE* f = fopen(dbc_filename.c_str(), "rb");
if (f)
{
char buf[100];
snprintf(buf, 100, " (exist, but have %u fields instead " SIZEFMTD ") Wrong client version DBC file?", storage.GetFieldCount(), strlen(storage.GetFormat()));
errlist.push_back(dbc_filename + buf);
fclose(f);
}
else
errlist.push_back(dbc_filename);
}
}
示例2: LoadDBC
inline void LoadDBC(LocalData& localeData, BarGoLink& bar, StoreProblemList& errlist, DBCStorage<T>& storage, const std::string& dbc_path, const std::string& filename)
{
// compatibility format and C++ structure sizes
MANGOS_ASSERT(DBCFileLoader::GetFormatRecordSize(storage.GetFormat()) == sizeof(T) || LoadDBC_assert_print(DBCFileLoader::GetFormatRecordSize(storage.GetFormat()), sizeof(T), filename));
std::string dbc_filename = dbc_path + filename;
if (storage.Load(dbc_filename.c_str()))
{
bar.step();
for (uint8 i = 0; fullLocaleNameList[i].name; ++i)
{
if (!(localeData.availableDbcLocales & (1 << i)))
continue;
LocaleNameStr const* localStr = &fullLocaleNameList[i];
std::string dbc_dir_loc = dbc_path + localStr->name + "/";
if (!(localeData.checkedDbcLocaleBuilds & (1 << i)))
{
localeData.checkedDbcLocaleBuilds |= (1 << i); // mark as checked for speedup next checks
uint32 build_loc = ReadDBCBuild(dbc_dir_loc, localStr);
if (localeData.main_build != build_loc)
{
localeData.availableDbcLocales &= ~(1 << i); // mark as not available for speedup next checks
// exist but wrong build
if (build_loc)
{
std::string dbc_filename_loc = dbc_path + localStr->name + "/" + filename;
char buf[200];
snprintf(buf, 200, " (exist, but DBC locale subdir %s have DBCs for build %u instead expected build %u, it and other DBC from subdir skipped)", localStr->name, build_loc, localeData.main_build);
errlist.push_back(dbc_filename_loc + buf);
}
continue;
}
}
std::string dbc_filename_loc = dbc_path + localStr->name + "/" + filename;
if (!storage.LoadStringsFrom(dbc_filename_loc.c_str()))
localeData.availableDbcLocales &= ~(1 << i);// mark as not available for speedup next checks
}
}
else
{
// sort problematic dbc to (1) non compatible and (2) nonexistent
FILE* f = fopen(dbc_filename.c_str(), "rb");
if (f)
{
char buf[100];
snprintf(buf, 100, " (exist, but have %u fields instead " SIZEFMTD ") Wrong client version DBC file?", storage.GetFieldCount(), strlen(storage.GetFormat()));
errlist.push_back(dbc_filename + buf);
fclose(f);
}
else
errlist.push_back(dbc_filename);
}
}