| 6570 | } |
| 6571 | |
| 6572 | staticfn int |
| 6573 | handler_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 | |
| 6619 | staticfn int |
| 6620 | handler_windowborders(void) |
no test coverage detected