From 66b5915ddead9b5254ab72576eb841f054f381e5 Mon Sep 17 00:00:00 2001 From: stpohle Date: Fri, 26 Dec 2003 02:20:10 +0000 Subject: [PATCH] got the mapmenu back working. int numbers will be checked for the max number. --- src/mapmenu.c | 581 +++++++++++++++++++++-------------------------- src/menulists.c | 4 +- src/netsrvlist.c | 5 +- 3 files changed, 259 insertions(+), 331 deletions(-) diff --git a/src/mapmenu.c b/src/mapmenu.c index 0dbc971..01aeb15 100644 --- a/src/mapmenu.c +++ b/src/mapmenu.c @@ -1,4 +1,4 @@ -/* $Id: mapmenu.c,v 1.13 2003/12/24 02:38:15 stpohle Exp $ */ +/* $Id: mapmenu.c,v 1.14 2003/12/26 02:20:10 stpohle Exp $ */ /* map/tileset selection menu */ #include "bomberclone.h" @@ -9,119 +9,110 @@ void mapmenu () { int menuselect = 0; - char text[255], - *mapname = NULL, - pathname[LEN_PATHFILENAME], - size[4]; - -/* _menu menu[] = { - {1, "Random Map:"}, - {1, "Selected Map:"}, - {2, " Size X:"}, - {3, " Size Y:"}, - {4, "Random Tileset:"}, - {5, "Selected Tileset:"}, - {6, "Max Players:"}, - {7, "Bombs:"}, - {8, "Fire :"}, - {9, "Shoes:"}, - {10, "Mixed:"}, - {11, "Death:"}, - {12, "Special Trigger :"}, - {13, "Special Push Liq. Moved:"}, - {14, "Special Row :"}, - {15, "Gamet Timeout:"}, - {16, "Maptype: Random"}, - {0, ""}, - {15, "Return To Previous Menu"}, - {-1, ""} - }; -*/ - while (menuselect != -1) { -/* + char *mapname = NULL, + pathname[LEN_PATHFILENAME]; + _charlist maptypes[] = { + {"selected file", NULL}, + {"random file", NULL}, + {"autogenerated", NULL} + }, tiletypes[] = { + { + "random"}, { + "selected"} + }, tunneltypes[] = { + { + "normal"}, { + "tunnel"}, { + "random"},}, *selmt = NULL, *selts = NULL, *seltt = NULL; + char mname[100]; + + + charlist_fillarraypointer (maptypes, 3); + charlist_fillarraypointer (tiletypes, 2); + charlist_fillarraypointer (tunneltypes, 3); + + while (menuselect != -1 && bman.state != GS_quit) { + menu_new ("Map Options", 420, 400); + // map.map_selection=MAPS_select; switch (map.map_selection) { - case (MAPS_select): // Selected Map + case (MAPS_select): // Selected Map + selmt = charlist_findtext (maptypes, "selected file"); if (map.map[0] == 0) - sprintf (menu[1].text, "Selected Map: < undefined >"); + sprintf (mname, "< undefined >"); else - sprintf (menu[1].text, "Selected Map: %s", getfilename (map.map)); - menu[1].index = 1; - sprintf (menu[0].text, "Random Map: OFF"); - menu[2].text[0] = 0; - menu[2].index = 0; - menu[3].text[0] = 0; - menu[3].index = 0; + sprintf (mname, "%s", getfilename (map.map)); + menu_create_label ("Selected Map:", 20, 160, 0); + menu_create_button (mname, 10, 180, 170, 2); break; - case (MAPS_randmap): // Random Map - menu[1].text[0] = 0; - menu[1].index = 0; - sprintf (menu[0].text, "Random Map: random file"); - menu[2].text[0] = 0; - menu[2].index = 0; - menu[3].text[0] = 0; - menu[3].index = 0; + case (MAPS_randmap): // Random Map + selmt = charlist_findtext (maptypes, "random file"); break; - case (MAPS_randgen): // Random Generated Map - menu[1].text[0] = 0; - menu[1].index = 0; - sprintf (menu[0].text, "Random Map: auto-generated"); - sprintf (menu[2].text, " Size X: %d", map.size.x); - menu[2].index = 2; - sprintf (menu[3].text, " Size Y: %d", map.size.y); - menu[3].index = 3; + case (MAPS_randgen): // Random Generated Map + selmt = charlist_findtext (maptypes, "autogenerated"); + d_printf ("autogen\n"); + menu_create_entry ("X Size:", 20, 160, 120, &map.size.x, MAX_FIELDSIZE_X, MENU_entryint, + 2); + menu_create_entry ("Y Size:", 20, 180, 120, &map.size.y, MAX_FIELDSIZE_Y, MENU_entryint, + 3); break; } - if (map.random_tileset) { - menu[5].text[0] = 0; - menu[5].index = 0; - } - else { + selts = charlist_findtext (tiletypes, "selected"); if (map.tileset[0] == 0) - sprintf (menu[5].text, "Selected Tileset: < undefined >"); + sprintf (mname, "< undefined >"); else - sprintf (menu[5].text, "Selected Tileset: %s", map.tileset); - menu[5].index = 5; + sprintf (mname, "%s", map.tileset); + menu_create_label ("Selected Tileset:", 250, 140, 0); + menu_create_button (mname, 250, 160, 170, 5); + } + else { + selts = charlist_findtext (tiletypes, "random"); + }; + + switch (map.type) { + case (MAPT_normal): + seltt = charlist_findtext (tunneltypes, "normal"); + break; + case (MAPT_tunnel): + seltt = charlist_findtext (tunneltypes, "tunnel"); + break; + default: + seltt = charlist_findtext (tunneltypes, "random"); + break; } - if (map.random_tileset) - sprintf (menu[4].text, "Random Tileset: random file"); - else - sprintf (menu[4].text, "Random Tileset: OFF"); - - sprintf (menu[6].text, "Max Players: %d/%d", bman.maxplayer, MAX_PLAYERS); - - sprintf (menu[7].text, "Bombs:%d", map.bombs); - sprintf (menu[8].text, "Fire :%d", map.fire); - sprintf (menu[9].text, "Shoes:%d", map.shoes); - sprintf (menu[10].text, "Mixed:%d", map.mixed); - sprintf (menu[11].text, "Death:%d", map.death); - sprintf (menu[12].text, "Special Trigger:%d", map.sp_trigger); - sprintf (menu[13].text, "Special Push :%d", map.sp_push); - sprintf (menu[14].text, "Special Row :%d", map.sp_row); - - sprintf (menu[15].text, "Game Timeout:%d", bman.init_timeout); - - switch (map.type) { - case (MAPT_normal): - sprintf (menu[16].text, "Maptype: NORMAL"); - break; - case (MAPT_tunnel): - sprintf (menu[16].text, "Maptype: TUNNEL"); - break; - default: - sprintf (menu[16].text, "Maptype: RANDOM"); - break; - } - */ - menuselect = menu_loop (); + menu_create_label ("Map Type:", 10, 50, 1); + menu_create_label ("Tileset:", 250, 50, 1); + menu_create_label ("Items:", 220, 200, 1); + menu_create_list ("mt", 10, 85, 170, 60, maptypes, &selmt, 1); + menu_create_list ("ts", 250, 85, 170, 40, tiletypes, &selts, 4); + menu_create_list ("tt", 10, 220, 100, 60, tunneltypes, &seltt, 6); + + menu_create_entry ("Bombs:", 140, 240, 110, &map.bombs, 100, MENU_entryint, 7); + menu_create_entry ("Fire: ", 140, 260, 110, &map.fire, 100, MENU_entryint, 8); + menu_create_entry ("Shoes:", 140, 280, 110, &map.shoes, 100, MENU_entryint, 9); + menu_create_entry ("Mixed:", 140, 300, 110, &map.mixed, 100, MENU_entryint, 10); + menu_create_entry ("Death:", 140, 320, 110, &map.death, 100, MENU_entryint, 11); + + menu_create_entry ("Trigger:", 280, 240, 120, &map.sp_trigger, 30, MENU_entryint, 12); + menu_create_entry ("Push: ", 280, 260, 120, &map.sp_push, 30, MENU_entryint, 13); + menu_create_entry ("Row: ", 280, 280, 120, &map.sp_row, 30, MENU_entryint, 14); + menu_create_entry ("Game Timeout:", -1, 350, 180, &bman.init_timeout, 900, MENU_entryint, 15); + + menu_create_button ("Ok", -1, 380, 150, 0); + + menuselect = menu_loop (); + menu_delete (); switch (menuselect) { - case (0): // Random Map - map.map_selection = (map.map_selection + 2) % 3; - break; - case (1): // Selected Map + case (0): + menuselect = -1; + break; + case (1): // Select + map.map_selection = selmt - &maptypes[0]; + break; + case (2): // Select Map sprintf (pathname, "%s/maps", bman.datapath); // mapname = menu_dir_select ("Select Map", pathname, DF_file); if (mapname == NULL) { @@ -129,43 +120,18 @@ mapmenu () map.map_selection = 2; } else { - FILE *fmap; - - sprintf (map.map, "%s/maps/%s", bman.datapath, mapname); - if ((fmap = fopen (map.map, "r"))) - map_load (fmap); - } - break; + FILE *fmap; - case (2): // Size X - sprintf (text, "Field Size X (%d - %d)", MIN_FIELDSIZE_X, MAX_FIELDSIZE_X); - sprintf (size, "%d", map.size.x); -// menu_get_text (text, size, 3); - map.size.x = atoi (size) | 1; - if (map.size.x < MIN_FIELDSIZE_X) - map.size.x = MIN_FIELDSIZE_X; - if (map.size.x > MAX_FIELDSIZE_X) - map.size.x = MAX_FIELDSIZE_X; - break; - - case (3): // Size Y - sprintf (text, "Field Size Y (%d - %d)", MIN_FIELDSIZE_Y, MAX_FIELDSIZE_Y); - sprintf (size, "%d", map.size.y); -// menu_get_text (text, size, 3); - map.size.y = atoi (size) | 1; - if (map.size.y < MIN_FIELDSIZE_Y) - map.size.y = MIN_FIELDSIZE_Y; - if (map.size.y > MAX_FIELDSIZE_Y) - map.size.y = MAX_FIELDSIZE_Y; + sprintf (map.map, "%s/maps/%s", bman.datapath, mapname); + if ((fmap = fopen (map.map, "r"))) + map_load (fmap); + } break; case (4): // Random Tileset - if (map.random_tileset == 1) - map.random_tileset = 0; - else - map.random_tileset = 1; + map.random_tileset = selts - &tiletypes[0]; + d_printf ("Tile:%d\n", map.random_tileset); break; - case (5): // Selected Tileset sprintf (pathname, "%s/tileset", bman.datapath); // mapname = menu_dir_select ("Select Tileset", pathname, DF_dir); @@ -176,70 +142,27 @@ mapmenu () else strcpy (map.tileset, mapname); break; - case (6): - sprintf (text, "%d", bman.maxplayer); -// menu_get_text ("Max Players", text, 2); - bman.maxplayer = atoi (text); - if (bman.maxplayer > MAX_PLAYERS) - bman.maxplayer = MAX_PLAYERS; - if (bman.maxplayer < 2) - bman.maxplayer = 2; - break; - case (7): - sprintf (text, "%d", map.bombs); -// menu_get_text ("Bomb Powerups", text, 2); - map.bombs = atoi (text); - break; - case (8): - sprintf (text, "%d", map.fire); -// menu_get_text ("Fire/Range Powerup", text, 2); - map.fire = atoi (text); - break; - case (9): - sprintf (text, "%d", map.shoes); -// menu_get_text ("Shoes Powerup", text, 2); - map.shoes = atoi (text); - break; - case (10): - sprintf (text, "%d", map.mixed); -// menu_get_text ("Mixed Powerup", text, 2); - map.mixed = atoi (text); - break; - case (11): - sprintf (text, "%d", map.death); -// menu_get_text ("Death Powerup", text, 2); - map.death = atoi (text); - break; - case (12): - sprintf (text, "%d", map.sp_trigger); -// menu_get_text ("Trigger Specials", text, 2); - map.sp_trigger = atoi (text); - break; - case (13): - sprintf (text, "%d", map.sp_push); -// menu_get_text ("Push Specials", text, 2); - map.sp_push = atoi (text); - break; - case (14): - sprintf (text, "%d", map.sp_row); -// menu_get_text ("Row Specials", text, 2); - map.sp_row = atoi (text); - break; - case (15): - sprintf (text, "%d", bman.init_timeout); -// menu_get_text ("Game Timeout", text, 7); - bman.init_timeout = atoi (text); - break; - case (16): - map.type++; - if (map.type >= MAPT_max) - map.type = MAPT_random; - break; - case (18): // Return to previous menu - menuselect = -1; + case (6): // Random Tileset + map.type = seltt - &tunneltypes[0]; + if (map.type == 2) + map.type = -1; + d_printf ("Tunnel:%d\n", map.type); break; + } } + map.size.x = map.size.x | 1; + if (map.size.x < MIN_FIELDSIZE_X) + map.size.x = MIN_FIELDSIZE_X; + if (map.size.x > MAX_FIELDSIZE_X) + map.size.x = MAX_FIELDSIZE_X; + map.size.y = map.size.y | 1; + if (map.size.y < MIN_FIELDSIZE_Y) + map.size.y = MIN_FIELDSIZE_Y; + if (map.size.y > MAX_FIELDSIZE_Y) + map.size.y = MAX_FIELDSIZE_Y; + + } @@ -251,140 +174,143 @@ mapmenu () void mapinfo () { - _keybinput ki; + _keybinput ki; SDL_Event event; - int x, y, eventstate, done = 0; - char text[255]; - -// draw_menubox (WIN_X, WIN_Y); - - x = gfx.res.x / 2; - y = gfx.res.y / 2 - WIN_Y / 2; - - sprintf (text, "Map Settings"); -// font_setcolor (128,128,0,1); -// font_draw (x - (font[1].size.x * strlen (text) / 2), y, text, 1); -// font_setcolor (255,255,0,1); -// font_draw (1 + x - (font[1].size.x * strlen (text) / 2),1 + y, text, 1); - y = y + 2 + (font[1].size.y << 1); - - /* MapSize */ - sprintf (text, "Fieldsize: %d,%d", map.size.x, map.size.y); -// font_setcolor (128,128,128,0); -// font_draw (x - (font[0].size.x * strlen (text) / 2), y, text, 0); -// font_setcolor (255,255,255,0); -// font_draw (1 + x - (font[0].size.x * strlen (text) / 2),1 + y, text, 0); - y = y + 2 + font[0].size.y; - - /* Tileset */ - if (map.random_tileset) - sprintf (text, "Random Tileset"); - else - sprintf (text, "Tileset: %s", map.tileset); -// font_setcolor (128,128,128,0); -// font_draw (2 + x - (WIN_X / 2), y, text, 0); -// font_setcolor (255,255,255,0); -// font_draw (3 + x - (WIN_X / 2) ,1 + y, text, 0); - - /* Mapselection */ - if (map.map_selection == 0) - sprintf (text, "Selected Map: %s", map.map); - else if (map.map_selection == 1) - sprintf (text, "Random Map"); - else - sprintf (text, "Random Generated Map"); -// font_setcolor (128,128,128,0); -// font_draw (x , y, text, 0); -// font_setcolor (255,255,255,0); -// font_draw (1 + x, 1 + y, text, 0); - y = y + 2 + (font[0].size.y << 1); - - /* Bomb Powerups */ - sprintf (text, "Bomb Powerup: %d", map.bombs); -// font_setcolor (128,128,128,0); -// font_draw (2 + x - (WIN_X / 2), y, text, 0); -// font_setcolor (255,255,255,0); -// font_draw (3 + x - (WIN_X / 2) ,1 + y, text, 0); - - /* Trigger */ - sprintf (text, "Trigger Specials: %d", map.sp_trigger); -// font_setcolor (128,128,128,0); -// font_draw (x , y, text, 0); -// font_setcolor (255,255,255,0); -// font_draw (1 + x, 1 + y, text, 0); - y = y + 2 + font[0].size.y; - - /* Fire Powerups */ - sprintf (text, "Fire Powerup: %d", map.fire); -// font_setcolor (128,128,128,0); -// font_draw (2 + x - (WIN_X / 2), y, text, 0); -// font_setcolor (255,255,255,0); -// font_draw (3 + x - (WIN_X / 2) ,1 + y, text, 0); - - /* Push */ - sprintf (text, "Push Specials: %d", map.sp_push); -// font_setcolor (128,128,128,0); -// font_draw (x , y, text, 0); -// font_setcolor (255,255,255,0); -// font_draw (1 + x, 1 + y, text, 0); - y = y + 2 + font[0].size.y; - - /* Shoe Powerups */ - sprintf (text, "Shoe Powerup: %d", map.shoes); -// font_setcolor (128,128,128,0); -// font_draw (2 + x - (WIN_X / 2), y, text, 0); -// font_setcolor (255,255,255,0); -// font_draw (3 + x - (WIN_X / 2) ,1 + y, text, 0); - - /* Row */ - sprintf (text, "Row Specials: %d", map.sp_row); -// font_setcolor (128,128,128,0); -// font_draw (x , y, text, 0); -// font_setcolor (255,255,255,0); -// font_draw (1 + x, 1 + y, text, 0); - y = y + 2 + font[0].size.y; - - - /* Mixed Powerups */ - sprintf (text, "Mixed Powerup: %d", map.mixed); -// font_setcolor (128,128,128,0); -// font_draw (2 + x - (WIN_X / 2), y, text, 0); -// font_setcolor (255,255,255,0); -// font_draw (3 + x - (WIN_X / 2) ,1 + y, text, 0); - - /* Special FREE - sprintf (text, "Push Specials: %d", map.sp_push); - font_setcolor (128,128,128,0); - font_draw (x , y, text, 0); - font_setcolor (255,255,255,0); - font_draw (1 + x, 1 + y, text, 0); */ - y = y + 2 + font[0].size.y; - - /* Death Powerups */ - sprintf (text, "Death Powerup: %d", map.death); -// font_setcolor (128,128,128,0); -// font_draw (2 + x - (WIN_X / 2), y, text, 0); -// font_setcolor (255,255,255,0); -// font_draw (3 + x - (WIN_X / 2) ,1 + y, text, 0); - - /* Special FREE - sprintf (text, "Row Specials: %d", map.sp_row); - font_setcolor (128,128,128,0); - font_draw (x , y, text, 0); - font_setcolor (255,255,255,0); - font_draw (1 + x, 1 + y, text, 0); */ - y = y + 2 + font[0].size.y; - - SDL_Flip (gfx.screen); - keybinput_new (&ki, KEYBI_text, 10); - - while (!done && bman.state == GS_wait) { - if (GT_MP && bman.sock != -1) { - network_loop (); - eventstate = SDL_PollEvent (&event); - } - else - eventstate = SDL_WaitEvent (&event); + int x, + y, + eventstate, + done = 0; + char text[255]; + +// draw_menubox (WIN_X, WIN_Y); + + x = gfx.res.x / 2; + y = gfx.res.y / 2 - WIN_Y / 2; + + sprintf (text, "Map Settings"); +// font_setcolor (128,128,0,1); +// font_draw (x - (font[1].size.x * strlen (text) / 2), y, text, 1); +// font_setcolor (255,255,0,1); +// font_draw (1 + x - (font[1].size.x * strlen (text) / 2),1 + y, text, 1); + y = y + 2 + (font[1].size.y << 1); + + /* MapSize */ + sprintf (text, "Fieldsize: %d,%d", map.size.x, map.size.y); +// font_setcolor (128,128,128,0); +// font_draw (x - (font[0].size.x * strlen (text) / 2), y, text, 0); +// font_setcolor (255,255,255,0); +// font_draw (1 + x - (font[0].size.x * strlen (text) / 2),1 + y, text, 0); + y = y + 2 + font[0].size.y; + + /* Tileset */ + if (map.random_tileset) + sprintf (text, "Random Tileset"); + else + sprintf (text, "Tileset: %s", map.tileset); +// font_setcolor (128,128,128,0); +// font_draw (2 + x - (WIN_X / 2), y, text, 0); +// font_setcolor (255,255,255,0); +// font_draw (3 + x - (WIN_X / 2) ,1 + y, text, 0); + + /* Mapselection */ + if (map.map_selection == 0) + sprintf (text, "Selected Map: %s", map.map); + else if (map.map_selection == 1) + sprintf (text, "Random Map"); + else + sprintf (text, "Random Generated Map"); +// font_setcolor (128,128,128,0); +// font_draw (x , y, text, 0); +// font_setcolor (255,255,255,0); +// font_draw (1 + x, 1 + y, text, 0); + y = y + 2 + (font[0].size.y << 1); + + /* Bomb Powerups */ + sprintf (text, "Bomb Powerup: %d", map.bombs); +// font_setcolor (128,128,128,0); +// font_draw (2 + x - (WIN_X / 2), y, text, 0); +// font_setcolor (255,255,255,0); +// font_draw (3 + x - (WIN_X / 2) ,1 + y, text, 0); + + /* Trigger */ + sprintf (text, "Trigger Specials: %d", map.sp_trigger); +// font_setcolor (128,128,128,0); +// font_draw (x , y, text, 0); +// font_setcolor (255,255,255,0); +// font_draw (1 + x, 1 + y, text, 0); + y = y + 2 + font[0].size.y; + + /* Fire Powerups */ + sprintf (text, "Fire Powerup: %d", map.fire); +// font_setcolor (128,128,128,0); +// font_draw (2 + x - (WIN_X / 2), y, text, 0); +// font_setcolor (255,255,255,0); +// font_draw (3 + x - (WIN_X / 2) ,1 + y, text, 0); + + /* Push */ + sprintf (text, "Push Specials: %d", map.sp_push); +// font_setcolor (128,128,128,0); +// font_draw (x , y, text, 0); +// font_setcolor (255,255,255,0); +// font_draw (1 + x, 1 + y, text, 0); + y = y + 2 + font[0].size.y; + + /* Shoe Powerups */ + sprintf (text, "Shoe Powerup: %d", map.shoes); +// font_setcolor (128,128,128,0); +// font_draw (2 + x - (WIN_X / 2), y, text, 0); +// font_setcolor (255,255,255,0); +// font_draw (3 + x - (WIN_X / 2) ,1 + y, text, 0); + + /* Row */ + sprintf (text, "Row Specials: %d", map.sp_row); +// font_setcolor (128,128,128,0); +// font_draw (x , y, text, 0); +// font_setcolor (255,255,255,0); +// font_draw (1 + x, 1 + y, text, 0); + y = y + 2 + font[0].size.y; + + + /* Mixed Powerups */ + sprintf (text, "Mixed Powerup: %d", map.mixed); +// font_setcolor (128,128,128,0); +// font_draw (2 + x - (WIN_X / 2), y, text, 0); +// font_setcolor (255,255,255,0); +// font_draw (3 + x - (WIN_X / 2) ,1 + y, text, 0); + + /* Special FREE + sprintf (text, "Push Specials: %d", map.sp_push); + font_setcolor (128,128,128,0); + font_draw (x , y, text, 0); + font_setcolor (255,255,255,0); + font_draw (1 + x, 1 + y, text, 0); */ + y = y + 2 + font[0].size.y; + + /* Death Powerups */ + sprintf (text, "Death Powerup: %d", map.death); +// font_setcolor (128,128,128,0); +// font_draw (2 + x - (WIN_X / 2), y, text, 0); +// font_setcolor (255,255,255,0); +// font_draw (3 + x - (WIN_X / 2) ,1 + y, text, 0); + + /* Special FREE + sprintf (text, "Row Specials: %d", map.sp_row); + font_setcolor (128,128,128,0); + font_draw (x , y, text, 0); + font_setcolor (255,255,255,0); + font_draw (1 + x, 1 + y, text, 0); */ + y = y + 2 + font[0].size.y; + + SDL_Flip (gfx.screen); + keybinput_new (&ki, KEYBI_text, 10); + + while (!done && bman.state == GS_wait) { + if (GT_MP && bman.sock != -1) { + network_loop (); + eventstate = SDL_PollEvent (&event); + } + else + eventstate = SDL_WaitEvent (&event); if (eventstate != 0) switch (event.type) { @@ -394,8 +320,9 @@ mapinfo () break; } - done = keybinput_loop (&ki, &event); - } + done = keybinput_loop (&ki, &event); + } } + #undef WIN_X #undef WIN_Y diff --git a/src/menulists.c b/src/menulists.c index c2e3be7..92a6bda 100644 --- a/src/menulists.c +++ b/src/menulists.c @@ -1,4 +1,4 @@ -/* $Id: menulists.c,v 1.1 2003/12/24 02:42:06 stpohle Exp $ +/* $Id: menulists.c,v 1.2 2003/12/26 02:20:10 stpohle Exp $ * Menuhandling: lists */ @@ -199,7 +199,7 @@ void menu_draw_listtext (_menuitem *mi) { if (mi->ptrdata != NULL && list == *(_charlist **)mi->ptrdata) { // this is the selected element wnd.x = menu.listimages[0][0]->w; - wnd.y = dy; + wnd.y = dy - (MENUOFFSET_Y + mi->pos.y + menu.listimages[0][0]->h); wnd.w = mi->pos.w - menu.listimages[0][0]->w - menu.listimages[0][2]->w; wnd.h = font[MENU_BUTTON_FONTSIZE].size.y; menu_draw_listbackground (mi, &wnd); diff --git a/src/netsrvlist.c b/src/netsrvlist.c index 98363db..653af4e 100644 --- a/src/netsrvlist.c +++ b/src/netsrvlist.c @@ -1,4 +1,4 @@ -/* $Id: netsrvlist.c,v 1.1 2003/12/24 02:42:06 stpohle Exp $ +/* $Id: netsrvlist.c,v 1.2 2003/12/26 02:20:10 stpohle Exp $ * netsrvlist.c - shows a list of possible servers.*/ #include "basic.h" @@ -82,7 +82,8 @@ void net_getserver () { menu_new ("Join a Game", 500, 400); menu_create_list ("Host a Game", -1, 50, 475, 250, srvlst_text, &sel_entry, 1); - menu_create_button ("OK", -1, 325, 150, 0); + menu_create_entry ("IP :", -1, 320, 475, bman.servername, LEN_SERVERNAME+LEN_PORT + 2, MENU_entrytext, 2); + menu_create_button ("OK", -1, 350, 150, 0); while (menuselect != -1 && bman.state != GS_quit) { srvlist_rebuildlist ();