void DataManager::removeGridPath(int x, int y, PathVect* path) { PathList* objects = &GET_GRID_ITEM(grid,x,y).paths; for (PathList::iterator it = objects->begin(); it != objects->end(); it++) { if ((*it).second == path) { objects->erase(it); break; } } }
PathList findResourceDirs(const fs::path& executable) { fs::path mapcrafter_dir = findExecutableMapcrafterDir(executable); PathList resources = { mapcrafter_dir.parent_path() / "share" / "mapcrafter", mapcrafter_dir / "data", }; fs::path home = findHomeDir(); if (!home.empty()) resources.insert(resources.begin(), home / ".mapcrafter"); for (PathList::iterator it = resources.begin(); it != resources.end(); ) { if (!fs::is_directory(*it)) resources.erase(it); else ++it; } return resources; }
PathList findLoggingConfigFiles(const fs::path& executable) { fs::path mapcrafter_dir = findExecutableMapcrafterDir(findExecutablePath()); PathList configs = { mapcrafter_dir.parent_path().parent_path() / "etc" / "mapcrafter" / "logging.conf", mapcrafter_dir / "logging.conf", }; fs::path home = findHomeDir(); if (!home.empty()) configs.insert(configs.begin(), home / ".mapcrafter" / "logging.conf"); for (PathList::iterator it = configs.begin(); it != configs.end(); ) { if (!fs::is_regular_file(*it)) configs.erase(it); else ++it; } return configs; }