X-Git-Url: http://winboard.nl/cgi-bin?p=xboard.git;a=blobdiff_plain;f=args.h;h=85e8765f7e40a66b38275b61d6bfdb5969d31e0c;hp=7e39735a7268ef8f331905b5706b190bc3bf247f;hb=fa81f9170982520d00d773733bfac265978f0494;hpb=8ec787419ed071b5eaf5710a6a10637ec9fb7a58 diff --git a/args.h b/args.h index 7e39735..85e8765 100644 --- a/args.h +++ b/args.h @@ -5,7 +5,7 @@ * Massachusetts. * * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006, - * 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc. + * 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Free Software Foundation, Inc. * * Enhancements Copyright 2005 Alessandro Scotti * @@ -100,6 +100,7 @@ typedef struct { } IcsTextMenuEntry; IcsTextMenuEntry icsTextMenuEntry[ICS_TEXT_MENU_SIZE]; +char dataDir[MSG_SIZ] = DATADIR; int junk; int saveDate; @@ -223,6 +224,7 @@ ArgDescriptor argDescriptors[] = { { "pieceImageDirectory", ArgFilename, (void *) &appData.pieceDirectory, TRUE, (ArgIniType) "" }, { "pid", ArgFilename, (void *) &appData.pieceDirectory, FALSE, INVALID }, { "trueColors", ArgBoolean, (void *) &appData.trueColors, TRUE, (ArgIniType) FALSE }, + { "jewelled", ArgInt, (void *) &appData.jewelled, FALSE, (ArgIniType) -1 }, { "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 }, @@ -517,6 +519,7 @@ ArgDescriptor argDescriptors[] = { { "themeNames", ArgString, (void *) &appData.themeNames, TRUE, (ArgIniType) "native -upf false -ub false -ubt false -pid \"\"\n" }, { "addMasterOption", ArgMaster, NULL, FALSE, INVALID }, { "installEngine", ArgInstall, (void *) &firstChessProgramNames, FALSE, (ArgIniType) "" }, + { "installTheme", ArgInstall, (void *) &appData.themeNames, FALSE, (ArgIniType) "" }, { "initialMode", ArgString, (void *) &appData.initialMode, FALSE, (ArgIniType) "" }, { "mode", ArgString, (void *) &appData.initialMode, FALSE, INVALID }, { "variant", ArgString, (void *) &appData.variant, FALSE, (ArgIniType) "normal" }, @@ -610,7 +613,8 @@ ArgDescriptor argDescriptors[] = { { "ub", ArgBoolean, (void *) &appData.useBorder, FALSE, INVALID }, { "border", ArgFilename, (void *) &appData.border, TRUE, (ArgIniType) "" }, { "finger", ArgFilename, (void *) &appData.finger, FALSE, (ArgIniType) "" }, - { "inscriptions", ArgString, (void *) &appData.inscriptions, XBOARD, (ArgIniType) "" }, + { "epd", ArgTrue, (void *) &appData.epd, FALSE, INVALID }, + { "inscriptions", ArgString, (void *) &appData.inscriptions, FALSE, (ArgIniType) "" }, { "autoInstall", ArgString, (void *) &appData.autoInstall, XBOARD, (ArgIniType) "" }, { "fixedSize", ArgBoolean, (void *) &appData.fixedSize, TRUE, (ArgIniType) FALSE }, @@ -709,6 +713,11 @@ ArgDescriptor argDescriptors[] = { { "firstDrawDepth", ArgInt, (void *) &appData.drawDepth[0], FALSE, (ArgIniType) 0 }, { "secondDrawDepth", ArgInt, (void *) &appData.drawDepth[1], FALSE, (ArgIniType) 0 }, { "memoHeaders", ArgBoolean, (void *) &appData.headers, TRUE, (ArgIniType) FALSE }, + { "startupMessage", ArgString, (void *) &appData.message, FALSE, (ArgIniType) "" }, + { "messageSuppress", ArgString, (void *) &appData.suppress, XBOARD, (ArgIniType) "" }, + { "fen", ArgString, (void *) &appData.fen, FALSE, (ArgIniType) "" }, + { "men", ArgString, (void *) &appData.men, FALSE, (ArgIniType) "" }, + { "analysisBell", ArgInt, (void *) &appData.analysisBell, TRUE, (ArgIniType) 0 }, #if ZIPPY { "zippyTalk", ArgBoolean, (void *) &appData.zippyTalk, FALSE, (ArgIniType) ZIPPY_TALK }, @@ -927,7 +936,7 @@ ParseSettingsFile(char *name, char **addr) MySearchPath(installDir, buf, fullname); // first look in user's own files f = fopen(fullname, "r"); if(f == NULL) { - snprintf(buf, MSG_SIZ, "%s/themes/conf", DATADIR); + snprintf(buf, MSG_SIZ, "%s/themes/conf", dataDir); MySearchPath(buf, name, fullname); // also look in standard place f = fopen(fullname, "r"); } @@ -1167,7 +1176,7 @@ ParseArgs(GetFunc get, void *cl) case ArgFilename: if(argValue[0] == '~' && argValue[1] == '~') { char buf[4*MSG_SIZ]; // expand ~~ - snprintf(buf, 4*MSG_SIZ, "%s%s", DATADIR, argValue+2); + snprintf(buf, 4*MSG_SIZ, "%s%s", dataDir, argValue+2); ASSIGN(*(char **) ad->argLoc, buf); break; } @@ -1408,7 +1417,11 @@ InitAppData(char *lpCmdLine) appData.NrRanks > BOARD_RANKS ) DisplayFatalError("Recompile with BOARD_RANKS or BOARD_FILES, to support this size", 0, 2); - if(!*appData.secondChessProgram) { ASSIGN(appData.secondChessProgram, appData.firstChessProgram); } // [HGM] scp defaults to fcp + if(!*appData.secondChessProgram) { // [HGM] scp defaults to fcp + ASSIGN(appData.secondChessProgram, appData.firstChessProgram); + ASSIGN(appData.secondDirectory, appData.firstDirectory); + appData.secondIsUCI = appData.firstIsUCI; // copy type too! + } /* [HGM] After parsing the options from the .ini file, and overruling them * with options from the command line, we now make an even higher priority @@ -1461,6 +1474,11 @@ InitAppData(char *lpCmdLine) } else appData.timeIncrement = -1; } if(appData.movesPerSession <= 0) appData.movesPerSession = MOVES_PER_SESSION; // mps <= 0 is invalid in any case + if(*appData.defaultPathEGTB) { // append value of deprecated -defaultPathEGTB to -egtFormats + snprintf(buf, MAX_ARG_LEN, "%s%snalimov:%s", appData.egtFormats, (*appData.egtFormats ?"," : ""), appData.defaultPathEGTB); + ASSIGN(appData.egtFormats, buf); + ASSIGN(appData.defaultPathEGTB, ""); + } /* Open startup dialog if needed */ if ((!appData.noChessProgram && !chessProgram && !appData.icsActive) || @@ -1512,11 +1530,10 @@ SaveSettings(char* name) ArgDescriptor *ad; char dir[MSG_SIZ], buf[MSG_SIZ]; int mps = appData.movesPerSession; - TimeMark now; if (!MainWindowUp() && !autoClose) return; - GetTimeMark(&now); saveDate = now.sec; + saveDate = programStartTime.sec; GetCurrentDirectory(MSG_SIZ, dir); if(MySearchPath(installDir, name, buf)) { @@ -1619,8 +1636,8 @@ SaveSettings(char* name) { char buf[MSG_SIZ]; snprintf(buf, MSG_SIZ, "%s", *(char**)ad->argLoc); #ifdef OSXAPP - if(strstr(buf, DATADIR) == buf) - snprintf(buf, MSG_SIZ, "~~%s", *(char**)ad->argLoc + strlen(DATADIR)); + if(strstr(buf, dataDir) == buf) + snprintf(buf, MSG_SIZ, "~~%s", *(char**)ad->argLoc + strlen(dataDir)); #endif if (strchr(buf, '\"')) { fprintf(f, OPTCHAR "%s" SEPCHAR "'%s'\n", ad->argName, buf);