schoch@trident.arc.nasa.gov (Steve Schoch) (02/13/91)
Submitted-by: schoch@trident.arc.nasa.gov (Steve Schoch) Posting-number: Volume 11, Issue 58 Archive-name: kriegspiel/part03 #!/bin/sh echo x - xoutput.c sed 's/^X//' >xoutput.c <<'*-*-END-of-xoutput.c-*-*' X#ifndef lint Xstatic char rcsid[] = "$Header: xoutput.c,v 1.3 87/02/12 11:14:37 schoch Exp $"; X#endif X X/* output.c */ X#include "externs.h" X#include <strings.h> X Xreportchecks (checkdirs, kingloc) X LIST checkdirs; X int kingloc; X{ X LIST l, lmember (); X int quadrant, n; X char str [2] [40]; X char buf[128]; X X buf[0] = '\0'; X n = 0; X quadrant = ((kingloc % 10 > 4) == (kingloc/10 < 5)); X if (lmember (-9, checkdirs) || lmember (9, checkdirs)) X if (quadrant == 1) X strcpy (str[n++], "long diagonal"); X else X strcpy (str[n++], "short diagonal"); X if (lmember (-11, checkdirs) || lmember (11, checkdirs)) X if (quadrant == 0) X strcpy (str[n++], "long diagonal"); X else X strcpy (str[n++], "short diagonal"); X if (lmember (-10, checkdirs) || lmember (10, checkdirs)) X strcpy (str[n++], "file\n"); X if (lmember (-1, checkdirs) || lmember (1, checkdirs)) X strcpy (str[n++], "rank\n"); X l = dirlist [KNIGHT]; X while (l != NIL) { X if (lmember (l->i, checkdirs)) X strcpy (str[n++], "knight"); X l = l->n; X } X if (n > 0) { X strcpy(buf, "check by the "); X strcat(buf, str[0]); X } X if (n == 2) { X strcat(buf, " and "); X strcat(buf, str[1]); X } X if (n > 0) X message(buf, CHECK); X} X Xillegal (why, color) X int why; X u_char color; X{ X mclear(LEGAL); X if (why == ILLEGAL) X message("illegal", LEGAL); X else if (color == ourcolor) { X if (why == NOMOREPAWNTRIES) { X mclear(PAWNTRIES); X message("3 pawns tried", LEGAL); X } else if (why == NOWAY) X message("no way", LEGAL); X else X message("ambiguous", LEGAL); X } else X message("nope", LEGAL); X} X Xmymove(yesno) XBool yesno; X{ X XBell(XtDisplay(board), 0); X if (!yesno) { X XtSetSensitive(c_draw, True); X if (option[ANNOUNCEPAWNS] == False) X XtSetSensitive(c_any, True); X } else if (drawok[theircolor] && !drawok[ourcolor]) { X XtSetSensitive(c_yes, True); X XtSetSensitive(c_no, True); X } X} X XBeep() X{ X XBell(XtDisplay(board), 0); X} X Xhismove() X{ X XtSetSensitive(c_draw, False); X if (option[ANNOUNCEPAWNS] == False) X XtSetSensitive(c_any, False); X XtSetSensitive(c_yes, False); X XtSetSensitive(c_no, False); X} X Xstatic void Creplay(), Cstop(), Cfaster(), Cslower(); X Xstate_change(newstate) X{ X Arg args[10]; X XtCallbackRec callbacks[2]; X int n; X int oldstate = state; X Dimension width = 0; X int len; X XFontStruct *font; X X switch (state = newstate) { X case OVER: X /* Change "resign" into "replay", and "draw" into "stop" */ X if (oldstate == PLAYING) { X bzero(callbacks, sizeof callbacks); X callbacks[0].callback = Creplay; X XtSetArg(args[0], XtNcallback, callbacks); X XtSetArg(args[1], XtNlabel, "replay"); X XtSetArg(args[2], XtNsensitive, True); X XtSetValues(c_replay, args, 3); X X callbacks[0].callback = Cstop; X XtSetArg(args[0], XtNcallback, callbacks); X XtSetArg(args[1], XtNlabel, "stop"); X XtSetArg(args[2], XtNsensitive, False); X XtSetValues(c_stop, args, 3); X X callbacks[0].callback = Cfaster; X XtSetArg(args[0], XtNwidth, &width); X XtSetArg(args[1], XtNfont, &font); X XtGetValues(c_faster, args, 2); X len = XTextWidth(font, "faster", 6) + 8; X n = 0; X if (len > width) { X XtSetArg(args[n], XtNwidth, len); n++; X } X XtSetArg(args[n], XtNcallback, callbacks); n++; X XtSetArg(args[n], XtNlabel, "faster"); n++; X XtSetArg(args[n], XtNsensitive, False); n++; X XtSetValues(c_faster, args, n); X X callbacks[0].callback = Cslower; X XtSetArg(args[0], XtNfont, &font); X XtSetArg(args[1], XtNwidth, &width); X XtGetValues(c_slower, args, 2); X len = XTextWidth(font, "slower", 6) + 8; X n = 0; X if (len > width) { X XtSetArg(args[n], XtNwidth, len); n++; X } X XtSetArg(args[n], XtNcallback, callbacks); n++; X XtSetArg(args[n], XtNlabel, "slower"); n++; X XtSetArg(args[n], XtNsensitive, False); n++; X XtSetValues(c_slower, args, n); X X XtSetSensitive(c_any, False); X XtSetSensitive(c_quit, True); X for (n = 0; n < 32; n++) X disp_captured[n] = captured[n]; X redraw_board(); X redraw_pieces(); X } else { X XtSetSensitive(c_replay, True); X XtSetSensitive(c_stop, False); X XtSetSensitive(c_faster, False); X XtSetSensitive(c_slower, False); X } X break; X case REVIEW: X XtSetSensitive(c_replay, False); X XtSetSensitive(c_stop, True); X XtSetSensitive(c_faster, True); X XtSetSensitive(c_slower, True); X break; X } X if (dead) X XtSetSensitive(c_message, False); X} X Xstatic void XCreplay() X{ X replay(); X} X Xstatic void XCstop() X{ X stop_replay(); X} X Xstatic void XCfaster() X{ X replay_faster(); X} X Xstatic void XCslower() X{ X replay_slower(); X} *-*-END-of-xoutput.c-*-* echo x - xscreen.c sed 's/^X//' >xscreen.c <<'*-*-END-of-xscreen.c-*-*' X#ifndef lint Xstatic char rcsid[] = "$Header: xscreen.c,v 1.7 87/05/19 18:46:22 schoch Exp $"; X#endif X X#include "externs.h" X#include <strings.h> X#include <X11/Xaw/Label.h> X#include <X11/Xaw/AsciiText.h> X Xstatic Pixmap white, black; XGC b_white_gc, b_black_gc; Xextern GC white_gc, black_gc; X X#define tile_width 4 X#define tile_height 4 Xstatic char white_bits[] = { X 0xd, 0xe, 0xb, 0x7}; X Xstatic char black_bits[] = { X 0xa, 0x5, 0xa, 0x5}; X Xscreen_init() X{ X XGCValues gcv; X X white = XCreateBitmapFromData(XtDisplay(board), XtWindow(board), X white_bits, tile_width, tile_height); X black = XCreateBitmapFromData(XtDisplay(board), XtWindow(board), X black_bits, tile_width, tile_height); X X gcv.stipple = white; X gcv.fill_style = FillOpaqueStippled; X b_white_gc = XCreateGC(XtDisplay(board), XtWindow(board), X GCStipple|GCFillStyle, &gcv); X X gcv.stipple = black; X b_black_gc = XCreateGC(XtDisplay(board), XtWindow(board), X GCStipple|GCFillStyle, &gcv); X X} X Xredraw_board() X{ X int x, y; X X for (y = 0; y < 10; y++) X for (x = 1; x < 9; x++) X redraw_pos(y*10+x); X} X Xredraw_region(x, y, width, height, count) Xregister x, y; X{ X static u_char poslist[10]; X int startpos, endpos; X register startx, starty; X register endx, endy; X X if (y > 64*10) X return; X if (y < 0) X y = 0; X startpos = xytopos(x, y); X if (y+height > 64*10) X height = 640 - y; X if (x+width-1 > 64*9) X width = 64*9 - x; X endpos = xytopos(x+width-1, y+height-1); X if (startpos < 0 || endpos < 0) X return; X startx = startpos%10; X starty = startpos/10; X endx = endpos%10; X endy = endpos/10; X if (startx > endx) { X x = startx; startx = endx; endx = x; X } X if (starty > endy) { X y = starty; starty = endy; endy = y; X } X for (y = starty; y <= endy; y++) X for (x = startx; x <= endx; x++) X poslist[y] |= 1<<(x-1); X if (count) X return; X X for (y = 0; y < 10; y++) { X for (x = 1; x < 9; x++) X if (poslist[y] & (1<<(x-1))) X redraw_what(y*10+x); X poslist[y] = 0; X } X} X Xredraw_pos(pos) X{ X int x, y; X int dx, dy; X GC gc; X X /* Get x and y in units of squares (1-8) */ X x = pos%10; X y = pos/10; X postoxy(pos, &dx, &dy); X if (whose[pos] == OFFBOARD) { /* Captured area */ X if (state == CONNECTING) X XClearArea(XtDisplay(board), XtWindow(board), X dx, dy, 64, 64, False); X else { X gc = y == 9 ? white_gc : black_gc; X XFillRectangle(XtDisplay(board), XtWindow(board), gc, X dx, dy, 64, 64); X } X return; X } X gc = x + y & 1 ? b_black_gc : b_white_gc; X XClearArea(XtDisplay(board), XtWindow(board), dx, dy, 64, 64, False); X XFillRectangle(XtDisplay(board), XtWindow(board), gc, X dx+1, dy+1, 62, 62); X} X XWidget message_wins[16]; X Xmessage(line, where) Xchar *line; X{ X Arg args[3]; X Widget w = message_wins[where]; X char *cp; X int len; X Dimension width, bw; X XFontStruct *font; X int n; X X if (w == 0) X return; X if (!XtIsSensitive(w)) X XtSetSensitive(w, True); X if (cp = index(line, '\n')) X *cp = '\0'; X if (cp = index(line, '\r')) X *cp = '\0'; X XtSetArg(args[0], XtNfont, &font); X XtSetArg(args[1], XtNwidth, &width); X XtSetArg(args[2], XtNinternalWidth, &bw); X XtGetValues(w, args, 3); X len = XTextWidth(font, line, strlen(line)); X len += bw * 2; X n = 0; X if (len > width) { X XtSetArg(args[n], XtNwidth, len); n++; X } X XtSetArg(args[n], XtNlabel, line); n++; X XtSetValues(w, args, n); X} X Xmclear(where) X{ X Arg args[1]; X X if (message_wins[where] == 0) X return; X XtSetArg(args[0], XtNlabel, ""); X XtSetValues(message_wins[where], args, XtNumber(args)); X XtSetSensitive(message_wins[where], False); X} X X/* Sets x and y to the upper-left coordinate of pos */ Xpostoxy(pos, x, y) Xint pos, *x, *y; X{ X int bx, by; X X if (reverse) { X bx = 8-pos%10; X by = 9-pos/10; X } else { X bx = pos%10-1; X by = pos/10; X } X *x = bx*64; X *y = by*64; X} *-*-END-of-xscreen.c-*-* echo x - xpieces.c sed 's/^X//' >xpieces.c <<'*-*-END-of-xpieces.c-*-*' X#ifndef lint Xstatic char rcsid[] = "$Header: xpieces.c,v 1.9 87/05/19 18:46:27 schoch Exp $"; X#endif X X#include "externs.h" X X#define piece_width 64 X#define piece_height 64 X#include "pawn.h" X#include "pawn_mask.h" X#include "bishop.h" X#include "bishop_mask.h" X#include "queen.h" X#include "queen_mask.h" X#include "king.h" X#include "king_mask.h" X#include "rook.h" X#include "rook_mask.h" X#include "knight.h" X#include "knight_mask.h" X#include "icon.h" X XGC black_gc, white_gc, move_gc; X X/* Must be in correct order! */ Xstatic char *bitmaps[] = { X pawn_bits, pawn_mask_bits, X king_bits, king_mask_bits, X knight_bits, knight_mask_bits, X bishop_bits, bishop_mask_bits, X rook_bits, rook_mask_bits, X queen_bits, queen_mask_bits, X}; X Xp_init() X{ X char **bm = bitmaps; X Pixmap pm; X int i; X XGCValues gcv; X Pixel white, black; X X gc = DefaultGCOfScreen(XtScreen(board)); X black = BlackPixelOfScreen(XtScreen(board)); X white = WhitePixelOfScreen(XtScreen(board)); X X /* Yes, I know this is a bad choice of names */ X gcv.function = GXor; X gcv.foreground = black; X black_gc = XCreateGC(XtDisplay(board), XtWindow(board), X GCForeground|GCFunction, &gcv); X X gcv.function = GXandInverted; X gcv.foreground = black; X white_gc = XCreateGC(XtDisplay(board), XtWindow(board), X GCForeground|GCFunction, &gcv); X X gcv.function = GXxor; X move_gc = XCreateGC(XtDisplay(board), XtWindow(board), GCFunction, &gcv); X X for (i = 1; i < 7; i++) { X pm = XCreatePixmapFromBitmapData(XtDisplay(board), XtWindow(board), X *bm, piece_width, piece_height, black, white, X DefaultDepthOfScreen(XtScreen(board))); X bm++; X pieces_icons[i] = pm; X X pm = XCreatePixmapFromBitmapData(XtDisplay(board), XtWindow(board), X *bm, piece_width, piece_height, black, white, X DefaultDepthOfScreen(XtScreen(board))); X pieces_masks[i] = pm; X bm++; X } X X#ifdef notdef X iconwindow = XCreateWindow(RootWindow, 0, 0, X icon_width, icon_height, 0, 0, 0); X X XSetIconWindow(window, iconwindow); X XSelectInput(iconwindow, ExposeWindow); X#endif X} X X/* Put all pieces down. */ Xredraw_pieces() X{ X int row, col, spot; X X for (row = 1; row <= 8; row++) X for (col = 1; col <= 8; col++) { X spot = 10 * row + col; X if (ghost[spot] && state == PLAYING) X redraw_piece(spot, True); X else if (whose[spot] == ourcolor || X (state != PLAYING && occupant[spot])) X redraw_piece(spot, False); X } X for (spot = 0; spot < 32; spot+=2) X if (disp_captured[spot]) X redraw_captured(spot); X for (spot = 1; spot < 32; spot+=2) X if (disp_captured[spot]) X redraw_captured(spot); X} X X/* g is True to draw a ghost */ Xredraw_piece(spot, g) XBoolean g; X{ X int x, y; X Pixmap mask, icon; X X /* Sanity */ X if (!g && whose[spot] != ourcolor && state == PLAYING) { X fprintf(stderr, "cannot draw spot %d: occupied by %d\n", X spot, occupant[spot]); X return; X } X X postoxy(spot, &x, &y); X if (g) X icon = pieces_icons[ghost[spot]]; X else { X mask = pieces_masks[occupant[spot]]; X icon = pieces_icons[occupant[spot]]; X } X X if (!g && mask == 0) { X fprintf(stderr, "Invalid mask for location %d, occupied by %d\n", X spot, occupant[spot]); X return; X } X if (icon == 0) { X fprintf(stderr, "Invalid icon for location %d, occupied by %d\n", X spot, g ? ghost[spot] : occupant[spot]); X return; X } X X /* If ghost, draw in opponent's color. X * If not, draw mask in this color and overlay in opposite color. X */ X if (g) X XCopyArea(XtDisplay(board), icon, XtWindow(board), X theircolor == WHITE ? white_gc : black_gc, X 0, 0, piece_width, piece_height, x, y); X else { X XCopyArea(XtDisplay(board), mask, XtWindow(board), X whose[spot] == WHITE ? white_gc : black_gc, X 0, 0, piece_width, piece_height, x, y); X XCopyArea(XtDisplay(board), icon, XtWindow(board), X whose[spot] == WHITE ? black_gc : white_gc, X 0, 0, piece_width, piece_height, x, y); X } X} X Xredraw_captured(n) X{ X int piece = disp_captured[n]; X int color; X GC icon_gc, mask_gc; X int x, y; X Pixmap mask, icon; X X if (piece == 0) X return; X if (n < 16) { X postoxy(1, &x, &y); X color = WHITE; X icon_gc = black_gc; X mask_gc = white_gc; X } else { X postoxy(91, &x, &y); X n -= 16; X color = BLACK; X icon_gc = white_gc; X mask_gc = black_gc; X } X X x = n*32; X mask = pieces_masks[piece]; X icon = pieces_icons[piece]; X if (mask == 0 || icon == 0) X return; X if (color == ourcolor || state != PLAYING) { X XCopyArea(XtDisplay(board), mask, XtWindow(board), mask_gc, 0, 0, X piece_width, piece_height, x, y); X XCopyArea(XtDisplay(board), icon, XtWindow(board), icon_gc, 0, 0, X piece_width, piece_height, x, y); X } else { X XCopyArea(XtDisplay(board), icon, XtWindow(board), mask_gc, 0, 0, X piece_width, piece_height, x, y); X } X} X X#ifdef notdef Xredraw_icon(reverse) Xbool reverse; X{ X XPixmapPut(iconwindow, 0, 0, 0, 0, icon_width, icon_height, X icon_pixmap, reverse ? GXcopyInverted : GXcopy, 1); X} X#endif X Xredraw_what(spot) X{ X int n; X X redraw_pos(spot); X if (state == CONNECTING) X return; X X /* This may redraw some pieces twice. To fix it would X * require rewriting the code that calls this function. */ X if (whose[spot] == OFFBOARD) { X n = 2 * (spot%10-1); X if (reverse) X n = 14-n; X if (spot/10 == 0) X n += 0; X else if (spot/10 == 9) X n += 16; X else X return; X X redraw_captured(n); X if (n != 0 && n != 16) X redraw_captured(n-1); X if (n != 15 && n != 31) X redraw_captured(n+1); X } X X else if (ghost[spot] && state == PLAYING) X redraw_piece(spot, True); X else if (whose[spot] == ourcolor || X (state != PLAYING && occupant[spot])) X redraw_piece(spot, False); X} *-*-END-of-xpieces.c-*-* echo x - pawn.h sed 's/^X//' >pawn.h <<'*-*-END-of-pawn.h-*-*' X#define pawn_width 64 X#define pawn_height 64 Xstatic char pawn_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, X 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, X 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd8, X 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, X 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, X 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, X 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, X 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, X 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, X 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, X 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, X 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, X 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0x01, 0x00, 0x00, X 0x00, 0x00, 0x60, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, X 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x02, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, X 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; *-*-END-of-pawn.h-*-* echo x - pawn_mask.h sed 's/^X//' >pawn_mask.h <<'*-*-END-of-pawn_mask.h-*-*' X#define pawn_mask_width 64 X#define pawn_mask_height 64 Xstatic char pawn_mask_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, X 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, X 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, X 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, X 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, X 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xfc, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, X 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x3f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xfc, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, X 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, X 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, X 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x3f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xfc, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, X 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, X 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, X 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0x01, 0x00, 0x00, X 0x00, 0x00, 0xe0, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, X 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, X 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; *-*-END-of-pawn_mask.h-*-* echo x - knight.h sed 's/^X//' >knight.h <<'*-*-END-of-knight.h-*-*' X#define knight_width 64 X#define knight_height 64 Xstatic char knight_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x18, 0x05, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x28, 0x05, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x48, 0x05, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x88, 0x1d, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x90, 0xf1, 0x01, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x10, 0x31, 0x3e, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x10, 0x00, 0xc0, 0x03, 0x00, 0x00, X 0x00, 0x00, 0x10, 0x00, 0x00, 0x0e, 0x00, 0x00, X 0x00, 0x00, 0x08, 0x00, 0x00, 0x30, 0x00, 0x00, X 0x00, 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, X 0x00, 0x00, 0x08, 0x03, 0x00, 0x80, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, X 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, X 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, X 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, X 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, X 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, X 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, X 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, X 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, X 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, X 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, X 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, X 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, X 0x00, 0x01, 0x00, 0xfe, 0x00, 0x00, 0xc0, 0x00, X 0x80, 0x00, 0x00, 0x01, 0x01, 0x00, 0x80, 0x00, X 0xc0, 0x00, 0x80, 0x00, 0x02, 0x00, 0x80, 0x00, X 0x40, 0x00, 0x40, 0x00, 0x04, 0x00, 0x80, 0x00, X 0x40, 0x00, 0x20, 0x00, 0x04, 0x00, 0x80, 0x00, X 0x40, 0x00, 0x10, 0x00, 0x04, 0x00, 0x80, 0x00, X 0x80, 0x00, 0x08, 0x00, 0x04, 0x00, 0x80, 0x00, X 0x00, 0x01, 0x04, 0x00, 0x04, 0x00, 0x00, 0x01, X 0x00, 0x01, 0x02, 0x00, 0x04, 0x00, 0x00, 0x02, X 0x00, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x02, X 0x00, 0x82, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, X 0x00, 0x62, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, X 0x00, 0x3c, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, X 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, X 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, X 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, X 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, X 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, X 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, X 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, X 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, X 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, X 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, X 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, X 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, X 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x01, X 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, X 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; *-*-END-of-knight.h-*-* echo x - knight_mask.h sed 's/^X//' >knight_mask.h <<'*-*-END-of-knight_mask.h-*-*' X#define knight_mask_width 64 X#define knight_mask_height 64 Xstatic char knight_mask_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x18, 0x07, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x38, 0x07, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x78, 0x07, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0xf0, 0xff, 0x01, 0x00, 0x00, 0x00, X 0x00, 0x00, 0xf0, 0xff, 0x3f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0xf0, 0xff, 0xff, 0x03, 0x00, 0x00, X 0x00, 0x00, 0xf0, 0xff, 0xff, 0x0f, 0x00, 0x00, X 0x00, 0x00, 0xf8, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xf8, 0xff, 0xff, 0x7f, 0x00, 0x00, X 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x01, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x03, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, X 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, X 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, X 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, X 0x00, 0xf8, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, X 0x00, 0xf8, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, X 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, X 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, X 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, X 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, X 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, X 0x80, 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x00, X 0xc0, 0xff, 0xff, 0x00, 0xfe, 0xff, 0xff, 0x00, X 0xc0, 0xff, 0x7f, 0x00, 0xfc, 0xff, 0xff, 0x00, X 0xc0, 0xff, 0x3f, 0x00, 0xfc, 0xff, 0xff, 0x00, X 0xc0, 0xff, 0x1f, 0x00, 0xfc, 0xff, 0xff, 0x00, X 0x80, 0xff, 0x0f, 0x00, 0xfc, 0xff, 0xff, 0x00, X 0x00, 0xff, 0x07, 0x00, 0xfc, 0xff, 0xff, 0x01, X 0x00, 0xff, 0x03, 0x00, 0xfc, 0xff, 0xff, 0x03, X 0x00, 0xff, 0x01, 0x00, 0xfe, 0xff, 0xff, 0x03, X 0x00, 0xfe, 0x00, 0x00, 0xff, 0xff, 0xff, 0x03, X 0x00, 0x7e, 0x00, 0x80, 0xff, 0xff, 0xff, 0x03, X 0x00, 0x3c, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x03, X 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0x03, X 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0x03, X 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, 0x03, X 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, 0x03, X 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x03, X 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x03, X 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x03, X 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0x03, X 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0x01, X 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0x01, X 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, X 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, X 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, X 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, X 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; *-*-END-of-knight_mask.h-*-* echo x - bishop.h sed 's/^X//' >bishop.h <<'*-*-END-of-bishop.h-*-*' X#define bishop_width 64 X#define bishop_height 64 Xstatic char bishop_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x04, 0x28, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x02, 0x44, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x01, 0x82, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x01, 0x81, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x81, 0x80, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, X 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, X 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, X 0x00, 0x00, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, X 0x00, 0x00, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, X 0x00, 0x00, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, X 0x00, 0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, X 0x00, 0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, X 0x00, 0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, X 0x00, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0x00, X 0x00, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0x00, X 0x00, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0x00, X 0x00, 0x00, 0x08, 0x00, 0x00, 0x10, 0x00, 0x00, X 0x00, 0x00, 0x08, 0x00, 0x00, 0x10, 0x00, 0x00, X 0x00, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0x00, X 0x00, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0x00, X 0x00, 0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, X 0x00, 0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, X 0x00, 0x00, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, X 0x00, 0x00, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, X 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, X 0x00, 0x00, 0xc0, 0x00, 0x00, 0x03, 0x00, 0x00, X 0x00, 0x00, 0x30, 0x00, 0x00, 0x0c, 0x00, 0x00, X 0x00, 0x00, 0x08, 0x00, 0x00, 0x10, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7f, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; *-*-END-of-bishop.h-*-* echo x - bishop_mask.h sed 's/^X//' >bishop_mask.h <<'*-*-END-of-bishop_mask.h-*-*' X#define bishop_mask_width 64 X#define bishop_mask_height 64 Xstatic char bishop_mask_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xfc, 0x3f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xfc, 0x3f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xfc, 0x3f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xfc, 0x3f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xfc, 0x3f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x80, 0xff, 0xff, 0x01, 0x00, 0x00, X 0x00, 0x00, 0x80, 0xff, 0xff, 0x01, 0x00, 0x00, X 0x00, 0x00, 0x80, 0xff, 0xff, 0x01, 0x00, 0x00, X 0x00, 0x00, 0xc0, 0xff, 0xff, 0x03, 0x00, 0x00, X 0x00, 0x00, 0xc0, 0xff, 0xff, 0x03, 0x00, 0x00, X 0x00, 0x00, 0xc0, 0xff, 0xff, 0x03, 0x00, 0x00, X 0x00, 0x00, 0xe0, 0xff, 0xff, 0x07, 0x00, 0x00, X 0x00, 0x00, 0xe0, 0xff, 0xff, 0x07, 0x00, 0x00, X 0x00, 0x00, 0xe0, 0xff, 0xff, 0x07, 0x00, 0x00, X 0x00, 0x00, 0xf0, 0xff, 0xff, 0x0f, 0x00, 0x00, X 0x00, 0x00, 0xf0, 0xff, 0xff, 0x0f, 0x00, 0x00, X 0x00, 0x00, 0xf0, 0xff, 0xff, 0x0f, 0x00, 0x00, X 0x00, 0x00, 0xf8, 0xff, 0xff, 0x1f, 0x00, 0x00, X 0x00, 0x00, 0xf8, 0xff, 0xff, 0x1f, 0x00, 0x00, X 0x00, 0x00, 0xf0, 0xff, 0xff, 0x0f, 0x00, 0x00, X 0x00, 0x00, 0xf0, 0xff, 0xff, 0x0f, 0x00, 0x00, X 0x00, 0x00, 0xe0, 0xff, 0xff, 0x07, 0x00, 0x00, X 0x00, 0x00, 0xe0, 0xff, 0xff, 0x07, 0x00, 0x00, X 0x00, 0x00, 0xc0, 0xff, 0xff, 0x03, 0x00, 0x00, X 0x00, 0x00, 0xc0, 0xff, 0xff, 0x03, 0x00, 0x00, X 0x00, 0x00, 0x80, 0xff, 0xff, 0x01, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, X 0x00, 0x00, 0xc0, 0xff, 0xff, 0x03, 0x00, 0x00, X 0x00, 0x00, 0xf0, 0xff, 0xff, 0x0f, 0x00, 0x00, X 0x00, 0x00, 0xf8, 0xff, 0xff, 0x1f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7f, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; *-*-END-of-bishop_mask.h-*-* echo x - rook.h sed 's/^X//' >rook.h <<'*-*-END-of-rook.h-*-*' X#define rook_width 64 X#define rook_height 64 Xstatic char rook_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0xf8, 0x03, 0xf0, 0x3f, 0xc0, 0x1f, 0x00, X 0x00, 0x08, 0x02, 0x10, 0x20, 0x40, 0x10, 0x00, X 0x00, 0x08, 0x02, 0x10, 0x20, 0x40, 0x10, 0x00, X 0x00, 0x08, 0x02, 0x10, 0x20, 0x40, 0x10, 0x00, X 0x00, 0x08, 0xfe, 0x1f, 0xe0, 0x7f, 0x10, 0x00, X 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, X 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, X 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, X 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, X 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, X 0x00, 0x00, 0x02, 0x00, 0x00, 0x40, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0x02, 0x00, 0x00, 0x40, 0x00, 0x00, X 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, X 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, X 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, X 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, X 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, X 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, X 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, X 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, X 0x00, 0xf8, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; *-*-END-of-rook.h-*-* echo x - rook_mask.h sed 's/^X//' >rook_mask.h <<'*-*-END-of-rook_mask.h-*-*' X#define rook_mask_width 64 X#define rook_mask_height 64 Xstatic char rook_mask_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0xf8, 0x03, 0xf0, 0x3f, 0xc0, 0x1f, 0x00, X 0x00, 0xf8, 0x03, 0xf0, 0x3f, 0xc0, 0x1f, 0x00, X 0x00, 0xf8, 0x03, 0xf0, 0x3f, 0xc0, 0x1f, 0x00, X 0x00, 0xf8, 0x03, 0xf0, 0x3f, 0xc0, 0x1f, 0x00, X 0x00, 0xf8, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, X 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x00, X 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, X 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, X 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7f, 0x00, 0x00, X 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, X 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, X 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x00, X 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, X 0x00, 0xf8, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, X 0x00, 0xf8, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; *-*-END-of-rook_mask.h-*-* echo x - queen.h sed 's/^X//' >queen.h <<'*-*-END-of-queen.h-*-*' X#define queen_width 64 X#define queen_height 64 Xstatic char queen_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0xc0, 0x00, 0x00, 0x03, 0x00, 0x00, X 0x00, 0x00, 0x20, 0x01, 0x80, 0x04, 0x00, 0x00, X 0x00, 0x00, 0x20, 0x01, 0x80, 0x04, 0x00, 0x00, X 0x00, 0x00, 0xc0, 0x00, 0x00, 0x03, 0x00, 0x00, X 0x00, 0x00, 0xc0, 0x00, 0x00, 0x03, 0x00, 0x00, X 0x00, 0x00, 0xa0, 0x00, 0x80, 0x04, 0x00, 0x00, X 0x00, 0x00, 0x20, 0x01, 0x80, 0x04, 0x00, 0x00, X 0x00, 0x00, 0x20, 0x02, 0x40, 0x04, 0x00, 0x00, X 0x00, 0x00, 0x20, 0x02, 0x40, 0x04, 0x00, 0x00, X 0x00, 0x00, 0x10, 0x02, 0x40, 0x08, 0x00, 0x00, X 0x00, 0x00, 0x10, 0x04, 0x20, 0x08, 0x00, 0x00, X 0x00, 0x00, 0x10, 0x04, 0x20, 0x08, 0x00, 0x00, X 0x30, 0x00, 0x10, 0x08, 0x10, 0x08, 0x00, 0x0c, X 0x48, 0x00, 0x10, 0x08, 0x10, 0x10, 0x00, 0x12, X 0x48, 0x00, 0x08, 0x10, 0x08, 0x10, 0x00, 0x12, X 0xf0, 0x01, 0x08, 0x10, 0x08, 0x10, 0x80, 0x0f, X 0x80, 0x02, 0x08, 0x20, 0x04, 0x10, 0x40, 0x01, X 0x00, 0x05, 0x08, 0x20, 0x04, 0x20, 0xa0, 0x00, X 0x00, 0x0a, 0x04, 0x40, 0x02, 0x20, 0x50, 0x00, X 0x00, 0x14, 0x04, 0x40, 0x02, 0x20, 0x28, 0x00, X 0x00, 0x24, 0x04, 0x80, 0x01, 0x20, 0x24, 0x00, X 0x00, 0x48, 0x04, 0x00, 0x00, 0x40, 0x12, 0x00, X 0x00, 0x88, 0x02, 0x00, 0x00, 0x40, 0x11, 0x00, X 0x00, 0x10, 0x03, 0x00, 0x00, 0xc0, 0x08, 0x00, X 0x00, 0x10, 0x02, 0x00, 0x00, 0x40, 0x08, 0x00, X 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, X 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, X 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, X 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, X 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, X 0x00, 0x80, 0x00, 0xf0, 0x0f, 0x00, 0x01, 0x00, X 0x00, 0x80, 0x00, 0x0f, 0xf0, 0x00, 0x01, 0x00, X 0x00, 0x80, 0xe0, 0x00, 0x00, 0x07, 0x01, 0x00, X 0x00, 0x80, 0x18, 0x00, 0x00, 0x18, 0x01, 0x00, X 0x00, 0x80, 0x04, 0x00, 0x00, 0x20, 0x01, 0x00, X 0x00, 0x80, 0x02, 0x00, 0x00, 0x40, 0x01, 0x00, X 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, X 0x00, 0x00, 0x01, 0xe0, 0x03, 0x80, 0x00, 0x00, X 0x00, 0x00, 0xe1, 0x00, 0x80, 0x87, 0x00, 0x00, X 0x00, 0x00, 0x11, 0x00, 0x00, 0x88, 0x00, 0x00, X 0x00, 0x00, 0x09, 0x00, 0x00, 0x90, 0x00, 0x00, X 0x00, 0x00, 0x06, 0x00, 0x00, 0x60, 0x00, 0x00, X 0x00, 0x00, 0x02, 0x00, 0x00, 0x40, 0x00, 0x00, X 0x00, 0x00, 0x02, 0xe0, 0x07, 0x40, 0x00, 0x00, X 0x00, 0x00, 0x02, 0x1f, 0xf8, 0x40, 0x00, 0x00, X 0x00, 0x00, 0xfa, 0x03, 0x00, 0x5f, 0x00, 0x00, X 0x00, 0x00, 0x06, 0x00, 0x00, 0x60, 0x00, 0x00, X 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, X 0x00, 0x00, 0xf8, 0x00, 0x00, 0x1f, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; *-*-END-of-queen.h-*-* echo x - queen_mask.h sed 's/^X//' >queen_mask.h <<'*-*-END-of-queen_mask.h-*-*' X#define queen_mask_width 64 X#define queen_mask_height 64 Xstatic char queen_mask_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0xc0, 0x00, 0x00, 0x03, 0x00, 0x00, X 0x00, 0x00, 0xe0, 0x01, 0x80, 0x07, 0x00, 0x00, X 0x00, 0x00, 0xe0, 0x01, 0x80, 0x07, 0x00, 0x00, X 0x00, 0x00, 0xc0, 0x00, 0x00, 0x03, 0x00, 0x00, X 0x00, 0x00, 0xc0, 0x00, 0x00, 0x03, 0x00, 0x00, X 0x00, 0x00, 0xe0, 0x00, 0x80, 0x07, 0x00, 0x00, X 0x00, 0x00, 0xe0, 0x01, 0x80, 0x07, 0x00, 0x00, X 0x00, 0x00, 0xe0, 0x03, 0xc0, 0x07, 0x00, 0x00, X 0x00, 0x00, 0xe0, 0x03, 0xc0, 0x07, 0x00, 0x00, X 0x00, 0x00, 0xf0, 0x03, 0xc0, 0x0f, 0x00, 0x00, X 0x00, 0x00, 0xf0, 0x07, 0xe0, 0x0f, 0x00, 0x00, X 0x00, 0x00, 0xf0, 0x07, 0xe0, 0x0f, 0x00, 0x00, X 0x30, 0x00, 0xf0, 0x0f, 0xf0, 0x0f, 0x00, 0x0c, X 0x78, 0x00, 0xf0, 0x0f, 0xf0, 0x1f, 0x00, 0x1e, X 0x78, 0x00, 0xf8, 0x1f, 0xf8, 0x1f, 0x00, 0x1e, X 0xf0, 0x01, 0xf8, 0x1f, 0xf8, 0x1f, 0x80, 0x0f, X 0x80, 0x03, 0xf8, 0x3f, 0xfc, 0x1f, 0xc0, 0x01, X 0x00, 0x07, 0xf8, 0x3f, 0xfc, 0x3f, 0xe0, 0x00, X 0x00, 0x0e, 0xfc, 0xff, 0xff, 0x3f, 0x70, 0x00, X 0x00, 0x1c, 0xfc, 0xff, 0xff, 0x3f, 0x38, 0x00, X 0x00, 0x3c, 0xfc, 0xff, 0xff, 0x3f, 0x3c, 0x00, X 0x00, 0x78, 0xfc, 0xff, 0xff, 0x7f, 0x1e, 0x00, X 0x00, 0xf8, 0xfe, 0xff, 0xff, 0x7f, 0x1f, 0x00, X 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, X 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x00, X 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x00, X 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, X 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, X 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, X 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, X 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, X 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, X 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, X 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, X 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, X 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, X 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, X 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, X 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7f, 0x00, 0x00, X 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7f, 0x00, 0x00, X 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7f, 0x00, 0x00, X 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7f, 0x00, 0x00, X 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7f, 0x00, 0x00, X 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7f, 0x00, 0x00, X 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, X 0x00, 0x00, 0xf8, 0xff, 0xff, 0x1f, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; *-*-END-of-queen_mask.h-*-* echo x - king.h sed 's/^X//' >king.h <<'*-*-END-of-king.h-*-*' X#define king_width 64 X#define king_height 64 Xstatic char king_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x00, X 0x00, 0xf8, 0x00, 0x20, 0x04, 0x00, 0x1f, 0x00, X 0x00, 0x07, 0x0f, 0xa0, 0x05, 0xf0, 0xe0, 0x00, X 0xc0, 0x00, 0xf0, 0xa0, 0x05, 0x0f, 0x00, 0x03, X 0x20, 0x00, 0x00, 0x23, 0xc4, 0x00, 0x00, 0x04, X 0x10, 0x00, 0x00, 0xe4, 0x27, 0x00, 0x00, 0x08, X 0x08, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x10, X 0x08, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x10, X 0x04, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x20, X 0x04, 0xf0, 0x1f, 0x40, 0x02, 0xf8, 0x0f, 0x20, X 0x04, 0x08, 0x20, 0x80, 0x01, 0x04, 0x10, 0x20, X 0x04, 0x04, 0x40, 0x80, 0x01, 0x02, 0x20, 0x20, X 0x04, 0x02, 0x40, 0x00, 0x00, 0x02, 0x40, 0x20, X 0x04, 0x02, 0x80, 0x00, 0x00, 0x01, 0x40, 0x20, X 0x04, 0x02, 0x00, 0xc1, 0x83, 0x00, 0x40, 0x20, X 0x04, 0x04, 0x00, 0x41, 0x82, 0x00, 0x20, 0x20, X 0x08, 0x04, 0x00, 0x41, 0x82, 0x00, 0x20, 0x10, X 0x08, 0x04, 0x00, 0x41, 0x82, 0x00, 0x20, 0x10, X 0x08, 0x08, 0x00, 0x41, 0x82, 0x00, 0x10, 0x10, X 0x08, 0x08, 0x00, 0x41, 0x82, 0x00, 0x10, 0x10, X 0x10, 0x10, 0x00, 0x41, 0x82, 0x00, 0x08, 0x08, X 0x10, 0x20, 0x00, 0xc1, 0x83, 0x00, 0x04, 0x08, X 0x10, 0x20, 0x00, 0x01, 0x80, 0x00, 0x04, 0x08, X 0x20, 0x40, 0x00, 0x01, 0x80, 0x00, 0x02, 0x04, X 0x20, 0x80, 0x00, 0x01, 0x80, 0x00, 0x01, 0x04, X 0x40, 0x00, 0x01, 0x01, 0x80, 0x80, 0x00, 0x02, X 0x40, 0x00, 0x02, 0x00, 0x00, 0x40, 0x00, 0x02, X 0x80, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x01, X 0x80, 0x00, 0x08, 0x00, 0x00, 0x10, 0x00, 0x01, X 0x00, 0x01, 0x10, 0x00, 0x00, 0x08, 0x80, 0x00, X 0x00, 0x01, 0x20, 0x00, 0x00, 0x04, 0x80, 0x00, X 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x40, 0x00, X 0x00, 0x02, 0x80, 0x00, 0x00, 0x01, 0x40, 0x00, X 0x00, 0x04, 0x00, 0x01, 0x80, 0x00, 0x20, 0x00, X 0x00, 0x08, 0x00, 0x01, 0x80, 0x00, 0x10, 0x00, X 0x00, 0x10, 0x00, 0x02, 0x40, 0x00, 0x08, 0x00, X 0x00, 0x20, 0x00, 0xfe, 0x7f, 0x00, 0x04, 0x00, X 0x00, 0x20, 0xf8, 0x01, 0x80, 0x1f, 0x04, 0x00, X 0x00, 0xa0, 0x07, 0x00, 0x00, 0xe0, 0x05, 0x00, X 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, X 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, X 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, X 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, X 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, X 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, X 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, X 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, X 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, X 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, X 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, X 0x00, 0x20, 0x00, 0xfe, 0x7f, 0x00, 0x04, 0x00, X 0x00, 0x20, 0xf8, 0x01, 0x80, 0x1f, 0x04, 0x00, X 0x00, 0xa0, 0x07, 0x00, 0x00, 0xe0, 0x05, 0x00, X 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, X 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, X 0x00, 0x80, 0x07, 0x00, 0x00, 0xe0, 0x01, 0x00, X 0x00, 0x00, 0xf8, 0x01, 0x80, 0x1f, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; *-*-END-of-king.h-*-* echo x - king_mask.h sed 's/^X//' >king_mask.h <<'*-*-END-of-king_mask.h-*-*' X#define king_mask_width 64 X#define king_mask_height 64 Xstatic char king_mask_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x00, X 0x00, 0xf8, 0x00, 0xe0, 0x07, 0x00, 0x1f, 0x00, X 0x00, 0xff, 0x0f, 0xe0, 0x07, 0xf0, 0xff, 0x00, X 0xc0, 0xff, 0xff, 0xe0, 0x07, 0xff, 0xff, 0x03, X 0xe0, 0xff, 0xff, 0xe3, 0xc7, 0xff, 0xff, 0x07, X 0xf0, 0xff, 0xff, 0xe7, 0xe7, 0xff, 0xff, 0x0f, X 0xf8, 0xff, 0xff, 0x0f, 0xf0, 0xff, 0xff, 0x1f, X 0xf8, 0xff, 0xff, 0x1f, 0xf8, 0xff, 0xff, 0x1f, X 0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f, X 0xfc, 0xff, 0xff, 0x7f, 0xfe, 0xff, 0xff, 0x3f, X 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, X 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, X 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, X 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, X 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, X 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, X 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, X 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, X 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, X 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, X 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, X 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, X 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, X 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, X 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, X 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, X 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, X 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, X 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, X 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, X 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, X 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, X 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, X 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, X 0x00, 0xf8, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, X 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, X 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x00, X 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, X 0x00, 0x00, 0xf8, 0xff, 0xff, 0x1f, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; *-*-END-of-king_mask.h-*-* exit -- Dan Heller ------------------------------------------------ O'Reilly && Associates Zyrcom Inc Senior Writer President argv@ora.com argv@zipcode.com