X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=gnushogi%2Fmain.c;h=da633c2d3f605769340bfd23323e19c8f2085992;hb=fba3360f72a4da97710e6ef675887a8d2a1a36b2;hp=2dd78b8ee8285af902ed4e12fd40a82b79899f52;hpb=829c253a7cc2d3e1a9ed643485c1b1a92967b5df;p=gnushogi.git diff --git a/gnushogi/main.c b/gnushogi/main.c index 2dd78b8..da633c2 100644 --- a/gnushogi/main.c +++ b/gnushogi/main.c @@ -4,6 +4,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 * @@ -80,17 +81,14 @@ main (int argc, char **argv) binbookfile = NULL; #endif } - break; #ifdef BINBOOK case 'B': argc--; argv++; - if (argc > 0) binbookfile = argv[0]; - break; #endif @@ -98,7 +96,7 @@ main (int argc, char **argv) case 'C': /* Curses interface. */ display_type = DISPLAY_CURSES; - + dsp = &curses_display; break; #endif @@ -107,17 +105,14 @@ main (int argc, char **argv) hash = ((argv[0][0] == '-') ? false : true); break; - case 'l': argc--; argv++; if (argc > 0) Lang = argv[0]; - break; - case 'L': argc--; argv++; @@ -126,34 +121,28 @@ main (int argc, char **argv) strcpy(listfile, argv[0]); break; - case 's': argc--; argv++; if (argc > 0) strcpy(savefile, argv[0]); - break; - case 'P': argc--; argv++; if (argc > 0) bookmaxply = atoi(argv[0]); - break; - case 'R': /* Raw text interface. */ display_type = DISPLAY_RAW; - + dsp = &raw_display; break; - case 'S': argc--; argv++; @@ -169,23 +158,18 @@ main (int argc, char **argv) if (argc > 0) rehash = atoi(argv[0]); - if (rehash > MAXrehash) rehash = MAXrehash; - break; - case 'T': argc--; argv++; if (argc > 0) ttblsize = atoi(argv[0]); - - if ((ttblsize <= MINTTABLE)) + if (ttblsize <= MINTTABLE) ttblsize = (MINTTABLE) + 1; - break; #ifdef HASHFILE @@ -229,7 +213,6 @@ main (int argc, char **argv) return 0; - case 't': /* Create or test persistent transposition table. */ hashfile = fopen(HASHFILE, RWA_ACC); @@ -271,7 +254,7 @@ main (int argc, char **argv) } } - printf("The file contains %d entries out of max %d\n", nr[0], i); + printf("The file contains %d entries out of max %ld\n", nr[0], i); for (j = 1; j < MAXDEPTH; j++) printf("%d ", nr[j]); @@ -281,7 +264,6 @@ main (int argc, char **argv) return 0; - #endif /* HASHFILE */ #endif /* ttblsz */ @@ -293,20 +275,17 @@ main (int argc, char **argv) case 'X': /* X interface. */ display_type = DISPLAY_X; - + dsp = &raw_display; break; - case 'x': argc--; argv++; if (argc > 0) xwin = argv[0]; - break; - default: fputs("Usage: gnushogi [-a] [-t] [-c size] [-s savefile][-l listfile] [-x xwndw]\n", stderr); exit(1); @@ -401,30 +380,10 @@ main (int argc, char **argv) if (flag.bothsides && !flag.mate) SelectMove(opponent, FOREGROUND_MODE); else - InputCommand(NULL); - - if (opponent == white) - { - if (flag.gamein || TCadd) - { - TimeCalc(); - } - else if (TimeControl.moves[opponent] == 0) - { - if (XC) - { - if (XCmore < XC) - { - TCmoves = XCmoves[XCmore]; - TCminutes = XCminutes[XCmore]; - TCseconds = XCseconds[XCmore]; - XCmore++; - } - } + InputCommand(true); - SetTimeControl(); - } - } + if(opponent == white) + RenewTimeControl(opponent, TCadd); compptr = (compptr + 1) % MINGAMEIN; @@ -435,28 +394,8 @@ main (int argc, char **argv) #endif SelectMove(computer, FOREGROUND_MODE); - if (computer == white) - { - if (flag.gamein) - { - TimeCalc(); - } - else if (TimeControl.moves[computer] == 0) - { - if (XC) - { - if (XCmore < XC) - { - TCmoves = XCmoves[XCmore]; - TCminutes = XCminutes[XCmore]; - TCseconds = XCseconds[XCmore]; - XCmore++; - } - } - - SetTimeControl(); - } - } + if(computer == white) + RenewTimeControl(computer, false); } }