diff --git a/src/map_settings_manager.cpp b/src/map_settings_manager.cpp index 7ef4bf12e..4f070e910 100644 --- a/src/map_settings_manager.cpp +++ b/src/map_settings_manager.cpp @@ -32,7 +32,6 @@ MapSettingsManager::MapSettingsManager(Settings *user_settings, m_user_settings(user_settings) { assert(m_user_settings != NULL); - Mapgen::setDefaultSettings(m_map_settings); } @@ -180,6 +179,16 @@ MapgenParams *MapSettingsManager::makeMapgenParams() params->mgtype = mgtype; + // Load the mapgen param defaults + /* FIXME: Why is it done like this? MapgenParams should just + * set the defaults in its constructor instead. */ + { + Settings default_settings; + Mapgen::setDefaultSettings(&default_settings); + params->MapgenParams::readParams(&default_settings); + params->readParams(&default_settings); + } + // Load the rest of the mapgen params from our active settings params->MapgenParams::readParams(m_user_settings); params->MapgenParams::readParams(m_map_settings);