Fix map_seed not changed when creating a new world after login to another

This commit is contained in:
fz72 2015-02-17 16:53:49 +01:00 committed by Perttu Ahola
parent 678546308e
commit 9ef2e5000f
2 changed files with 6 additions and 3 deletions

View File

@ -90,6 +90,8 @@ local function create_world_buttonhandler(this, fields)
local message = nil
core.setting_set("fixed_map_seed", fields["te_seed"])
if not menudata.worldlist:uid_exists_raw(worldname) then
core.setting_set("mg_name",fields["dd_mapgen"])
message = core.create_world(worldname,gameindex)
@ -97,8 +99,6 @@ local function create_world_buttonhandler(this, fields)
message = fgettext("A world named \"$1\" already exists", worldname)
end
core.setting_set("fixed_map_seed", fields["te_seed"])
if message ~= nil then
gamedata.errormessage = message
else

View File

@ -361,7 +361,10 @@ void EmergeManager::loadParamsFromSettings(Settings *settings)
std::string seed_str;
const char *setname = (settings == g_settings) ? "fixed_map_seed" : "seed";
if (settings->getNoEx(setname, seed_str) && !seed_str.empty()) {
if (!settings->getNoEx("seed", seed_str)) {
g_settings->getNoEx(setname, seed_str);
}
if (!seed_str.empty()) {
params.seed = read_seed(seed_str.c_str());
} else {
params.seed =