typedef enum {
ArgString, ArgInt, ArgFloat, ArgBoolean, ArgTrue, ArgFalse, ArgNone,
ArgColor, ArgAttribs, ArgFilename, ArgBoardSize, ArgFont, ArgCommSettings,
- ArgSettingsFilename,
+ ArgSettingsFilename, ArgTwo,
ArgX, ArgY, ArgZ // [HGM] placement: for window-placement options stored relative to main window
} ArgType;
{ "firstUCI", ArgTrue, (void *) &appData.firstIsUCI, FALSE, INVALID },
{ "secondIsUCI", ArgBoolean, (void *) &appData.secondIsUCI, FALSE, (ArgIniType) FALSE },
{ "sUCI", ArgTrue, (void *) &appData.secondIsUCI, FALSE, INVALID },
+ { "fUCCI", ArgTwo, (void *) &appData.firstIsUCI, FALSE, INVALID },
+ { "sUCCI", ArgTwo, (void *) &appData.secondIsUCI, FALSE, INVALID },
+ { "fUSI", ArgTwo, (void *) &appData.firstIsUCI, FALSE, INVALID },
+ { "sUSI", ArgTwo, (void *) &appData.secondIsUCI, FALSE, INVALID },
{ "secondUCI", ArgTrue, (void *) &appData.secondIsUCI, FALSE, INVALID },
{ "firstHasOwnBookUCI", ArgBoolean, (void *) &appData.firstHasOwnBookUCI, FALSE, (ArgIniType) TRUE },
{ "fNoOwnBookUCI", ArgFalse, (void *) &appData.firstHasOwnBookUCI, FALSE, INVALID },
{ "sNoOwnBookUCI", ArgFalse, (void *) &appData.secondHasOwnBookUCI, FALSE, INVALID },
{ "secondXBook", ArgFalse, (void *) &appData.secondHasOwnBookUCI, FALSE, INVALID },
{ "adapterCommand", ArgFilename, (void *) &appData.adapterCommand, TRUE, (ArgIniType) "polyglot -noini -ec \"%fcp\" -ed \"%fd\"" },
+ { "uxiAdapter", ArgFilename, (void *) &appData.ucciAdapter, TRUE, (ArgIniType) "" },
{ "polyglotDir", ArgFilename, (void *) &appData.polyglotDir, TRUE, (ArgIniType) "" },
{ "usePolyglotBook", ArgBoolean, (void *) &appData.usePolyglotBook, TRUE, (ArgIniType) FALSE },
{ "polyglotBook", ArgFilename, (void *) &appData.polyglotBook, TRUE, (ArgIniType) "" },
strncpy(argName, ad->argName,sizeof(argName)/sizeof(argName[0]));
}
+ if (ad->argType == ArgTwo) { // [HGM] kludgey arg type, not suitable for saving
+ *(Boolean *) ad->argLoc = 2;
+ continue;
+ }
if (ad->argType == ArgTrue) {
*(Boolean *) ad->argLoc = TRUE;
continue;
int checks, combos, buttons, layout, groups;\r
char title[MSG_SIZ];\r
char *engineName, *engineDir, *engineChoice, *engineLine, *nickName, *params;\r
-Boolean isUCI, hasBook, storeVariant, v1, addToList, useNick;\r
+Boolean isUCI, hasBook, storeVariant, v1, addToList, useNick, isUCCI;\r
extern Option installOptions[], matchOptions[];\r
char *engineNr[] = { N_("First"), N_("Second"), NULL };\r
char *engineList[1000] = {" "}, *engineMnemonic[1000] = {""};\r
}\r
\r
void InstallOK()\r
-{\r
+{
+ if(isUCCI) isUCI = 2;\r
if(engineChoice[0] == engineNr[0][0]) Load(&first, 0); else Load(&second, 1);\r
}\r
\r
{ 0, 0, 0, NULL, (void*) &engineDir, NULL, NULL, PathName, N_("directory:") },\r
{ 95, 0, 0, NULL, NULL, NULL, NULL, Label, N_("(Directory will be derived from engine path when empty)") },\r
{ 0, 0, 0, NULL, (void*) &isUCI, NULL, NULL, CheckBox, N_("UCI") },\r
+ { 0, 0, 0, NULL, (void*) &isUCCI, NULL, NULL, CheckBox, N_("UCCI / USI (uses specified /uxiAdapter)") },\r
{ 0, 0, 0, NULL, (void*) &v1, NULL, NULL, CheckBox, N_("WB protocol v1 (skip waiting for features)") },\r
{ 0, 0, 0, NULL, (void*) &addToList, NULL, NULL, CheckBox, N_("Add this engine to the list") },\r
{ 0, 0, 0, NULL, (void*) &hasBook, NULL, NULL, CheckBox, N_("Must not use GUI book") },\r
{\r
int n=0;\r
\r
- isUCI = storeVariant = v1 = useNick = FALSE; addToList = hasBook = TRUE; // defaults\r
+ isUCI = isUCCI = storeVariant = v1 = useNick = FALSE; addToList = hasBook = TRUE; // defaults\r
if(engineDir) free(engineDir); engineDir = strdup("");\r
if(params) free(params); params = strdup("");\r
if(nickName) free(nickName); nickName = strdup("");\r