diff options
| author | CastellaFactory <castellafactory@gmail.com> | 2015-09-20 20:08:37 +0900 |
|---|---|---|
| committer | CastellaFactory <castellafactory@gmail.com> | 2015-09-20 20:15:13 +0900 |
| commit | 1f83a3d1468d2bab15174e4a99b08fe57a0ccc21 (patch) | |
| tree | 5dced26d0f0b0cea24e4fb50565c1a1b2443628b /Source/Core/Common/TraversalClient.cpp | |
| parent | 63c373c843a6f1b0e5e0cd3a8cd6f7649cfdac7e (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.cpp | 14 |
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; } |
