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 \ packets.h \
sysfunc.h \ sysfunc.h \
sound.h \ sound.h \
ogcache-client.h ogcache-client.h\
udp.h
EXTRA_DIST = $(bomberclone_include_DATA) 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 * GUI for menuhandling
*/ */
@ -73,6 +73,8 @@ extern int menu_loop ();
extern void menu_draw_border (); extern void menu_draw_border ();
extern void menu_draw_background (SDL_Rect *dest); extern void menu_draw_background (SDL_Rect *dest);
extern inline void menu_draw_menuitem (_menuitem *m); 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_next ();
extern void menu_focus_prev (); extern void menu_focus_prev ();
extern void menu_focus_id (int id); 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 */ * Menuhandling */
#include "basic.h" #include "basic.h"
@ -173,6 +173,7 @@ void menu_draw () {
}; };
/* draw an item on the screen */ /* draw an item on the screen */
inline void menu_draw_menuitem (_menuitem *m) { inline void menu_draw_menuitem (_menuitem *m) {
switch (m->type) { 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. */ /* find the last menuitem in the list. */
int menu_getlastitem (_menuitem *first) { int menu_getlastitem (_menuitem *first) {
int i = 0; 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.*/ * netsrvlist.c - shows a list of possible servers.*/
#include "basic.h" #include "basic.h"
@ -49,6 +49,7 @@ void srvlist_rebuildlist () {
srvlst_dat[srvlst_cnt].port[0] = 0; srvlst_dat[srvlst_cnt].port[0] = 0;
srvlst_dat[srvlst_cnt].gamename[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].host,ogc_array[ogclst].host, LEN_SERVERNAME);
strncpy (srvlst_dat[srvlst_cnt].port,ogc_array[ogclst].port, LEN_PORT); strncpy (srvlst_dat[srvlst_cnt].port,ogc_array[ogclst].port, LEN_PORT);
strncpy (srvlst_dat[srvlst_cnt].gamename,ogc_array[ogclst].gamename, LEN_GAMENAME); 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) { while (menuselect != -1 && bman.state != GS_quit) {
srvlist_rebuildlist (); srvlist_rebuildlist ();
menu_reload ();
menuselect = menu_loop (); menuselect = menu_loop ();
switch (menuselect) { switch (menuselect) {
@ -103,14 +105,13 @@ void net_getserver () {
menuselect = -1; menuselect = -1;
break; break;
case (1): // Join a Game case (1): // Join a Game
entry = &srvlst_text[0] - sel_entry; entry = sel_entry - &srvlst_text[0];
d_printf ("Selected Entry %s:%s Game:%s\n", srvlst_dat[entry].host, srvlst_dat[entry].port, srvlst_dat[entry].gamename); 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 if (srvlst_dat[entry].host[0] != 0
&& srvlst_dat[entry].port[0] != 0 && srvlst_dat[entry].port[0] != 0
&& srvlst_dat[entry].gamename[0] != 0) { /* test if there was a selection */ && srvlst_dat[entry].gamename[0] != 0) { /* test if there was a selection */
bman.net_ai_family = srvlst_dat[entry].ai_family; bman.net_ai_family = srvlst_dat[entry].ai_family;
sprintf (bman.servername, "%s:%s", srvlst_dat[entry].host, srvlst_dat[entry].port); sprintf (bman.servername, "%s:%s", srvlst_dat[entry].host, srvlst_dat[entry].port);
menuselect = -1;
} }
break; 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. network routines.
*/ */
@ -101,6 +101,16 @@ network_init ()
} }
#endif #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; bman.sock = -1;
timestamp = SDL_GetTicks (); timestamp = SDL_GetTicks ();

Loading…
Cancel
Save