X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=winboard%2Fwoptions.c;h=e6d6e80b6d5cf71c04cf79f7ef07794c18a7b490;hb=0ad96b3c66def72f0086d2a89a5441070696cba8;hp=2c92e4d4aca46d20d7e3eccec838c255e13f6101;hpb=8ee0292f69ffa3ebef03640cc5944d9c60e86bb8;p=xboard.git diff --git a/winboard/woptions.c b/winboard/woptions.c index 2c92e4d..e6d6e80 100644 --- a/winboard/woptions.c +++ b/winboard/woptions.c @@ -1,7 +1,8 @@ /* * woptions.c -- Options dialog box routines for WinBoard * - * Copyright 2000, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc. + * Copyright 2000, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Free + * Software Foundation, Inc. * * Enhancements Copyright 2005 Alessandro Scotti * @@ -850,7 +851,6 @@ int radioButton[] = { -1, OPT_VariantShogi, -1, // Chu - OPT_VariantXiangqi, OPT_VariantCourier, OPT_VariantGothic, OPT_VariantCapablanca, @@ -865,10 +865,11 @@ int radioButton[] = { OPT_VariantGreat, -1, // Twilight, OPT_VariantMakruk, - OPT_VariantASEAN, OPT_VariantSChess, OPT_VariantGrand, OPT_VariantSpartan, // Spartan + OPT_VariantXiangqi, + OPT_VariantASEAN, OPT_VariantLion, -2 // sentinel }; @@ -883,7 +884,7 @@ VariantWhichRadio(HWND hDlg) if(IsDlgButtonChecked(hDlg, j) && (appData.noChessProgram || strstr(first.variants, VariantName(i-1)))) return (VariantClass) i-1; } - for(i=0; i<9; i++) { // check for engine-defined variants + for(i=0; i<15; i++) { // check for engine-defined variants if(IsDlgButtonChecked(hDlg, OPT_EngineVariant+i) ) { GetDlgItemText(hDlg, OPT_EngineVariant+i, engineVariant, MSG_SIZ); // remember name, so we can resolve it later return VariantUnknown; @@ -895,16 +896,17 @@ VariantWhichRadio(HWND hDlg) void VariantShowRadio(HWND hDlg) { - char c = *engineVariant; + char c = *engineVariant, *v, *p; int i=0, j; CheckDlgButton(hDlg, radioButton[gameInfo.variant], TRUE); *engineVariant = NULLCHAR; // [HGM] kludge to prevent VariantName will always return engineVariant while((j = radioButton[i++]) != -2) { if(j == -1) continue; // no menu button - EnableWindow(GetDlgItem(hDlg, j), appData.noChessProgram || strstr(first.variants, VariantName(i-1))); + v = VariantName(i-1); p = strstr(first.variants, v); + EnableWindow(GetDlgItem(hDlg, j), appData.noChessProgram || p && (!*v || strlen(v) == strlen(p) || p[strlen(v)] == ',')); } *engineVariant = c; - for(i=0; i<9; i++) { // initialize engine-defined variants + for(i=0; i<15; i++) { // initialize engine-defined variants char *v = EngineDefinedVariant(&first, i); // get name of #i if(v) { // there is such a variant EnableWindow(GetDlgItem(hDlg, OPT_EngineVariant+i), TRUE); // and enable the button @@ -2535,7 +2537,7 @@ LoadOptions(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) SetDlgItemInt(hDlg, OPT_Stretch, appData.stretch, FALSE); CheckDlgButton(hDlg, OPT_Reversed, appData.ignoreColors); CheckDlgButton(hDlg, OPT_Mirror, appData.findMirror); - SetDlgItemText(hDlg, OPT_Range, ""); + SetDlgItemText(hDlg, OPT_Counts, ""); switch (appData.searchMode) { case 1: CheckDlgButton(hDlg, OPT_Exact, TRUE); @@ -2580,9 +2582,9 @@ LoadOptions(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) appData.searchMode = LoadOptionsWhichRadio(hDlg); appData.ignoreColors = IsDlgButtonChecked(hDlg, OPT_Reversed); appData.findMirror = IsDlgButtonChecked(hDlg, OPT_Mirror); - appData.eloThreshold1 = GetDlgItemText(hDlg, OPT_Range, buf, MSG_SIZ); + GetDlgItemText(hDlg, OPT_Counts, buf, MSG_SIZ); appData.minPieces = appData.maxPieces = 0; - sscanf(buf, "%d-%d", appData.minPieces, appData.maxPieces); + sscanf(buf, "%d-%d", &appData.minPieces, &appData.maxPieces); if(appData.maxPieces < appData.minPieces) appData.maxPieces = appData.minPieces; EndDialog(hDlg, TRUE); return TRUE;