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

Function plselInitDialog

outdated/sys/wince/mhdlg.c:456–530  ·  view source on GitHub ↗

initialize player selector dialog */

Source from the content-addressed store, hash-verified

454
455/* initialize player selector dialog */
456void
457plselInitDialog(HWND hWnd)
458{
459 TCHAR wbuf[BUFSZ];
460
461 /* set player name */
462 SetDlgItemText(hWnd, IDC_PLSEL_NAME, NH_A2W(svp.plname, wbuf, sizeof(wbuf)));
463
464 /* check flags for consistency */
465 if (flags.initrole >= 0) {
466 if (flags.initrace >= 0
467 && !validrace(flags.initrole, flags.initrace)) {
468 flags.initrace = ROLE_NONE;
469 }
470
471 if (flags.initgend >= 0
472 && !validgend(flags.initrole, flags.initrace, flags.initgend)) {
473 flags.initgend = ROLE_NONE;
474 }
475
476 if (flags.initalign >= 0
477 && !validalign(flags.initrole, flags.initrace, flags.initalign)) {
478 flags.initalign = ROLE_NONE;
479 }
480 }
481
482 /* populate select boxes */
483 plselAdjustLists(hWnd, -1);
484
485 /* intialize roles list */
486 if (flags.initrole < 0
487 || !ok_role(flags.initrole, ROLE_NONE, ROLE_NONE, ROLE_NONE)) {
488 CheckDlgButton(hWnd, IDC_PLSEL_ROLE_RANDOM, BST_CHECKED);
489 EnableWindow(GetDlgItem(hWnd, IDC_PLSEL_ROLE_LIST), FALSE);
490 } else {
491 CheckDlgButton(hWnd, IDC_PLSEL_ROLE_RANDOM, BST_UNCHECKED);
492 EnableWindow(GetDlgItem(hWnd, IDC_PLSEL_ROLE_LIST), TRUE);
493 setComboBoxValue(hWnd, IDC_PLSEL_ROLE_LIST, flags.initrole);
494 }
495
496 /* intialize races list */
497 if (flags.initrace < 0
498 || !ok_race(flags.initrole, flags.initrace, ROLE_NONE, ROLE_NONE)) {
499 CheckDlgButton(hWnd, IDC_PLSEL_RACE_RANDOM, BST_CHECKED);
500 EnableWindow(GetDlgItem(hWnd, IDC_PLSEL_RACE_LIST), FALSE);
501 } else {
502 CheckDlgButton(hWnd, IDC_PLSEL_RACE_RANDOM, BST_UNCHECKED);
503 EnableWindow(GetDlgItem(hWnd, IDC_PLSEL_RACE_LIST), TRUE);
504 setComboBoxValue(hWnd, IDC_PLSEL_RACE_LIST, flags.initrace);
505 }
506
507 /* intialize genders list */
508 if (flags.initgend < 0
509 || !ok_gend(flags.initrole, flags.initrace, flags.initgend,
510 ROLE_NONE)) {
511 CheckDlgButton(hWnd, IDC_PLSEL_GENDER_RANDOM, BST_CHECKED);
512 EnableWindow(GetDlgItem(hWnd, IDC_PLSEL_GENDER_LIST), FALSE);
513 } else {

Callers 1

PlayerSelectorDlgProcFunction · 0.70

Calls 9

validraceFunction · 0.85
validgendFunction · 0.85
validalignFunction · 0.85
plselAdjustListsFunction · 0.85
ok_roleFunction · 0.85
setComboBoxValueFunction · 0.85
ok_raceFunction · 0.85
ok_gendFunction · 0.85
ok_alignFunction · 0.85

Tested by

no test coverage detected