/*\r
* woptions.c -- Options dialog box routines for WinBoard\r
*\r
- * Copyright 2000, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.\r
+ * Copyright 2000, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Free\r
+ * Software Foundation, Inc.\r
*\r
* Enhancements Copyright 2005 Alessandro Scotti\r
*\r
void\r
VariantShowRadio(HWND hDlg)\r
{\r
- char c = *engineVariant;\r
+ char c = *engineVariant, *v, *p;\r
int i=0, j;\r
CheckDlgButton(hDlg, radioButton[gameInfo.variant], TRUE);\r
*engineVariant = NULLCHAR; // [HGM] kludge to prevent VariantName will always return engineVariant\r
while((j = radioButton[i++]) != -2) {\r
if(j == -1) continue; // no menu button\r
- EnableWindow(GetDlgItem(hDlg, j), appData.noChessProgram || strstr(first.variants, VariantName(i-1)));\r
+ v = VariantName(i-1); p = strstr(first.variants, v);\r
+ EnableWindow(GetDlgItem(hDlg, j), appData.noChessProgram || p && (!*v || strlen(v) == strlen(p) || p[strlen(v)] == ','));\r
}\r
*engineVariant = c;\r
for(i=0; i<15; i++) { // initialize engine-defined variants\r
}\r
\r
gameInfo.variant = v;\r
- appData.variant = VariantName(v);\r
+ ASSIGN(appData.variant, VariantName(v));\r
\r
appData.NrFiles = (int) GetDlgItemInt(hDlg, IDC_Files, NULL, FALSE );\r
appData.NrRanks = (int) GetDlgItemInt(hDlg, IDC_Ranks, NULL, FALSE );\r
shuffleOpenings = FALSE; /* [HGM] shuffle: possible shuffle reset when we switch */\r
startedFromPositionFile = FALSE; /* [HGM] loadPos: no longer valid in new variant */\r
appData.pieceToCharTable = NULL;\r
+ ASSIGN(appData.pieceNickNames, "");\r
+ ASSIGN(appData.colorNickNames, "");\r
+ ASSIGN(appData.men, "");\r
Reset(TRUE, TRUE);\r
\r
return TRUE;\r