|
|
@ -1,4 +1,4 @@
|
|
|
|
/* $Id: mapmenu.c,v 1.15 2003/12/28 01:21:43 stpohle Exp $ */
|
|
|
|
/* $Id: mapmenu.c,v 1.16 2003/12/28 05:47:51 stpohle Exp $ */
|
|
|
|
/* map/tileset selection menu */
|
|
|
|
/* map/tileset selection menu */
|
|
|
|
|
|
|
|
|
|
|
|
#include "bomberclone.h"
|
|
|
|
#include "bomberclone.h"
|
|
|
@ -56,18 +56,16 @@ mapmenu ()
|
|
|
|
3);
|
|
|
|
3);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (map.random_tileset) {
|
|
|
|
if (map.random_tileset)
|
|
|
|
selts = charlist_findtext (tiletypes, "selected");
|
|
|
|
selts = &tiletypes[0];
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
selts = &tiletypes[1];
|
|
|
|
if (map.tileset[0] == 0)
|
|
|
|
if (map.tileset[0] == 0)
|
|
|
|
sprintf (mname, "< undefined >");
|
|
|
|
sprintf (mname, "< undefined >");
|
|
|
|
else
|
|
|
|
else
|
|
|
|
sprintf (mname, "%s", map.tileset);
|
|
|
|
sprintf (mname, "%s", map.tileset);
|
|
|
|
menu_create_label ("Selected Tileset:", 250, 140, 0);
|
|
|
|
menu_create_label ("Selected Tileset:", 250, 140, 0);
|
|
|
|
menu_create_button (mname, 250, 160, 170, 5);
|
|
|
|
menu_create_button (mname, 250, 160, 170, 5);
|
|
|
|
}
|
|
|
|
|
|
|
|
else {
|
|
|
|
|
|
|
|
selts = charlist_findtext (tiletypes, "random");
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
switch (map.type) {
|
|
|
|
switch (map.type) {
|
|
|
|
case (MAPT_normal):
|
|
|
|
case (MAPT_normal):
|
|
|
@ -105,36 +103,23 @@ mapmenu ()
|
|
|
|
menuselect = menu_loop ();
|
|
|
|
menuselect = menu_loop ();
|
|
|
|
menu_delete ();
|
|
|
|
menu_delete ();
|
|
|
|
switch (menuselect) {
|
|
|
|
switch (menuselect) {
|
|
|
|
|
|
|
|
|
|
|
|
case (0):
|
|
|
|
case (0):
|
|
|
|
menuselect = -1;
|
|
|
|
menuselect = -1;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case (1): // Select
|
|
|
|
|
|
|
|
map.map_selection = selmt - &maptypes[0];
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case (2): // Select Map
|
|
|
|
case (2): // Select Map
|
|
|
|
sprintf (pathname, "%s/maps", bman.datapath);
|
|
|
|
sprintf (pathname, "%s/maps", bman.datapath);
|
|
|
|
// mapname = menu_dir_select ("Select Map", pathname, DF_file);
|
|
|
|
mapname = menu_dir_select ("Select Map", pathname, DF_file);
|
|
|
|
if (mapname == NULL) {
|
|
|
|
if (mapname == NULL) {
|
|
|
|
map.map[0] = 0;
|
|
|
|
map.map[0] = 0;
|
|
|
|
map.map_selection = 2;
|
|
|
|
map.map_selection = 2;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
else
|
|
|
|
FILE *fmap;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sprintf (map.map, "%s/maps/%s", bman.datapath, mapname);
|
|
|
|
sprintf (map.map, "%s/maps/%s", bman.datapath, mapname);
|
|
|
|
if ((fmap = fopen (map.map, "r")))
|
|
|
|
|
|
|
|
map_load (fmap);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
case (4): // Random Tileset
|
|
|
|
|
|
|
|
map.random_tileset = selts - &tiletypes[0];
|
|
|
|
|
|
|
|
d_printf ("Tile:%d\n", map.random_tileset);
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case (5): // Selected Tileset
|
|
|
|
case (5): // Selected Tileset
|
|
|
|
sprintf (pathname, "%s/tileset", bman.datapath);
|
|
|
|
sprintf (pathname, "%s/tileset", bman.datapath);
|
|
|
|
// mapname = menu_dir_select ("Select Tileset", pathname, DF_dir);
|
|
|
|
mapname = menu_dir_select ("Select Tileset", pathname, DF_dir);
|
|
|
|
if (mapname == NULL) {
|
|
|
|
if (mapname == NULL) {
|
|
|
|
map.tileset[0] = 0;
|
|
|
|
map.tileset[0] = 0;
|
|
|
|
map.random_tileset = 1;
|
|
|
|
map.random_tileset = 1;
|
|
|
@ -142,14 +127,18 @@ mapmenu ()
|
|
|
|
else
|
|
|
|
else
|
|
|
|
strcpy (map.tileset, mapname);
|
|
|
|
strcpy (map.tileset, mapname);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case (6): // Random Tileset
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* map type */
|
|
|
|
map.type = seltt - &tunneltypes[0];
|
|
|
|
map.type = seltt - &tunneltypes[0];
|
|
|
|
if (map.type == 2)
|
|
|
|
if (map.type == 2)
|
|
|
|
map.type = -1;
|
|
|
|
map.type = -1;
|
|
|
|
d_printf ("Tunnel:%d\n", map.type);
|
|
|
|
d_printf ("Tunnel:%d\n", map.type);
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
/* tileset mode and map mode */
|
|
|
|
|
|
|
|
map.random_tileset = 1-(selts - &tiletypes[0]);
|
|
|
|
|
|
|
|
printf ("Tileset Mode : %d\n", map.random_tileset);
|
|
|
|
|
|
|
|
map.map_selection = selmt - &maptypes[0];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
map.size.x = map.size.x | 1;
|
|
|
|
map.size.x = map.size.x | 1;
|
|
|
|
if (map.size.x < MIN_FIELDSIZE_X)
|
|
|
|
if (map.size.x < MIN_FIELDSIZE_X)
|
|
|
|