#include "draw.h"
#define SLASH '/'
+#define DATADIR "~~"
#ifdef __EMX__
#ifndef HAVE_USLEEP
void
ParseColor (int n, char *name)
{ // in XBoard, just copy the color-name string
- if(colorVariable[n]) *(char**)colorVariable[n] = strdup(name);
+ if(colorVariable[n] && *name == '#') *(char**)colorVariable[n] = strdup(name);
}
char *
/* go through all menu items and extract the keyboard shortcuts, so that X11 can load them */
char *output[2];
- int i,j;
+ int i,j,n=0;
MenuItem *mi;
output[0] = strdup(""); // build keystrokes with and wo mod keys separately
output[1] = strdup(""); // so the more specific can preceed the other
/* loop over all menu entries */
- for( i=0; menuBar[i].mi ; i++)
+ for( i=0; menuBar[i-n].mi || !n++; i++)
{
- mi = menuBar[i].mi;
+ mi = menuBar[i+n].mi; // kludge to access 'noMenu' behind sentinel
for(j=0; mi[j].proc; j++)
{
if (mi[j].accel)
mods[strlen(mods)-1]='\0';
/* get the name for the callback, we can use MenuItem() here that will call KeyBindingProc */
- size_t namesize = snprintf(NULL, 0, "%s.%s", menuBar[i].ref, mi[j].ref);
- char *name = malloc(namesize+1);
- snprintf(name, namesize+1, "%s.%s", menuBar[i].ref, mi[j].ref);
+ char *name = malloc(MSG_SIZ);
+ if(n) snprintf(name, MSG_SIZ, "%s", mi[j].ref);
+ else snprintf(name, MSG_SIZ, "%s.%s", menuBar[i].ref, mi[j].ref);
- size_t buffersize = snprintf(NULL, 0, ":%s<Key>%s: MenuItem(%s) \n ", mods, key, name);
- char *buffer = malloc(buffersize+1);
- snprintf(buffer, buffersize+1, ":%s<Key>%s: MenuItem(%s) \n ", mods, key, name);
+ char *buffer = malloc(MSG_SIZ);
+ snprintf(buffer, MSG_SIZ, ":%s<Key>%s: MenuItem(%s) \n ", mods, key, name);
/* add string to the output */
output[shift|alt|ctrl] = realloc(output[shift|alt|ctrl], strlen(output[shift|alt|ctrl]) + strlen(buffer)+1);
char *p;
int forceMono = False;
+ extern Option chatOptions[]; // FIXME: adapt Chat window, removing ICS pane and Hide button
+ chatOptions[6].type = chatOptions[10].type = Skip;
+
srandom(time(0)); // [HGM] book: make random truly random
setbuf(stdout, NULL);
CatchDeleteWindow(shellWidget, "QuitProc");
- CreateAnyPieces();
+ CreateAnyPieces(1);
CreateGrid();
if(appData.logoSize)
} else if(appData.autoLogo) {
if(ics) { // [HGM] logo: in ICS mode second can be used for ICS
sprintf(buf, "%s/%s.png", appData.logoDir, appData.icsHost);
- } else if(appData.directory[n] && appData.directory[n][0]) {
+ } else if(appData.logoDir && appData.logoDir[0]) {
sprintf(buf, "%s/%s.png", appData.logoDir, cps->tidy);
}
}