X-Git-Url: http://winboard.nl/cgi-bin?p=gnushogi.git;a=blobdiff_plain;f=xshogi%2Fxshogi.h;h=f86637e49fcd851acd76ad22c520aba1ae638028;hp=10b596d77b2d392e3340bac98d4c77414ed2cfee;hb=1aca00e04580e7b3effefa535edb469876ecce74;hpb=8ae7e7d1b257ef36d8a9fd1cd88807954ef10764 diff --git a/xshogi/xshogi.h b/xshogi/xshogi.h index 10b596d..f86637e 100644 --- a/xshogi/xshogi.h +++ b/xshogi/xshogi.h @@ -13,7 +13,7 @@ * Modified implementation of ISS mode for XShogi: Matthias Mutz * Current maintainer: Michael C. Vanier * - * XShogi borrows its piece bitmaps from CRANES Shogi. + * XShogi borrows some of its piece bitmaps from CRANES Shogi. * * Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts. * Enhancements Copyright 1992 Free Software Foundation, Inc. @@ -69,7 +69,7 @@ #define DROP_COLS 3 #ifdef WESTERN_BITMAPS -#define LARGE_SQUARE_SIZE 32 +#define LARGE_SQUARE_SIZE 64 #define MEDIUM_SQUARE_SIZE 32 #else #define LARGE_SQUARE_SIZE 64 @@ -111,59 +111,57 @@ #define INIT_STRING "beep\neasy\nrandom\n" #define BLACK_STRING "black\ngo\n" #define WHITE_STRING "white\ngo\n" -#define DEFAULT_SIZE "Small" +#define DEFAULT_SIZE "Large" #define LIGHT 1 #define DARK 0 #define CHAR_PIECE_COLOR "Black" #define ZERO_COLOR "#000000" #define ONE_COLOR "#FFFFFF" -#define BLACK_PIECE_COLOR "#FFFFD7" -#define WHITE_PIECE_COLOR "#FFFFD7" -#define LIGHT_SQUARE_COLOR "#EBDFB0" -#define DARK_SQUARE_COLOR "#EBDFB0" +#define PIECE_COLOR "#FFFFD7" +#define SQUARE_COLOR "#EBDFB0" #define MAIN_FONT "-*-helvetica-medium-o-normal--*-*-*-*-*-*-*-*" #define COORD_FONT "-*-helvetica-bold-r-normal--*-*-*-*-*-*-*-*" #define DEFAULT_FONT "*font: -*-helvetica-medium-r-normal--*-120-*-*-*-*-*-*" -#define BLINK_COUNT 3 +#define BLINK_COUNT 3 #define BORDER_X_OFFSET 3 #define BORDER_Y_OFFSET 27 -typedef enum +typedef enum { Large, Medium, Small } BoardSize; -typedef enum +typedef enum { BeginningOfGame, MachinePlaysBlack, MachinePlaysWhite, TwoMachinesPlay, ForceMoves, PlayFromGameFile, PauseGame, EndOfGame, EditPosition } GameMode; -typedef enum +typedef enum { MatchFalse, MatchInit, MatchPosition, MatchOpening } MatchMode; -typedef enum +typedef enum { - BlackPawn, BlackLance, BlackKnight, BlackSilver, BlackGold, - BlackBishop, BlackRook, BlackPPawn, BlackPLance, BlackPKnight, + BlackPawn, BlackLance, BlackKnight, BlackSilver, BlackGold, + BlackBishop, BlackRook, BlackPPawn, BlackPLance, BlackPKnight, BlackPSilver, BlackPBishop, BlackPRook, BlackKing, - WhitePawn, WhiteLance, WhiteKnight, WhiteSilver, WhiteGold, - WhiteBishop, WhiteRook, WhitePPawn, WhitePLance, WhitePKnight, + WhitePawn, WhiteLance, WhiteKnight, WhiteSilver, WhiteGold, + WhiteBishop, WhiteRook, WhitePPawn, WhitePLance, WhitePKnight, WhitePSilver, WhitePBishop, WhitePRook, WhiteKing, EmptySquare, ClearBoard, BlackPlay, WhitePlay /* for use on EditPosition menus */ } ShogiSquare; typedef ShogiSquare Board[BOARD_SIZE][BOARD_SIZE]; - + typedef int Catched[2][8]; -typedef enum +typedef enum { BlackPromotion = 1, WhitePromotion, BlackDrop, WhiteDrop, NormalMove, @@ -171,12 +169,20 @@ typedef enum AmbiguousMove } ShogiMove; -typedef enum +typedef enum { - ResetTimers, DecrementTimers, SwitchTimers, + ResetTimers, DecrementTimers, SwitchTimers, ReDisplayTimers, StopTimers, StartTimers } ClockMode; + +/* + * This is a hack that allows the parser to tell the program + * that the game it's loading has finished. + */ + +extern int loaded_game_finished; + #endif /* _XSHOGI_H_ */