In stead of using upper/lower-case promoChar, the ICS now uses
RxK notation, like WinBoard writes in SAN, for better consistency.
char user_move[MSG_SIZ];
char suffix[4];
- if(gameInfo.variant == VariantSChess && promoChar)
+ if(gameInfo.variant == VariantSChess && promoChar) {
snprintf(suffix, 4, "=%c", toX == BOARD_WIDTH<<1 ? ToUpper(promoChar) : ToLower(promoChar));
- else suffix[0] = NULLCHAR;
+ if(toX == BOARD_WIDTH>>1) moveType = WhitePromotion; // kludge to do gating at Rook
+ } else suffix[0] = NULLCHAR;
switch (moveType) {
default: