Skip to content

Commit

Permalink
ServerEnvironment::loadDefaultMeta: Loading default meta is only poss…
Browse files Browse the repository at this point in the history
…ible for ServerEnv itself
  • Loading branch information
nerzhul committed Mar 16, 2018
1 parent 858c956 commit 95ce558
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 10 deletions.
8 changes: 1 addition & 7 deletions src/server.cpp
Expand Up @@ -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");
Expand Down
13 changes: 13 additions & 0 deletions src/serverenvironment.cpp
Expand Up @@ -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
Expand Down Expand Up @@ -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);
Expand Down
8 changes: 5 additions & 3 deletions src/serverenvironment.h
Expand Up @@ -232,9 +232,6 @@ class ServerEnvironment : public Environment
*/
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);
Expand Down Expand Up @@ -371,6 +368,11 @@ class ServerEnvironment : public Environment
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);
/*
Expand Down

0 comments on commit 95ce558

Please sign in to comment.