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 Loic Blot
parent 2079462e62
commit 0a299fd4e5
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 local message = nil
core.setting_set("fixed_map_seed", fields["te_seed"])
if not menudata.worldlist:uid_exists_raw(worldname) then if not menudata.worldlist:uid_exists_raw(worldname) then
core.setting_set("mg_name",fields["dd_mapgen"]) core.setting_set("mg_name",fields["dd_mapgen"])
message = core.create_world(worldname,gameindex) 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) message = fgettext("A world named \"$1\" already exists", worldname)
end end
core.setting_set("fixed_map_seed", fields["te_seed"])
if message ~= nil then if message ~= nil then
gamedata.errormessage = message gamedata.errormessage = message
else else

View File

@ -361,7 +361,10 @@ void EmergeManager::loadParamsFromSettings(Settings *settings)
std::string seed_str; std::string seed_str;
const char *setname = (settings == g_settings) ? "fixed_map_seed" : "seed"; 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()); params.seed = read_seed(seed_str.c_str());
} else { } else {
params.seed = params.seed =