Skip to content

Commit

Permalink
Fix client "double saving" simple singleplayer local maps
Browse files Browse the repository at this point in the history
  • Loading branch information
Zeno- committed Nov 25, 2014
1 parent 5413ed1 commit 26cf98c
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 4 deletions.
4 changes: 3 additions & 1 deletion src/client.cpp
Expand Up @@ -219,6 +219,7 @@ Client::Client(
IrrlichtDevice *device,
const char *playername,
std::string password,
bool is_simple_singleplayer_game,
MapDrawControl &control,
IWritableTextureSource *tsrc,
IWritableShaderSource *shsrc,
Expand Down Expand Up @@ -280,7 +281,8 @@ Client::Client(
m_env.addPlayer(player);
}

if (g_settings->getBool("enable_local_map_saving")) {
if (g_settings->getBool("enable_local_map_saving")
&& !is_simple_singleplayer_game) {
const std::string world_path = porting::path_user + DIR_DELIM + "worlds"
+ DIR_DELIM + "server_" + g_settings->get("address")
+ "_" + g_settings->get("remote_port");
Expand Down
1 change: 1 addition & 0 deletions src/client.h
Expand Up @@ -305,6 +305,7 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef
IrrlichtDevice *device,
const char *playername,
std::string password,
bool is_simple_singleplayer_game,
MapDrawControl &control,
IWritableTextureSource *tsrc,
IWritableShaderSource *shsrc,
Expand Down
8 changes: 5 additions & 3 deletions src/game.cpp
Expand Up @@ -2103,9 +2103,11 @@ bool Game::connectToServer(const std::string &playername,
return false;
}

client = new Client(device, playername.c_str(), password, *draw_control,
texture_src, shader_src, itemdef_manager, nodedef_manager, sound,
eventmgr, connect_address.isIPv6());
client = new Client(device,
playername.c_str(), password, simple_singleplayer_mode,
*draw_control, texture_src, shader_src,
itemdef_manager, nodedef_manager, sound, eventmgr,
connect_address.isIPv6());

if (!client)
return false;
Expand Down

0 comments on commit 26cf98c

Please sign in to comment.