X-Git-Url: http://winboard.nl/cgi-bin?p=capablanca.git;a=blobdiff_plain;f=lasker-2.2.3%2Fsrc%2Fgamedb.c;h=becb7a01cf070ad03c53ea4ee3abd3dfe2a24a6f;hp=82eef2eb7b631aa977e403ed91d280a15e0bdd1e;hb=5317b80b41045bd23473faf4748a9539a06e5f52;hpb=3f31178e2168d0dc5ca0db4e245c63c25bb7ed1d diff --git a/lasker-2.2.3/src/gamedb.c b/lasker-2.2.3/src/gamedb.c index 82eef2e..becb7a0 100644 --- a/lasker-2.2.3/src/gamedb.c +++ b/lasker-2.2.3/src/gamedb.c @@ -588,6 +588,7 @@ char *movesToString(int g, int pgn) sprintf(tmp, "%d minutes, increment: %d seconds.\n\n", game_globals.garray[g].wInitTime / 600, game_globals.garray[g].wIncrement / 10); } strcat(gameString, tmp); + if(game_globals.garray[g].game_state.setup) { // [HGM] setup: print the initial position board char *q; struct game_state_t initial_gs; struct move_t ml[600]; int r, f; @@ -607,7 +608,7 @@ char *movesToString(int g, int pgn) for (f = 0; f < 2; f++) { for (r = 0; r < initial_gs.files; r++) initial_gs.ep_possible[f][r] = 0; - for (r = PAWN; r <= QUEEN; r++) + for (r = PAWN; r <= PIECES-1; r++) initial_gs.holding[f][r-PAWN] = 0; } FEN_to_board(game_globals.garray[g].FENstartPos ,&initial_gs); @@ -758,9 +759,15 @@ int CharToPiece(char c, char *variant) case 'q': return B_QUEEN; case 'E': + if(!strcmp(variant, "seirawan")) return W_ELEPHANT; return W_ELEPHANT; case 'e': + if(!strcmp(variant, "seirawan")) return B_ELEPHANT; return B_ELEPHANT; + case 'H': + return W_HAWK; + case 'h': + return B_HAWK; case 'K': return W_KING; case 'k': @@ -814,9 +821,11 @@ char PieceToChar(int piece) return 'Q'; case B_QUEEN: return 'q'; + case W_SELEPHANT: case W_ELEPHANT: case W_EMPRESS: return 'E'; + case B_SELEPHANT: case B_ELEPHANT: case B_EMPRESS: return 'e'; @@ -838,10 +847,12 @@ char PieceToChar(int piece) case B_WAZIR: case B_WOODY: return 'w'; + case W_HAWK: case W_HORSE: case W_PRIESTESS: case W_NIGHTRIDER: return 'H'; + case B_HAWK: case B_HORSE: case B_PRIESTESS: case B_NIGHTRIDER: