From 3236701d5131ad057457f4b3d43d3377ff37aabd Mon Sep 17 00:00:00 2001 From: rwjuk Date: Mon, 26 Jun 2017 18:59:01 +0100 Subject: [PATCH] Fix #5707: Usernames aren't detected for multiplayer --- src/openrct2/config/Config.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/openrct2/config/Config.cpp b/src/openrct2/config/Config.cpp index 8e565a8e19..de5fcdda56 100644 --- a/src/openrct2/config/Config.cpp +++ b/src/openrct2/config/Config.cpp @@ -344,8 +344,20 @@ namespace Config { if (reader->ReadSection("network")) { + // If the `player_name` setting is missing or equal to the empty string + // use the logged-in user's username instead + utf8* playerName = reader->GetCString("player_name", ""); + if (String::Compare(playerName, "") == 0) + { + playerName = String::Duplicate(platform_get_username()); + if (playerName == nullptr) + { + playerName = "Player"; + } + } + auto model = &gConfigNetwork; - model->player_name = reader->GetCString("player_name", "Player"); + model->player_name = playerName; model->default_port = reader->GetSint32("default_port", NETWORK_DEFAULT_PORT); model->listen_address = reader->GetCString("listen_address", ""); model->default_password = reader->GetCString("default_password", nullptr);