diff options
Diffstat (limited to 'src/engine')
| -rw-r--r-- | src/engine/client/ec_srvbrowse.c | 5 | ||||
| -rw-r--r-- | src/engine/e_config_variables.h | 1 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/engine/client/ec_srvbrowse.c b/src/engine/client/ec_srvbrowse.c index e7d42cc1..c4fe3080 100644 --- a/src/engine/client/ec_srvbrowse.c +++ b/src/engine/client/ec_srvbrowse.c @@ -155,6 +155,8 @@ static void client_serverbrowse_filter() filtered = 1; else if(!(config.b_filter_gametype&(1<<serverlist[i]->info.game_type))) filtered = 1; + else if(config.b_filter_compatversion && strncmp(serverlist[i]->info.version, modc_net_version(), 3) != 0) + filtered = 1; else if(config.b_filter_string[0] != 0) { if(strstr(serverlist[i]->info.name, config.b_filter_string) == 0) @@ -173,7 +175,8 @@ static int client_serverbrowse_sorthash() i |= config.b_filter_full<<5; i |= config.b_filter_pw<<6; i |= config.b_sort_order<<7; - i |= config.b_filter_gametype<<8; + i |= config.b_filter_compatversion<<8; + i |= config.b_filter_gametype<<9; i |= config.b_filter_ping<<16; return i; } diff --git a/src/engine/e_config_variables.h b/src/engine/e_config_variables.h index b7b572d1..773093dc 100644 --- a/src/engine/e_config_variables.h +++ b/src/engine/e_config_variables.h @@ -17,6 +17,7 @@ MACRO_CONFIG_INT(b_filter_empty, 0, 0, 1) MACRO_CONFIG_INT(b_filter_pw, 0, 0, 1) MACRO_CONFIG_INT(b_filter_ping, 999, 0, 999) MACRO_CONFIG_INT(b_filter_gametype, 0xf, 0, 0xf) +MACRO_CONFIG_INT(b_filter_compatversion, 1, 0, 1) MACRO_CONFIG_INT(b_sort, 0, 0, 256) MACRO_CONFIG_INT(b_sort_order, 0, 0, 1) |