static void PromoPick P((int n));
static Option promoOptions[] = {
-{ 0, 0, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, "" },
-{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, "" },
-{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, "" },
-{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, "" },
-{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, "" },
-{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, "" },
-{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, "" },
+{ 0, 0, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, NULL },
+{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, NULL },
+{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, NULL },
+{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, NULL },
+{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, NULL },
+{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, NULL },
+{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, NULL },
{ 0, SAME_ROW | NO_OK, 0, NULL, NULL, "", NULL, EndMark , "" }
};
static void
SetPromo (char *name, int nr, char promoChar)
{
- safeStrCpy(promoOptions[nr].name, name, MSG_SIZ);
+ ASSIGN(promoOptions[nr].name, name);
promoOptions[nr].value = promoChar;
+ promoOptions[nr].min = SAME_ROW;
}
void
SetPromo(_("Defer"), --count, '=');
SetPromo(_("Promote"), --count, '+');
}
+ promoOptions[count].min = 0;
GenericPopUp(promoOptions + count, "Promotion", PromoDlg, BoardWindow, NONMODAL, 0);
}
if(but3) MovePV(x, y, lineGap + BOARD_HEIGHT * (squareSize + lineGap));
return NULL;
}
+ if(n != 10 && PopDown(PromoDlg)) fromX = fromY = -1; // user starts fiddling with board when promotion dialog is up
shiftKey = ShiftKeys();
controlKey = (shiftKey & 0xC) != 0;
shiftKey = (shiftKey & 3) != 0;