本文整理汇总了C++中dbcfile::Iterator::getUInt方法的典型用法代码示例。如果您正苦于以下问题:C++ Iterator::getUInt方法的具体用法?C++ Iterator::getUInt怎么用?C++ Iterator::getUInt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类dbcfile::Iterator
的用法示例。
在下文中一共展示了Iterator::getUInt方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: s
Skies::Skies( int mapid )
{
gLog( "Skies::Skies( %i );\n", mapid );
numSkies = 0;
cs = -1;
stars = 0;
for( DBCFile::Iterator i = gLightDB.begin(); i != gLightDB.end(); ++i )
{
if( mapid == i->getUInt( LightDB::Map ) )
{
Sky s( i );
skies.push_back( s );
numSkies++;
}
}
// sort skies from smallest to largest; global last.
// smaller skies will have precedence when calculating weights to achieve smooth transitions etc.
std::sort( skies.begin( ), skies.end( ) );
stars = new Model( "Environments\\Stars\\Stars.mdx", true );
}
示例2: ExtractGameobjectModels
void ExtractGameobjectModels()
{
printf("Extracting GameObject models...");
DBCFile dbc(LocaleMpq, "DBFilesClient\\GameObjectDisplayInfo.dbc");
if(!dbc.open())
{
printf("Fatal error: Invalid GameObjectDisplayInfo.dbc file format!\n");
exit(1);
}
std::string basepath = szWorkDirWmo;
basepath += "/";
std::string path;
FILE * model_list = fopen((basepath + "temp_gameobject_models").c_str(), "wb");
for (DBCFile::Iterator it = dbc.begin(); it != dbc.end(); ++it)
{
path = it->getString(1);
if (path.length() < 4)
continue;
FixNameCase((char*)path.c_str(), path.size());
char * name = GetPlainName((char*)path.c_str());
FixNameSpaces(name, strlen(name));
char * ch_ext = GetExtension(name);
if (!ch_ext)
continue;
strToLower(ch_ext);
bool result = false;
if (!strcmp(ch_ext, ".wmo"))
result = ExtractSingleWmo(path);
else if (!strcmp(ch_ext, ".mdl")) // TODO: extract .mdl files, if needed
continue;
else //if (!strcmp(ch_ext, ".mdx") || !strcmp(ch_ext, ".m2"))
result = ExtractSingleModel(path);
if (result)
{
uint32 displayId = it->getUInt(0);
uint32 path_length = strlen(name);
fwrite(&displayId, sizeof(uint32), 1, model_list);
fwrite(&path_length, sizeof(uint32), 1, model_list);
fwrite(name, sizeof(char), path_length, model_list);
}
}
fclose(model_list);
printf("Done!\n");
}
示例3: s
Skies::Skies(unsigned int mapid)
{
numSkies = 0;
cs = -1;
stars = 0;
for (DBCFile::Iterator i = gLightDB.begin(); i != gLightDB.end(); ++i)
{
if (mapid == i->getUInt(LightDB::Map))
{
Sky s(i);
skies.push_back(s);
numSkies++;
}
}
if (numSkies == 0)
{
for (DBCFile::Iterator i = gLightDB.begin(); i != gLightDB.end(); ++i)
{
if (0 == i->getUInt(LightDB::Map))
{
Sky s(i);
skies.push_back(s);
numSkies++;
break;
}
}
}
// sort skies from smallest to largest; global last.
// smaller skies will have precedence when calculating weights to achieve smooth transitions etc.
std::sort(skies.begin(), skies.end());
stars = ModelManager::add("Environments\\Stars\\Stars.mdx");
}
示例4: createMapList
void Menu::createMapList()
{
for (DBCFile::Iterator i = gMapDB.begin(); i != gMapDB.end(); ++i)
{
MapEntry e;
e.mapID = i->getInt(MapDB::MapID);
e.name = i->getLocalizedString(MapDB::Name);
e.areaType = i->getUInt(MapDB::AreaType);
if (e.areaType == 3) e.name = i->getString(MapDB::InternalName);
if (e.areaType < 0 || e.areaType > 3 || !World::IsEditableWorld(e.mapID))
continue;
mMaps.push_back(e);
}
}
示例5: ExtractGameobjectModels
void ExtractGameobjectModels()
{
printf("\n");
printf("Extracting GameObject models...\n");
DBCFile dbc("DBFilesClient\\GameObjectDisplayInfo.dbc");
if (!dbc.open())
{
printf("Fatal error: Invalid GameObjectDisplayInfo.dbc file format!\n");
exit(1);
}
std::string basepath = szWorkDirWmo;
basepath += "/";
std::string path;
StringSet failedPaths;
FILE* model_list = fopen((basepath + "temp_gameobject_models").c_str(), "wb");
for (DBCFile::Iterator it = dbc.begin(); it != dbc.end(); ++it)
{
path = it->getString(1);
if (path.length() < 4)
continue;
fixnamen((char*)path.c_str(), path.size());
char* name = GetPlainName((char*)path.c_str());
fixname2(name, strlen(name));
char* ch_ext = GetExtension(name);
if (!ch_ext)
continue;
strToLower(ch_ext);
bool result = false;
if (!strcmp(ch_ext, ".wmo"))
{
result = ExtractSingleWmo(path);
}
else if (!strcmp(ch_ext, ".mdl"))
{
// TODO: extract .mdl files, if needed
continue;
}
else //if (!strcmp(ch_ext, ".mdx") || !strcmp(ch_ext, ".m2"))
{
result = ExtractSingleModel(path, failedPaths);
}
if (result)
{
uint32 displayId = it->getUInt(0);
uint32 path_length = strlen(name);
fwrite(&displayId, sizeof(uint32), 1, model_list);
fwrite(&path_length, sizeof(uint32), 1, model_list);
fwrite(name, sizeof(char), path_length, model_list);
}
}
fclose(model_list);
if (!failedPaths.empty())
{
printf("Warning: Some models could not be extracted, see below\n");
for (StringSet::const_iterator itr = failedPaths.begin(); itr != failedPaths.end(); ++itr)
printf("Could not find file of model %s\n", itr->c_str());
printf("A few of these warnings are expected to happen, so be not alarmed!\n");
}
printf("Done!\n");
}
示例6: ExtractGameobjectModels
void ExtractGameobjectModels(int iCoreNumber, const void *szRawVMAPMagic)
{
printf("\n");
printf("Extracting GameObject models...\n");
DBCFile dbc("DBFilesClient\\GameObjectDisplayInfo.dbc");
if (!dbc.open())
{
printf("Fatal error: Invalid GameObjectDisplayInfo.dbc file format!\n");
exit(1);
}
std::string basepath = szWorkDirWmo;
basepath += "/";
std::string path;
StringSet failedPaths;
FILE* model_list = fopen((basepath + "temp_gameobject_models").c_str(), "wb");
for (DBCFile::Iterator it = dbc.begin(); it != dbc.end(); ++it)
{
path = it->getString(1);
if (path.length() < 4)
{ continue; }
string name;
string ch_ext = GetExtension(path);
if (ch_ext.empty())
{ continue; }
bool result = false;
if (ch_ext == "wmo")
{
name = GetUniformName(path);
result = ExtractSingleWmo(path, iCoreNumber, szRawVMAPMagic);
}
else
{
result = ExtractSingleModel(path, name, failedPaths, iCoreNumber, szRawVMAPMagic);
}
if (result && FileExists((basepath + name).c_str()))
{
uint32 displayId = it->getUInt(0);
uint32 path_length = name.length();
fwrite(&displayId, sizeof(uint32), 1, model_list);
fwrite(&path_length, sizeof(uint32), 1, model_list);
fwrite(name.c_str(), sizeof(char), path_length, model_list);
}
}
fclose(model_list);
if (!failedPaths.empty())
{
printf("\n Warning: Some models could not be extracted, see below\n");
for (StringSet::const_iterator itr = failedPaths.begin(); itr != failedPaths.end(); ++itr)
{ printf(" Could not find file of model %s\n", itr->c_str()); }
printf("\n A few of these warnings are expected to happen, so be not alarmed!\n");
}
printf("\n Asset Extraction Complete !\n");
}
示例7: ExtractGameobjectModels
void ExtractGameobjectModels(char* input_path)
{
HANDLE localeFile;
char localMPQ[512];
sprintf(localMPQ, "%smisc.MPQ", input_path);
if (FileExists(localMPQ)==false)
{ // Use misc.mpq
printf(localMPQ, "%s/Data/%s/locale-%s.MPQ", input_path);
}
if (!SFileOpenArchive(localMPQ, 0, MPQ_OPEN_READ_ONLY, &localeFile))
{
exit(1);
}
printf("Extracting GameObject models...");
DBCFile dbc(localeFile, "DBFilesClient\\GameObjectDisplayInfo.dbc");
if(!dbc.open())
{
printf("Fatal error: Invalid GameObjectDisplayInfo.dbc file format!\n");
exit(1);
}
std::string basepath = szWorkDirWmo;
basepath += "/";
std::string path;
FILE * model_list = fopen((basepath + "temp_gameobject_models").c_str(), "wb");
for (DBCFile::Iterator it = dbc.begin(); it != dbc.end(); ++it)
{
path = it->getString(1);
if (path.length() < 4)
continue;
FixNameCase((char*)path.c_str(), path.size());
char * name = GetPlainName((char*)path.c_str());
FixNameSpaces(name, strlen(name));
char * ch_ext = GetExtension(name);
if (!ch_ext)
continue;
strToLower(ch_ext);
bool result = false;
if (!strcmp(ch_ext, ".wmo"))
result = ExtractSingleWmo(path);
else if (!strcmp(ch_ext, ".mdl")) // TODO: extract .mdl files, if needed
continue;
else //if (!strcmp(ch_ext, ".mdx") || !strcmp(ch_ext, ".m2"))
result = ExtractSingleModel(path);
if (result)
{
uint32 displayId = it->getUInt(0);
uint32 path_length = strlen(name);
fwrite(&displayId, sizeof(uint32), 1, model_list);
fwrite(&path_length, sizeof(uint32), 1, model_list);
fwrite(name, sizeof(char), path_length, model_list);
}
}
fclose(model_list);
printf("Done!\n");
}