X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=gnushogi%2Fgnushogi.h;h=0200d670cd1c6adb512e60981ebb421fb15d9471;hb=53066346e15cfc765eb96de1b446647da5231ee8;hp=37972f425b6f89b852fcee229a3fb47d833c56b0;hpb=8ae7e7d1b257ef36d8a9fd1cd88807954ef10764;p=gnushogi.git diff --git a/gnushogi/gnushogi.h b/gnushogi/gnushogi.h index 37972f4..0200d67 100644 --- a/gnushogi/gnushogi.h +++ b/gnushogi/gnushogi.h @@ -4,20 +4,17 @@ * Main header file for GNU Shogi. * * ---------------------------------------------------------------------- - * Copyright (c) 1993, 1994, 1995 Matthias Mutz - * Copyright (c) 1999 Michael Vanier and the Free Software Foundation * - * GNU SHOGI is based on GNU CHESS + * Copyright (c) 2012 Free Software Foundation * - * Copyright (c) 1988, 1989, 1990 John Stanback - * Copyright (c) 1992 Free Software Foundation + * GNU SHOGI is based on GNU CHESS * * This file is part of GNU SHOGI. * * GNU Shogi is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 1, or (at your option) any - * later version. + * Free Software Foundation; either version 3 of the License, + * or (at your option) any later version. * * GNU Shogi is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or @@ -25,18 +22,21 @@ * for more details. * * You should have received a copy of the GNU General Public License along - * with GNU Shogi; see the file COPYING. If not, write to the Free - * Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + * with GNU Shogi; see the file COPYING. If not, see + * . * ---------------------------------------------------------------------- * */ +/* Hack for anal-retentive ANSI-compliance if desired: */ +#define inline + /* FIXME: this file needs to be reorganized in some rational manner. */ #ifndef _GNUSHOGI_H_ #define _GNUSHOGI_H_ -#include "../config.h" /* Portability #defines. */ +#include "config.h" /* Portability #defines. */ #include "debug.h" #include "opts.h" /* Various option-setting #defines. */ @@ -136,7 +136,6 @@ typedef unsigned long ULONG; # endif #endif - #define RWA_ACC "r+" #define WA_ACC "w+" #ifdef BINBOOK @@ -217,8 +216,13 @@ extern void movealgbr(short m, char *s); #define OPENING_HINT 0x141d /* P7g-7f (20->29) */ /* truth values */ +#ifndef false #define false 0 +#endif + +#ifndef true #define true 1 +#endif /* colors */ #define black 0 @@ -226,39 +230,42 @@ extern void movealgbr(short m, char *s); #define neutral 2 /* piece code defines */ -/* CHECKME: Replace with an enum? */ -#define no_piece 0 -#define pawn 1 -#define lance 2 -#define knight 3 -#define silver 4 -#define gold 5 -#define bishop 6 -#define rook 7 -#define ppawn 8 -#define plance 9 -#define pknight 10 -#define psilver 11 -#define pbishop 12 -#define prook 13 -#define king 14 - -#define ptype_no_piece 0 -#define ptype_pawn 0 -#define ptype_lance 1 -#define ptype_knight 2 -#define ptype_silver 3 -#define ptype_gold 4 -#define ptype_bishop 5 -#define ptype_rook 6 -#define ptype_pbishop 7 -#define ptype_prook 8 -#define ptype_king 9 -#define ptype_wpawn 10 -#define ptype_wlance 11 -#define ptype_wknight 12 -#define ptype_wsilver 13 -#define ptype_wgold 14 +enum { + no_piece = 0, + pawn, + lance, + knight, + silver, + gold, + bishop, + rook, + ppawn, + plance, + pknight, + psilver, + pbishop, + prook, + king +}; + +enum { + ptype_no_piece = 0, + ptype_pawn = 0, + ptype_lance, + ptype_knight, + ptype_silver, + ptype_gold, + ptype_bishop, + ptype_rook, + ptype_pbishop, + ptype_prook, + ptype_king, + ptype_wpawn, + ptype_wlance, + ptype_wknight, + ptype_wsilver, + ptype_wgold +}; /* node flags */ #define pmask 0x000f /* 15 */ @@ -1075,7 +1082,6 @@ typedef enum } VerifyMove_mode; extern int VerifyMove(char *s, VerifyMove_mode iop, unsigned short *mv); -extern void AgeTT(); extern unsigned short TTage; #endif /* _GNUSHOGI_H_ */