|
|
|
@ -46,6 +46,7 @@ game_init ()
|
|
|
|
|
bman.fieldsize.x = 25;
|
|
|
|
|
bman.fieldsize.y = 17;
|
|
|
|
|
sprintf (bman.datapath, "data/bomberclone.gfx");
|
|
|
|
|
bman.fieldpath[0] = 0;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
int
|
|
|
|
@ -130,6 +131,15 @@ ReadConfig ()
|
|
|
|
|
if (!strcmp (keyword, "resolutiony")) {
|
|
|
|
|
gfx.res.y = atoi (value);
|
|
|
|
|
}
|
|
|
|
|
if (!strcmp (keyword, "fieldpath")) {
|
|
|
|
|
if (strlen (value) > 510) {
|
|
|
|
|
d_printf
|
|
|
|
|
("*** Error - fieldpath too long (maximum size permitted is %d characters)!\n\n",
|
|
|
|
|
510);
|
|
|
|
|
}
|
|
|
|
|
value[511] = 0;
|
|
|
|
|
strcpy(bman.fieldpath,value);
|
|
|
|
|
}
|
|
|
|
|
if (!strcmp (keyword, "fieldsizex")) {
|
|
|
|
|
bman.fieldsize.x = atoi (value);
|
|
|
|
|
}
|
|
|
|
@ -184,6 +194,7 @@ WriteConfig ()
|
|
|
|
|
fprintf (config, "resolutionx=%d\n", gfx.res.x);
|
|
|
|
|
fprintf (config, "resolutiony=%d\n", gfx.res.y);
|
|
|
|
|
fprintf (config, "fullscreen=%d\n", gfx.fullscreen);
|
|
|
|
|
fprintf (config, "fieldpath=%s\n", bman.fieldpath);
|
|
|
|
|
fprintf (config, "fieldsizex=%d\n", bman.fieldsize.x);
|
|
|
|
|
fprintf (config, "fieldsizey=%d\n", bman.fieldsize.y);
|
|
|
|
|
fprintf (config, "notify=%d\n", bman.notifygamemaster);
|
|
|
|
@ -197,7 +208,7 @@ WriteConfig ()
|
|
|
|
|
fprintf (config, "askplayername=%d\n", bman.askplayername);
|
|
|
|
|
fprintf (config, "playername=%s\n", bman.playername);
|
|
|
|
|
fprintf (config, "bitsperpixel=%d\n", gfx.bpp);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fclose (config);
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
@ -291,31 +302,35 @@ configuration ()
|
|
|
|
|
{1, "Video Options"},
|
|
|
|
|
{2, "Sound Options"},
|
|
|
|
|
{3, "Customize Keyboard"},
|
|
|
|
|
{4, "Field Size X:"},
|
|
|
|
|
{5, "Field Size Y:"},
|
|
|
|
|
{6, "Prompt For Player Name"},
|
|
|
|
|
{7, "Debug"},
|
|
|
|
|
{8, "Save Config"},
|
|
|
|
|
{9, "Return To Main Manu"},
|
|
|
|
|
{4, "Field File:"},
|
|
|
|
|
{5, "Field Size X:"},
|
|
|
|
|
{6, "Field Size Y:"},
|
|
|
|
|
{7, "Prompt For Player Name"},
|
|
|
|
|
{8, "Debug"},
|
|
|
|
|
{9, "Save Config"},
|
|
|
|
|
{10, "Return To Main Manu"},
|
|
|
|
|
{-1, ""}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
while (menuselect != -1) {
|
|
|
|
|
|
|
|
|
|
sprintf (menu[0].text, "Player Name: %s", bman.playername);
|
|
|
|
|
|
|
|
|
|
sprintf (menu[4].text, "Field Size X: %d", bman.fieldsize.x);
|
|
|
|
|
sprintf (menu[5].text, "Field Size Y: %d", bman.fieldsize.y);
|
|
|
|
|
if(bman.fieldpath[0])
|
|
|
|
|
sprintf (menu[4].text, "Field File: %s", bman.fieldpath);
|
|
|
|
|
else
|
|
|
|
|
sprintf (menu[4].text, "Field File: <not used>");
|
|
|
|
|
sprintf (menu[5].text, "Field Size X: %d", bman.fieldsize.x);
|
|
|
|
|
sprintf (menu[6].text, "Field Size Y: %d", bman.fieldsize.y);
|
|
|
|
|
|
|
|
|
|
if (debug == 1)
|
|
|
|
|
sprintf (menu[6].text, "Debug Messages ON");
|
|
|
|
|
sprintf (menu[8].text, "Debug Messages ON");
|
|
|
|
|
else
|
|
|
|
|
sprintf (menu[6].text, "Debug Messages OFF");
|
|
|
|
|
sprintf (menu[8].text, "Debug Messages OFF");
|
|
|
|
|
|
|
|
|
|
if (bman.askplayername == 1)
|
|
|
|
|
sprintf (menu[6].text, "Prompt For Name: Yes");
|
|
|
|
|
sprintf (menu[7].text, "Prompt For Name: Yes");
|
|
|
|
|
else
|
|
|
|
|
sprintf (menu[6].text, "Prompt For Name: No");
|
|
|
|
|
sprintf (menu[7].text, "Prompt For Name: No");
|
|
|
|
|
|
|
|
|
|
menuselect = menu_loop ("Configuration", menu, menuselect);
|
|
|
|
|
|
|
|
|
@ -331,35 +346,39 @@ configuration ()
|
|
|
|
|
case (2): // Sound Options
|
|
|
|
|
case (3): // Customize Keyboard
|
|
|
|
|
break;
|
|
|
|
|
case (4): // Change X Fieldsize
|
|
|
|
|
sprintf (menu[4].text, "%d", bman.fieldsize.x);
|
|
|
|
|
case (4): // Field File
|
|
|
|
|
menu_get_text ("Enter the path of a field file", bman.fieldpath, 30);
|
|
|
|
|
bman.fieldpath[511] = 0;
|
|
|
|
|
break;
|
|
|
|
|
case (5): // Change X Fieldsize
|
|
|
|
|
sprintf (menu[5].text, "%d", bman.fieldsize.x);
|
|
|
|
|
sprintf (text, "Field Size X (%d - %d)", MIN_FIELDSIZE_X, MAX_FIELDSIZE_X);
|
|
|
|
|
menu_get_text (text, menu[4].text, 3);
|
|
|
|
|
bman.fieldsize.x = atoi (menu[4].text) | 1;
|
|
|
|
|
menu_get_text (text, menu[5].text, 3);
|
|
|
|
|
bman.fieldsize.x = atoi (menu[5].text) | 1;
|
|
|
|
|
if (bman.fieldsize.x < MIN_FIELDSIZE_X)
|
|
|
|
|
bman.fieldsize.x = MIN_FIELDSIZE_X;
|
|
|
|
|
if (bman.fieldsize.x > MAX_FIELDSIZE_X)
|
|
|
|
|
bman.fieldsize.x = MAX_FIELDSIZE_X;
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case (5): // Change Y Fieldsize
|
|
|
|
|
sprintf (menu[5].text, "%d", bman.fieldsize.y);
|
|
|
|
|
case (6): // Change Y Fieldsize
|
|
|
|
|
sprintf (menu[6].text, "%d", bman.fieldsize.y);
|
|
|
|
|
sprintf (text, "Field Size Y (%d - %d)", MIN_FIELDSIZE_Y, MAX_FIELDSIZE_Y);
|
|
|
|
|
menu_get_text (text, menu[5].text, 3);
|
|
|
|
|
bman.fieldsize.y = atoi (menu[5].text) | 1;
|
|
|
|
|
menu_get_text (text, menu[6].text, 3);
|
|
|
|
|
bman.fieldsize.y = atoi (menu[6].text) | 1;
|
|
|
|
|
if (bman.fieldsize.y < MIN_FIELDSIZE_Y)
|
|
|
|
|
bman.fieldsize.y = MIN_FIELDSIZE_Y;
|
|
|
|
|
if (bman.fieldsize.y > MAX_FIELDSIZE_Y)
|
|
|
|
|
bman.fieldsize.y = MAX_FIELDSIZE_Y;
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case (6): // Debugging On / Off
|
|
|
|
|
case (7): // Debugging On / Off
|
|
|
|
|
if (bman.askplayername == 1)
|
|
|
|
|
bman.askplayername = 0;
|
|
|
|
|
else
|
|
|
|
|
bman.askplayername = 1;
|
|
|
|
|
break;
|
|
|
|
|
case (7): // Debugging On / Off
|
|
|
|
|
case (8): // Debugging On / Off
|
|
|
|
|
if (debug == 1)
|
|
|
|
|
debug = 0;
|
|
|
|
|
else {
|
|
|
|
@ -367,10 +386,10 @@ configuration ()
|
|
|
|
|
d_printf ("BomberClone ver.%s\n", VERSION);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case (8): // Save Configuration
|
|
|
|
|
case (9): // Save Configuration
|
|
|
|
|
WriteConfig ();
|
|
|
|
|
break;
|
|
|
|
|
case (9): // Return to main menu
|
|
|
|
|
case (10): // Return to main menu
|
|
|
|
|
menuselect = -1;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|