about summary refs log tree commit diff
path: root/src/engine/client
diff options
context:
space:
mode:
authorheinrich5991 <heinrich5991@gmail.com>2011-04-17 11:57:33 +0200
committeroy <Tom_Adams@web.de>2011-05-02 19:25:38 +0200
commit9fb36fd8027f547845df8af67c785456e67492dc (patch)
tree7caa10645d6bcbdd7c78ced789372541b3ef963d /src/engine/client
parent80173447ff539e7a5a5e515cef8221707c46aa95 (diff)
downloadzcatch-9fb36fd8027f547845df8af67c785456e67492dc.tar.gz
zcatch-9fb36fd8027f547845df8af67c785456e67492dc.zip
added strict game type filter
Diffstat (limited to 'src/engine/client')
-rw-r--r--src/engine/client/serverbrowser.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/engine/client/serverbrowser.cpp b/src/engine/client/serverbrowser.cpp
index 64d06116..424acb22 100644
--- a/src/engine/client/serverbrowser.cpp
+++ b/src/engine/client/serverbrowser.cpp
@@ -196,7 +196,9 @@ void CServerBrowser::Filter()
 				Filtered = 1;
 			else if(g_Config.m_BrFilterServerAddress[0] && !str_find_nocase(m_ppServerlist[i]->m_Info.m_aAddress, g_Config.m_BrFilterServerAddress))
 				Filtered = 1;
-			else if(g_Config.m_BrFilterGametype[0] && !str_find_nocase(m_ppServerlist[i]->m_Info.m_aGameType, g_Config.m_BrFilterGametype))
+			else if(g_Config.m_BrFilterGametypeStrict && g_Config.m_BrFilterGametype[0] && str_comp_nocase(m_ppServerlist[i]->m_Info.m_aGameType, g_Config.m_BrFilterGametype))
+				Filtered = 1;
+			else if(!g_Config.m_BrFilterGametypeStrict && g_Config.m_BrFilterGametype[0] && !str_find_nocase(m_ppServerlist[i]->m_Info.m_aGameType, g_Config.m_BrFilterGametype))
 				Filtered = 1;
 			else if(g_Config.m_BrFilterString[0] != 0)
 			{
@@ -252,6 +254,7 @@ int CServerBrowser::SortHash() const
 	i |= g_Config.m_BrFilterCompatversion<<10;
 	i |= g_Config.m_BrFilterPure<<11;
 	i |= g_Config.m_BrFilterPureMap<<12;
+	i |= g_Config.m_BrFilterGametypeStrict<<13;
 	i |= g_Config.m_BrFilterPing<<18;
 	return i;
 }