From 97c9cf3e21460a2292c108e676703cdeb826a22f Mon Sep 17 00:00:00 2001 From: iwubcode Date: Mon, 13 Jul 2020 00:26:43 -0500 Subject: DolphinQt / InputCommon - add DSU string validator to avoid crashes, limited backwards compatibility support --- .../DualShockUDPClient/DualShockUDPClient.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'Source/Core/InputCommon/ControllerInterface/DualShockUDPClient/DualShockUDPClient.cpp') diff --git a/Source/Core/InputCommon/ControllerInterface/DualShockUDPClient/DualShockUDPClient.cpp b/Source/Core/InputCommon/ControllerInterface/DualShockUDPClient/DualShockUDPClient.cpp index 837be2c3df..371db4219c 100644 --- a/Source/Core/InputCommon/ControllerInterface/DualShockUDPClient/DualShockUDPClient.cpp +++ b/Source/Core/InputCommon/ControllerInterface/DualShockUDPClient/DualShockUDPClient.cpp @@ -30,6 +30,9 @@ namespace ciface::DualShockUDPClient { namespace Settings { +const Config::Info SERVER_ADDRESS{ + {Config::System::DualShockUDPClient, "Server", "IPAddress"}, ""}; +const Config::Info SERVER_PORT{{Config::System::DualShockUDPClient, "Server", "Port"}, 0}; const Config::Info SERVERS{{Config::System::DualShockUDPClient, "Server", "Entries"}, ""}; const Config::Info SERVERS_ENABLED{{Config::System::DualShockUDPClient, "Server", "Enabled"}, @@ -361,6 +364,21 @@ static void ConfigChanged() void Init() { + // The following is added for backwards compatibility + const auto server_address_setting = Config::Get(Settings::SERVER_ADDRESS); + const auto server_port_setting = Config::Get(Settings::SERVER_PORT); + + if (!server_address_setting.empty() && server_port_setting != 0) + { + const auto& servers_setting = Config::Get(ciface::DualShockUDPClient::Settings::SERVERS); + Config::SetBaseOrCurrent(ciface::DualShockUDPClient::Settings::SERVERS, + servers_setting + fmt::format("{}:{}:{};", "DS4", + server_address_setting, + server_port_setting)); + Config::SetBase(Settings::SERVER_ADDRESS, ""); + Config::SetBase(Settings::SERVER_PORT, 0); + } + Config::AddConfigChangedCallback(ConfigChanged); } -- cgit v1.2.3