void EmergeManager::initMapgens(MapgenParams *mgparams) { Mapgen *mg; if (mapgen.size()) return; // Resolve names of nodes for things that were registered // (at this point, the registration period is over) biomedef->resolveNodeNames(ndef); for (size_t i = 0; i != ores.size(); i++) ores[i]->resolveNodeNames(ndef); for (size_t i = 0; i != decorations.size(); i++) decorations[i]->resolveNodeNames(ndef); // Apply mapgen parameter overrides from Lua if (luaoverride_params) { if (luaoverride_params_modified & MGPARAMS_SET_MGNAME) { MapgenParams *mgp = setMapgenType(mgparams, luaoverride_params->mg_name); if (!mgp) { errorstream << "EmergeManager: Failed to set new mapgen name" << std::endl; } else { mgparams = mgp; } } if (luaoverride_params_modified & MGPARAMS_SET_SEED) mgparams->seed = luaoverride_params->seed; if (luaoverride_params_modified & MGPARAMS_SET_WATER_LEVEL) mgparams->water_level = luaoverride_params->water_level; if (luaoverride_params_modified & MGPARAMS_SET_FLAGS) { mgparams->flags &= ~luaoverride_flagmask; mgparams->flags |= luaoverride_params->flags; } delete luaoverride_params; luaoverride_params = NULL; } // Create the mapgens this->params = mgparams; for (size_t i = 0; i != emergethread.size(); i++) { mg = createMapgen(params->mg_name, i, params); if (!mg) { infostream << "EmergeManager: Falling back to Mapgen V6" << std::endl; params = setMapgenType(params, "v6"); mg = createMapgen(params->mg_name, i, params); if (!mg) { errorstream << "EmergeManager: CRITICAL ERROR: Failed to fall" "back to Mapgen V6, not generating map" << std::endl; } } mapgen.push_back(mg); } }
void EmergeManager::initMapgens(MapgenParams *mgparams) { Mapgen *mg; if (mapgen.size()) return; // Resolve names of nodes for things that were registered // (at this point, the registration period is over) biomedef->resolveNodeNames(ndef); for (size_t i = 0; i != ores.size(); i++) ores[i]->resolveNodeNames(ndef); for (size_t i = 0; i != decorations.size(); i++) decorations[i]->resolveNodeNames(ndef); // Apply mapgen parameter overrides from Lua if (luaoverride_params) { if (luaoverride_params_modified & MGPARAMS_SET_MGNAME) mgparams->mg_name = luaoverride_params->mg_name; if (luaoverride_params_modified & MGPARAMS_SET_SEED) mgparams->seed = luaoverride_params->seed; if (luaoverride_params_modified & MGPARAMS_SET_WATER_LEVEL) mgparams->water_level = luaoverride_params->water_level; if (luaoverride_params_modified & MGPARAMS_SET_FLAGS) { mgparams->flags &= ~luaoverride_flagmask; mgparams->flags |= luaoverride_params->flags; } delete luaoverride_params; luaoverride_params = NULL; } // Create the mapgens this->params = mgparams; for (size_t i = 0; i != emergethread.size(); i++) { mg = createMapgen(params->mg_name, 0, params); if (!mg) { infostream << "EmergeManager: falling back to mapgen v6" << std::endl; delete params; params = createMapgenParams("v6"); mg = createMapgen("v6", 0, params); } mapgen.push_back(mg); } }
void EmergeManager::initMapgens() { if (mapgen.size()) return; // Resolve names of nodes for things that were registered // (at this point, the registration period is over) biomedef->resolveNodeNames(ndef); for (size_t i = 0; i != ores.size(); i++) ores[i]->resolveNodeNames(ndef); for (size_t i = 0; i != decorations.size(); i++) decorations[i]->resolveNodeNames(ndef); if (!params.sparams) { params.sparams = createMapgenParams(params.mg_name); if (!params.sparams) { params.mg_name = DEFAULT_MAPGEN; params.sparams = createMapgenParams(params.mg_name); assert(params.sparams); } params.sparams->readParams(g_settings); } // Create the mapgens for (size_t i = 0; i != emergethread.size(); i++) { Mapgen *mg = createMapgen(params.mg_name, i, ¶ms); assert(mg); mapgen.push_back(mg); } }
void EmergeManager::initMapgens(MapgenParams *mgparams) { Mapgen *mg; if (mapgen.size()) return; this->params = mgparams; for (unsigned int i = 0; i != emergethread.size(); i++) { mg = createMapgen(params->mg_name, 0, params); if (!mg) { infostream << "EmergeManager: falling back to mapgen v6" << std::endl; delete params; params = createMapgenParams("v6"); mg = createMapgen("v6", 0, params); } mapgen.push_back(mg); } }
void EmergeManager::initMapgens() { if (mapgen.size()) return; if (!params.sparams) { params.sparams = createMapgenParams(params.mg_name); if (!params.sparams) { params.mg_name = DEFAULT_MAPGEN; params.sparams = createMapgenParams(params.mg_name); assert(params.sparams); } params.sparams->readParams(g_settings); } // Create the mapgens for (size_t i = 0; i != emergethread.size(); i++) { Mapgen *mg = createMapgen(params.mg_name, i, ¶ms); assert(mg); mapgen.push_back(mg); } }