menu_reload added to reload all datas so we don\'t need to delete and create a new menuitem..

network joining problem fixed.. forgot to set the ai_family in the network list.
origin
stpohle 22 years ago
parent 9429217505
commit ede4215372

@ -20,6 +20,7 @@ bomberclone_include_DATA = \
packets.h \
sysfunc.h \
sound.h \
ogcache-client.h
ogcache-client.h\
udp.h
EXTRA_DIST = $(bomberclone_include_DATA)

@ -1,4 +1,4 @@
/* $Id: menu.h,v 1.3 2003/12/28 05:47:51 stpohle Exp $
/* $Id: menu.h,v 1.4 2004/01/04 03:22:49 stpohle Exp $
* GUI for menuhandling
*/
@ -73,6 +73,8 @@ extern int menu_loop ();
extern void menu_draw_border ();
extern void menu_draw_background (SDL_Rect *dest);
extern inline void menu_draw_menuitem (_menuitem *m);
extern void menu_reload ();
extern inline void menu_reload_menuitem (_menuitem *m);
extern void menu_focus_next ();
extern void menu_focus_prev ();
extern void menu_focus_id (int id);

@ -1,4 +1,4 @@
/* $Id: menu.c,v 1.33 2003/12/28 05:47:51 stpohle Exp $
/* $Id: menu.c,v 1.34 2004/01/04 03:22:49 stpohle Exp $
* Menuhandling */
#include "basic.h"
@ -173,6 +173,7 @@ void menu_draw () {
};
/* draw an item on the screen */
inline void menu_draw_menuitem (_menuitem *m) {
switch (m->type) {
@ -198,6 +199,32 @@ inline void menu_draw_menuitem (_menuitem *m) {
};
/* reload all variables into all menuelements */
void menu_reload () {
_menuitem *m;
for (m = menu.items; m != NULL; m = m->next)
menu_reload_menuitem (m);
};
/* reload variable into menuelement */
inline void menu_reload_menuitem (_menuitem *m) {
switch (m->type) {
case (MENU_entrytext):
case (MENU_entryint16):
case (MENU_entryint32):
case (MENU_entryfloat):
menu_entry_restore (m);
break;
default:
break;
}
};
/* find the last menuitem in the list. */
int menu_getlastitem (_menuitem *first) {
int i = 0;

@ -1,4 +1,4 @@
/* $Id: netsrvlist.c,v 1.5 2004/01/03 22:32:18 stpohle Exp $
/* $Id: netsrvlist.c,v 1.6 2004/01/04 03:22:49 stpohle Exp $
* netsrvlist.c - shows a list of possible servers.*/
#include "basic.h"
@ -49,6 +49,7 @@ void srvlist_rebuildlist () {
srvlst_dat[srvlst_cnt].port[0] = 0;
srvlst_dat[srvlst_cnt].gamename[0] = 0;
srvlst_dat[srvlst_cnt].ai_family = ogc_array[ogclst].ai_family;
strncpy (srvlst_dat[srvlst_cnt].host,ogc_array[ogclst].host, LEN_SERVERNAME);
strncpy (srvlst_dat[srvlst_cnt].port,ogc_array[ogclst].port, LEN_PORT);
strncpy (srvlst_dat[srvlst_cnt].gamename,ogc_array[ogclst].gamename, LEN_GAMENAME);
@ -96,6 +97,7 @@ void net_getserver () {
while (menuselect != -1 && bman.state != GS_quit) {
srvlist_rebuildlist ();
menu_reload ();
menuselect = menu_loop ();
switch (menuselect) {
@ -103,14 +105,13 @@ void net_getserver () {
menuselect = -1;
break;
case (1): // Join a Game
entry = &srvlst_text[0] - sel_entry;
d_printf ("Selected Entry %s:%s Game:%s\n", srvlst_dat[entry].host, srvlst_dat[entry].port, srvlst_dat[entry].gamename);
entry = sel_entry - &srvlst_text[0];
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);
menuselect = -1;
}
break;
}

@ -1,4 +1,4 @@
/* $Id: network.c,v 1.51 2004/01/04 01:28:34 stpohle Exp $ */
/* $Id: network.c,v 1.52 2004/01/04 03:22:49 stpohle Exp $ */
/*
network routines.
*/
@ -101,6 +101,16 @@ network_init ()
}
#endif
if (bman.net_ai_family == PF_INET)
sprintf (host, "IPv4");
#ifdef _WIN32
else if (bman.net_ai_family == PF_INET6)
sprintf (host, "IPv6");
#endif
else
sprintf (host, "IPv (unknown)");
d_printf ("Network Init with %s.\n", host);
bman.sock = -1;
timestamp = SDL_GetTicks ();

Loading…
Cancel
Save