diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2008-08-31 21:50:14 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2008-08-31 21:50:14 +0000 |
| commit | 04eddacd65fd3da680e3d896368cb766b377e6e2 (patch) | |
| tree | 4e99da87a56b59901e4752d7ac8d593a93ecd508 /src/engine/client | |
| parent | 62d9ff05d6cc0ae1cd952d51a168f6ffcf6abf60 (diff) | |
| download | zcatch-04eddacd65fd3da680e3d896368cb766b377e6e2.tar.gz zcatch-04eddacd65fd3da680e3d896368cb766b377e6e2.zip | |
setting of correct game type in game controller. fixed gametype filter in browser. various cleanups
Diffstat (limited to 'src/engine/client')
| -rw-r--r-- | src/engine/client/ec_gfx.c | 2 | ||||
| -rw-r--r-- | src/engine/client/ec_srvbrowse.c | 13 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/engine/client/ec_gfx.c b/src/engine/client/ec_gfx.c index d26c0b72..c062ebbd 100644 --- a/src/engine/client/ec_gfx.c +++ b/src/engine/client/ec_gfx.c @@ -177,7 +177,7 @@ int gfx_init() } else { - int result = glfwOpenWindow(screen_width, screen_height, 0, 0, 0, 8, 24, 0, GLFW_WINDOW); + int result = glfwOpenWindow(screen_width, screen_height, 0, 0, 0, config.gfx_alphabits, 24, 0, GLFW_WINDOW); if(result != GL_TRUE) { dbg_msg("game", "failed to create gl context"); diff --git a/src/engine/client/ec_srvbrowse.c b/src/engine/client/ec_srvbrowse.c index f26ac9e3..e9d8dd75 100644 --- a/src/engine/client/ec_srvbrowse.c +++ b/src/engine/client/ec_srvbrowse.c @@ -48,6 +48,7 @@ static int num_server_capacity = 0; static int sorthash = 0; static char filterstring[64] = {0}; +static char filtergametypestring[128] = {0}; static int serverlist_lan = 1; static int64 broadcast_time = 0; @@ -181,7 +182,13 @@ static void client_serverbrowse_filter() if(!matchfound) filtered = 1; } - + else if(config.b_filter_gametype[0] != 0) + { + /* match against game type */ + if(!str_find_nocase(serverlist[i]->info.gametype, config.b_filter_gametype)) + filtered = 1; + } + if(filtered == 0) sorted_serverlist[num_sorted_servers++] = i; } @@ -195,7 +202,6 @@ static int client_serverbrowse_sorthash() i |= config.b_filter_pw<<6; i |= config.b_sort_order<<7; i |= config.b_filter_compatversion<<8; - i |= config.b_filter_gametype<<9; i |= config.b_filter_ping<<16; return i; } @@ -236,6 +242,7 @@ static void client_serverbrowse_sort() for(i = 0; i < num_sorted_servers; i++) serverlist[sorted_serverlist[i]]->info.sorted_index = i; + str_copy(filtergametypestring, config.b_filter_gametype, sizeof(filtergametypestring)); str_copy(filterstring, config.b_filter_string, sizeof(filterstring)); sorthash = client_serverbrowse_sorthash(); } @@ -467,6 +474,6 @@ void client_serverbrowse_update() /* check if we need to resort */ /* TODO: remove the strcmp */ - if(sorthash != client_serverbrowse_sorthash() || strcmp(filterstring, config.b_filter_string) != 0) + if(sorthash != client_serverbrowse_sorthash() || strcmp(filterstring, config.b_filter_string) != 0 || strcmp(filtergametypestring, config.b_filter_gametype) != 0) client_serverbrowse_sort(); } |