X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=gnushogi%2Fmakepattern.c;h=fa2ee14baa0ea77e7f64b1312821ce6067c34938;hb=b8e35b1d447cee3c38bc8177ea8609360a88872d;hp=c9d97adf8fc4ec8d13479fe43b0672a368fb127e;hpb=8f8fd31fec3aa8ed18e98a86d938b917162c619b;p=gnushogi.git diff --git a/gnushogi/makepattern.c b/gnushogi/makepattern.c index c9d97ad..fa2ee14 100644 --- a/gnushogi/makepattern.c +++ b/gnushogi/makepattern.c @@ -4,6 +4,7 @@ * ---------------------------------------------------------------------- * Copyright (c) 1993, 1994, 1995 Matthias Mutz * Copyright (c) 1999 Michael Vanier and the Free Software Foundation + * Copyright (c) 2008, 2013, 2014 Yann Dirson and the Free Software Foundation * * GNU SHOGI is based on GNU CHESS * @@ -36,14 +37,18 @@ #define MAX_OPENING_SEQUENCE 20 #define MAX_PATTERN 200 -static char *patternfile = PATTERNFILE; +short xboard = false; + small_short pattern_data[MAX_PATTERN_DATA]; /* minimal ShowMessage to avoid dependency on extraneous display code */ static void -Dummy_ShowMessage(char *s) +Dummy_ShowMessage(char *format, ...) { - printf("%s\n", s); + va_list ap; + va_start(ap, format); + vprintf(format, ap); + va_end(ap); } static struct display dummydsp = { .ShowMessage = Dummy_ShowMessage, @@ -124,7 +129,7 @@ ScanPiece(char **s, small_short *side, /* determine column */ for (c = 0; c < NO_COLS; c++) { - if (**s == cxx[c]) + if (**s == COL_NAME(c)) { (*s)++; break; @@ -137,7 +142,7 @@ ScanPiece(char **s, small_short *side, /* determine row */ for (r = 0; r < NO_ROWS; r++) { - if (**s == rxx[r]) + if (**s == ROW_NAME(r)) { (*s)++; break; @@ -191,7 +196,7 @@ ScanPattern (char *s, short *pindex) void -ReadOpeningSequences (short *pindex) +ReadOpeningSequences (short *pindex, const char* patternfile) { FILE *fd; char s[256]; @@ -200,9 +205,6 @@ ReadOpeningSequences (short *pindex) fd = fopen (patternfile, "r"); - if (fd == NULL) - fd = fopen ("gnushogi.pat", "r"); - if (fd == NULL) { sprintf(s, "no pattern file '%s'", patternfile); dsp->ShowMessage(s); @@ -253,14 +255,14 @@ ReadOpeningSequences (short *pindex) void -WriteOpeningSequences (short pindex) +WriteOpeningSequences (short pindex, const char* patternincfile) { FILE *fd; short n = 0; short max_pattern = 0; short max_opening_sequence = 0; - fd = fopen ("pattern.inc", "w"); + fd = fopen (patternincfile, "w"); fprintf(fd, "#define MAX_PATTERN_DATA %d\n\n", pindex); fprintf(fd, "small_short pattern_data[MAX_PATTERN_DATA] =\n{\n");