window port interface change - add mbehavior flags to start_menu()

Provide a way to communicate additional behaviors and/or appearances
desired from NetHack window port menus.

This is foundation work for changes to follow at a future date.
This commit is contained in:
nhmall
2020-02-20 20:12:51 -05:00
parent 8e6e4922f8
commit d81c096ce6
55 changed files with 170 additions and 134 deletions

View File

@@ -767,7 +767,7 @@ amii_get_ext_cmd(void)
#ifdef EXTMENU
if (iflags.extmenu) {
win = amii_create_nhwindow(NHW_MENU);
amii_start_menu(win);
amii_start_menu(win, MENU_BEHAVE_STANDARD);
pline("#");
amii_putstr(WIN_MESSAGE, -1, " ");
@@ -830,7 +830,7 @@ amii_get_ext_cmd(void)
}
win = amii_create_nhwindow(NHW_MENU);
amii_start_menu(win);
amii_start_menu(win, MENU_BEHAVE_STANDARD);
for (i = 0; extcmdlist[i].ef_txt != NULL; ++i) {
id.a_char = extcmdlist[i].ef_txt[0];
@@ -1389,7 +1389,7 @@ amii_player_selection()
} else {
/* Prompt for a role */
win = create_nhwindow(NHW_MENU);
start_menu(win);
start_menu(win, MENU_BEHAVE_STANDARD);
any.a_void = 0; /* zero out all bits */
for (i = 0; roles[i].name.m; i++) {
if (ok_role(i, flags.initrace, flags.initgend,
@@ -1480,7 +1480,7 @@ amii_player_selection()
/* Permit the user to pick, if there is more than one */
if (n > 1) {
win = create_nhwindow(NHW_MENU);
start_menu(win);
start_menu(win, MENU_BEHAVE_STANDARD);
any.a_void = 0; /* zero out all bits */
for (i = 0; races[i].noun; i++)
if (ok_race(flags.initrole, i, flags.initgend,
@@ -1553,7 +1553,7 @@ amii_player_selection()
/* Permit the user to pick, if there is more than one */
if (n > 1) {
win = create_nhwindow(NHW_MENU);
start_menu(win);
start_menu(win, MENU_BEHAVE_STANDARD);
any.a_void = 0; /* zero out all bits */
for (i = 0; i < ROLE_GENDERS; i++)
if (ok_gend(flags.initrole, flags.initrace, i,
@@ -1624,7 +1624,7 @@ amii_player_selection()
/* Permit the user to pick, if there is more than one */
if (n > 1) {
win = create_nhwindow(NHW_MENU);
start_menu(win);
start_menu(win, MENU_BEHAVE_STANDARD);
any.a_void = 0; /* zero out all bits */
for (i = 0; i < ROLE_ALIGNS; i++)
if (ok_align(flags.initrole, flags.initrace,

View File

@@ -4,7 +4,7 @@
/* winami.c */
void FDECL(amii_raw_print, (const char *));
void FDECL(amii_raw_print_bold, (const char *));
void FDECL(amii_start_menu, (winid ));
void FDECL(amii_start_menu, (winid , unsigned long ));
void FDECL(amii_add_menu, (winid , char , int , const char *, unsigned int));
void FDECL(amii_end_menu, (winid , char , const char * , const char *));
char FDECL(amii_select_menu, (winid ));

View File

@@ -9,8 +9,10 @@
/* Start building the text for a menu */
void
amii_start_menu(window)
amii_start_menu(window, mbehavior)
register winid window;
unsigned long mbehavior UNUSED;
{
register int i;
register struct amii_WinDesc *cw;

View File

@@ -39,7 +39,7 @@ void amii_get_nh_event(void);
void amii_getret(void);
/* winmenu.c */
void amii_start_menu(winid window);
void amii_start_menu(winid window, unsigned long);
void FDECL(amii_add_menu, (winid, int, const anything *, CHAR_P, CHAR_P, int,
const char *, unsigned int));
void FDECL(amii_end_menu, (winid, const char *));