X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=backend.c;h=c5be3122b071625ff621d856a0da5bc9e6a50342;hb=635daf56748af66bf3185d85fb83b12280ef6c83;hp=3eea34d3a6e3d4ec8f18f81a49bea9c6059d0b7e;hpb=eca6bb833394a9a378dd209cefb2c1a5e721f2a9;p=xboard.git diff --git a/backend.c b/backend.c index 3eea34d..c5be312 100644 --- a/backend.c +++ b/backend.c @@ -1743,6 +1743,11 @@ InitBackEnd3 P((void)) CopyBoard(filePosition, boards[0]); CopyBoard(initialPosition, boards[0]); } + } else if(*appData.fen != NULLCHAR) { + if(ParseFEN(filePosition, &blackPlaysFirst, appData.fen, TRUE) && !blackPlaysFirst) { + startedFromPositionFile = TRUE; + Reset(TRUE, TRUE); + } } if (initialMode == AnalyzeMode) { if (appData.noChessProgram) { @@ -12928,7 +12933,7 @@ LoadGame (FILE *f, int gameNumber, char *title, int useList) char buf[MSG_SIZ]; int gn = gameNumber; ListGame *lg = NULL; - int numPGNTags = 0; + int numPGNTags = 0, i; int err, pos = -1; GameMode oldGameMode; VariantClass v, oldVariant = gameInfo.variant; /* [HGM] PGNvariant */ @@ -13117,6 +13122,8 @@ LoadGame (FILE *f, int gameNumber, char *title, int useList) if (appData.debugMode) fprintf(debugFP, "Parsed game start '%s' (%d)\n", yy_text, (int) cm); + for(i=0; i