// load one tile (internal use only) bool VMapManager2::_loadMap(uint32 mapId, const std::string& basePath, uint32 tileX, uint32 tileY) { InstanceTreeMap::iterator instanceTree = iInstanceMapTrees.find(mapId); if (instanceTree == iInstanceMapTrees.end()) { if (thread_safe_environment) instanceTree = iInstanceMapTrees.insert(InstanceTreeMap::value_type(mapId, nullptr)).first; else ASSERT(false, "Invalid mapId %u tile [%u, %u] passed to VMapManager2 after startup in thread unsafe environment", mapId, tileX, tileY); } if (!instanceTree->second) { std::string mapFileName = getMapFileName(mapId); StaticMapTree* newTree = new StaticMapTree(mapId, basePath); if (!newTree->InitMap(mapFileName, this)) { delete newTree; return false; } instanceTree->second = newTree; } return instanceTree->second->LoadMapTile(tileX, tileY, this); }
bool VMapManager2::_loadMap(unsigned int pMapId, const std::string &basePath, uint32 tileX, uint32 tileY) { InstanceTreeMap::iterator instanceTree = iInstanceMapTrees.find(pMapId); if (instanceTree == iInstanceMapTrees.end()) { std::string mapFileName = getMapFileName(pMapId); StaticMapTree *newTree = new StaticMapTree(pMapId, basePath); if (!newTree->InitMap(mapFileName, this)) return false; instanceTree = iInstanceMapTrees.insert(InstanceTreeMap::value_type(pMapId, newTree)).first; } return instanceTree->second->LoadMapTile(tileX, tileY, this); }