From 97260d09a8e658b6ded7d9100b0aa1040fcfe50f Mon Sep 17 00:00:00 2001 From: kwolekr Date: Tue, 5 Feb 2013 15:01:33 -0500 Subject: Add flag string settings, flat map option --- src/mapgen.cpp | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'src/mapgen.cpp') diff --git a/src/mapgen.cpp b/src/mapgen.cpp index f2745bdb4..5a78a541e 100644 --- a/src/mapgen.cpp +++ b/src/mapgen.cpp @@ -35,6 +35,15 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "treegen.h" #include "mapgen_v6.h" +FlagDesc flagdesc_mapgen[] = { + {"trees", MG_TREES}, + {"caves", MG_CAVES}, + {"dungeons", MG_DUNGEONS}, + {"v6_forests", MGV6_FORESTS}, + {"v6_biome_blend", MGV6_BIOME_BLEND}, + {"flat", MG_FLAT}, + {NULL, 0} +}; /////////////////////////////////////////////////////////////////////////////// /////////////////////////////// Emerge Manager //////////////////////////////// @@ -149,7 +158,7 @@ MapgenParams *EmergeManager::getParamsFromSettings(Settings *settings) { mgparams->seed = settings->getU64(settings == g_settings ? "fixed_map_seed" : "seed"); mgparams->water_level = settings->getS16("water_level"); mgparams->chunksize = settings->getS16("chunksize"); - mgparams->flags = settings->getS32("mg_flags"); + mgparams->flags = settings->getFlagStr("mg_flags", flagdesc_mapgen); if (!mgparams->readParams(settings)) { delete mgparams; @@ -159,6 +168,17 @@ MapgenParams *EmergeManager::getParamsFromSettings(Settings *settings) { } +void EmergeManager::setParamsToSettings(Settings *settings) { + settings->set("mg_name", params->mg_name); + settings->setU64("seed", params->seed); + settings->setS16("water_level", params->water_level); + settings->setS16("chunksize", params->chunksize); + settings->setFlagStr("mg_flags", params->flags, flagdesc_mapgen); + + params->writeParams(settings); +} + + bool EmergeManager::registerMapgen(std::string mgname, MapgenFactory *mgfactory) { mglist.insert(std::make_pair(mgname, mgfactory)); infostream << "EmergeManager: registered mapgen " << mgname << std::endl; -- cgit v1.2.3 From 86b33c4922e83cc4f3800212762f341a9e56a904 Mon Sep 17 00:00:00 2001 From: Ilya Zhuravlev Date: Thu, 7 Feb 2013 16:17:55 +0400 Subject: Fix compile error (MSVC2010). --- src/mapgen.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/mapgen.cpp') diff --git a/src/mapgen.cpp b/src/mapgen.cpp index 5a78a541e..b19073e90 100644 --- a/src/mapgen.cpp +++ b/src/mapgen.cpp @@ -179,7 +179,7 @@ void EmergeManager::setParamsToSettings(Settings *settings) { } -bool EmergeManager::registerMapgen(std::string mgname, MapgenFactory *mgfactory) { +void EmergeManager::registerMapgen(std::string mgname, MapgenFactory *mgfactory) { mglist.insert(std::make_pair(mgname, mgfactory)); infostream << "EmergeManager: registered mapgen " << mgname << std::endl; } -- cgit v1.2.3