Moved levelnum-sanity-check in game_param_handler so it will be checked when screen is changed to allow entry of secret levels (which does not work in D2X-Rebirth - it's only done for code similarity); added menu item START GAME for consistency and added proper subtitle for game setup page
This commit is contained in:
parent
aaae123e44
commit
010ac80344
|
@ -1,5 +1,9 @@
|
|||
D1X-Rebirth Changelog
|
||||
|
||||
20100822
|
||||
--------
|
||||
main/net_ipx.c, main/net_udp.c: Moved levelnum-sanity-check in game_param_handler so it will be checked when screen is changed to allow entry of secret levels; added menu item START GAME for consistency and added proper subtitle for game setup page
|
||||
|
||||
20100821
|
||||
--------
|
||||
d1x-rebirth.ico, d1x-rebirth.xpm, arch/sdl/gr.c, arch/ogl/gr.c: Bind WM-Icon to application
|
||||
|
|
|
@ -2333,7 +2333,7 @@ static int opt_show_on_map, opt_difficulty, opt_socket;
|
|||
|
||||
typedef struct param_opt
|
||||
{
|
||||
int name, level, mode, moreopts;
|
||||
int start_game, name, level, mode, moreopts;
|
||||
int closed, refuse, maxnet, coop, team_anarchy;
|
||||
} param_opt;
|
||||
|
||||
|
@ -2397,12 +2397,12 @@ int net_ipx_game_param_handler( newmenu *menu, d_event *event, param_opt *opt )
|
|||
else
|
||||
Netgame.levelnum = atoi(slevel);
|
||||
|
||||
if ((Netgame.levelnum < Last_secret_level) || (Netgame.levelnum > Last_level) || (Netgame.levelnum == 0))
|
||||
{
|
||||
nm_messagebox(TXT_ERROR, 1, TXT_OK, TXT_LEVEL_OUT_RANGE );
|
||||
sprintf(slevel, "1");
|
||||
return 0;
|
||||
}
|
||||
// if ((Netgame.levelnum < Last_secret_level) || (Netgame.levelnum > Last_level) || (Netgame.levelnum == 0))
|
||||
// {
|
||||
// nm_messagebox(TXT_ERROR, 1, TXT_OK, TXT_LEVEL_OUT_RANGE );
|
||||
// sprintf(slevel, "1");
|
||||
// return 0;
|
||||
// }
|
||||
}
|
||||
|
||||
if (citem == opt->refuse)
|
||||
|
@ -2447,6 +2447,14 @@ int net_ipx_game_param_handler( newmenu *menu, d_event *event, param_opt *opt )
|
|||
break;
|
||||
|
||||
case EVENT_NEWMENU_SELECTED:
|
||||
if ((Netgame.levelnum < Last_secret_level) || (Netgame.levelnum > Last_level) || (Netgame.levelnum == 0))
|
||||
{
|
||||
char *slevel = menus[opt->level].text;
|
||||
nm_messagebox(TXT_ERROR, 1, TXT_OK, TXT_LEVEL_OUT_RANGE );
|
||||
sprintf(slevel, "1");
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (citem==opt->moreopts)
|
||||
{
|
||||
if ( menus[opt->mode+3].value )
|
||||
|
@ -2468,7 +2476,9 @@ int net_ipx_game_param_handler( newmenu *menu, d_event *event, param_opt *opt )
|
|||
|
||||
}
|
||||
|
||||
return !net_ipx_start_game();
|
||||
if (citem==opt->start_game)
|
||||
return !net_ipx_start_game();
|
||||
return 1;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
@ -2482,7 +2492,7 @@ int net_ipx_setup_game()
|
|||
int i;
|
||||
int optnum;
|
||||
param_opt opt;
|
||||
newmenu_item m[20];
|
||||
newmenu_item m[21];
|
||||
char slevel[5];
|
||||
char level_text[32];
|
||||
char srmaxnet[50];
|
||||
|
@ -2509,6 +2519,8 @@ int net_ipx_setup_game()
|
|||
sprintf( slevel, "1" ); Netgame.levelnum = 1;
|
||||
|
||||
optnum = 0;
|
||||
opt.start_game=optnum;
|
||||
m[optnum].type = NM_TYPE_MENU; m[optnum].text = "Start Game"; optnum++;
|
||||
m[optnum].type = NM_TYPE_TEXT; m[optnum].text = TXT_DESCRIPTION; optnum++;
|
||||
|
||||
opt.name = optnum;
|
||||
|
@ -2552,7 +2564,7 @@ int net_ipx_setup_game()
|
|||
|
||||
Assert(optnum <= 20);
|
||||
|
||||
i = newmenu_do1( NULL, NULL, optnum, m, (int (*)( newmenu *, d_event *, void * ))net_ipx_game_param_handler, &opt, 1 );
|
||||
i = newmenu_do1( NULL, TXT_NETGAME_SETUP, optnum, m, (int (*)( newmenu *, d_event *, void * ))net_ipx_game_param_handler, &opt, 1 );
|
||||
|
||||
if (i < 0)
|
||||
ipxdrv_close();
|
||||
|
|
|
@ -2803,7 +2803,7 @@ int net_udp_more_options_handler( newmenu *menu, d_event *event, void *userdata
|
|||
|
||||
typedef struct param_opt
|
||||
{
|
||||
int name, level, mode, moreopts;
|
||||
int start_game, name, level, mode, moreopts;
|
||||
int closed, refuse, maxnet, coop, team_anarchy;
|
||||
} param_opt;
|
||||
|
||||
|
@ -2867,12 +2867,12 @@ int net_udp_game_param_handler( newmenu *menu, d_event *event, param_opt *opt )
|
|||
else
|
||||
Netgame.levelnum = atoi(slevel);
|
||||
|
||||
if ((Netgame.levelnum < Last_secret_level) || (Netgame.levelnum > Last_level) || (Netgame.levelnum == 0))
|
||||
{
|
||||
nm_messagebox(TXT_ERROR, 1, TXT_OK, TXT_LEVEL_OUT_RANGE );
|
||||
sprintf(slevel, "1");
|
||||
return 0;
|
||||
}
|
||||
// if ((Netgame.levelnum < Last_secret_level) || (Netgame.levelnum > Last_level) || (Netgame.levelnum == 0))
|
||||
// {
|
||||
// nm_messagebox(TXT_ERROR, 1, TXT_OK, TXT_LEVEL_OUT_RANGE );
|
||||
// sprintf(slevel, "1");
|
||||
// return 0;
|
||||
// }
|
||||
}
|
||||
|
||||
if (citem == opt->refuse)
|
||||
|
@ -2917,6 +2917,14 @@ int net_udp_game_param_handler( newmenu *menu, d_event *event, param_opt *opt )
|
|||
break;
|
||||
|
||||
case EVENT_NEWMENU_SELECTED:
|
||||
if ((Netgame.levelnum < Last_secret_level) || (Netgame.levelnum > Last_level) || (Netgame.levelnum == 0))
|
||||
{
|
||||
char *slevel = menus[opt->level].text;
|
||||
nm_messagebox(TXT_ERROR, 1, TXT_OK, TXT_LEVEL_OUT_RANGE );
|
||||
sprintf(slevel, "1");
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (citem==opt->moreopts)
|
||||
{
|
||||
if ( menus[opt->mode+3].value )
|
||||
|
@ -2925,8 +2933,10 @@ int net_udp_game_param_handler( newmenu *menu, d_event *event, param_opt *opt )
|
|||
Game_mode=0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
return !net_udp_start_game();
|
||||
|
||||
if (citem==opt->start_game)
|
||||
return !net_udp_start_game();
|
||||
return 1;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
@ -2940,7 +2950,7 @@ int net_udp_setup_game()
|
|||
int i;
|
||||
int optnum;
|
||||
param_opt opt;
|
||||
newmenu_item m[20];
|
||||
newmenu_item m[21];
|
||||
char slevel[5];
|
||||
char level_text[32];
|
||||
char srmaxnet[50];
|
||||
|
@ -2973,6 +2983,8 @@ int net_udp_setup_game()
|
|||
sprintf( slevel, "1" ); Netgame.levelnum = 1;
|
||||
|
||||
optnum = 0;
|
||||
opt.start_game=optnum;
|
||||
m[optnum].type = NM_TYPE_MENU; m[optnum].text = "Start Game"; optnum++;
|
||||
m[optnum].type = NM_TYPE_TEXT; m[optnum].text = TXT_DESCRIPTION; optnum++;
|
||||
|
||||
opt.name = optnum;
|
||||
|
@ -3016,7 +3028,7 @@ int net_udp_setup_game()
|
|||
|
||||
Assert(optnum <= 20);
|
||||
|
||||
i = newmenu_do1( NULL, NULL, optnum, m, (int (*)( newmenu *, d_event *, void * ))net_udp_game_param_handler, &opt, 1 );
|
||||
i = newmenu_do1( NULL, TXT_NETGAME_SETUP, optnum, m, (int (*)( newmenu *, d_event *, void * ))net_udp_game_param_handler, &opt, 1 );
|
||||
|
||||
if (i < 0)
|
||||
net_udp_close();
|
||||
|
|
Loading…
Reference in a new issue