MCPcopy Index your code
hub / github.com/NetHack/NetHack / handler_menu_objsyms

Function handler_menu_objsyms

src/options.c:5794–5829  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5792}
5793
5794staticfn int
5795handler_menu_objsyms(void)
5796{
5797 winid tmpwin;
5798 anything any;
5799 char buf[BUFSZ];
5800 menu_item *picklist = (menu_item *) 0;
5801 const char sep = iflags.menu_tab_sep ? '\t' : ' ';
5802 int i, j, n, clr = NO_COLOR;
5803
5804 tmpwin = create_nhwindow(NHW_MENU);
5805 start_menu(tmpwin, MENU_BEHAVE_STANDARD);
5806 any = cg.zeroany;
5807 for (i = 0; i < SIZE(objsymvals); ++i) {
5808 Snprintf(buf, sizeof buf, "%-12.12s%c%.60s",
5809 objsymvals[i].nam, sep, objsymvals[i].descr);
5810 any.a_int = i + 1;
5811 j = objsymvals[i].num;
5812 add_menu(tmpwin, &nul_glyphinfo, &any, '0' + i, *buf,
5813 ATR_NONE, clr, buf,
5814 (j == iflags.menuobjsyms) ? MENU_ITEMFLAGS_SELECTED
5815 : MENU_ITEMFLAGS_NONE);
5816 }
5817 end_menu(tmpwin, "Set object symbols in menus to what?");
5818 n = select_menu(tmpwin, PICK_ONE, &picklist);
5819 if (n > 0) {
5820 i = picklist[0].item.a_int - 1;
5821 /* if there are two picks, use the one that wasn't pre-selected */
5822 if (n > 1 && i == iflags.menuobjsyms)
5823 i = picklist[1].item.a_int - 1;
5824 set_menuobjsyms_flags(i);
5825 free((genericptr_t) picklist);
5826 }
5827 destroy_nhwindow(tmpwin);
5828 return optn_ok;
5829}
5830
5831staticfn int
5832handler_msg_window(void)

Callers 1

optfn_menu_objsymsFunction · 0.85

Calls 3

add_menuFunction · 0.85
select_menuFunction · 0.85
set_menuobjsyms_flagsFunction · 0.85

Tested by

no test coverage detected