{ 0, 0, 0, NULL, (void*) &appData.cycleSync, "", NULL, CheckBox, N_("Sync after cycle") },
{ 0, LR, 175, NULL, NULL, NULL, NULL, Label, N_("Tourney participants:") },
{ 0, SAME_ROW|RR, 175, NULL, NULL, NULL, NULL, Label, N_("Select Engine:") },
-{ 150, T_VSCRL | T_FILL | T_WRAP,
+{ 200, T_VSCRL | T_FILL | T_WRAP,
175, NULL, (void*) &engineName, NULL, NULL, TextBox, "" },
-{ 150, SAME_ROW|RR,
+{ 200, SAME_ROW|RR,
175, NULL, (void*) engineMnemonic, (char*) &AddToTourney, NULL, ListBox, "" },
-{ 0, 0, 0, NULL, NULL, NULL, NULL, Break, "" }, // to decouple alignment above and below boxes
+{ 0, SAME_ROW, 0, NULL, NULL, NULL, NULL, Break, "" }, // to decouple alignment above and below boxes
//{ 0, COMBO_CALLBACK | NO_GETTEXT,
// 0, NULL, (void*) &AddToTourney, (char*) (engineMnemonic+1), (engineMnemonic+1), ComboBox, N_("Select Engine:") },
{ 0, 0, 10, NULL, (void*) &appData.tourneyType, "", NULL, Spin, N_("Tourney type (0 = round-robin, 1 = gauntlet):") },
{
static int start;
int i, last;
- char buf[MSG_SIZ];
ranksTmp = filesTmp = sizeTmp = -1; // prefer defaults over actual settings
if(appData.noChessProgram) sprintf(warning, _("Only bughouse is not available in viewer mode.")); else
sprintf(warning, _("All variants not supported by the first engine\n(currently %s) are disabled."), first.tidy);
}
variantDescriptors[start-2].type = (last < 0 ? EndMark : Skip);
variantDescriptors[start-1].type = (last < 6 ? Skip : Break);
- safeStrCpy(buf, engineVariant, MSG_SIZ); *engineVariant = NULLCHAR; // yeghh...
+ safeStrCpy(engineVariant+100, engineVariant, 100); *engineVariant = NULLCHAR; // yeghh...
GenericPopUp(variantDescriptors, _("New Variant"), TransientDlg, BoardWindow, MODAL, 0);
- safeStrCpy(engineVariant, buf, MSG_SIZ); // must temporarily clear to avoid enabling all variant buttons
+ safeStrCpy(engineVariant, engineVariant+100, MSG_SIZ); // must temporarily clear to avoid enabling all variant buttons
}
//------------------------------------------- Common Engine Options -------------------------------------
{
GLT_ParseList();
appData.gameListTags = strdup(lpUserGLT);
+ GameListUpdate();
return 1;
}
{
void *whiteLogo = first.programLogo, *blackLogo = second.programLogo;
if(appData.autoLogo) {
- if(appData.noChessProgram) whiteLogo = blackLogo = NULL; else
+ if(appData.noChessProgram) whiteLogo = blackLogo = NULL;
+ if(appData.icsActive) whiteLogo = blackLogo = second.programLogo;
switch(gameMode) { // pick logos based on game mode
case IcsObserving:
whiteLogo = second.programLogo; // ICS logo
BoardPopUp (int squareSize, int lineGap, void *clockFontThingy)
{
int i, size = BOARD_WIDTH*(squareSize + lineGap) + lineGap, logo = appData.logoSize;
+ int f = 2*appData.fixedSize; // width fudge, needed for unknown reasons to not clip board
mainOptions[W_WHITE].choice = (char**) clockFontThingy;
mainOptions[W_BLACK].choice = (char**) clockFontThingy;
mainOptions[W_BOARD].value = BOARD_HEIGHT*(squareSize + lineGap) + lineGap;
mainOptions[W_BOARD].max = mainOptions[W_SMALL].max = size; // board size
mainOptions[W_SMALL].max = size - 2; // board title (subtract border!)
mainOptions[W_BLACK].max = mainOptions[W_WHITE].max = size/2-3; // clock width
- mainOptions[W_MESSG].max = appData.showButtonBar ? size-135 : size-2; // message
+ mainOptions[W_MESSG].max = appData.showButtonBar ? size-135+f : size-2+f; // message
mainOptions[W_MENU].max = size-40; // menu bar
mainOptions[W_TITLE].type = appData.titleInWindow ? Label : Skip ;
if(logo && logo <= size/4) { // Activate logos