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;\r
+Boolean isUCI, hasBook, storeVariant, v1, addToList, useNick;\r
extern Option installOptions[], matchOptions[];\r
char *engineNr[] = { N_("First"), N_("Second"), NULL };\r
char *engineList[1000] = {" "}, *engineMnemonic[1000] = {""};\r
if(!success) break;\r
if(!cps) {\r
char *p;\r
- if(*(char**)optionList[j].target) free(*(char**)optionList[j].target);\r
- *(char**)optionList[j].target = p = text;\r
+ p = (optionList[j].type != FileName ? strdup(text) : InterpretFileName(text, homeDir)); // all files relative to homeDir!\r
+ FREE(*(char**)optionList[j].target); *(char**)optionList[j].target = p;
+ free(text); text = p;\r
while(*p++ = *text++) if(p[-1] == '\r') p--; // crush CR\r
break;\r
}\r
{ 0, 0, 0, NULL, (void*) &engineLine, (char*) engineMnemonic, engineList, ComboBox, N_("Select engine from list:") },\r
{ 0, 0, 0, NULL, NULL, NULL, NULL, Label, N_("or specify one below:") },\r
{ 0, 0, 0, NULL, (void*) &nickName, NULL, NULL, TextBox, N_("Nickname (optional):") },\r
+ { 0, 0, 0, NULL, (void*) &useNick, NULL, NULL, CheckBox, N_("Use nickname in PGN tag") },\r
{ 0, 0, 3, NULL, (void*) &engineName, NULL, NULL, FileName, N_("Engine Executable:") },\r
{ 0, 0, 0, NULL, (void*) ¶ms, NULL, NULL, TextBox, N_("Engine command-line Parameters:") },\r
{ 0, 0, 0, NULL, (void*) &engineDir, NULL, NULL, PathName, N_("Engine Directory:") },\r
{\r
int n=0;\r
\r
- isUCI = addToList = storeVariant = v1 = FALSE; hasBook = TRUE; // defaults\r
+ isUCI = 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
{ 0, 1, 1000000000, NULL, (void*) &appData.tourneyCycles, "", NULL, Spin, N_("Number of tourney cycles:") },\r
{ 0, 0, 0, NULL, (void*) &appData.roundSync, "", NULL, CheckBox, N_("Sync after round") },\r
{ 0, 1, 1000000000, NULL, (void*) &appData.defaultMatchGames, "", NULL, Spin, N_("Games per Match / Pairing:") },\r
+ { 0, 0, 1, NULL, (void*) &appData.saveGameFile, "", NULL, FileName, N_("File for saving tourney games:") },\r
{ 0, 0, 1, NULL, (void*) &appData.loadGameFile, "", NULL, FileName, N_("Game File with Opening Lines:") },\r
{ 0, -2, 1000000000, NULL, (void*) &appData.loadGameIndex, "", NULL, Spin, N_("Game Number:") },\r
{ 0, 0, 2, NULL, (void*) &appData.loadPositionFile, "", NULL, FileName, N_("File with Start Positions:") },\r