diff --git a/configure.in b/configure.in index 6fde166..5792d5d 100644 --- a/configure.in +++ b/configure.in @@ -5,7 +5,7 @@ dnl Please disable it in the Anjuta project configuration AC_INIT(configure.in) AC_CANONICAL_TARGET -AM_INIT_AUTOMAKE(bomberclone, 0.11.1) +AM_INIT_AUTOMAKE(bomberclone, 0.11.2) AM_CONFIG_HEADER(config.h) diff --git a/include/menu.h b/include/menu.h index b06c508..7ea9927 100644 --- a/include/menu.h +++ b/include/menu.h @@ -1,4 +1,4 @@ -/* $Id: menu.h,v 1.4 2004/01/04 03:22:49 stpohle Exp $ +/* $Id: menu.h,v 1.5 2004/02/02 23:30:34 patty21 Exp $ * GUI for menuhandling */ @@ -34,7 +34,7 @@ struct __menuitem { int type; int len; int id; - + char changed; char label[MENU_TITLELEN]; _keybinput keybi; int state; diff --git a/include/network.h b/include/network.h index da968a3..05c6356 100644 --- a/include/network.h +++ b/include/network.h @@ -1,4 +1,4 @@ -/* $Id: network.h,v 1.14 2004/02/01 02:47:33 stpohle Exp $ +/* $Id: network.h,v 1.15 2004/02/02 23:30:34 patty21 Exp $ * network.h file... for everything what have to do with the network stuff */ @@ -111,7 +111,7 @@ extern void net_game_send_respawn (int pl_nr); extern void net_game_fillsockaddr (); extern void net_game_send_ill (int p_nr); extern void net_delplayer (int pl_nr); -extern void draw_netupdatestate (); +extern void draw_netupdatestate (char st); extern void net_send_servermode (); extern void net_send_players (); extern int net_check_timeout (int pl_nr); diff --git a/src/configuration.c b/src/configuration.c index a4ce0bb..666e95c 100644 --- a/src/configuration.c +++ b/src/configuration.c @@ -396,13 +396,15 @@ config_video () gfx.res.x = x; gfx.res.y = y; gfx_init (); - break; + draw_logo (); + break; case (2): // new color depth gfx_shutdown (); sscanf (selbpp->text, "%d", &x); gfx.bpp = x; gfx_init (); - break; + draw_logo (); + break; default: done = 1; break; diff --git a/src/menu.c b/src/menu.c index d2f9f72..24f4960 100644 --- a/src/menu.c +++ b/src/menu.c @@ -1,4 +1,4 @@ -/* $Id: menu.c,v 1.37 2004/01/24 23:47:28 stpohle Exp $ +/* $Id: menu.c,v 1.38 2004/02/02 23:30:34 patty21 Exp $ * Menuhandling */ #include "basic.h" @@ -396,7 +396,6 @@ int menu_loop () { break; } else if (event.key.keysym.sym == SDLK_ESCAPE) { - done = 1; return -1; break; } @@ -435,10 +434,11 @@ int menu_loop () { menu_looprunning = 0; - if (reorder) + if (reorder) { + menu.focus->changed=1; return -2; - - return menu.focus->id; + } + return menu.focus->id; }; diff --git a/src/menulists.c b/src/menulists.c index 92a6bda..24853ae 100644 --- a/src/menulists.c +++ b/src/menulists.c @@ -1,4 +1,4 @@ -/* $Id: menulists.c,v 1.2 2003/12/26 02:20:10 stpohle Exp $ +/* $Id: menulists.c,v 1.3 2004/02/02 23:30:35 patty21 Exp $ * Menuhandling: lists */ @@ -42,6 +42,7 @@ void menu_create_list (char *name, int x, int y, int w, int h, _charlist *data, menuitems[i].ptrdata = (char *) selected; menuitems[i].list = data; menuitems[i].id = id; + menuitems[i].changed=1; strncpy (menuitems[i].label, name, MENU_TITLELEN); }; @@ -276,9 +277,11 @@ void menu_draw_list (_menuitem *mi) { dest.x = MENUOFFSET_X + mi->pos.x + mi->pos.w - menu.listimages[focus][5]->w; gfx_blit (menu.listimages[focus][5], NULL, gfx.screen, &dest, 10000); } - + if (mi->changed) { menu_draw_listbackground (mi, NULL); menu_draw_listtext (mi); + mi->changed=0; + } }; @@ -289,6 +292,7 @@ void menu_draw_list (_menuitem *mi) { int menu_event_list (_menuitem *mi, SDL_Event *event) { switch (event->type) { case (SDL_KEYDOWN): /* key was pressed */ + mi->changed=1; if (event->key.keysym.sym == SDLK_LEFT) menu_focus_prev (); else if (event->key.keysym.sym == SDLK_RIGHT) @@ -302,7 +306,7 @@ int menu_event_list (_menuitem *mi, SDL_Event *event) { break; case (SDL_KEYUP): keybinput_loop (&mi->keybi, event); - menu_draw_entry (mi); +// menu_draw_entry (mi); break; } diff --git a/src/network.c b/src/network.c index 1a80a12..d1c02aa 100644 --- a/src/network.c +++ b/src/network.c @@ -1,4 +1,4 @@ -/* $Id: network.c,v 1.59 2004/02/01 02:47:34 stpohle Exp $ */ +/* $Id: network.c,v 1.60 2004/02/02 23:30:35 patty21 Exp $ */ /* network routines. */ @@ -8,6 +8,7 @@ #include "chat.h" #include "packets.h" #include "ogcache-client.h" +#include "menu.h" int network_server_port (char *server, char *host, int hostlen, char *port, int portlen) @@ -280,38 +281,71 @@ network_loop () this is needed to draw the whole uppdate of everything */ void -draw_netupdatestate () +draw_netupdatestate (char st) { char text[255]; int y = 0, - i; + z, + i, + j; SDL_Rect src, dest; - + z=gfx.res.x-110; for (i = 0; i < MAX_PLAYERS; i++) if (PS_IS_used (players[i].state)) { y += 48; - redraw_logo (0, y, gfx.res.x, y + 48); + if (st) { + redraw_logo (0, y, gfx.res.x, y + 48); - if (players[i].gfx_nr != -1) { - dest.w = src.w = players[i].gfx->smal_size.x; - dest.h = src.h = players[i].gfx->smal_size.y; - src.x = players[i].gfx->smal_size.x * down; - src.y = 0; + if (players[i].gfx_nr != -1) { + dest.w = src.w = players[i].gfx->smal_size.x; + dest.h = src.h = players[i].gfx->smal_size.y; + src.x = players[i].gfx->smal_size.x * down; + src.y = 0; - dest.x = 50; - dest.y = y; + dest.x = 50; + dest.y = y; - SDL_BlitSurface (players[i].gfx->smal_image, &src, gfx.screen, &dest); - gfx_blitupdaterectadd (&dest); - } + SDL_BlitSurface (players[i].gfx->smal_image, &src, gfx.screen, &dest); + gfx_blitupdaterectadd (&dest); + } + dest.x = 70; + dest.y = y+20; + dest.w = menu.listimages[1][0]->w; + dest.h = menu.listimages[1][0]->h; + gfx_blit (menu.listimages[1][0], NULL, gfx.screen, &dest, 10000); + dest.x = z+70+6; + gfx_blit (menu.listimages[1][2], NULL, gfx.screen, &dest, 10000); + // draw the bottom left and right of the list + dest.y = y+36; + gfx_blit (menu.listimages[1][8], NULL, gfx.screen, &dest, 10000); + dest.x = 70; + gfx_blit (menu.listimages[1][6], NULL, gfx.screen, &dest, 10000); + //top & bottom + for (j=4;j