From 2f1799dc96c52dcd333c2a73f204874de6240608 Mon Sep 17 00:00:00 2001 From: div0 Date: Mon, 5 Jan 2009 11:01:28 +0000 Subject: [PATCH] menu_slist_modfilter git-svn-id: svn://svn.icculus.org/nexuiz/trunk@5407 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/defaultHavoc.cfg | 1 + data/defaultNexuiz.cfg | 1 + data/qcsrc/menu/nexuiz/serverlist.c | 11 ++++++++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/data/defaultHavoc.cfg b/data/defaultHavoc.cfg index 3c131083f..841bc5acb 100644 --- a/data/defaultHavoc.cfg +++ b/data/defaultHavoc.cfg @@ -29,6 +29,7 @@ set g_balance_falldamage_maxdamage 5 seta r_ambient 20 set g_projectiles_newton_style 0 seta menu_skin "simplygray" +set menu_slist_modfilter "havoc" exec physicsHavoc.cfg exec weaponsHavoc.cfg diff --git a/data/defaultNexuiz.cfg b/data/defaultNexuiz.cfg index 71f39d36b..1a0e838a5 100644 --- a/data/defaultNexuiz.cfg +++ b/data/defaultNexuiz.cfg @@ -1028,6 +1028,7 @@ sbar_flagstatus_pos 115 // for menu server list (eventually make them have engine support?) seta menu_slist_showfull 1 seta menu_slist_showempty 1 +set menu_slist_modfilter "!havoc" // for menu weapon arena set menu_weaponarena_with_laser 0 diff --git a/data/qcsrc/menu/nexuiz/serverlist.c b/data/qcsrc/menu/nexuiz/serverlist.c index a414154a4..a836c5108 100644 --- a/data/qcsrc/menu/nexuiz/serverlist.c +++ b/data/qcsrc/menu/nexuiz/serverlist.c @@ -172,7 +172,7 @@ void refreshServerListNexuizServerList(entity me, float mode) else */ { float m, o; - string s, typestr; + string s, typestr, modstr; s = me.filterString; m = strstrofs(s, ":", 0); @@ -186,6 +186,8 @@ void refreshServerListNexuizServerList(entity me, float mode) else typestr = ""; + modstr = cvar_string("menu_slist_modfilter"); + m = SLIST_MASK_AND - 1; resethostcachemasks(); if(!me.filterShowFull) @@ -194,6 +196,13 @@ void refreshServerListNexuizServerList(entity me, float mode) sethostcachemasknumber(++m, SLIST_FIELD_NUMHUMANS, 1, SLIST_TEST_GREATEREQUAL); if(typestr != "") sethostcachemaskstring(++m, SLIST_FIELD_QCSTATUS, strcat(typestr, ":"), SLIST_TEST_STARTSWITH); + if(modstr != "") + { + if(substring(modstr, 0, 1) == "!") + sethostcachemaskstring(++m, SLIST_FIELD_MOD, substring(modstr, 1, strlen(modstr) - 1), SLIST_TEST_NOTEQUAL); + else + sethostcachemaskstring(++m, SLIST_FIELD_MOD, modstr, SLIST_TEST_EQUAL); + } m = SLIST_MASK_OR - 1; if(s != "") { -- 2.39.2