Use a string identifier for a mapgen instead of version
authorkwolekr <mirrorisim@gmail.com>
Mon, 21 Jan 2013 18:40:05 +0000 (13:40 -0500)
committerPerttu Ahola <celeron55@gmail.com>
Mon, 21 Jan 2013 19:41:37 +0000 (21:41 +0200)
src/defaultsettings.cpp
src/map.cpp
src/mapgen.cpp
src/mapgen.h

index b2d14d3c46d298390883778839f10ec707684a49..e6526d3d78d8b10cf1bc7023686b9beee741c51e 100644 (file)
@@ -174,7 +174,7 @@ void set_default_settings(Settings *settings)
        settings->setDefault("remote_media", "");
        
        //mapgen related things
-       settings->setDefault("mg_version", "6");
+       settings->setDefault("mg_name", "v6");
        settings->setDefault("water_level", "1");
        settings->setDefault("chunksize", "5");
        settings->setDefault("mg_flags", "19");
index dff30940daaf178424fe91f12dc105a53e236623..6a058bb51f0237d7886f2c2e0de6e6727e4ed096 100644 (file)
@@ -3079,15 +3079,15 @@ void ServerMap::saveMapMeta()
 
        Settings params;
 
-       params.setS16("mg_version", m_emerge->params->mg_version);
+       params.set("mg_name", m_emerge->params->mg_name);
 
        params.setU64("seed", m_emerge->params->seed);
        params.setS16("water_level", m_emerge->params->water_level);
        params.setS16("chunksize", m_emerge->params->chunksize);
        params.setS32("mg_flags", m_emerge->params->flags);
-       switch (m_emerge->params->mg_version) {
+/*     switch (m_emerge->params->mg_version) {
                case 6:
-               {
+               {*/
                        MapgenV6Params *v6params = (MapgenV6Params *)m_emerge->params;
 
                        params.setFloat("mgv6_freq_desert", v6params->freq_desert);
@@ -3101,11 +3101,11 @@ void ServerMap::saveMapMeta()
                        params.setNoiseParams("mgv6_np_beach",          v6params->np_beach);
                        params.setNoiseParams("mgv6_np_biome",          v6params->np_biome);
                        params.setNoiseParams("mgv6_np_cave",           v6params->np_cave);
-                       break;
+               /*      break;
                }
                default:
                        ; //complain here
-       }
+       }*/
 
        params.writeLines(os);
 
index e68394a197b6a80d9f3b12b9106f9e1addd49b81..c86743459147056adba5d7edcec69e00b9e7be84 100644 (file)
@@ -78,16 +78,16 @@ EmergeManager::~EmergeManager() {
 
 Mapgen *EmergeManager::getMapgen() {
        if (!mapgen) {
-               switch (params->mg_version) {
-                       case 6:
+               /*switch (params->mg_version) {
+                       case 6:*/
                                mapgen = new MapgenV6(0, (MapgenV6Params *)params);
-                               break;
+               /*              break;
                        default:
                                errorstream << "EmergeManager: Unsupported mapgen version "
                                        << params->mg_version << ", falling back to V6" << std::endl;
                                params->mg_version = 6;
                                mapgen = new MapgenV6(0, (MapgenV6Params *)params);
-               }
+               }*/
        }
        return mapgen;
 }
@@ -127,28 +127,29 @@ u32 EmergeManager::getBlockSeed(v3s16 p) {
 }
 
 
-MapgenParams *MapgenParams::createMapgenParams(int mgver) {
-       switch (mgver) {
+MapgenParams *MapgenParams::createMapgenParams(std::string &mgstr) {
+       return new MapgenV6Params(); // this will be fixed later
+       /*switch (mgver) {
                case 6:
                        return new MapgenV6Params();
                default: //instead of complaining, default to 6
                        return new MapgenV6Params();
-       }
+       }*/
 }
 
 
 MapgenParams *MapgenParams::getParamsFromSettings(Settings *settings) {
-       int mg_version = settings->getS16("mg_version");
-       MapgenParams *mgparams = MapgenParams::createMapgenParams(mg_version);
-       mgparams->mg_version  = mg_version;
+       std::string mg_name = settings->get("mg_name");
+       MapgenParams *mgparams = MapgenParams::createMapgenParams(mg_name);
+       mgparams->mg_name     = mg_name;
        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");
 
-       switch (mg_version) {
+/*     switch (mg_version) {
                case 6:
-               {
+               {*/
                        MapgenV6Params *v6params = (MapgenV6Params *)mgparams;
 
                        v6params->freq_desert = settings->getFloat("mgv6_freq_desert");
@@ -170,13 +171,13 @@ MapgenParams *MapgenParams::getParamsFromSettings(Settings *settings) {
                                delete mgparams;
                                return NULL;
                        }
-
+/*
                        break;
                }
                default:
                        delete mgparams;
                        return NULL;
-       }
+       }*/
 
        return mgparams;
 
index 34957d1810a67b012f6a10dae6c529bbbc0bdcbe..d508d37a876c1334c96fe3bd8f324fe82a629b46 100644 (file)
@@ -83,21 +83,21 @@ struct BlockMakeData {
 
 
 struct MapgenParams {
-       int mg_version;
+       std::string mg_name;
        int chunksize;
        u64 seed;
        int water_level;
        u32 flags;
 
        MapgenParams() {
-               mg_version  = 6;
+               mg_name     = "v6";
                seed        = 0;
                water_level = 1;
                chunksize   = 5;
                flags       = MG_TREES | MG_CAVES | MGV6_BIOME_BLEND;
        }
 
-       static MapgenParams *createMapgenParams(int mgver);
+       static MapgenParams *createMapgenParams(std::string &mgname);
        static MapgenParams *getParamsFromSettings(Settings *settings);
 
 };