Allow writing text on pieces
[xboard.git] / args.h
diff --git a/args.h b/args.h
index cea60f1..e8ef298 100644 (file)
--- a/args.h
+++ b/args.h
@@ -512,7 +512,7 @@ ArgDescriptor argDescriptors[] = {
     TRUE, (ArgIniType) FCP_NAMES },
   { "secondChessProgramNames", ArgString, (void *) &secondChessProgramNames,
     !XBOARD, (ArgIniType) SCP_NAMES },
-  { "themeNames", ArgString, (void *) &appData.themeNames, !XBOARD, (ArgIniType) "native -upf false -ub false -ubt false -pid \"\"\n" },
+  { "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) "" },
   { "initialMode", ArgString, (void *) &appData.initialMode, FALSE, (ArgIniType) "" },
@@ -608,6 +608,7 @@ 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) "" },
 
   // [HGM] tournament options
   { "tourneyFile", ArgFilename, (void *) &appData.tourneyFile, FALSE, (ArgIniType) "" },
@@ -913,11 +914,16 @@ ParseSettingsFile(char *name, char **addr)
   if (ok) {
     f = fopen(fullname, "r");
 #ifdef DATADIR
-    if(f == NULL && *fullname != '/') {         // when a relative name did not work
+    if(f == NULL && *fullname != '/' && !addr) {         // when a relative name did not work
        char buf[MSG_SIZ];
-       snprintf(buf, MSG_SIZ, "%s/themes/conf", DATADIR);
-       MySearchPath(buf, name, fullname); // also look in standard place
+       snprintf(buf, MSG_SIZ, "~/.xboard/themes/conf/%s", name);
+       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);
+           MySearchPath(buf, name, fullname); // also look in standard place
+           f = fopen(fullname, "r");
+       }
     }
 #endif
     if (f != NULL) {
@@ -1395,6 +1401,8 @@ 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
+
   /* [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
    * overrule by WB options attached to the engine command line. This so that