|
|
|
@ -1,4 +1,4 @@
|
|
|
|
|
/* $Id: netsrvlist.c,v 1.13 2005/03/28 16:38:35 stpohle Exp $
|
|
|
|
|
/* $Id: netsrvlist.c,v 1.14 2005/03/28 18:20:26 stpohle Exp $
|
|
|
|
|
* netsrvlist.c - shows a list of possible servers.*/
|
|
|
|
|
|
|
|
|
|
#include "basic.h"
|
|
|
|
@ -42,7 +42,7 @@ void srvlist_rebuildlist () {
|
|
|
|
|
srvlst_dat[i].version[0] = 0;
|
|
|
|
|
srvlst_dat[i].gamename[0] = 0;
|
|
|
|
|
srvlst_dat[i].comment[0] = 0;
|
|
|
|
|
srvlst_dat[i].ping = 0;
|
|
|
|
|
srvlst_dat[i].ping = -1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
srvlst_cnt = 0;
|
|
|
|
@ -54,6 +54,7 @@ void srvlist_rebuildlist () {
|
|
|
|
|
strncpy (srvlst_dat[srvlst_cnt].port, broadcast_list[i].port, LEN_PORT);
|
|
|
|
|
strncpy (srvlst_dat[srvlst_cnt].version, broadcast_list[i].version, LEN_VERSION);
|
|
|
|
|
strncpy (srvlst_dat[srvlst_cnt].gamename, broadcast_list[i].gamename, LEN_GAMENAME);
|
|
|
|
|
srvlst_dat[srvlst_cnt].ping = broadcast_list[i].ping;
|
|
|
|
|
srvlst_dat[srvlst_cnt].ai_family = bman.net_ai_family;
|
|
|
|
|
if (broadcast_list[i].lan)
|
|
|
|
|
sprintf (srvlst_dat[srvlst_cnt].comment, "LAN");
|
|
|
|
@ -144,7 +145,6 @@ void net_getserver () {
|
|
|
|
|
if ((timestamp - srvlst_lastrebuild) > SRVLST_TIMEREBUILD) {
|
|
|
|
|
srvlist_rebuildlist ();
|
|
|
|
|
srvlst_lastrebuild = timestamp;
|
|
|
|
|
menu_reload (menu);
|
|
|
|
|
srvlst_listmenu->changed = 1;
|
|
|
|
|
menu_draw (menu);
|
|
|
|
|
}
|
|
|
|
@ -156,7 +156,7 @@ void net_getserver () {
|
|
|
|
|
menuselect = menu->focus->id;
|
|
|
|
|
newentry = sel_entry - &srvlst_text[0];
|
|
|
|
|
|
|
|
|
|
if (newentry != entry) {
|
|
|
|
|
if ((newentry != entry || (bman.servername[0] == 0 && srvlst_dat[entry].host[0] != 0)) && menu->focus->id != 2) {
|
|
|
|
|
entry = newentry;
|
|
|
|
|
d_printf ("Selected Entry (%d) %s:%s Game:%s\n", entry, srvlst_dat[entry].host, srvlst_dat[entry].port, srvlst_dat[entry].gamename);
|
|
|
|
|
if (srvlst_dat[entry].host[0] != 0
|
|
|
|
@ -176,6 +176,17 @@ void net_getserver () {
|
|
|
|
|
menuselect = -1;
|
|
|
|
|
break;
|
|
|
|
|
case (1): // Join a Game
|
|
|
|
|
entry = newentry;
|
|
|
|
|
d_printf ("Selected Entry (%d) %s:%s Game:%s\n", entry, srvlst_dat[entry].host, srvlst_dat[entry].port, srvlst_dat[entry].gamename);
|
|
|
|
|
if (srvlst_dat[entry].host[0] != 0
|
|
|
|
|
&& srvlst_dat[entry].port[0] != 0
|
|
|
|
|
&& srvlst_dat[entry].gamename[0] != 0) { /* test if there was a selection */
|
|
|
|
|
bman.net_ai_family = srvlst_dat[entry].ai_family;
|
|
|
|
|
sprintf (bman.servername, "%s:%s", srvlst_dat[entry].host, srvlst_dat[entry].port);
|
|
|
|
|
}
|
|
|
|
|
srvlst_listmenu->changed = 1;
|
|
|
|
|
menu_reload (menu);
|
|
|
|
|
menu_draw (menu);
|
|
|
|
|
menu_focus_id (menu, 0);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|