diff options
Diffstat (limited to 'src/map_settings_manager.cpp')
-rw-r--r-- | src/map_settings_manager.cpp | 49 |
1 files changed, 29 insertions, 20 deletions
diff --git a/src/map_settings_manager.cpp b/src/map_settings_manager.cpp index 9be9194bc..4f070e910 100644 --- a/src/map_settings_manager.cpp +++ b/src/map_settings_manager.cpp @@ -25,21 +25,25 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "map_settings_manager.h" -MapSettingsManager::MapSettingsManager( - Settings *user_settings, const std::string &map_meta_path) : - m_map_meta_path(map_meta_path), - m_map_settings(new Settings()), m_user_settings(user_settings) +MapSettingsManager::MapSettingsManager(Settings *user_settings, + const std::string &map_meta_path): + m_map_meta_path(map_meta_path), + m_map_settings(new Settings()), + m_user_settings(user_settings) { assert(m_user_settings != NULL); } + MapSettingsManager::~MapSettingsManager() { delete m_map_settings; delete mapgen_params; } -bool MapSettingsManager::getMapSetting(const std::string &name, std::string *value_out) + +bool MapSettingsManager::getMapSetting( + const std::string &name, std::string *value_out) { if (m_map_settings->getNoEx(name, *value_out)) return true; @@ -51,15 +55,17 @@ bool MapSettingsManager::getMapSetting(const std::string &name, std::string *val return m_user_settings->getNoEx(name, *value_out); } + bool MapSettingsManager::getMapSettingNoiseParams( - const std::string &name, NoiseParams *value_out) + const std::string &name, NoiseParams *value_out) { return m_map_settings->getNoiseParams(name, *value_out) || - m_user_settings->getNoiseParams(name, *value_out); + m_user_settings->getNoiseParams(name, *value_out); } + bool MapSettingsManager::setMapSetting( - const std::string &name, const std::string &value, bool override_meta) + const std::string &name, const std::string &value, bool override_meta) { if (mapgen_params) return false; @@ -72,8 +78,9 @@ bool MapSettingsManager::setMapSetting( return true; } + bool MapSettingsManager::setMapSettingNoiseParams( - const std::string &name, const NoiseParams *value, bool override_meta) + const std::string &name, const NoiseParams *value, bool override_meta) { if (mapgen_params) return false; @@ -82,13 +89,14 @@ bool MapSettingsManager::setMapSettingNoiseParams( return true; } + bool MapSettingsManager::loadMapMeta() { std::ifstream is(m_map_meta_path.c_str(), std::ios_base::binary); if (!is.good()) { - errorstream << "loadMapMeta: could not open " << m_map_meta_path - << std::endl; + errorstream << "loadMapMeta: could not open " + << m_map_meta_path << std::endl; return false; } @@ -100,6 +108,7 @@ bool MapSettingsManager::loadMapMeta() return true; } + bool MapSettingsManager::saveMapMeta() { // If mapgen params haven't been created yet; abort @@ -108,7 +117,7 @@ bool MapSettingsManager::saveMapMeta() if (!fs::CreateAllDirs(fs::RemoveLastPathComponent(m_map_meta_path))) { errorstream << "saveMapMeta: could not create dirs to " - << m_map_meta_path; + << m_map_meta_path; return false; } @@ -125,14 +134,15 @@ bool MapSettingsManager::saveMapMeta() oss << "[end_of_params]\n"; if (!fs::safeWriteToFile(m_map_meta_path, oss.str())) { - errorstream << "saveMapMeta: could not write " << m_map_meta_path - << std::endl; + errorstream << "saveMapMeta: could not write " + << m_map_meta_path << std::endl; return false; } return true; } + MapgenParams *MapSettingsManager::makeMapgenParams() { if (mapgen_params) @@ -153,13 +163,12 @@ MapgenParams *MapSettingsManager::makeMapgenParams() // Now, get the mapgen type so we can create the appropriate MapgenParams std::string mg_name; - MapgenType mgtype = getMapSetting("mg_name", &mg_name) - ? Mapgen::getMapgenType(mg_name) - : MAPGEN_DEFAULT; + MapgenType mgtype = getMapSetting("mg_name", &mg_name) ? + Mapgen::getMapgenType(mg_name) : MAPGEN_DEFAULT; if (mgtype == MAPGEN_INVALID) { - errorstream << "EmergeManager: mapgen '" << mg_name - << "' not valid; falling back to " - << Mapgen::getMapgenName(MAPGEN_DEFAULT) << std::endl; + errorstream << "EmergeManager: mapgen '" << mg_name << + "' not valid; falling back to " << + Mapgen::getMapgenName(MAPGEN_DEFAULT) << std::endl; mgtype = MAPGEN_DEFAULT; } |