X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=winboard%2Fwsettings.c;h=0c92fbc42a54ab9cfef17840c1741cbae462a6a4;hb=13fa8dd75ddaa317141502a09766a78ecfe218e6;hp=db4114712ebb4a715bbb71d98dc3e3e2cbc4ee7d;hpb=4d18660fbeb5a02a77d65986dd7207092534a67d;p=xboard.git diff --git a/winboard/wsettings.c b/winboard/wsettings.c index db41147..0c92fbc 100644 --- a/winboard/wsettings.c +++ b/winboard/wsettings.c @@ -34,7 +34,7 @@ int breaks[MAX_OPTIONS]; int checks, combos, buttons, layout, groups; char title[MSG_SIZ]; char *engineName, *engineDir, *engineChoice, *engineLine, *nickName, *params; -Boolean isUCI, hasBook, storeVariant, v1, addToList; +Boolean isUCI, hasBook, storeVariant, v1, addToList, useNick, isUCCI; extern Option installOptions[], matchOptions[]; char *engineNr[] = { N_("First"), N_("Second"), NULL }; char *engineList[1000] = {" "}, *engineMnemonic[1000] = {""}; @@ -352,8 +352,9 @@ GetOptionValues(HWND hDlg, ChessProgramState *cps, Option *optionList) if(!success) break; if(!cps) { char *p; - if(*(char**)optionList[j].target) free(*(char**)optionList[j].target); - *(char**)optionList[j].target = p = text; + p = (optionList[j].type != FileName ? strdup(text) : InterpretFileName(text, homeDir)); // all files relative to homeDir! + FREE(*(char**)optionList[j].target); *(char**)optionList[j].target = p; + free(text); text = p; while(*p++ = *text++) if(p[-1] == '\r') p--; // crush CR break; } @@ -610,7 +611,8 @@ EngineOptionsPopup(HWND hwnd, ChessProgramState *cps) } void InstallOK() -{ +{ + if(isUCCI) isUCI = 2; if(engineChoice[0] == engineNr[0][0]) Load(&first, 0); else Load(&second, 1); } @@ -618,11 +620,13 @@ Option installOptions[] = { { 0, 0, 0, NULL, (void*) &engineLine, (char*) engineMnemonic, engineList, ComboBox, N_("Select engine from list:") }, { 0, 0, 0, NULL, NULL, NULL, NULL, Label, N_("or specify one below:") }, { 0, 0, 0, NULL, (void*) &nickName, NULL, NULL, TextBox, N_("Nickname (optional):") }, - { 0, 0, 3, NULL, (void*) &engineName, NULL, NULL, FileName, N_("Engine Executable:") }, - { 0, 0, 0, NULL, (void*) ¶ms, NULL, NULL, TextBox, N_("Engine command-line Parameters:") }, - { 0, 0, 0, NULL, (void*) &engineDir, NULL, NULL, PathName, N_("Engine Directory:") }, + { 0, 0, 0, NULL, (void*) &useNick, NULL, NULL, CheckBox, N_("Use nickname in PGN tag") }, + { 0, 0, 3, NULL, (void*) &engineName, NULL, NULL, FileName, N_("Engine (*.exe):") }, + { 0, 0, 0, NULL, (void*) ¶ms, NULL, NULL, TextBox, N_("command-line parameters:") }, + { 0, 0, 0, NULL, (void*) &engineDir, NULL, NULL, PathName, N_("directory:") }, { 95, 0, 0, NULL, NULL, NULL, NULL, Label, N_("(Directory will be derived from engine path when empty)") }, { 0, 0, 0, NULL, (void*) &isUCI, NULL, NULL, CheckBox, N_("UCI") }, + { 0, 0, 0, NULL, (void*) &isUCCI, NULL, NULL, CheckBox, N_("UCCI / USI (uses specified /uxiAdapter)") }, { 0, 0, 0, NULL, (void*) &v1, NULL, NULL, CheckBox, N_("WB protocol v1 (skip waiting for features)") }, { 0, 0, 0, NULL, (void*) &addToList, NULL, NULL, CheckBox, N_("Add this engine to the list") }, { 0, 0, 0, NULL, (void*) &hasBook, NULL, NULL, CheckBox, N_("Must not use GUI book") }, @@ -653,7 +657,7 @@ void LoadEnginePopUp(HWND hwnd) { int n=0; - isUCI = addToList = storeVariant = v1 = FALSE; hasBook = TRUE; // defaults + isUCI = isUCCI = storeVariant = v1 = useNick = FALSE; addToList = hasBook = TRUE; // defaults if(engineDir) free(engineDir); engineDir = strdup(""); if(params) free(params); params = strdup(""); if(nickName) free(nickName); nickName = strdup(""); @@ -687,6 +691,7 @@ Option tourneyOptions[] = { { 0, 1, 1000000000, NULL, (void*) &appData.tourneyCycles, "", NULL, Spin, N_("Number of tourney cycles:") }, { 0, 0, 0, NULL, (void*) &appData.roundSync, "", NULL, CheckBox, N_("Sync after round") }, { 0, 1, 1000000000, NULL, (void*) &appData.defaultMatchGames, "", NULL, Spin, N_("Games per Match / Pairing:") }, + { 0, 0, 1, NULL, (void*) &appData.saveGameFile, "", NULL, FileName, N_("File for saving tourney games:") }, { 0, 0, 1, NULL, (void*) &appData.loadGameFile, "", NULL, FileName, N_("Game File with Opening Lines:") }, { 0, -2, 1000000000, NULL, (void*) &appData.loadGameIndex, "", NULL, Spin, N_("Game Number:") }, { 0, 0, 2, NULL, (void*) &appData.loadPositionFile, "", NULL, FileName, N_("File with Start Positions:") },