aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoic Blot <loic.blot@unix-experience.fr>2018-03-16 08:52:42 +0100
committerLoic Blot <loic.blot@unix-experience.fr>2018-03-16 08:52:42 +0100
commit95ce5583a9e4a0f95a4d9b28e0faedccd73e2b9d (patch)
tree512adae4ad72d5e139b9b4bcc1b187d844f53a9a
parent858c95630f799f23b06e845848faf241b7e010f0 (diff)
downloadminetest-95ce5583a9e4a0f95a4d9b28e0faedccd73e2b9d.tar.gz
minetest-95ce5583a9e4a0f95a4d9b28e0faedccd73e2b9d.tar.bz2
minetest-95ce5583a9e4a0f95a4d9b28e0faedccd73e2b9d.zip
ServerEnvironment::loadDefaultMeta: Loading default meta is only possible for ServerEnv itself
-rw-r--r--src/server.cpp8
-rw-r--r--src/serverenvironment.cpp13
-rw-r--r--src/serverenvironment.h8
3 files changed, 19 insertions, 10 deletions
diff --git a/src/server.cpp b/src/server.cpp
index 5b2f69df9..0f9394300 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -274,13 +274,7 @@ Server::Server(
// Register us to receive map edit events
servermap->addEventReceiver(this);
- // If file exists, load environment metadata
- if (fs::PathExists(m_path_world + DIR_DELIM "env_meta.txt")) {
- infostream << "Server: Loading environment metadata" << std::endl;
- m_env->loadMeta();
- } else {
- m_env->loadDefaultMeta();
- }
+ m_env->loadMeta();
m_liquid_transform_every = g_settings->getFloat("liquid_update");
m_max_chatmessage_length = g_settings->getU16("chat_message_max_size");
diff --git a/src/serverenvironment.cpp b/src/serverenvironment.cpp
index 4ca76eead..74b44c730 100644
--- a/src/serverenvironment.cpp
+++ b/src/serverenvironment.cpp
@@ -614,6 +614,16 @@ void ServerEnvironment::saveMeta()
void ServerEnvironment::loadMeta()
{
+ // If file doesn't exist, load default environment metadata
+ if (!fs::PathExists(m_path_world + DIR_DELIM "env_meta.txt")) {
+ infostream << "ServerEnvironment: Loading default environment metadata"
+ << std::endl;
+ loadDefaultMeta();
+ return;
+ }
+
+ infostream << "ServerEnvironment: Loading environment metadata" << std::endl;
+
std::string path = m_path_world + DIR_DELIM "env_meta.txt";
// Open file and deserialize
@@ -664,6 +674,9 @@ void ServerEnvironment::loadMeta()
args.getU64("day_count") : 0;
}
+/**
+ * called if env_meta.txt doesn't exist (e.g. new world)
+ */
void ServerEnvironment::loadDefaultMeta()
{
m_lbm_mgr.loadIntroductionTimes("", m_server, m_game_time);
diff --git a/src/serverenvironment.h b/src/serverenvironment.h
index f4996cdc6..225f788d9 100644
--- a/src/serverenvironment.h
+++ b/src/serverenvironment.h
@@ -232,9 +232,6 @@ public:
*/
void saveMeta();
void loadMeta();
- // to be called instead of loadMeta if
- // env_meta.txt doesn't exist (e.g. new world)
- void loadDefaultMeta();
u32 addParticleSpawner(float exptime);
u32 addParticleSpawner(float exptime, u16 attached_id);
@@ -371,6 +368,11 @@ public:
const Settings &cmd_args);
private:
+ /**
+ * called if env_meta.txt doesn't exist (e.g. new world)
+ */
+ void loadDefaultMeta();
+
static PlayerDatabase *openPlayerDatabase(const std::string &name,
const std::string &savedir, const Settings &conf);
/*