diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2007-09-30 11:55:42 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2007-09-30 11:55:42 +0000 |
| commit | 60e0dc07d8653e55b6736606ff72b0d89656d4ab (patch) | |
| tree | bbbb05d4a80c5f56bd6350e16de826cd06f0d570 /src/engine | |
| parent | db999a250293ab72c2dcd5f103b353758163c83d (diff) | |
| download | zcatch-60e0dc07d8653e55b6736606ff72b0d89656d4ab.tar.gz zcatch-60e0dc07d8653e55b6736606ff72b0d89656d4ab.zip | |
added filter by string
Diffstat (limited to 'src/engine')
| -rw-r--r-- | src/engine/client/client.c | 10 | ||||
| -rw-r--r-- | src/engine/config_variables.h | 2 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/engine/client/client.c b/src/engine/client/client.c index 3269ab23..847dd8ea 100644 --- a/src/engine/client/client.c +++ b/src/engine/client/client.c @@ -377,6 +377,7 @@ static int num_servers = 0; static int num_server_capacity = 0; static int sorthash = 0; +static char filterstring[64] = {0}; static int serverlist_lan = 1; @@ -461,6 +462,11 @@ static void client_serverbrowse_filter() filtered = 1; else if(config.b_filter_pw && serverlist[i]->info.flags&1) filtered = 1; + else if(config.b_filter_string[0] != 0) + { + if(strstr(serverlist[i]->info.name, config.b_filter_string) == 0) + filtered = 1; + } if(filtered == 0) sorted_serverlist[num_sorted_servers++] = i; @@ -497,6 +503,7 @@ static void client_serverbrowse_sort() for(i = 0; i < num_sorted_servers; i++) serverlist[sorted_serverlist[i]]->info.sorted_index = i; + strncpy(filterstring, config.b_filter_string, sizeof(filterstring)-1); sorthash = client_serverbrowse_sorthash(); } @@ -707,7 +714,8 @@ static void client_serverbrowse_update() } /* check if we need to resort */ - if(sorthash != client_serverbrowse_sorthash()) + /* TODO: remove the strcmp */ + if(sorthash != client_serverbrowse_sorthash() || strcmp(filterstring, config.b_filter_string) != 0) client_serverbrowse_sort(); } diff --git a/src/engine/config_variables.h b/src/engine/config_variables.h index 4ce022f3..5b855bc3 100644 --- a/src/engine/config_variables.h +++ b/src/engine/config_variables.h @@ -12,6 +12,8 @@ MACRO_CONFIG_INT(debug, 0, 0, 1) MACRO_CONFIG_INT(stress, 0, 0, 0) MACRO_CONFIG_STR(cl_stress_server, 32, "localhost") +MACRO_CONFIG_STR(b_filter_string, 64, "") + MACRO_CONFIG_INT(b_filter_full, 0, 1, 0) MACRO_CONFIG_INT(b_filter_empty, 0, 1, 0) MACRO_CONFIG_INT(b_filter_pw, 0, 1, 0) |