X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=args.h;h=6d9d3d0ab60c795db76e5682bbd0332da5df6421;hb=87c2133b5e998ff349a7aa2a8eb3026ff958c395;hp=6e3c3aca06b8abd30c99351960bd8ebe6b235d92;hpb=395642a0ccce8adbc55d4c8ff58780ab07c12813;p=xboard.git diff --git a/args.h b/args.h index 6e3c3ac..6d9d3d0 100644 --- a/args.h +++ b/args.h @@ -211,10 +211,10 @@ ArgDescriptor argDescriptors[] = { { "xtitle", ArgFalse, (void *) &appData.titleInWindow, FALSE, INVALID }, { "flashCount", ArgInt, (void *) &appData.flashCount, XBOARD, INVALID }, // let X handle this { "flashRate", ArgInt, (void *) &appData.flashRate, XBOARD, (ArgIniType) FLASH_RATE }, - { "pixmapDirectory", ArgFilename, (void *) &appData.pixmapDirectory, XBOARD, (ArgIniType) "" }, - { "pixmap", ArgFilename, (void *) &appData.pixmapDirectory, FALSE, INVALID }, - { "bitmapDirectory", ArgFilename, (void *) &appData.bitmapDirectory, XBOARD, (ArgIniType) "" }, - { "bm", ArgFilename, (void *) &appData.bitmapDirectory, FALSE, INVALID }, + { "pieceImageDirectory", ArgFilename, (void *) &appData.pieceDirectory, XBOARD, (ArgIniType) "" }, + { "pid", ArgFilename, (void *) &appData.pieceDirectory, FALSE, INVALID }, + { "fallbackPieceImageDirectory", ArgFilename, (void *) &appData.svgDirectory, FALSE, (ArgIniType) "" }, + { "trueColors", ArgBoolean, (void *) &appData.trueColors, TRUE, (ArgIniType) FALSE }, { "soundDirectory", ArgFilename, (void *) &appData.soundDirectory, XBOARD, (ArgIniType) "" }, { "msLoginDelay", ArgInt, (void *) &appData.msLoginDelay, XBOARD, (ArgIniType) MS_LOGIN_DELAY }, { "pasteSelection", ArgBoolean, (void *) &appData.pasteSelection, XBOARD, (ArgIniType) FALSE }, @@ -230,7 +230,7 @@ ArgDescriptor argDescriptors[] = { { "td", ArgFloat, (void *) &appData.timeDelay, FALSE, INVALID }, { "timeControl", ArgString, (void *) &appData.timeControl, TRUE, (ArgIniType) TIME_CONTROL }, { "tc", ArgString, (void *) &appData.timeControl, FALSE, INVALID }, - { "timeIncrement", ArgFloat, (void *) &appData.timeIncrement, TRUE, INVALID }, + { "timeIncrement", ArgFloat, (void *) &appData.timeIncrement, FALSE, INVALID }, { "inc", ArgFloat, (void *) &appData.timeIncrement, FALSE, INVALID }, { "internetChessServerMode", ArgBoolean, (void *) &appData.icsActive, FALSE, INVALID }, { "ics", ArgTrue, (void *) &appData.icsActive, FALSE, (ArgIniType) FALSE }, @@ -1274,7 +1274,7 @@ InitAppData(char *lpCmdLine) // float: casting to int is not harmless, so default cannot be contained in table appData.timeDelay = TIME_DELAY; - appData.timeIncrement = TIME_INCREMENT; + appData.timeIncrement = -314159; // some complex, platform-dependent stuff that could not be handled from table SetDefaultTextAttribs(); @@ -1289,8 +1289,8 @@ InitAppData(char *lpCmdLine) if(appData.viewer && appData.viewerOptions[0]) ParseArgsFromString(appData.viewerOptions); if(appData.tourney && appData.tourneyOptions[0]) ParseArgsFromString(appData.tourneyOptions); - chessProgram = GetEngineLine(firstEngineLine, 0) || GetEngineLine(secondEngineLine, 1); - appData.icsActive = GetEngineLine(icsNick, 10); + chessProgram |= GetEngineLine(firstEngineLine, 0) || GetEngineLine(secondEngineLine, 1); + appData.icsActive |= GetEngineLine(icsNick, 10); /* [HGM] make sure board size is acceptable */ if(appData.NrFiles > BOARD_FILES || @@ -1342,6 +1342,12 @@ InitAppData(char *lpCmdLine) if (appData.icsActive || appData.noChessProgram) { chessProgram = FALSE; /* not local chess program mode */ } + if(appData.timeIncrement == -314159) { // new storage mechanism of (mps,inc) in use and no -inc on command line + if(appData.movesPerSession <= 0) { // new encoding of incremental mode + appData.timeIncrement = -appData.movesPerSession/1000.; + } else appData.timeIncrement = -1; + } + if(appData.movesPerSession <= 0) appData.movesPerSession = MOVES_PER_SESSION; // mps <= 0 is invalid in any case /* Open startup dialog if needed */ if ((!appData.noChessProgram && !chessProgram && !appData.icsActive) || @@ -1387,6 +1393,7 @@ SaveSettings(char* name) FILE *f; ArgDescriptor *ad; char dir[MSG_SIZ], buf[MSG_SIZ]; + int mps = appData.movesPerSession; if (!MainWindowUp()) return; @@ -1425,6 +1432,8 @@ SaveSettings(char* name) // [HGM] in WB we have to copy sound names to appData first ExportSounds(); + if(appData.timeIncrement >= 0) appData.movesPerSession = -1000*appData.timeIncrement; // kludge to store mps & inc as one + for (ad = argDescriptors; ad->argName != NULL; ad++) { if (!ad->save) continue; switch (ad->argType) { @@ -1506,6 +1515,7 @@ SaveSettings(char* name) } } fclose(f); + appData.movesPerSession = mps; } Boolean