aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkwolekr <mirrorisim@gmail.com>2013-01-21 13:40:05 -0500
committerPerttu Ahola <celeron55@gmail.com>2013-01-21 21:41:37 +0200
commitb87cd8c58b4f396e95799c46a0ec11dd4adb85c9 (patch)
treefe9cafd18ff57f9502351bdda0ef51ddba3719b5
parent318669327e84d8fc7498e32c5bacfad658d8ba87 (diff)
downloadminetest-b87cd8c58b4f396e95799c46a0ec11dd4adb85c9.tar.gz
minetest-b87cd8c58b4f396e95799c46a0ec11dd4adb85c9.tar.bz2
minetest-b87cd8c58b4f396e95799c46a0ec11dd4adb85c9.zip
Use a string identifier for a mapgen instead of version
-rw-r--r--src/defaultsettings.cpp2
-rw-r--r--src/map.cpp10
-rw-r--r--src/mapgen.cpp29
-rw-r--r--src/mapgen.h6
4 files changed, 24 insertions, 23 deletions
diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp
index b2d14d3c4..e6526d3d7 100644
--- a/src/defaultsettings.cpp
+++ b/src/defaultsettings.cpp
@@ -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");
diff --git a/src/map.cpp b/src/map.cpp
index dff30940d..6a058bb51 100644
--- a/src/map.cpp
+++ b/src/map.cpp
@@ -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);
diff --git a/src/mapgen.cpp b/src/mapgen.cpp
index e68394a19..c86743459 100644
--- a/src/mapgen.cpp
+++ b/src/mapgen.cpp
@@ -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;
diff --git a/src/mapgen.h b/src/mapgen.h
index 34957d181..d508d37a8 100644
--- a/src/mapgen.h
+++ b/src/mapgen.h
@@ -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);
};