MCPcopy Create free account
hub / github.com/NetHack/NetHack / handler_versinfo

Function handler_versinfo

src/options.c:6572–6617  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6570}
6571
6572staticfn int
6573handler_versinfo(void)
6574{
6575 winid tmpwin;
6576 anything any;
6577 menu_item *vi_pick = (menu_item *) 0;
6578 boolean have_branch = (nomakedefs.git_branch && *nomakedefs.git_branch);
6579 int n, vi = (int) flags.versinfo;
6580
6581 tmpwin = create_nhwindow(NHW_MENU);
6582 start_menu(tmpwin, MENU_BEHAVE_STANDARD);
6583 any = cg.zeroany;
6584
6585 any.a_int = n = VI_NUMBER; /* 1 */
6586 add_menu(tmpwin, &nul_glyphinfo, &any, 'n', n + '0', ATR_NONE, NO_COLOR,
6587 "version number",
6588 (vi & n) ? MENU_ITEMFLAGS_SELECTED : MENU_ITEMFLAGS_NONE);
6589 any.a_int = n = VI_NAME; /* 2 */
6590 add_menu(tmpwin, &nul_glyphinfo, &any, 'g', n + '0', ATR_NONE, NO_COLOR,
6591 "game name",
6592 (vi & n) ? MENU_ITEMFLAGS_SELECTED : MENU_ITEMFLAGS_NONE);
6593 any.a_int = n = VI_BRANCH; /* 4 */
6594 add_menu(tmpwin, &nul_glyphinfo, &any, 'b', n + '0', ATR_NONE, NO_COLOR,
6595 (have_branch ? "development branch"
6596#if (NH_DEVEL_STATUS == NH_STATUS_RELEASED)
6597 : "(not applicable)"
6598#else
6599 : "(not available)"
6600#endif
6601 ), (vi & n) ? MENU_ITEMFLAGS_SELECTED : MENU_ITEMFLAGS_NONE);
6602
6603 end_menu(tmpwin, "Select version information flags:");
6604 n = select_menu(tmpwin, PICK_ANY, &vi_pick);
6605 if (n > 0) {
6606 int i, newval = 0;
6607
6608 for (i = 0; i < n; ++i)
6609 newval |= vi_pick[i].item.a_int;
6610 newval &= 7;
6611 if (newval)
6612 flags.versinfo = (unsigned) newval;
6613 free((genericptr_t) vi_pick);
6614 }
6615 destroy_nhwindow(tmpwin);
6616 return optn_ok;
6617}
6618
6619staticfn int
6620handler_windowborders(void)

Callers 1

optfn_versinfoFunction · 0.85

Calls 2

add_menuFunction · 0.85
select_menuFunction · 0.85

Tested by

no test coverage detected