about summary refs log tree commit diff
path: root/src/engine/client
diff options
context:
space:
mode:
authoroy <Tom_Adams@web.de>2011-04-04 18:20:05 +0200
committeroy <Tom_Adams@web.de>2011-04-04 18:20:05 +0200
commit4ad6d2f01e5b972a969dced080976f2e8dfbd939 (patch)
treecd0e24e2daf73295c0a23ff12198b5bc0acd555c /src/engine/client
parent622b3de9bd224dca8c55ea6ab7b12d05dc30e705 (diff)
downloadzcatch-4ad6d2f01e5b972a969dced080976f2e8dfbd939.tar.gz
zcatch-4ad6d2f01e5b972a969dced080976f2e8dfbd939.zip
fixed problem with sv_bindaddr on the server
Diffstat (limited to 'src/engine/client')
-rw-r--r--src/engine/client/client.cpp28
-rw-r--r--src/engine/client/client.h1
2 files changed, 15 insertions, 14 deletions
diff --git a/src/engine/client/client.cpp b/src/engine/client/client.cpp
index e9df09c5..e3ff7b47 100644
--- a/src/engine/client/client.cpp
+++ b/src/engine/client/client.cpp
@@ -1788,7 +1788,7 @@ void CClient::VersionUpdate()
 {
 	if(m_VersionInfo.m_State == CVersionInfo::STATE_INIT)
 	{
-		Engine()->HostLookup(&m_VersionInfo.m_VersionServeraddr, g_Config.m_ClVersionServer);
+		Engine()->HostLookup(&m_VersionInfo.m_VersionServeraddr, g_Config.m_ClVersionServer, m_BindAddr.type);
 		m_VersionInfo.m_State = CVersionInfo::STATE_START;
 	}
 	else if(m_VersionInfo.m_State == CVersionInfo::STATE_START)
@@ -1851,6 +1851,18 @@ void CClient::Run()
 	if(m_pGraphics->Init() != 0)
 		return;
 
+	// open socket
+	{
+		NETADDR BindAddr;
+		mem_zero(&BindAddr, sizeof(BindAddr));
+		BindAddr.type = NETTYPE_ALL;
+		if(!m_NetClient.Open(BindAddr, 0))
+		{
+			dbg_msg("client", "couldn't start network");
+			return;
+		}
+	}
+
 	// init font rendering
 	Kernel()->RequestInterface<IEngineTextRender>()->Init();
 
@@ -1858,7 +1870,7 @@ void CClient::Run()
 	Input()->Init();
 
 	// start refreshing addresses while we load
-	MasterServer()->RefreshAddresses();
+	MasterServer()->RefreshAddresses(m_BindAddr.type);
 
 	// init the editor
 	m_pEditor->Init();
@@ -1875,18 +1887,6 @@ void CClient::Run()
 	str_format(aBuf, sizeof(aBuf), "version %s", GameClient()->NetVersion());
 	m_pConsole->Print(IConsole::OUTPUT_LEVEL_STANDARD, "client", aBuf);
 
-	// open socket
-	{
-		NETADDR BindAddr;
-		mem_zero(&BindAddr, sizeof(BindAddr));
-		BindAddr.type = NETTYPE_ALL;
-		if(!m_NetClient.Open(BindAddr, 0))
-		{
-			dbg_msg("client", "couldn't start network");
-			return;
-		}
-	}
-
 	// connect to the server if wanted
 	/*
 	if(config.cl_connect[0] != 0)
diff --git a/src/engine/client/client.h b/src/engine/client/client.h
index fa0ddaf7..ddcd1167 100644
--- a/src/engine/client/client.h
+++ b/src/engine/client/client.h
@@ -118,6 +118,7 @@ class CClient : public IClient, public CDemoPlayer::IListner
 	float m_FrameTimeHigh;
 	int m_Frames;
 	NETADDR m_ServerAddress;
+	NETADDR m_BindAddr;
 	int m_WindowMustRefocus;
 	int m_SnapCrcErrors;
 	bool m_AutoScreenshotRecycle;