home *** CD-ROM | disk | FTP | other *** search
/ Big Green CD 8 / BGCD_8_Dev.iso / OPENSTEP / Games / NeXTGo-3.0-MIS / igs.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-07-06  |  3.0 KB  |  134 lines

  1. #ifndef _IGS_INFORMATION_
  2. #define _IGS_INFORMATION_
  3. #include "comment.header"
  4.  
  5. /* $Id: igs.h,v 1.3 1997/07/06 19:38:25 ergo Exp $ */
  6.  
  7. /*
  8.  * $Log: igs.h,v $
  9.  * Revision 1.3  1997/07/06 19:38:25  ergo
  10.  * actual version
  11.  *
  12.  * Revision 1.3  1997/05/04 18:57:21  ergo
  13.  * added time control for moves
  14.  *
  15.  */
  16.  
  17. /*  Uncomment the following to create a dump file used for debugging the
  18.     socket communications.  */
  19. /* #define DEBUG  */
  20.  
  21. #define MAXGAMES 100
  22. #define piece unsigned char
  23.  
  24. extern int sock;
  25.  
  26. typedef struct {
  27.    int id;
  28.  
  29.    int prompttype;        /* if return is prompt */
  30.  
  31.    int x, y, gamenum;        /* if return is play */
  32.    int movenum;
  33.    int color;
  34.    int bcap, btime, bbyo;
  35.    int wcap, wtime, wbyo;
  36.    int byo;                    /* time in byo-yomi in minutes */
  37.  
  38.    char text[10000];        /* text of message */
  39.    int lines;            /* number of lines in text */
  40.  
  41.    int gamecount;        /* for data from the games command */
  42.    struct {
  43.       int gnum;
  44.       char white[21], wrank[10], black[21], brank[10];
  45.       int mnum, bsize, hcap;
  46.       float komi;
  47.    }  gamelist[MAXGAMES];
  48.  
  49.    int boardline;
  50.    int boardsize;
  51.    float wscore, bscore;
  52.    piece board[19][19];
  53.  
  54.    int beep;
  55.  
  56.    char kibitzer[40];
  57.    char kibitz[300];
  58.  
  59.  
  60. }  message;
  61.  
  62.  
  63.  
  64. #define LOCAL 0
  65. #define IGSGAME 1
  66.  
  67. #define ONSERVER -1
  68. #define MATCH -2
  69. #define QUITMESG -3
  70. #define REMOVE -4
  71. #define SCOREUNDO -5
  72. #define TIMEREP -6
  73.  
  74. #define BLACK 2
  75. #define WHITE 1
  76. #define EMPTY 0
  77. #define DAME 3
  78. #define BTERR 5
  79. #define WTERR 4
  80.  
  81. #define KEY -33
  82.  
  83. /*  Routines needed from GoApp.m  */
  84.  
  85. /*  Routines needed from Board.m  */
  86. extern void displaygamenumber(int gamenum);
  87.  
  88. /*  Routines from igssocket.m  */
  89. extern char servename[80];
  90. extern int serveport;
  91. extern void sethost(char *s);
  92. extern void setport(int s);
  93. extern int open_connection();
  94. extern void sendstr(char *buf);
  95. extern int eatchar;
  96. extern int handlechar(char in);
  97. extern void incomingserver();
  98. extern int pollserver();
  99.  
  100. /*  Routines from igsparse.c  */
  101. extern char *getloginname();
  102. extern char *getpassword();
  103. extern char retbuf[1000];
  104. extern int idle;
  105. extern int loggedon;
  106. extern int repeatpass, repeatlogin;
  107. extern char *Prompts[];
  108. extern void initparser();
  109. extern int DoState(char *s);
  110. extern int getmessage(message *mess, int uninitiated);
  111. extern void parsescore(message *mesg, char *s);
  112. extern void parsewho(message *mesg, char *str);
  113. extern void parsegame(message *mesg, char *str);
  114. extern int parseinfo(char *s, message *mess);
  115. extern int parseundo(char *s, int *gamenum);
  116. extern int parsekibitz(char *s, message *mess);
  117. extern int parsemove(char *s, int *x, int *y, int *mv, int *gm, int *color,
  118.              int *bcap, int *btime, int *bbyo, int *wcap, int *wtime,
  119.              int *wbyo);
  120. extern int doneline(char *inbuf, int inptr);
  121.  
  122. /*  Routines from igsglue.m  */
  123. extern int startgame(int n);
  124. extern void getmoves(int n);
  125. extern void getgames(message *mess);
  126. extern void unobserve(void);
  127. extern int observegame(int n);
  128. /* extern int peekgame(int n); */
  129. extern void setgame(int newgame);
  130. extern void loadgame(char *name);
  131. extern void doserver(void);
  132.  
  133. #endif
  134.