return 0;
}
+static int is_virgin(struct game *g, int f, int r)
+{
+ int i;
+
+ for (i = g->numHalfMoves-2; i > 0; i -= 2) {
+ if (g->moveList[i].toFile == f && g->moveList[i].toRank == r) {
+ return 0;
+ }
+ }
+ return 1;
+}
+
int pIsPlaying (int p)
{
struct player *pp = &player_globals.parray[p];
}
pp->promote = NOPIECE; // [HGM] this seemed to be uninitialized, which caused spurious promotion in Shogi
if ((len = strlen(command)) > 1) {
- if (command[len - 2] == '=') {
+ if (command[len - 2] == '=' || gg->gameState.drops == 2 && command[len - 2] == '/') { // [HGM] encode gating as promotion
printf("promo '%s'\n", command);
switch (tolower(command[strlen(command) - 1])) {
case 'n':