}\r
sprintf(tmp, "%c%d", mt->toFile + 'a', mt->toRank + 1 - (gs->ranks > 9));\r
strcat(mStr, tmp);\r
-\r
- if ((piece == PAWN) && (mt->piecePromotionTo != NOPIECE)) {\r
+
+ if ((piece == PAWN || gs->promoType == 3) && (mt->piecePromotionTo != NOPIECE)) {\r
strcat(mStr, "="); /* = before promoting piece */\r
switch (piecetype(mt->piecePromotionTo)) {\r
case KNIGHT:\r
case MASTODON:\r
strcat(mStr, "G");\r
break;\r
+ case GOLD: // [HGM] Shogi promotions: avoid use of '+'\r
+ strcat(mStr, "G");\r
+ break;\r
+ case DRAGONHORSE:\r
+ strcat(mStr, "I");\r
+ break;\r
+ case DRAGONKING:\r
+ strcat(mStr, "J");\r
+ break;\r
default:\r
break;\r
}\r