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

Function racetoggleCallback

win/X11/winmisc.c:595–632  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

593}
594
595static void
596racetoggleCallback(Widget w, XtPointer client, XtPointer call)
597{
598 Arg args[2];
599 int j, valid;
600 int c = 0;
601 int ra = xtp2i(XawToggleGetCurrent(plsel_race_radios[0])) - 1;
602 int ro = xtp2i(XawToggleGetCurrent(plsel_role_radios[0])) - 1;
603
604 nhUse(w);
605 nhUse(client);
606 nhUse(call);
607
608 plsel_set_play_button(ra < 0 || ro < 0);
609
610 if (ra < 0 || ro < 0)
611 return;
612
613 valid = -1;
614
615 for (j = 0; roles[j].name.m; j++) {
616 boolean v = validrace(j, ra);
617
618 if (j == ro)
619 c = j;
620 XtSetArg(args[0], nhStr(XtNsensitive), v);
621 XtSetValues(plsel_role_radios[j], args, ONE);
622 if (valid < 0 && v)
623 valid = j;
624 }
625 if (!validrace(c, ra))
626 c = valid;
627
628 j = c + 1;
629 XawToggleSetCurrent(plsel_role_radios[0], i2xtp(j));
630
631 X11_player_selection_setupOthers();
632}
633
634static void
635roletoggleCallback(Widget w, XtPointer client, XtPointer call)

Callers

nothing calls this directly

Calls 5

xtp2iFunction · 0.85
plsel_set_play_buttonFunction · 0.85
validraceFunction · 0.85
i2xtpFunction · 0.85

Tested by

no test coverage detected