parent
5117ce4c90
commit
14a1a712de
|
@ -492,19 +492,17 @@ static void correctBlockNodeIds(const NameIdMapping *nimap, MapNode *nodes,
|
|||
// the information to convert those to names.
|
||||
// nodedef contains information to convert our names to globally
|
||||
// correct ids.
|
||||
std::set<content_t> unnamed_contents;
|
||||
std::set<std::string> unallocatable_contents;
|
||||
std::unordered_set<content_t> unnamed_contents;
|
||||
std::unordered_set<std::string> unallocatable_contents;
|
||||
for (u32 i = 0; i < MapBlock::nodecount; i++) {
|
||||
content_t local_id = nodes[i].getContent();
|
||||
std::string name;
|
||||
bool found = nimap->getName(local_id, name);
|
||||
if(!found){
|
||||
if (!nimap->getName(local_id, name)) {
|
||||
unnamed_contents.insert(local_id);
|
||||
continue;
|
||||
}
|
||||
content_t global_id;
|
||||
found = nodedef->getId(name, global_id);
|
||||
if(!found){
|
||||
if (!nodedef->getId(name, global_id)) {
|
||||
global_id = gamedef->allocateUnknownNodeId(name);
|
||||
if(global_id == CONTENT_IGNORE){
|
||||
unallocatable_contents.insert(name);
|
||||
|
@ -513,19 +511,16 @@ static void correctBlockNodeIds(const NameIdMapping *nimap, MapNode *nodes,
|
|||
}
|
||||
nodes[i].setContent(global_id);
|
||||
}
|
||||
for(std::set<content_t>::const_iterator
|
||||
i = unnamed_contents.begin();
|
||||
i != unnamed_contents.end(); ++i){
|
||||
errorstream<<"correctBlockNodeIds(): IGNORING ERROR: "
|
||||
<<"Block contains id "<<(*i)
|
||||
<<" with no name mapping"<<std::endl;
|
||||
|
||||
for (const content_t c: unnamed_contents) {
|
||||
errorstream << "correctBlockNodeIds(): IGNORING ERROR: "
|
||||
<< "Block contains id " << c
|
||||
<< " with no name mapping" << std::endl;
|
||||
}
|
||||
for(std::set<std::string>::const_iterator
|
||||
i = unallocatable_contents.begin();
|
||||
i != unallocatable_contents.end(); ++i){
|
||||
errorstream<<"correctBlockNodeIds(): IGNORING ERROR: "
|
||||
<<"Could not allocate global id for node name \""
|
||||
<<(*i)<<"\""<<std::endl;
|
||||
for (const std::string &node_name: unallocatable_contents) {
|
||||
errorstream << "correctBlockNodeIds(): IGNORING ERROR: "
|
||||
<< "Could not allocate global id for node name \""
|
||||
<< node_name << "\"" << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue