X-Git-Url: http://winboard.nl/cgi-bin?p=gnushogi.git;a=blobdiff_plain;f=gnushogi%2Fcommondsp.c;h=33d10680f2b8be4ab6852783fa982e6ee2d438e9;hp=73afb957d5e85f1c1f718584d6d7ccd2fa336382;hb=da8e444e6e41af03151cd42350180926b41da28a;hpb=8ae7e7d1b257ef36d8a9fd1cd88807954ef10764 diff --git a/gnushogi/commondsp.c b/gnushogi/commondsp.c index 73afb95..33d1068 100644 --- a/gnushogi/commondsp.c +++ b/gnushogi/commondsp.c @@ -6,6 +6,7 @@ * ---------------------------------------------------------------------- * Copyright (c) 1993, 1994, 1995 Matthias Mutz * Copyright (c) 1999 Michael Vanier and the Free Software Foundation + * Copyright (c) 2008, 2013, 2014 Yann Dirson and the Free Software Foundation * * GNU SHOGI is based on GNU CHESS * @@ -16,8 +17,8 @@ * * 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,23 +26,20 @@ * 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 + * . * ---------------------------------------------------------------------- * */ -#include "gnushogi.h" +/* request *snprintf prototypes */ +#define _POSIX_C_SOURCE 200112L +#include #if defined HAVE_GETTIMEOFDAY #include #endif -char mvstr[4][6]; -char *InPtr; -int InBackground = false; - - #include #include @@ -49,7 +47,11 @@ int InBackground = false; #include #include -#include +#include "gnushogi.h" + +char mvstr[4][6]; +char *InPtr; +int InBackground = false; #if defined(BOOKTEST) @@ -130,6 +132,17 @@ movealgbr(short m, char *s) /* * Generate move strings in different formats. + * + * INPUT: + * - f piece to be moved + * - 0 < f < NO_SQUARES source square + * - NO_SQUARES <= f NO_SQUARES + 2*NO_PIECES dropped piece modulo NO_PIECES + * - t & 0x7f target square + * - t & 0x80 promotion flag + * - flag FIXME: must be zero ? + * + * OUTPUT: + * - GLOBAL mvstr */ void @@ -155,12 +168,8 @@ algbr(short f, short t, short flag) if ((f == t) && ((f != 0) || (t != 0))) { - if (!barebones) - { - if (NOT_CURSES) - printf("error in algbr: FROM=TO=%d, flag=0x%4x\n", t, flag); - else - printw("error in algbr: FROM=TO=%d, flag=0x%4x\n", t, flag); + if (!barebones) { + Printf("error in algbr: FROM=TO=%d, flag=0x%4x\n", t, flag); } mvstr[0][0] = mvstr[1][0] = mvstr[2][0] = mvstr[3][0] = '\0'; @@ -293,20 +302,7 @@ VerifyMove(char *s, VerifyMove_mode iop, unsigned short *mv) if (SqAttacked(PieceList[opponent][0], computer, &blocked)) { UnmakeMove(opponent, &xnode, &tempb, &tempc, &tempsf, &tempst); - - if (NOT_CURSES) - { - /* Illegal move in check */ - printf(CP[77], mvstr[0]); - printf("\n"); - } - else - { - /* Illegal move in check */ - sprintf(buffer, CP[77], s); - ShowMessage(buffer); - } - + AlwaysShowMessage("Illegal move (in check) %s", s); return false; } else @@ -348,21 +344,11 @@ VerifyMove(char *s, VerifyMove_mode iop, unsigned short *mv) } } - if (NOT_CURSES) - { - /* Illegal move */ - printf (CP[75], s); - } - else /* Curses. */ - { - /* Illegal move */ - sprintf(buffer, CP[76], s); - ShowMessage(buffer); - } + AlwaysShowMessage("Illegal move (no match) %s", s); if (!barebones && (cnt > 1)) { - sprintf(buffer, CP[32], s); + sprintf(buffer, "Ambiguous Move %s!", s); ShowMessage(buffer); } @@ -391,17 +377,17 @@ parser(char *f, int side, short *fpiece) if (f[1] == '*' || f[1] == '\'') { - c2 = '9' - f[2]; - r2 = 'i' - f[3]; + c2 = COL_NUM(f[2]); + r2 = ROW_NUM(f[3]); return ((NO_SQUARES + *fpiece) << 8) | locn(r2, c2); } else { - c1 = '9' - f[1]; - r1 = 'i' - f[2]; - c2 = '9' - f[3]; - r2 = 'i' - f[4]; + c1 = COL_NUM(f[1]); + r1 = ROW_NUM(f[2]); + c2 = COL_NUM(f[3]); + r2 = ROW_NUM(f[4]); p = (f[5] == '+') ? 0x80 : 0; return (locn(r1, c1) << 8) | locn(r2, c2) | p; @@ -439,29 +425,15 @@ GetGame(void) short sq; short side, isp; - if (savefile[0]) - { + if (savefile[0]) { strcpy(fname, savefile); + } else { + ShowMessage("Enter file name: "); + RequestInputString(fname, sizeof(fname)-1); } - else - { - /* Enter file name */ - ShowMessage(CP[63]); - if (NOT_CURSES) - { - scanf("%s", fname); - } - else - { - fflush(stdout); - scanw("%s", fname); - } - } - - /* shogi.000 */ if (fname[0] == '\0') - strcpy(fname, CP[137]); + strcpy(fname, "shogi.000"); if ((fd = fopen(fname, "r")) != NULL) { @@ -575,10 +547,12 @@ GetGame(void) skipb(); Captured[side][pawn] = atoi(InPtr); skip(); +#ifndef MINISHOGI Captured[side][lance] = atoi(InPtr); skip(); Captured[side][knight] = atoi(InPtr); skip(); +#endif Captured[side][silver] = atoi(InPtr); skip(); Captured[side][gold] = atoi(InPtr); @@ -638,7 +612,7 @@ GetGame(void) } skip(); - g->color = ((*InPtr == CP[119][0]) ? white : black); + g->color = ((*InPtr == 'W') ? white : black); skip(); g->piece = (*InPtr == '+' ? promoted[piece] @@ -676,52 +650,39 @@ SaveGame(void) short side, piece; char empty[2] = "\n"; - if (savefile[0]) - { + if (savefile[0]) { strcpy(fname, savefile); - } - else - { - /* Enter file name */ - ShowMessage(CP[63]); - - if (NOT_CURSES) - { - scanf("%s", fname); - } - else - { - fflush(stdout); - scanw("%s", fname); - } + } else { + ShowMessage("Enter file name: "); + RequestInputString(fname, sizeof(fname)-1); } - if (fname[0] == '\0') /* shogi.000 */ - strcpy(fname, CP[137]); + if (fname[0] == '\0') + strcpy(fname, "shogi.000"); if ((fd = fopen(fname, "w")) != NULL) { char *b, *w; - b = w = CP[74]; + b = w = "Human "; if (computer == white) - w = CP[141]; + w = "computer"; if (computer == black) - b = CP[141]; + b = "computer"; - fprintf(fd, CP[37], w, b, Game50, + fprintf(fd, "White %s Black %s %d %s\n", w, b, Game50, flag.force ? "force" : ""); - fprintf(fd, empty); - fprintf(fd, CP[111], TCflag, OperatorTime); - fprintf(fd, CP[117], + fputs(empty, fd); + fprintf(fd, "TimeControl %d Operator Time %d\n", TCflag, OperatorTime); + fprintf(fd, "Black Clock %ld Moves %d\nWhite Clock %ld Moves %d\n", TimeControl.clock[black], TimeControl.moves[black], TimeControl.clock[white], TimeControl.moves[white]); - fprintf(fd, empty); + fputs(empty, fd); for (i = NO_ROWS - 1; i > -1; i--) { - fprintf(fd, "%c ", 'i' - i); + fprintf(fd, "%c ", ROW_NAME(i)); for (c = 0; c < NO_COLS; c++) { @@ -755,17 +716,25 @@ SaveGame(void) fprintf(fd, "\n"); } - fprintf(fd, empty); + fputs(empty, fd); +#ifndef MINISHOGI fprintf(fd, " 9 8 7 6 5 4 3 2 1\n"); - fprintf(fd, empty); + fputs(empty, fd); fprintf(fd, " p l n s g b r k\n"); +#else + fprintf(fd, " 5 4 3 2 1\n"); + fputs(empty, fd); + fprintf(fd, " p s g b r k\n"); +#endif for (side = 0; side <= 1; side++) { fprintf(fd, "%c", (side == black) ? 'B' : 'W'); fprintf(fd, " %2d", Captured[side][pawn]); +#ifndef MINISHOGI fprintf(fd, " %2d", Captured[side][lance]); fprintf(fd, " %2d", Captured[side][knight]); +#endif fprintf(fd, " %2d", Captured[side][silver]); fprintf(fd, " %2d", Captured[side][gold]); fprintf(fd, " %2d", Captured[side][bishop]); @@ -774,8 +743,8 @@ SaveGame(void) fprintf(fd, "\n"); } - fprintf(fd, empty); - fprintf(fd, CP[126]); + fputs(empty, fd); + fputs(" move score depth nodes time flags capture\n", fd); for (i = 1; i <= GameCnt; i++) { @@ -809,13 +778,11 @@ SaveGame(void) fclose(fd); - /* Game saved */ - ShowMessage(CP[70]); + ShowMessage("Game saved"); } else { - /* ShowMessage("Could not open file"); */ - ShowMessage(CP[48]); + ShowMessage("Could not open file"); } } @@ -835,21 +802,11 @@ GetXGame(void) short sq; short side, isp; - /* Enter file name */ - ShowMessage(CP[63]); + ShowMessage("Enter file name: "); + RequestInputString(fname, sizeof(fname)-1); - if (NOT_CURSES) - { - scanf("%s", fname); - } - else - { - fflush(stdout); - scanw("%s", fname); - } - - if (fname[0] == '\0') /* XSHOGI.position.read */ - strcpy(fname, CP[205]); + if (fname[0] == '\0') + strcpy(fname, "xshogi.position.read"); if ((fd = fopen(fname, "r")) != NULL) { @@ -863,7 +820,7 @@ GetXGame(void) #ifdef notdef fname[6] = '\0'; - if (strcmp(fname, CP[206])) + if (strcmp(fname, "xshogi")) return; #endif @@ -929,10 +886,12 @@ GetXGame(void) InPtr = fname; Captured[side][pawn] = atoi(InPtr); skip(); +#ifndef MINISHOGI Captured[side][lance] = atoi(InPtr); skip(); Captured[side][knight] = atoi(InPtr); skip(); +#endif Captured[side][silver] = atoi(InPtr); skip(); Captured[side][gold] = atoi(InPtr); @@ -972,29 +931,16 @@ SaveXGame(void) short sq, piece; short side, isp; - /* Enter file name */ - ShowMessage(CP[63]); + ShowMessage("Enter file name: "); + RequestInputString(fname, sizeof(fname)-1); - if (NOT_CURSES) - { - scanf("%s", fname); - } - else - { - fflush(stdout); - scanw("%s", fname); - } - - if (fname[0] == '\0') /* XSHOGI.position.read */ - strcpy(fname, CP[205]); + if (fname[0] == '\0') + strcpy(fname, "xshogi.position.read"); if ((fd = fopen(fname, "w")) != NULL) { - /* xshogi position file ... */ fputs("# xshogi position file -- \n", fd); - /* -- empty line -- */ fputs("\n", fd); - /* -- empty line -- */ fputs("\n", fd); for (i = NO_ROWS - 1; i > -1; i--) @@ -1026,10 +972,17 @@ SaveXGame(void) for (side = 0; side <= 1; side++) { - sprintf(fname, "%d %d %d %d %d %d %d %d\n", + sprintf(fname, +#ifndef MINISHOGI + "%d %d %d %d %d %d %d %d\n", +#else + "%d %d %d %d %d %d\n", +#endif Captured[side][pawn], +#ifndef MINISHOGI Captured[side][lance], Captured[side][knight], +#endif Captured[side][silver], Captured[side][gold], Captured[side][bishop], @@ -1056,24 +1009,12 @@ BookSave(void) char fname[256], sflags[4]; short i, j, f, t; - if (savefile[0]) - { + if (savefile[0]) { strcpy(fname, savefile); - } - else - { + } else { /* Enter file name */ - ShowMessage(CP[63]); - - if (NOT_CURSES) - { - scanf("%s", fname); - } - else - { - fflush(stdout); - scanw("%s", fname); - } + ShowMessage("Enter file name: "); + RequestInputString(fname, sizeof(fname)-1); } if (fname[0] == '\0') @@ -1144,13 +1085,11 @@ BookSave(void) fclose(fd); - /* Game saved */ - ShowMessage(CP[70]); + ShowMessage("Game saved"); } else { - /* ShowMessage("Could not open file"); */ - ShowMessage(CP[48]); + ShowMessage("Could not open file"); } } @@ -1178,13 +1117,13 @@ ListGame(void) dbuf[16] = '\0'; dbuf[19] = '\0'; - /* use format "CLp16.Jan01-020304B" when patchlevel is 16, + /* use format "CL.Jan01-020304B" when date is Jan 1 time is 02:03:04 program played white */ - sprintf(fname, "CLp%s.%s%s-%s%s%s%c", - patchlevel, dbuf + 4, dbuf + 8, dbuf + 11, dbuf + 14, + sprintf(fname, "CL.%s%s-%s%s%s%c", + dbuf + 4, dbuf + 8, dbuf + 11, dbuf + 14, dbuf + 17, ColorStr[computer][0]); /* replace space padding with 0 */ @@ -1199,14 +1138,13 @@ ListGame(void) if (!fd) { - printf(CP[219], fname); + printf("Open failure for file: %s", fname); exit(1); } - /* fprintf(fd, "gnushogi game %d\n", u); */ - fprintf(fd, CP[161], version, patchlevel); - fprintf(fd, CP[10]); - fprintf(fd, CP[11]); + fprintf(fd, "gnushogi %s game\n", PACKAGE_VERSION); + fputs(" score depth nodes time ", fd); + fputs(" score depth nodes time\n", fd); for (i = 1; i <= GameCnt; i++) { @@ -1253,9 +1191,9 @@ ListGame(void) if (GameList[GameCnt].flags & draw) { - fprintf(fd, CP[54], DRAW); + fprintf(fd, "Draw %s\n", DRAW); - if (DRAW == CP[101]) + if (DRAW == DRAW_REPETITION) { short j; @@ -1434,7 +1372,7 @@ TestSpeed(void(*f)(short side, short ply, #endif unsigned i; - long cnt, rate, t1, t2; + long cnt, t1, t2; #ifdef HAVE_GETTIMEOFDAY struct timeval tv; @@ -1474,17 +1412,7 @@ TestSpeed(void(*f)(short side, short ply, else et = 1; - rate = (((et) ? ((cnt * 100) / et) : 0)); - -#ifdef DYNAMIC_ZNODES - if (rate > 0) - znodes = rate; -#endif - - if (NOT_CURSES) - printf(CP[91], cnt, rate); - else - ShowNodeCnt(cnt); + ShowNodeCnt(cnt); } @@ -1493,7 +1421,7 @@ void TestPSpeed(short(*f) (short side), unsigned j) { short i; - long cnt, rate, t1, t2; + long cnt, t1, t2; #ifdef HAVE_GETTIMEOFDAY struct timeval tv; #endif @@ -1522,14 +1450,7 @@ TestPSpeed(short(*f) (short side), unsigned j) else et = 1; - rate = (et) ? ((cnt * 100) / et) : 0; - - /* printf("Nodes= %ld Nodes/sec= %ld\n", cnt, rate); */ - - if (NOT_CURSES) - printf(CP[91], cnt, rate); - else - ShowNodeCnt(cnt); + ShowNodeCnt(cnt); } @@ -1541,7 +1462,7 @@ SetOppTime(char *s) int m, t, sec; sec = 0; - time = &s[strlen(CP[228])]; + time = &s[strlen("otime")]; t = (int)strtol(time, &time, 10); if (*time == ':') @@ -1575,7 +1496,7 @@ SetMachineTime(char *s) char *time; int m, t, sec; - time = &s[strlen(CP[197])]; + time = &s[strlen("time")]; sec = 0; t = (int)strtol(time, &time, 10); @@ -1658,16 +1579,7 @@ InputCommand(char *command) Sdepth = 0; #ifdef QUIETBACKGROUND - if (NOT_CURSES) - { - PromptForMove(); - } - else - { - ShowSidetoMove(); - ShowPrompt(); - } - + ShowPrompt(); have_shown_prompt = true; #endif /* QUIETBACKGROUND */ @@ -1714,15 +1626,7 @@ InputCommand(char *command) { #endif /* QUIETBACKGROUND */ - if (NOT_CURSES) - { - PromptForMove(); - } - else - { - ShowSidetoMove(); - ShowPrompt(); - } + ShowPrompt(); #ifdef QUIETBACKGROUND } @@ -1730,23 +1634,12 @@ InputCommand(char *command) have_shown_prompt = false; #endif /* QUIETBACKGROUND */ - if (command == NULL) - { + if (command == NULL) { if (NOT_CURSES) - { - s[0] = sx[0] = '\0'; + s[0] = '\0'; - while(!sx[0]) - (void)fgets(sx, 256, stdin); - } - else - { - fflush(stdout); - eof = (getstr(sx) == ERR); - } - } - else - { + eof = GetString(sx); + } else { strcpy(sx, command); done = true; } @@ -1759,7 +1652,7 @@ InputCommand(char *command) if (s[0] == '\0') continue; - if (strcmp(s, CP[131]) == 0) /* bd -- display board */ + if (strcmp(s, "bd") == 0) /* bd -- display board */ { /* FIXME: Hack alert! */ short old_xshogi = XSHOGI; @@ -1777,35 +1670,35 @@ InputCommand(char *command) { flag.post = !flag.post; } - else if (strcmp(s, CP[129]) == 0) + else if (strcmp(s, "alg") == 0) { /* noop */ ; /* alg */ } - else if ((strcmp(s, CP[180]) == 0) - || (strcmp(s, CP[216]) == 0)) /* quit exit */ + else if ((strcmp(s, "quit") == 0) + || (strcmp(s, "exit") == 0)) { flag.quit = true; } #if !defined NOPOST - else if (strcmp(s, CP[178]) == 0) /* post */ + else if (strcmp(s, "post") == 0) { flag.post = !flag.post; } #endif - else if ((strcmp(s, CP[191]) == 0) - || (strcmp(s, CP[154]) == 0)) /* set edit */ + else if ((strcmp(s, "set") == 0) + || (strcmp(s, "edit") == 0)) { EditBoard(); } - else if (NOT_CURSES && (strcmp(s, CP[190]) == 0)) /* setup */ + else if ((strcmp(s, "setup") == 0)) { SetupBoard(); } - else if (strcmp(s, CP[156]) == 0) /* first */ + else if (strcmp(s, "first") == 0) { ok = true; } - else if (strcmp(s, CP[162]) == 0) /* go */ + else if (strcmp(s, "go") == 0) { ok = true; flag.force = false; @@ -1821,15 +1714,15 @@ InputCommand(char *command) opponent = white; } } - else if (strcmp(s, CP[166]) == 0) /* help */ + else if (strcmp(s, "help") == 0) { help(); } - else if (strcmp(s, CP[221]) == 0) /* material */ + else if (strcmp(s, "material") == 0) { flag.material = !flag.material; } - else if (strcmp(s, CP[157]) == 0) /* force */ + else if (strcmp(s, "force") == 0) { if (XSHOGI) { @@ -1842,61 +1735,61 @@ InputCommand(char *command) flag.bothsides = false; } } - else if (strcmp(s, CP[134]) == 0) /* book */ + else if (strcmp(s, "book") == 0) { Book = Book ? 0 : BOOKFAIL; } - else if (strcmp(s, CP[172]) == 0) /* new */ + else if (strcmp(s, "new") == 0) { NewGame(); UpdateDisplay(0, 0, 1, 0); } - else if (strcmp(s, CP[171]) == 0) /* list */ + else if (strcmp(s, "list") == 0) { ListGame(); } - else if ((strcmp(s, CP[169]) == 0) - || (strcmp(s, CP[217]) == 0)) /* level clock */ + else if ((strcmp(s, "level") == 0) + || (strcmp(s, "clock") == 0)) { SelectLevel(sx); } - else if (strcmp(s, CP[165]) == 0) /* hash */ + else if (strcmp(s, "hash") == 0) { flag.hash = !flag.hash; } - else if (strcmp(s, CP[227]) == 0) /* gamein */ + else if (strcmp(s, "gamein") == 0) { flag.gamein = !flag.gamein; } - else if (strcmp(s, CP[226]) == 0) /* beep */ + else if (strcmp(s, "beep") == 0) { flag.beep = !flag.beep; } - else if (strcmp(s, CP[197]) == 0) /* time */ + else if (strcmp(s, "time") == 0) { SetMachineTime(sx); } - else if (strcmp(s, CP[228]) == 0) /* otime */ + else if (strcmp(s, "otime") == 0) { SetOppTime(sx); } - else if (strcmp(s, CP[33]) == 0) /* Awindow */ + else if (strcmp(s, "Awindow") == 0) { ChangeAlphaWindow(); } - else if (strcmp(s, CP[39]) == 0) /* Bwindow */ + else if (strcmp(s, "Bwindow") == 0) { ChangeBetaWindow(); } - else if (strcmp(s, CP[183]) == 0) /* rcptr */ + else if (strcmp(s, "rcptr") == 0) { flag.rcptr = !flag.rcptr; } - else if (strcmp(s, CP[168]) == 0) /* hint */ + else if (strcmp(s, "hint") == 0) { GiveHint(); } - else if (strcmp(s, CP[135]) == 0) /* both */ + else if (strcmp(s, "both") == 0) { flag.bothsides = !flag.bothsides; flag.force = false; @@ -1905,13 +1798,13 @@ InputCommand(char *command) SelectMove(opponent, FOREGROUND_MODE); ok = true; } - else if (strcmp(s, CP[185]) == 0) /* reverse */ + else if (strcmp(s, "reverse") == 0) { flag.reverse = !flag.reverse; ClearScreen(); UpdateDisplay(0, 0, 1, 0); } - else if (strcmp(s, CP[195]) == 0) /* switch */ + else if (strcmp(s, "switch") == 0) { computer = computer ^ 1; opponent = opponent ^ 1; @@ -1919,8 +1812,9 @@ InputCommand(char *command) flag.force = false; Sdepth = 0; ok = true; + UpdateDisplay(0, 0, 1, 0); } - else if (strcmp(s, CP[203]) == 0) /* black */ + else if (strcmp(s, "black") == 0) { computer = white; opponent = black; @@ -1932,7 +1826,7 @@ InputCommand(char *command) * ok = true; don't automatically start with black command */ } - else if (strcmp(s, CP[133]) == 0) /* white */ + else if (strcmp(s, "white") == 0) { computer = black; opponent = white; @@ -1944,25 +1838,25 @@ InputCommand(char *command) * ok = true; don't automatically start with white command */ } - else if (strcmp(s, CP[201]) == 0 && GameCnt > 0) /* undo */ + else if (strcmp(s, "undo") == 0 && GameCnt > 0) { Undo(); } - else if (strcmp(s, CP[184]) == 0 && GameCnt > 1) /* remove */ + else if (strcmp(s, "remove") == 0 && GameCnt > 1) { Undo(); Undo(); } /* CHECKME: are these next three correct? */ - else if (!XSHOGI && strcmp(s, CP[207]) == 0) /* xget */ + else if (!XSHOGI && strcmp(s, "xget") == 0) { GetXGame(); } - else if (!XSHOGI && strcmp(s, "xsave") == 0) /* xsave */ + else if (!XSHOGI && strcmp(s, "xsave") == 0) { SaveXGame(); } - else if (!XSHOGI && strcmp(s, "bsave") == 0) /* bsave */ + else if (!XSHOGI && strcmp(s, "bsave") == 0) { BookSave(); } @@ -1977,62 +1871,62 @@ InputCommand(char *command) { FlagMove(*s); } - else if (strcmp(s, CP[160]) == 0) /* get */ + else if (strcmp(s, "get") == 0) { GetGame(); } - else if (strcmp(s, CP[189]) == 0) /* save */ + else if (strcmp(s, "save") == 0) { SaveGame(); } - else if (strcmp(s, CP[151]) == 0) /* depth */ + else if (strcmp(s, "depth") == 0) { ChangeSearchDepth(); } - else if (strcmp(s, CP[164]) == 0) /* hashdepth */ + else if (strcmp(s, "hashdepth") == 0) { ChangeHashDepth(); } - else if (strcmp(s, CP[182]) == 0) /* random */ + else if (strcmp(s, "random") == 0) { dither = DITHER; } - else if (strcmp(s, CP[229]) == 0) /* hard */ + else if (strcmp(s, "hard") == 0) { flag.easy = false; } - else if (strcmp(s, CP[152]) == 0) /* easy */ + else if (strcmp(s, "easy") == 0) { flag.easy = !flag.easy; } - else if (strcmp(s, CP[230]) == 0) /* tsume */ + else if (strcmp(s, "tsume") == 0) { flag.tsume = !flag.tsume; } - else if (strcmp(s, CP[143]) == 0) /* contempt */ + else if (strcmp(s, "contempt") == 0) { SetContempt(); } - else if (strcmp(s, CP[209]) == 0) /* xwndw */ + else if (strcmp(s, "xwndw") == 0) { ChangeXwindow(); } - else if (strcmp(s, CP[186]) == 0) /* rv */ + else if (strcmp(s, "rv") == 0) { flag.rv = !flag.rv; UpdateDisplay(0, 0, 1, 0); } - else if (strcmp(s, CP[145]) == 0) /* coords */ + else if (strcmp(s, "coords") == 0) { flag.coords = !flag.coords; UpdateDisplay(0, 0, 1, 0); } - else if (strcmp(s, CP[193]) == 0) /* stars */ + else if (strcmp(s, "stars") == 0) { flag.stars = !flag.stars; UpdateDisplay(0, 0, 1, 0); } - else if (!XSHOGI && strcmp(s, CP[5]) == 0) /* moves */ + else if (!XSHOGI && strcmp(s, "moves") == 0) { short temp; @@ -2048,42 +1942,42 @@ InputCommand(char *command) #endif SwagHt = 0; - ShowMessage(CP[108]); /* test movelist */ + ShowMessage("Testing MoveList Speed"); temp = generate_move_flags; generate_move_flags = true; TestSpeed(MoveList, 1); generate_move_flags = temp; - ShowMessage(CP[107]); /* test capturelist */ + ShowMessage("Testing CaptureList Speed"); TestSpeed(CaptureList, 1); - ShowMessage(CP[85]); /* test score position */ + ShowMessage("Testing Eval Speed"); ExaminePosition(opponent); TestPSpeed(ScorePosition, 1); } - else if (!XSHOGI && strcmp(s, CP[196]) == 0) /* test */ + else if (!XSHOGI && strcmp(s, "test") == 0) { #ifdef SLOW_CPU - ShowMessage(CP[108]); /* test movelist */ + ShowMessage("Testing MoveList Speed"); TestSpeed(MoveList, 2000); - ShowMessage(CP[107]); /* test capturelist */ + ShowMessage("Testing CaptureList Speed"); TestSpeed(CaptureList, 3000); - ShowMessage(CP[85]); /* test score position */ + ShowMessage("Testing Eval Speed"); ExaminePosition(opponent); TestPSpeed(ScorePosition, 1500); #else - ShowMessage(CP[108]); /* test movelist */ + ShowMessage("Testing MoveList Speed"); TestSpeed(MoveList, 20000); - ShowMessage(CP[107]); /* test capturelist */ + ShowMessage("Testing CaptureList Speed"); TestSpeed(CaptureList, 30000); - ShowMessage(CP[85]); /* test score position */ + ShowMessage("Testing Eval Speed"); ExaminePosition(opponent); TestPSpeed(ScorePosition, 15000); #endif } - else if (!XSHOGI && strcmp(s, CP[179]) == 0) /* p */ + else if (!XSHOGI && strcmp(s, "p") == 0) { ShowPostnValues(); } - else if (!XSHOGI && strcmp(s, CP[148]) == 0) /* debug */ + else if (!XSHOGI && strcmp(s, "debug") == 0) { DoDebug(); } @@ -2100,7 +1994,7 @@ InputCommand(char *command) if (rpt >= 3) { - DRAW = CP[101]; + DRAW = DRAW_REPETITION; ShowMessage(DRAW); GameList[GameCnt].flags |= draw; @@ -2152,8 +2046,6 @@ InputCommand(char *command) printf("\n"); #endif } - - signal(SIGINT, TerminateSearch); }