summaryrefslogtreecommitdiff
path: root/src/client/game.cpp
diff options
context:
space:
mode:
authorJude Melton-Houghton <jwmhjwmh@gmail.com>2022-01-27 16:24:30 -0500
committerGitHub <noreply@github.com>2022-01-27 22:24:30 +0100
commitfc161e757c14a0d0b86e69fb5ec631fae8b448de (patch)
treed9fc31818916ab8f40238420e1e672fea5e121d9 /src/client/game.cpp
parent47735c273c96e582f6e9bceee223270ad2a99236 (diff)
downloadminetest-fc161e757c14a0d0b86e69fb5ec631fae8b448de.tar.gz
minetest-fc161e757c14a0d0b86e69fb5ec631fae8b448de.tar.bz2
minetest-fc161e757c14a0d0b86e69fb5ec631fae8b448de.zip
Automatically migrate client mod storage (#11960)
Diffstat (limited to 'src/client/game.cpp')
-rw-r--r--src/client/game.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/client/game.cpp b/src/client/game.cpp
index b6052390b..7478e225f 100644
--- a/src/client/game.cpp
+++ b/src/client/game.cpp
@@ -1466,11 +1466,18 @@ bool Game::connectToServer(const GameStartData &start_data,
return false;
}
- client = new Client(start_data.name.c_str(),
- start_data.password, start_data.address,
- *draw_control, texture_src, shader_src,
- itemdef_manager, nodedef_manager, sound, eventmgr,
- m_rendering_engine, connect_address.isIPv6(), m_game_ui.get());
+ try {
+ client = new Client(start_data.name.c_str(),
+ start_data.password, start_data.address,
+ *draw_control, texture_src, shader_src,
+ itemdef_manager, nodedef_manager, sound, eventmgr,
+ m_rendering_engine, connect_address.isIPv6(), m_game_ui.get());
+ client->migrateModStorage();
+ } catch (const BaseException &e) {
+ *error_message = fmtgettext("Error creating client: %s", e.what());
+ errorstream << *error_message << std::endl;
+ return false;
+ }
client->m_simple_singleplayer_mode = simple_singleplayer_mode;