summaryrefslogtreecommitdiff
path: root/Source/Core/Common/TraversalClient.cpp
diff options
context:
space:
mode:
authorCastellaFactory <castellafactory@gmail.com>2015-09-20 20:08:37 +0900
committerCastellaFactory <castellafactory@gmail.com>2015-09-20 20:15:13 +0900
commit1f83a3d1468d2bab15174e4a99b08fe57a0ccc21 (patch)
tree5dced26d0f0b0cea24e4fb50565c1a1b2443628b /Source/Core/Common/TraversalClient.cpp
parent63c373c843a6f1b0e5e0cd3a8cd6f7649cfdac7e (diff)
[Netplay:Traversal] Add "Force Netplay Listen Port" feature that was in old netplay branch
Diffstat (limited to 'Source/Core/Common/TraversalClient.cpp')
-rw-r--r--Source/Core/Common/TraversalClient.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/Source/Core/Common/TraversalClient.cpp b/Source/Core/Common/TraversalClient.cpp
index f17ce0d921..339f415c51 100644
--- a/Source/Core/Common/TraversalClient.cpp
+++ b/Source/Core/Common/TraversalClient.cpp
@@ -318,17 +318,19 @@ std::unique_ptr<ENetHost> g_MainNetHost;
// need to know not just what port it's on, but whether it was
// explicitly requested.
static std::string g_OldServer;
-static u16 g_OldPort;
+static u16 g_OldServerPort;
+static u16 g_OldListenPort;
-bool EnsureTraversalClient(const std::string& server, u16 port)
+bool EnsureTraversalClient(const std::string& server, u16 server_port, u16 listen_port)
{
- if (!g_MainNetHost || !g_TraversalClient || server != g_OldServer || port != g_OldPort)
+ if (!g_MainNetHost || !g_TraversalClient || server != g_OldServer || server_port != g_OldServerPort || listen_port != g_OldListenPort)
{
g_OldServer = server;
- g_OldPort = port ;
+ g_OldServerPort = server_port;
+ g_OldListenPort = listen_port;
- ENetAddress addr = { ENET_HOST_ANY, 0 };
+ ENetAddress addr = { ENET_HOST_ANY, listen_port };
ENetHost* host = enet_host_create(
&addr, // address
50, // peerCount
@@ -341,7 +343,7 @@ bool EnsureTraversalClient(const std::string& server, u16 port)
return false;
}
g_MainNetHost.reset(host);
- g_TraversalClient.reset(new TraversalClient(g_MainNetHost.get(), server, port));
+ g_TraversalClient.reset(new TraversalClient(g_MainNetHost.get(), server, server_port));
}
return true;
}