gnushogi.git
11 years agoFix formatting of boards in texinfo doc.
Yann Dirson [Tue, 5 Nov 2013 21:56:47 +0000]
Fix formatting of boards in texinfo doc.

11 years agoUpdate NEWS file for upcoming 1.4.1.
Yann Dirson [Tue, 5 Nov 2013 21:09:58 +0000]
Update NEWS file for upcoming 1.4.1.

11 years agoRemove version number from manpage.
Yann Dirson [Tue, 5 Nov 2013 21:03:08 +0000]
Remove version number from manpage.

It was not very useful there, and has been out of sync with the software
version anyway.

11 years agoRemove unused obsolete version numbers from Makefiles.
Yann Dirson [Tue, 5 Nov 2013 21:02:17 +0000]
Remove unused obsolete version numbers from Makefiles.

11 years agoTake note of more cleanups to do.
Yann Dirson [Sun, 20 Oct 2013 18:52:39 +0000]
Take note of more cleanups to do.

11 years agoMove hashfile definition from configure.ac into Makefile.in
Yann Dirson [Sun, 20 Oct 2013 19:41:47 +0000]
Move hashfile definition from configure.ac into Makefile.in

Like other similar defs...

11 years agoUse configure --enable-minishogi to select build of gnuminishogi.
Yann Dirson [Sun, 20 Oct 2013 19:29:45 +0000]
Use configure --enable-minishogi to select build of gnuminishogi.

At the same time, provide an empty gnuminishogi.tbk so things work more
as they should.

Only the patterns are still necessary to specify manually at this point.

11 years agoFix mini-Shogi out-of-bounds acces of board
H.G. Muller [Fri, 27 Sep 2013 07:37:45 +0000]
Fix mini-Shogi out-of-bounds acces of board

11 years agoAvoid looking at the game type to determine minishogi piece values.
Yann Dirson [Wed, 28 Sep 2011 22:12:07 +0000]
Avoid looking at the game type to determine minishogi piece values.

We don't know how to determine the game type anyway, and a previous
patch disables its computation, but no need to compile dead code in this
case.

Another problem to look at is that "in_opening_stage" is surely
badly tuned for MiniShogi, but the program seems to score better with
current code that by telling there is opening stage.

Flag FIXME's where applicable so some willing soul would know where to
find things to improve for MiniShogi.

11 years agoDisable GuessGameType() for MiniShogi.
Yann Dirson [Wed, 28 Sep 2011 21:27:03 +0000]
Disable GuessGameType() for MiniShogi.

Game types for MiniShogi are surely different from the ones in Shogi, so
this would require serious thought to get it right.  Just pretend we don't
know.

11 years agoFix ScorePosition() for MiniShogi.
Yann Dirson [Wed, 28 Sep 2011 21:25:24 +0000]
Fix ScorePosition() for MiniShogi.

Gcc's stack-smashing protection combined with glibc's -D_FORTIFY_SOURCE
detected with a segfault that we were using 9x9-board offsets on our 5x5
board.  This patch abstracts the relevant hardcoded constants and provides
correct values for MiniShogi.

11 years agoGenerate patterns.inc at build time.
Yann Dirson [Mon, 11 Feb 2008 00:47:01 +0000]
Generate patterns.inc at build time.

11 years agoInitial attempt at minishogi.
Yann Dirson [Mon, 11 Feb 2008 00:47:00 +0000]
Initial attempt at minishogi.

This preliminar minishogi takes the approach of conditional
compilation, so I can focus on differences between shogi and
minishogi.  Those ifdef's are expected to progressively disappear as
the support code is made generic enough to support the needs of both
variants.

11 years agoFix various regression for building out of tree.
Yann Dirson [Sun, 20 Oct 2013 20:07:19 +0000]
Fix various regression for building out of tree.

Most notably, doc was never buildable out of tree, but the recent build
enhancements did not take that into account.

11 years agoWindows port
H.G. Muller [Fri, 27 Sep 2013 07:39:28 +0000]
Windows port

This patch makes GNU Shogi compilable with gcc under Cygwin, using the
-mno-cygwin flag, so that it can run as a native Windows application,
independent of Cygwin1.dll.

The patch is fully conditional, based on defined(WIN32).

YD: rebased onto recent refactorings

11 years agoNormalize configure --help using AS_HELP_STRING.
Yann Dirson [Sun, 3 Nov 2013 14:00:20 +0000]
Normalize configure --help using AS_HELP_STRING.

11 years agoDon't bail out if configure (without --with-curses) does not find libcurses.
Yann Dirson [Sun, 3 Nov 2013 14:00:19 +0000]
Don't bail out if configure (without --with-curses) does not find libcurses.

Only fail when --with-curses was requested and libcurses cannot be found.

11 years agoFix funny search-and-replace copyright typo.
Yann Dirson [Sun, 3 Nov 2013 14:00:18 +0000]
Fix funny search-and-replace copyright typo.

11 years agoUse centralized version from configure.ac, drop use of separate patchlevel.
Yann Dirson [Sun, 3 Nov 2013 14:00:16 +0000]
Use centralized version from configure.ac, drop use of separate patchlevel.

11 years agoMove strings back into source code, from .lng support.
Yann Dirson [Sun, 3 Nov 2013 14:00:13 +0000]
Move strings back into source code, from .lng support.

* there is no point in translating the protocol
* if someone wants to translate the curses UI, this should be done with
  gettext

11 years agoMove ElapsedTime to tcontrl.c, now that there is a single implementation.
Yann Dirson [Wed, 23 Oct 2013 21:31:45 +0000]
Move ElapsedTime to tcontrl.c, now that there is a single implementation.

11 years agoMake UpdateClocks and input-polling dspwrappers-based too.
Yann Dirson [Wed, 23 Oct 2013 21:27:46 +0000]
Make UpdateClocks and input-polling dspwrappers-based too.

Those things are the only thing called from ElapsedTime() to be different
between Curses and Raw/X, and were not abstracted yet.

The poll-based polling code was not called from within ElapsedTime(), which
made it less frequently called, but that did not seem to be a problem.  And
it was redundant in Curses mode with the FIONREAD call.

11 years agoFix regression with stdarg dspwrappers.
Yann Dirson [Mon, 21 Oct 2013 22:51:02 +0000]
Fix regression with stdarg dspwrappers.

1be442641b610fa1b6172a38d9acffe2d22797b6 and
3f589711eb3ecc7644378d6a0f2f29bc4b4c7db9 are both broken, passing the
va_list inside another va_list to poor unsuspecting backend implementations.

11 years agoFixed minor regression in makepatter.
Yann Dirson [Sat, 19 Oct 2013 20:22:02 +0000]
Fixed minor regression in makepatter.

In 6cdb4afe21c8d0eb740a6a22a02a0adf922fddfc, I messed up a conditional
causing an error message to be written even when we did find a pattern file.

11 years agoFix build of --with-curses mode.
Yann Dirson [Sat, 19 Oct 2013 20:02:52 +0000]
Fix build of --with-curses mode.

Broken by 6030715dffdadf4402dccf6a8bf9966cfab2be1d and not checked soon enough :(

11 years agoDrop non-curses support from Curses_ElapsedTime.
Yann Dirson [Sat, 19 Oct 2013 19:47:18 +0000]
Drop non-curses support from Curses_ElapsedTime.

Similar to 58e443e7ec0d834fe75a9eda53f4cfaf7f8b106c, was a remnant from
before 4a9acd2e4d21586f2af629ec44cd78c237dcd702.

11 years agoDrop NOT_CURSES occurences from makepattern.
Yann Dirson [Sat, 19 Oct 2013 19:44:25 +0000]
Drop NOT_CURSES occurences from makepattern.

Why on earth are we supposing that pat2inc would run in Curses mode one day ?

11 years agoConvert more stuff from #ifdef to dspwrappers: SetupBoard.
Yann Dirson [Sat, 19 Oct 2013 19:43:25 +0000]
Convert more stuff from #ifdef to dspwrappers: SetupBoard.

Not a very big problem since that function is not curses-only this time,
but raw-only.  But this is the natural continuation of the "nuke NOT_CURSES"
movement.

11 years agoStop exporting Curses-internal functions to everyone.
Yann Dirson [Sat, 19 Oct 2013 19:33:37 +0000]
Stop exporting Curses-internal functions to everyone.

Possible since cursesdsp is now self-contained.

11 years agoFinish the --without-curses support.
Yann Dirson [Sat, 19 Oct 2013 19:27:11 +0000]
Finish the --without-curses support.

Now that all the silly problems refering to Curses-specific functions from
unrelated places are all solved, we can spare linking cursesdsp when not
required.

11 years agoRemove dead Curses-specific code from Raw_ElapsedTime()
Yann Dirson [Sat, 19 Oct 2013 19:25:44 +0000]
Remove dead Curses-specific code from Raw_ElapsedTime()

11 years agoRemove useless explicit prototype for pow().
Yann Dirson [Sat, 19 Oct 2013 19:19:29 +0000]
Remove useless explicit prototype for pow().

11 years agoChange ElapsedTime to a normal display function.
Yann Dirson [Sat, 19 Oct 2013 17:07:12 +0000]
Change ElapsedTime to a normal display function.

The FIONREAD version is clearly tied to Curses, and the NOFIONREAD works
corectly with xshogi/xboard as well as Raw.  No reason for a separate
mechanism.

--without-curses now builds as expected.

11 years agoMake spacing consistent in *dsp.c, kill unused global hidden between funcs.
Yann Dirson [Sat, 19 Oct 2013 15:48:45 +0000]
Make spacing consistent in *dsp.c, kill unused global hidden between funcs.

11 years agoFactorize ElapsedTime implementations by restricting HAVE_GETTIMEOFDAY #ifdef's.
Yann Dirson [Sat, 19 Oct 2013 15:42:21 +0000]
Factorize ElapsedTime implementations by restricting HAVE_GETTIMEOFDAY #ifdef's.

(and take the best-looking one on cosmetic differences)

11 years agoFix ShowPrompt implementation across display drivers.
Yann Dirson [Sat, 19 Oct 2013 14:03:55 +0000]
Fix ShowPrompt implementation across display drivers.

11 years agoConvert more stuff from #ifdef to dspwrappers: GetString.
Yann Dirson [Thu, 17 Oct 2013 20:46:54 +0000]
Convert more stuff from #ifdef to dspwrappers: GetString.

Thin function is the first non-void one and shows the limits of the
current macro set.  Let's consider this stuff to be temporary.

At least it finally allows to drop #include <curses.h> from commondsp.

11 years agoConvert more stuff from #ifdef to dspwrappers: AlwaysShowMessage.
Yann Dirson [Tue, 15 Oct 2013 22:56:52 +0000]
Convert more stuff from #ifdef to dspwrappers: AlwaysShowMessage.

11 years agoProvide a Raw version of ShowNodeCnt to avoid more #ifdef's.
Yann Dirson [Tue, 15 Oct 2013 22:54:58 +0000]
Provide a Raw version of ShowNodeCnt to avoid more #ifdef's.

At the same time, nuking "#ifdef DYNAMIC_ZNODES" (dead code).

11 years agoWhen in check, complain with the requested move.
Yann Dirson [Tue, 15 Oct 2013 22:28:44 +0000]
When in check, complain with the requested move.

Looks like in xshogi mode we were complaining by explicitly using the
algebraic notation, but apparently noone forces us to do so.

11 years agoAdd safeguard against buffer overflow when calling scanf.
Yann Dirson [Tue, 15 Oct 2013 21:58:43 +0000]
Add safeguard against buffer overflow when calling scanf.

11 years agoConvert more stuff from #ifdef to dspwrappers.
Yann Dirson [Tue, 15 Oct 2013 20:41:09 +0000]
Convert more stuff from #ifdef to dspwrappers.

11 years agoConfigure: stop abusing AC_MSG_CHECKING, use correct idioms.
Yann Dirson [Sat, 19 Oct 2013 13:35:58 +0000]
Configure: stop abusing AC_MSG_CHECKING, use correct idioms.

11 years agoFinally get rid of that highly non-standard use of SIGINT.
Yann Dirson [Mon, 14 Oct 2013 19:46:46 +0000]
Finally get rid of that highly non-standard use of SIGINT.

People will at last be able to Ctrl-C gnushogi :)

11 years agoRegularly check for user input when searching, to have a chance to catch EOF from...
Yann Dirson [Mon, 14 Oct 2013 19:38:24 +0000]
Regularly check for user input when searching, to have a chance to catch EOF from engine.

When an engine quits without terminating a searching gnushogi, it would
continue to search and never realize there was no reason to continue.

This is a poll-based implementation of what H.G.Muller wrote for WIN32 to
circumvent the lack of UNIX signals there.

11 years agoDetect EOF waiting for user input in xshogi and raw modes, and trigger exit.
Yann Dirson [Mon, 14 Oct 2013 19:34:04 +0000]
Detect EOF waiting for user input in xshogi and raw modes, and trigger exit.

No idea why the raw implementation of ExitShogi() did not call exit().
Even after detecting EOF, we were thrown into a tight loop...

11 years agoRestore SIGINT for stopping gnushogi when thinking.
Yann Dirson [Sun, 13 Oct 2013 21:25:42 +0000]
Restore SIGINT for stopping gnushogi when thinking.

SIGINT is unfortunately part of the protocol inherited from gnuchess4,
and is used by xboard as such.  So this was not a proper fix for the
original issue.

This reverts commit 00e10bc4a760150665436b17c50abf264f28d435,
"Don't intercept INT and QUIT signals, and use USR1 instead of QUIT for".

11 years agoRename configure --with-xshogi to --enable-xshogi for correctness.
Yann Dirson [Sun, 13 Oct 2013 22:42:58 +0000]
Rename configure --with-xshogi to --enable-xshogi for correctness.

11 years agoStart of a "make dist" target.
Yann Dirson [Tue, 8 Oct 2013 21:10:33 +0000]
Start of a "make dist" target.

The old one uses a script that was never published...

11 years agoRework doc-handing make rules and remove generated files from version control.
Yann Dirson [Tue, 8 Oct 2013 20:05:45 +0000]
Rework doc-handing make rules and remove generated files from version control.

Newer texinfo.tex was imported from texinfo 5.1.

11 years agoRemove hack previously used to insert diags into generated HTML.
Yann Dirson [Tue, 8 Oct 2013 21:15:50 +0000]
Remove hack previously used to insert diags into generated HTML.

Useless since db5c540ff7e9dd176f797b50031141e2c2059456.

11 years agoDon't cause autogen.sh to run configure.
Yann Dirson [Tue, 8 Oct 2013 18:45:16 +0000]
Don't cause autogen.sh to run configure.

11 years agoInitiate new ChangeLog using git2cl.
Yann Dirson [Tue, 8 Oct 2013 20:32:22 +0000]
Initiate new ChangeLog using git2cl.

11 years agoStart to fill NEWS, rotate pre-git logs to ChangeLog.old.
Yann Dirson [Tue, 8 Oct 2013 20:31:43 +0000]
Start to fill NEWS, rotate pre-git logs to ChangeLog.old.

11 years agoCritical texinfo doc formatting fixes.
Yann Dirson [Tue, 8 Oct 2013 20:12:02 +0000]
Critical texinfo doc formatting fixes.

* "@sp 1" everywhere look ugly today
* ASCII rendering of boards requires @verbatim

11 years agoUse @ifnotex and not @ifinfo, or HTML does not get its ToC.
Yann Dirson [Tue, 8 Oct 2013 20:10:40 +0000]
Use @ifnotex and not @ifinfo, or HTML does not get its ToC.

11 years agoRemove text of the GPL (v2) from texinfo doc, it did not format any more though TeX.
Yann Dirson [Tue, 8 Oct 2013 20:07:59 +0000]
Remove text of the GPL (v2) from texinfo doc, it did not format any more though TeX.

11 years agoHonor LDFLAGS at link-time.
Yann Dirson [Sun, 29 Sep 2013 22:36:07 +0000]
Honor LDFLAGS at link-time.

11 years agoAllow configure --without-curses.
Yann Dirson [Sun, 29 Sep 2013 21:16:30 +0000]
Allow configure --without-curses.

Not finding libcurses was surely causing problems, we now also proceed cleanly
in that case.

11 years agoRemove excessive boilerplate duplication from dspwrappers.
Yann Dirson [Sun, 29 Sep 2013 14:25:34 +0000]
Remove excessive boilerplate duplication from dspwrappers.

11 years agoAdd .gitignore file
Yann Dirson [Sun, 29 Sep 2013 14:29:54 +0000]
Add .gitignore file

11 years agoClarify configure options that only relate to xshogi
Yann Dirson [Sun, 29 Sep 2013 13:51:42 +0000]
Clarify configure options that only relate to xshogi

11 years agoRestore previous copyright information that got removed by error.
Yann Dirson [Thu, 3 Oct 2013 18:55:49 +0000]
Restore previous copyright information that got removed by error.

This reverts part of commit 82b026e6376b640a4d3409a461dd6bd83708e33e,
which changed too much of the copyright headers when changing license
to GPL3.

11 years agoFix another hardcored 9x9-board hardcoded value.
Yann Dirson [Wed, 28 Sep 2011 22:03:51 +0000]
Fix another hardcored 9x9-board hardcoded value.

11 years agoDocument internal APIs.
Yann Dirson [Mon, 11 Feb 2008 00:47:00 +0000]
Document internal APIs.

11 years agoParametrize more hardcoded contants.
Yann Dirson [Mon, 11 Feb 2008 00:47:00 +0000]
Parametrize more hardcoded contants.

11 years agoUse enums.
Yann Dirson [Mon, 11 Feb 2008 00:46:59 +0000]
Use enums.

11 years agoAdd support for building gnushogi and xshogi out of source tree.
Yann Dirson [Mon, 11 Feb 2008 00:46:59 +0000]
Add support for building gnushogi and xshogi out of source tree.

11 years agoDeal with warnings raised by -Wformat-security.
Yann Dirson [Tue, 27 Sep 2011 20:31:11 +0000]
Deal with warnings raised by -Wformat-security.

11 years agoFixes segfault in gnushogi when asking for help.
Stijn van Drongelen [Mon, 3 Aug 2009 04:20:28 +0000]
Fixes segfault in gnushogi when asking for help.

Closes Debian Bug#434139.

11 years agoStatify functions not used outside their compilation unit.
Yann Dirson [Mon, 11 Feb 2008 00:47:00 +0000]
Statify functions not used outside their compilation unit.

11 years agoDon't intercept INT and QUIT signals, and use USR1 instead of QUIT for
Yann Dirson [Mon, 11 Feb 2008 00:46:38 +0000]
Don't intercept INT and QUIT signals, and use USR1 instead of QUIT for
communication.

This braindead use of SIGINT causes problem when a frontend is
interrupted with Ctrl-C: if gnushogi is waiting for input, it would
enter a tight loop trying to read stdin, eating 100% CPU.

11 years agoFix integer overflow caused by bad use of binary operator.
Yann Dirson [Thu, 17 Jan 2008 23:19:24 +0000]
Fix integer overflow caused by bad use of binary operator.

Guess this may make the AI more accurate :)

Problem caught by gcc:

../../gnushogi/search.c: In function 'search':
../../gnushogi/search.c:887: warning: overflow in implicit constant conversion

A quick audit only revealed a place where another logical AND was
tested using a curious idiom, so let's make it consistent at the same
time.

11 years agoDo not attempt to outguess system headers by (re)defining errno.
Yann Dirson [Thu, 17 Jan 2008 23:18:35 +0000]
Do not attempt to outguess system headers by (re)defining errno.

Recent glibc define error as a cpp macro expanding to a function
call.  Thus, "extern int errno" should cause a link-time undefined
symbol when errno.h is not included.  Here it is, and gcc complains
with the following cryptic warning:

../../gnushogi/sysdeps.c: In function 'ElapsedTime_FIONREAD':
../../gnushogi/sysdeps.c:97: warning: function declaration isn't a prototype

11 years agoFix a function prototype.
Yann Dirson [Thu, 17 Jan 2008 23:18:35 +0000]
Fix a function prototype.

11 years agoAdd missing info headers
Yann Dirson [Sun, 20 May 2012 19:04:04 +0000]
Add missing info headers

12 years agoChanging license to GPL3 (and bumping version to 1.4.0).
Luis Felipe Strano Moraes [Sun, 18 Mar 2012 18:50:23 +0000]
Changing license to GPL3 (and bumping version to 1.4.0).

12 years agoFix buffer overflow, patch by Typone Alfredo (alfredo@tupone.it).
Luis Felipe Strano Moraes [Tue, 13 Mar 2012 20:58:00 +0000]
Fix buffer overflow, patch by Typone Alfredo (alfredo@tupone.it).

12 years agoDisabling default compilation of xshogi.
Luis Felipe Strano Moraes [Tue, 13 Mar 2012 20:16:55 +0000]
Disabling default compilation of xshogi.

12 years agoBuild fix for MacOS X.
Luis Felipe Strano Moraes [Tue, 13 Mar 2012 20:15:25 +0000]
Build fix for MacOS X.

12 years agoAdding autogen.sh and removing autogenerated files.
Luis Felipe Strano Moraes [Tue, 13 Mar 2012 20:10:17 +0000]
Adding autogen.sh and removing autogenerated files.

Those should be generated and distributed as part of the release process.

12 years agoUpdating to version 1.3.2, last public release by Mike Vanier.
Luis Felipe Strano Moraes [Tue, 13 Mar 2012 16:26:31 +0000]
Updating to version 1.3.2, last public release by Mike Vanier.

This was a maintenance release mostly consisting of build fixes and updating the
bitmaps for the pieces.

12 years agoUpdating to version 1.3, release made by Mike Vanier (mvanier@bbb.caltech.edu).
Luis Felipe Strano Moraes [Tue, 13 Mar 2012 16:24:41 +0000]
Updating to version 1.3, release made by Mike Vanier (mvanier@bbb.caltech.edu).

12 years agoInitial commit based on GNU Shogi 1.2 patchlevel 3.
Luis Felipe Strano Moraes [Tue, 13 Mar 2012 16:20:44 +0000]
Initial commit based on GNU Shogi 1.2 patchlevel 3.

This is based on the release made by Matthias Mutz
(mutz@fmi.uni-passau.de).