From 9b4d385ab5a0c7e5a66761e48954d8a4b53c96cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Janiszewski?= Date: Tue, 24 May 2016 15:07:03 +0200 Subject: [PATCH] Allow out-of-process edits to keymappings.json Reloads keymappings.json on each client join. This allows for manual edits, so host can add keys without having to restart server for them to go live. --- src/network/network.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/network/network.cpp b/src/network/network.cpp index b230a1d355..95ba2871f4 100644 --- a/src/network/network.cpp +++ b/src/network/network.cpp @@ -1431,7 +1431,6 @@ void Network::SaveKeyMappings() void Network::LoadKeyMappings() { - group_list.clear(); utf8 path[MAX_PATH]; @@ -1441,6 +1440,7 @@ void Network::LoadKeyMappings() if (!platform_file_exists(path)) { return; } + key_group_map.clear(); json_t * jsonKeyMappings = Json::ReadFromFile(path); @@ -1900,6 +1900,8 @@ NetworkPlayer* Network::AddPlayer(const std::string &keyhash) newid = 0; } if (newid != -1) { + // Load keys host may have added manually + LoadKeyMappings(); std::unique_ptr player(new NetworkPlayer); // change to make_unique in c++14 player->id = newid; player->keyhash = keyhash;