diff options
Diffstat (limited to 'gnu/games/chess/Xchess/xchess.h')
-rw-r--r-- | gnu/games/chess/Xchess/xchess.h | 301 |
1 files changed, 0 insertions, 301 deletions
diff --git a/gnu/games/chess/Xchess/xchess.h b/gnu/games/chess/Xchess/xchess.h deleted file mode 100644 index 355731d..0000000 --- a/gnu/games/chess/Xchess/xchess.h +++ /dev/null @@ -1,301 +0,0 @@ - -/* This file contains code for X-CHESS. - Copyright (C) 1986 Free Software Foundation, Inc. - -This file is part of X-CHESS. - -X-CHESS is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY. No author or distributor -accepts responsibility to anyone for the consequences of using it -or for whether it serves any particular purpose or works at all, -unless he says so in writing. Refer to the X-CHESS General Public -License for full details. - -Everyone is granted permission to copy, modify and redistribute -X-CHESS, but only under the conditions described in the -X-CHESS General Public License. A copy of this license is -supposed to have been given to you along with X-CHESS so you -can know your rights and responsibilities. It should be in a -file named COPYING. Among other things, the copyright notice -and this notice must be preserved on all copies. */ - - -/* RCS Info: $Revision: 1.5 $ on $Date: 86/11/26 12:11:39 $ - * $Source: /users/faustus/xchess/RCS/xchess.h,v $ - * Copyright (c) 1986 Wayne A. Christopher, U. C. Berkeley CAD Group - * Permission is granted to do anything with this code except sell it - * or remove this message. - * - * Definitions for the X chess program. - */ - -#include "std.h" -#include <X11/Xlib.h> -#include "scrollText/scrollText.h" - -#define SIZE 8 - -typedef enum piecetype { PAWN, ROOK, KNIGHT, BISHOP, QUEEN, KING } piecetype; -typedef enum movetype { MOVE, QCASTLE, KCASTLE, CAPTURE } movetype; -typedef enum color { WHITE, BLACK, NONE } color; - -typedef struct piece { - enum piecetype type; - enum color color; -} piece; - -/* The board has y=0 and black at the top... This probably isn't the best - * place to keep track of who can castle, but it's part of the game state... - */ - -typedef struct board { - piece square[SIZE][SIZE]; - bool white_cant_castle_k; - bool white_cant_castle_q; - bool black_cant_castle_k; - bool black_cant_castle_q; -} board; - -typedef struct move { - movetype type; - piece piece; - piece taken; - int fromx, fromy; - int tox, toy; - struct move *next; - bool enpassant; - bool check; -} move; - -#define iswhite(win, i, j) (!(((i) + (j)) % 2)) - -/* Stuff for the display. */ - -typedef struct windata { - Display *display; - Window basewin; - Window boardwin; - Window recwin; - Window wclockwin; - Window bclockwin; - Window messagewin; - Window buttonwin; - Window jailwin; - Window icon; - Pixmap iconpixmap; - XColor blackpiece; - XColor whitepiece; - XColor blacksquare; - XColor whitesquare; - XColor border; - XColor textcolor; - XColor textback; - XColor errortext; - XColor playertext; - XColor cursorcolor; - XFontStruct *small; - XFontStruct *medium; - XFontStruct *large; - bool bnw; - color color; - bool flipped; - double whitehands[3]; - double blackhands[3]; - char *txtassoc; -} windata; - -#define SMALL_FONT "6x10" -#define MEDIUM_FONT "8x13" -#define LARGE_FONT "9x15" -#define JAIL_FONT "6x10" - -#define SQUARE_WIDTH 80 -#define SQUARE_HEIGHT 80 - -#define BORDER_WIDTH 3 - -#define BOARD_WIDTH 8 * SQUARE_WIDTH + 7 * BORDER_WIDTH -#define BOARD_HEIGHT 8 * SQUARE_HEIGHT + 7 * BORDER_WIDTH -#define BOARD_XPOS 0 -#define BOARD_YPOS 0 - -#define RECORD_WIDTH 265 /* 40 chars * 6 pixels / character. */ -#define RECORD_HEIGHT 433 -#define RECORD_XPOS BOARD_WIDTH + BORDER_WIDTH -#define RECORD_YPOS 0 - -#define JAIL_WIDTH RECORD_WIDTH -#define JAIL_HEIGHT 163 -#define JAIL_XPOS RECORD_XPOS -#define JAIL_YPOS RECORD_YPOS + RECORD_HEIGHT + BORDER_WIDTH - -#define CLOCK_WIDTH 131 -#define CLOCK_HEIGHT 131 + BORDER_WIDTH + 20 -#define WCLOCK_XPOS RECORD_XPOS -#define WCLOCK_YPOS RECORD_HEIGHT + JAIL_HEIGHT + BORDER_WIDTH * 2 -#define BCLOCK_XPOS WCLOCK_XPOS + CLOCK_WIDTH + BORDER_WIDTH -#define BCLOCK_YPOS WCLOCK_YPOS - -#define MESS_WIDTH 329 -#define MESS_HEIGHT 92 -#define MESS_XPOS 0 -#define MESS_YPOS BOARD_HEIGHT + BORDER_WIDTH - -#define BUTTON_WIDTH MESS_WIDTH -#define BUTTON_HEIGHT MESS_HEIGHT -#define BUTTON_XPOS MESS_WIDTH + BORDER_WIDTH -#define BUTTON_YPOS MESS_YPOS - -#define BASE_WIDTH BOARD_WIDTH + RECORD_WIDTH + BORDER_WIDTH * 3 -#define BASE_HEIGHT BOARD_HEIGHT + MESS_HEIGHT + BORDER_WIDTH * 3 - -#define BASE_XPOS 50 -#define BASE_YPOS 50 - -#define BLACK_PIECE_COLOR "#202020" -#define WHITE_PIECE_COLOR "#FFFFCC" -#define BLACK_SQUARE_COLOR "#77A26D" -#define WHITE_SQUARE_COLOR "#C8C365" -#define BORDER_COLOR "#902E39" -#define TEXT_COLOR "#006D6D" -#define TEXT_BACK "#FFFFDD" -#define ERROR_TEXT "Red" -#define PLAYER_TEXT "Blue" -#define CURSOR_COLOR "#FF606F" - -#define DEF_RECORD_FILE "xchess.game" - -#define NUM_FLASHES 5 -#define FLASH_SIZE 10 - -/* xchess.c */ - -extern void main(); -extern bool debug; -extern char *progname; -extern char *proghost; -extern char *piecenames[]; -extern char *colornames[]; -extern char *movetypenames[]; -extern char *dispname1, *dispname2; -extern bool oneboard; -extern bool bnwflag; -extern bool progflag; -extern bool blackflag; -extern bool quickflag; -extern int num_flashes; -extern int flash_size; -extern char *black_piece_color; -extern char *white_piece_color; -extern char *black_square_color; -extern char *white_square_color; -extern char *border_color; -extern char *text_color; -extern char *text_back; -extern char *error_text; -extern char *player_text; -extern char *cursor_color; - -/* board.c */ - -extern void board_setup(); -extern void board_drawall(); -extern void board_move(); -extern board *chessboard; -extern void board_init(); - -/* window.c */ - -extern bool win_setup(); -extern void win_redraw(); -extern void win_restart(); -extern void win_drawboard(); -extern void win_drawpiece(); -extern void win_erasepiece(); -extern void win_process(); -extern void win_flash(); -extern windata *win1, *win2; -extern bool win_flashmove; - -/* control.c */ - -extern void button_pressed(); -extern void button_released(); -extern void move_piece(); -extern void prog_move(); -extern move *moves; -extern move *foremoves; -extern color nexttomove; -extern void replay(); -extern void forward(); -extern void cleanup(); -extern void restart(); -extern bool noisyflag; - -/* valid.c */ - -extern bool valid_move(); - -/* record.c */ - -extern void record_move(); -extern void record_reset(); -extern void record_save(); -extern void record_back(); -extern void record_init(); -extern void record_end(); -extern bool record_english; -extern char *record_file; -extern int movenum; -extern bool saveflag; - -/* message.c */ - -extern void message_init(); -extern void message_add(); -extern void message_send(); - -/* clock.c */ - -extern void clock_init(); -extern void clock_draw(); -extern void clock_update(); -extern void clock_switch(); -extern bool clock_started; -extern int movesperunit; -extern int timeunit; -extern int whiteseconds; -extern int blackseconds; - -/* button.c */ - -extern void button_draw(); -extern void button_service(); - -/* jail.c */ - -extern void jail_init(); -extern void jail_draw(); -extern void jail_add(); -extern void jail_remove(); - -/* program.c */ -extern bool program_init(); -extern void program_end(); -extern void program_send(); -extern void program_undo(); -extern move *program_get(); - -/* parse.c */ - -extern void load_game(); -extern move *parse_file(); -extern move *parse_move(); -extern move *parse_imove(); -extern bool loading_flag; -extern bool loading_paused; - -/* popup.c */ - -extern bool pop_question(); - |