groundwork for window port interface change to add_menu

groundwork only - window port interface change

This changes the last parameter for add_menu() from a boolean
to an unsigned int, to allow additional itemflags in future
beyond just the "preselected" that the original boolean offered.

There shouldn't be any functionality changes with this groundwork-only
change, and if there are it is unintentional and should be reported.
This commit is contained in:
nhmall
2019-12-22 18:28:24 -05:00
parent 0f1284f068
commit 308943aea4
54 changed files with 446 additions and 382 deletions

View File

@@ -776,7 +776,7 @@ amii_get_ext_cmd(void)
sprintf(buf, "%-10s - %s ", extcmdlist[i].ef_txt,
extcmdlist[i].ef_desc);
amii_add_menu(win, NO_GLYPH, &id, extcmdlist[i].ef_txt[0], 0, 0,
buf, MENU_UNSELECTED);
buf, MENU_ITEMFLAGS_NONE);
}
amii_end_menu(win, (char *) 0);
@@ -837,7 +837,7 @@ amii_get_ext_cmd(void)
sprintf(buf, "%-10s - %s ", extcmdlist[i].ef_txt,
extcmdlist[i].ef_desc);
amii_add_menu(win, NO_GLYPH, &id, extcmdlist[i].ef_txt[0], 0,
0, buf, MENU_UNSELECTED);
0, buf, MENU_ITEMFLAGS_NONE);
}
amii_end_menu(win, (char *) 0);
@@ -1413,7 +1413,7 @@ amii_player_selection()
Strcpy(rolenamebuf, roles[i].name.m);
}
add_menu(win, NO_GLYPH, &any, thisch, 0, ATR_NONE,
an(rolenamebuf), MENU_UNSELECTED);
an(rolenamebuf), MENU_ITEMFLAGS_NONE);
lastch = thisch;
}
}
@@ -1422,10 +1422,10 @@ amii_player_selection()
if (any.a_int == 0) /* must be non-zero */
any.a_int = randrole(FALSE) + 1;
add_menu(win, NO_GLYPH, &any, '*', 0, ATR_NONE, "Random",
MENU_UNSELECTED);
MENU_ITEMFLAGS_NONE);
any.a_int = i + 1; /* must be non-zero */
add_menu(win, NO_GLYPH, &any, 'q', 0, ATR_NONE, "Quit",
MENU_UNSELECTED);
MENU_ITEMFLAGS_NONE);
Sprintf(pbuf, "Pick a role for your %s", plbuf);
end_menu(win, pbuf);
n = select_menu(win, PICK_ONE, &selected);
@@ -1488,17 +1488,17 @@ amii_player_selection()
any.a_int = i + 1; /* must be non-zero */
add_menu(win, NO_GLYPH, &any, races[i].noun[0], 0,
ATR_NONE, races[i].noun,
MENU_UNSELECTED);
MENU_ITEMFLAGS_NONE);
}
any.a_int = pick_race(flags.initrole, flags.initgend,
flags.initalign, PICK_RANDOM) + 1;
if (any.a_int == 0) /* must be non-zero */
any.a_int = randrace(flags.initrole) + 1;
add_menu(win, NO_GLYPH, &any, '*', 0, ATR_NONE, "Random",
MENU_UNSELECTED);
MENU_ITEMFLAGS_NONE);
any.a_int = i + 1; /* must be non-zero */
add_menu(win, NO_GLYPH, &any, 'q', 0, ATR_NONE, "Quit",
MENU_UNSELECTED);
MENU_ITEMFLAGS_NONE);
Sprintf(pbuf, "Pick the race of your %s", plbuf);
end_menu(win, pbuf);
n = select_menu(win, PICK_ONE, &selected);
@@ -1560,17 +1560,17 @@ amii_player_selection()
flags.initalign)) {
any.a_int = i + 1;
add_menu(win, NO_GLYPH, &any, genders[i].adj[0], 0,
ATR_NONE, genders[i].adj, MENU_UNSELECTED);
ATR_NONE, genders[i].adj, MENU_ITEMFLAGS_NONE);
}
any.a_int = pick_gend(flags.initrole, flags.initrace,
flags.initalign, PICK_RANDOM) + 1;
if (any.a_int == 0) /* must be non-zero */
any.a_int = randgend(flags.initrole, flags.initrace) + 1;
add_menu(win, NO_GLYPH, &any, '*', 0, ATR_NONE, "Random",
MENU_UNSELECTED);
MENU_ITEMFLAGS_NONE);
any.a_int = i + 1; /* must be non-zero */
add_menu(win, NO_GLYPH, &any, 'q', 0, ATR_NONE, "Quit",
MENU_UNSELECTED);
MENU_ITEMFLAGS_NONE);
Sprintf(pbuf, "Pick the gender of your %s", plbuf);
end_menu(win, pbuf);
n = select_menu(win, PICK_ONE, &selected);
@@ -1631,17 +1631,17 @@ amii_player_selection()
flags.initgend, i)) {
any.a_int = i + 1;
add_menu(win, NO_GLYPH, &any, aligns[i].adj[0], 0,
ATR_NONE, aligns[i].adj, MENU_UNSELECTED);
ATR_NONE, aligns[i].adj, MENU_ITEMFLAGS_NONE);
}
any.a_int = pick_align(flags.initrole, flags.initrace,
flags.initgend, PICK_RANDOM) + 1;
if (any.a_int == 0) /* must be non-zero */
any.a_int = randalign(flags.initrole, flags.initrace) + 1;
add_menu(win, NO_GLYPH, &any, '*', 0, ATR_NONE, "Random",
MENU_UNSELECTED);
MENU_ITEMFLAGS_NONE);
any.a_int = i + 1; /* must be non-zero */
add_menu(win, NO_GLYPH, &any, 'q', 0, ATR_NONE, "Quit",
MENU_UNSELECTED);
MENU_ITEMFLAGS_NONE);
Sprintf(pbuf, "Pick the alignment of your %s", plbuf);
end_menu(win, pbuf);
n = select_menu(win, PICK_ONE, &selected);

View File

@@ -5,7 +5,7 @@
void FDECL(amii_raw_print, (const char *));
void FDECL(amii_raw_print_bold, (const char *));
void FDECL(amii_start_menu, (winid ));
void FDECL(amii_add_menu, (winid , char , int , const char *));
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 ));
void NDECL(amii_update_inventory );

View File

@@ -56,7 +56,7 @@ register winid window;
/* Add a string to a menu */
void
amii_add_menu(window, glyph, id, ch, gch, attr, str, preselected)
amii_add_menu(window, glyph, id, ch, gch, attr, str, itemflags)
register winid window;
register int glyph;
register const anything *id;
@@ -64,9 +64,10 @@ register char ch;
register char gch;
register int attr;
register const char *str;
register BOOLEAN_P preselected;
register unsigned int itemflags;
{
register struct amii_WinDesc *cw;
boolean preselected = ((itemflags & MENU_ITEMFLAGS_SELECTED) != 0);
amii_menu_item *mip;
char buf[4 + BUFSZ];
@@ -143,7 +144,7 @@ register const char *morestr;
#endif
any.a_void = 0;
amii_add_menu(window, NO_GLYPH, &any, 0, 0, ATR_NONE, morestr,
MENU_UNSELECTED);
MENU_ITEMFLAGS_NONE);
#ifdef PROMPTFIRST /* Do some shuffling. Last first, push others one forward \
*/
mip->next = NULL;

View File

@@ -41,7 +41,7 @@ void amii_getret(void);
/* winmenu.c */
void amii_start_menu(winid window);
void FDECL(amii_add_menu, (winid, int, const anything *, CHAR_P, CHAR_P, int,
const char *, BOOLEAN_P));
const char *, unsigned int));
void FDECL(amii_end_menu, (winid, const char *));
int FDECL(amii_select_menu, (winid, int, menu_item **));
int DoMenuScroll(int win, int blocking, int how, menu_item **);