X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=gnushogi%2Frawdsp.c;h=8512633736f331923eb3e462104ffb977ffeedc2;hb=2bd15473d35a00d107923dabc82b5a6ae12afd92;hp=fdc744af264a94ac457276913f2b274525eacee0;hpb=00e10bc4a760150665436b17c50abf264f28d435;p=gnushogi.git diff --git a/gnushogi/rawdsp.c b/gnushogi/rawdsp.c index fdc744a..8512633 100644 --- a/gnushogi/rawdsp.c +++ b/gnushogi/rawdsp.c @@ -2,11 +2,14 @@ * FILE: rawdsp.c * * ---------------------------------------------------------------------- - * - * Copyright (c) 2012 Free Software Foundation + * 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) 1988, 1989, 1990 John Stanback + * Copyright (c) 1992 Free Software Foundation + * * This file is part of GNU SHOGI. * * GNU Shogi is free software; you can redistribute it and/or modify it @@ -28,6 +31,7 @@ #include #include +#include #include #include #include @@ -63,7 +67,7 @@ PromptForMove(void) if (!barebones && !XSHOGI) { /* printf("\nYour move is? "); */ - printf(CP[124]); + fputs(CP[124], stdout); } } @@ -120,6 +124,22 @@ Raw_ShowMessage(char *s) void +Raw_Printf(const char *format, ...) +{ + va_list ap; + va_start(ap, format); + vprintf(format, ap); + va_end(ap); +} + +void +Raw_doRequestInputString(const char* fmt, char* buffer) +{ + scanf(fmt, buffer); +} + + +void Raw_ShowPatternCount(short side, short n) { if (flag.post) @@ -201,6 +221,8 @@ Raw_ExitShogi(void) if (!nolist) ListGame(); + + exit(0); } @@ -238,12 +260,12 @@ Raw_help(void) { Raw_ClearScreen(); /* printf("SHOGI command summary\n"); */ - printf(CP[40]); + printf(CP[40], version, patchlevel); printf("----------------------------------" "------------------------------\n"); /* printf("7g7f move from 7g to 7f quit * Exit Shogi\n"); */ - printf(CP[158]); + fputs(CP[158], stdout); /* printf("S6h move silver to 6h beep * turn %s\n", (flag.beep) ? "off" : "on"); */ printf(CP[86], (flag.beep) ? CP[92] : CP[93]); @@ -257,36 +279,36 @@ Raw_help(void) printf(CP[174], (flag.hash) ? CP[92] : CP[93]); /* printf("bd redraw board reverse * board display\n"); */ - printf(CP[130]); + fputs(CP[130], stdout); /* printf("list game to shogi.lst book * turn %s used %d of %d\n", (Book) ? "off" : "on", bookcount); */ printf(CP[170], (Book) ? CP[92] : CP[93], bookcount, booksize); /* printf("undo undo last ply remove * take back a move\n"); */ - printf(CP[200]); + fputs(CP[200], stdout); /* printf("edit edit board force * enter game moves\n"); */ - printf(CP[153]); + fputs(CP[153], stdout); /* printf("switch sides with computer both * computer match\n"); */ - printf(CP[194]); + fputs(CP[194], stdout); /* printf("black computer plays black white * computer plays white\n"); */ - printf(CP[202]); + fputs(CP[202], stdout); /* printf("depth set search depth clock * set time control\n"); */ - printf(CP[149]); + fputs(CP[149], stdout); /* printf("post principle variation hint * suggest a move\n"); */ - printf(CP[177]); + fputs(CP[177], stdout); /* printf("save game to file get * game from file\n"); */ - printf(CP[188]); + fputs(CP[188], stdout); printf("xsave pos. to xshogi file xget" " pos. from xshogi file\n"); /* printf("random randomize play new * start new game\n"); */ - printf(CP[181]); + fputs(CP[181], stdout); printf("--------------------------------" "--------------------------------\n"); /* printf("Computer: %-12s Opponent: %s\n", */ @@ -310,8 +332,6 @@ Raw_help(void) (TCflag) ? CP[93] : CP[92], TimeControl.moves[black], TimeControl.clock[black] / 100, TCadd/100, MaxSearchDepth); - - signal(SIGUSR1, Raw_TerminateSearch); } @@ -332,13 +352,13 @@ Raw_EditBoard(void) Raw_ClearScreen(); Raw_UpdateDisplay(0, 0, 1, 0); /* printf(". exit to main\n"); */ - printf(CP[29]); + fputs(CP[29], stdout); /* printf("# clear board\n"); */ - printf(CP[28]); + fputs(CP[28], stdout); /* printf("c change sides\n"); */ - printf(CP[136]); + fputs(CP[136], stdout); /* printf("enter piece & location: \n"); */ - printf(CP[155]); + fputs(CP[155], stdout); a = black; @@ -378,8 +398,8 @@ Raw_EditBoard(void) } else { - c = '9' - s[1]; - r = 'i' - s[2]; + c = COL_NAME(s[1]); + r = ROW_NAME(s[2]); } if ((c >= 0) && (c < NO_COLS) && (r >= 0) && (r < NO_ROWS)) @@ -476,15 +496,13 @@ SetupBoard(void) Raw_ClearScreen(); Raw_UpdateDisplay(0, 0, 1, 0); /* printf("Setup successful\n"); */ - printf(CP[106]); + fputs(CP[106], stdout); } void Raw_SearchStartStuff(short side) { - signal(SIGUSR1, Raw_TerminateSearch); - if (flag.post) { printf(CP[123], @@ -568,7 +586,7 @@ Raw_OutputMove(void) if (root->flags & draw) { /* printf("Drawn game!\n"); */ - printf(CP[57]); + fputs(CP[57], stdout); } else if (root->score == -(SCORE_LIMIT + 999)) { @@ -685,7 +703,7 @@ Raw_GiveHint(void) printf(CP[72], mvstr[0]); /*hint*/ } else - printf(CP[223]); + fputs(CP[223], stdout); } @@ -712,7 +730,7 @@ Raw_SelectLevel(char *sx) /* line empty ask for input */ if (!T[0]) { - printf(CP[61]); + fputs(CP[61], stdout); fgets(T, NO_SQUARES + 1, stdin); strcat(T, "XX"); } @@ -743,7 +761,7 @@ Raw_SelectLevel(char *sx) TCseconds = 0; #ifdef OPERATORTIME - printf(CP[94]); + fputs(CP[94], stdout); scanf("%hd", &OperatorTime); #endif @@ -962,4 +980,3 @@ Raw_ShowPostnValues(void) mtl[opponent], pscore[opponent], GameType[opponent]); printf("\nhung black %d hung white %d\n", hung[black], hung[white]); } -