Fix missing map_meta.txt error when creating new worlds
A missing map_meta.txt should be treated simply as if there were a blank file.
This commit is contained in:
parent
ca217d0416
commit
eeea454bff
24
src/map.cpp
24
src/map.cpp
@ -3109,7 +3109,7 @@ void ServerMap::saveMapMeta()
|
|||||||
|
|
||||||
createDirs(m_savedir);
|
createDirs(m_savedir);
|
||||||
|
|
||||||
std::string fullpath = m_savedir + DIR_DELIM + "map_meta.txt";
|
std::string fullpath = m_savedir + DIR_DELIM "map_meta.txt";
|
||||||
std::ostringstream ss(std::ios_base::binary);
|
std::ostringstream ss(std::ios_base::binary);
|
||||||
|
|
||||||
Settings params;
|
Settings params;
|
||||||
@ -3133,19 +3133,21 @@ void ServerMap::loadMapMeta()
|
|||||||
{
|
{
|
||||||
DSTACK(__FUNCTION_NAME);
|
DSTACK(__FUNCTION_NAME);
|
||||||
|
|
||||||
std::string fullpath = m_savedir + DIR_DELIM "map_meta.txt";
|
|
||||||
std::ifstream is(fullpath.c_str(), std::ios_base::binary);
|
|
||||||
if (!is.good()) {
|
|
||||||
errorstream << "ServerMap::loadMapMeta(): "
|
|
||||||
<< "could not open" << fullpath << std::endl;
|
|
||||||
throw FileNotGoodException("Cannot open map metadata");
|
|
||||||
}
|
|
||||||
|
|
||||||
Settings params;
|
Settings params;
|
||||||
|
std::string fullpath = m_savedir + DIR_DELIM "map_meta.txt";
|
||||||
|
|
||||||
if (!params.parseConfigLines(is, "[end_of_params]")) {
|
if (fs::PathExists(fullpath)) {
|
||||||
throw SerializationError("ServerMap::loadMapMeta(): "
|
std::ifstream is(fullpath.c_str(), std::ios_base::binary);
|
||||||
|
if (!is.good()) {
|
||||||
|
errorstream << "ServerMap::loadMapMeta(): "
|
||||||
|
"could not open " << fullpath << std::endl;
|
||||||
|
throw FileNotGoodException("Cannot open map metadata");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!params.parseConfigLines(is, "[end_of_params]")) {
|
||||||
|
throw SerializationError("ServerMap::loadMapMeta(): "
|
||||||
"[end_of_params] not found!");
|
"[end_of_params] not found!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_emerge->loadParamsFromSettings(¶ms);
|
m_emerge->loadParamsFromSettings(¶ms);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user