gnushogi.git
10 years agoPrepare v1.4.2.
Yann Dirson [Sun, 16 Feb 2014 17:09:08 +0000]
Prepare v1.4.2.

10 years agoNote remaining known bugs
Yann Dirson [Sun, 16 Feb 2014 17:03:46 +0000]
Note remaining known bugs

10 years agoEnsure the player names are refreshed after a switch (impacts Curses mode).
Yann Dirson [Sun, 16 Feb 2014 16:27:00 +0000]
Ensure the player names are refreshed after a switch (impacts Curses mode).

10 years agoEditBoard: use printf for conciseness
Yann Dirson [Sun, 16 Feb 2014 11:55:57 +0000]
EditBoard: use printf for conciseness

10 years agoCurses: parametrize hardcoded values for captures pieces, fixing minishogi display.
Yann Dirson [Sun, 16 Feb 2014 16:12:43 +0000]
Curses: parametrize hardcoded values for captures pieces, fixing minishogi display.

10 years agoCurses: shift board one char to the right to leave enough space for captures.
Yann Dirson [Sun, 16 Feb 2014 15:06:15 +0000]
Curses: shift board one char to the right to leave enough space for captures.

There was not really enough space to display top player's captures
correctly.

10 years agoEditBoard: display message on wrong input.
Yann Dirson [Sun, 16 Feb 2014 15:03:39 +0000]
EditBoard: display message on wrong input.

10 years agoEditBoard: fix error handling in piece setting.
Yann Dirson [Sun, 16 Feb 2014 13:51:28 +0000]
EditBoard: fix error handling in piece setting.

On invalid piece name, the code was anyway destroying any piece in the
target location, and the whole logic was diluted.

10 years agoCurses: move things around in EditBoard to free the message line.
Yann Dirson [Sun, 16 Feb 2014 14:57:58 +0000]
Curses: move things around in EditBoard to free the message line.

10 years agoCurses: fix position of lower clock for minishogi.
Yann Dirson [Sun, 16 Feb 2014 14:57:01 +0000]
Curses: fix position of lower clock for minishogi.

The hunt for hardcoded values goes on...

10 years agoCurses: avoid getting out of 80 columns when editing board.
Yann Dirson [Sun, 16 Feb 2014 14:50:26 +0000]
Curses: avoid getting out of 80 columns when editing board.

Now print user-provided chars on line following the long prompt.

10 years agoCurses: fix inverted column numbers display for minishogi.
Yann Dirson [Sun, 16 Feb 2014 14:31:45 +0000]
Curses: fix inverted column numbers display for minishogi.

10 years agoCurses: use a macro for left margin of display
Yann Dirson [Sun, 16 Feb 2014 14:11:01 +0000]
Curses: use a macro for left margin of display

10 years agoEditBoard: simplify loop logic by ending iterations early.
Yann Dirson [Sat, 15 Feb 2014 22:28:41 +0000]
EditBoard: simplify loop logic by ending iterations early.

10 years agoEditBoard: restructure loop for consistency.
Yann Dirson [Sat, 15 Feb 2014 22:03:27 +0000]
EditBoard: restructure loop for consistency.

10 years agoEditBoard: resync Curses implementation with the Raw one.
Yann Dirson [Sun, 16 Feb 2014 12:06:36 +0000]
EditBoard: resync Curses implementation with the Raw one.

10 years agoFix use of (COL|ROW)_NAME macros to compute numbers from names.
Yann Dirson [Sat, 15 Feb 2014 21:28:09 +0000]
Fix use of (COL|ROW)_NAME macros to compute numbers from names.

The formula is reversible for the somewhat-standard default position
notation, but that does not mean we should write silly things.  As a
proof, if that was needed, the formula necessary to support the xboard
protocol is not reversible.

10 years agoRemove XShogi doc from the manual, and add information about available GUIs.
Yann Dirson [Wed, 5 Feb 2014 21:27:47 +0000]
Remove XShogi doc from the manual, and add information about available GUIs.

10 years agoRemove XShogi from the source tree
Yann Dirson [Tue, 4 Feb 2014 23:42:20 +0000]
Remove XShogi from the source tree

10 years agoBump version to "1.4.1+".
Yann Dirson [Thu, 16 Jan 2014 21:37:30 +0000]
Bump version to "1.4.1+".

10 years agoPrepare v1.4.1
Yann Dirson [Tue, 14 Jan 2014 21:50:32 +0000]
Prepare v1.4.1

10 years agoUpdate maintainership info in AUTHORS.
Yann Dirson [Tue, 14 Jan 2014 21:27:57 +0000]
Update maintainership info in AUTHORS.

10 years agoUpdate copyright info for 2008 (minishogi patches) and recent developments.
Yann Dirson [Tue, 14 Jan 2014 21:27:42 +0000]
Update copyright info for 2008 (minishogi patches) and recent developments.

10 years agoAdd missing copyright info to *-common.c, added by the minishogi patches.
Yann Dirson [Tue, 14 Jan 2014 21:16:52 +0000]
Add missing copyright info to *-common.c, added by the minishogi patches.

10 years agoAdjust comment to prevent licensecheck from considering pattern.c as generated
Yann Dirson [Tue, 14 Jan 2014 21:07:32 +0000]
Adjust comment to prevent licensecheck from considering pattern.c as generated

10 years agoDoc: mention 1.4.1
Yann Dirson [Tue, 14 Jan 2014 21:04:34 +0000]
Doc: mention 1.4.1

10 years agoDoc: more on shogi variants in general, and Mini Shogi in particular.
Yann Dirson [Tue, 14 Jan 2014 21:01:33 +0000]
Doc: more on shogi variants in general, and Mini Shogi in particular.

10 years agoBump version to "1.4.1-rc1+".
Yann Dirson [Sun, 12 Jan 2014 14:30:05 +0000]
Bump version to "1.4.1-rc1+".

10 years agoFix "make distclean" when there is no editor backup file to remove.
Yann Dirson [Wed, 18 Dec 2013 20:44:10 +0000]
Fix "make distclean" when there is no editor backup file to remove.

10 years agoPrepare v1.4.1rc1.
Yann Dirson [Wed, 18 Dec 2013 20:34:08 +0000]
Prepare v1.4.1rc1.

10 years agoAdd build support for win32 on cygwin (gcc3).
Yann Dirson [Mon, 16 Dec 2013 23:00:46 +0000]
Add build support for win32 on cygwin (gcc3).

10 years agoGet rid of Makefile.profile, document flags to use in README.maint instead.
Yann Dirson [Tue, 17 Dec 2013 22:26:26 +0000]
Get rid of Makefile.profile, document flags to use in README.maint instead.

We don't want to maintain Makefile.profile as a quasi-copy of main Makefile,
that's not a good practice at all.

10 years agoKill dead code in pat2inc.
Yann Dirson [Tue, 17 Dec 2013 20:25:35 +0000]
Kill dead code in pat2inc.

10 years agoMinor pat2inc code cleanups
Yann Dirson [Tue, 17 Dec 2013 20:25:19 +0000]
Minor pat2inc code cleanups

10 years agoDrop useless defines for pat2inc build.
Yann Dirson [Tue, 17 Dec 2013 20:11:59 +0000]
Drop useless defines for pat2inc build.

10 years agoUse .texi suffix, preferred to .texinfo.
Yann Dirson [Tue, 17 Dec 2013 22:39:10 +0000]
Use .texi suffix, preferred to .texinfo.

10 years agoFix ordering of include dirs.
Yann Dirson [Mon, 16 Dec 2013 21:52:53 +0000]
Fix ordering of include dirs.

Local headers first, then build dir, then src dir.

10 years agoMinor makefile improvements
Yann Dirson [Mon, 16 Dec 2013 21:53:23 +0000]
Minor makefile improvements

10 years agoMove into opts.h the "mostly for hacking" remark from INSTALL file.
Yann Dirson [Sun, 15 Dec 2013 11:45:02 +0000]
Move into opts.h the "mostly for hacking" remark from INSTALL file.

10 years agoUpdate .gitignore for doc/ dir.
Yann Dirson [Thu, 5 Dec 2013 22:23:19 +0000]
Update .gitignore for doc/ dir.

10 years ago#define _POSIX_C_SOURCE to get proper access to snprintf and vsnprintf.
Yann Dirson [Thu, 5 Dec 2013 22:18:31 +0000]
#define _POSIX_C_SOURCE to get proper access to snprintf and vsnprintf.

10 years agoUse POSIX setvbuf in preference to BSD setlinebuf.
Yann Dirson [Thu, 5 Dec 2013 22:13:44 +0000]
Use POSIX setvbuf in preference to BSD setlinebuf.

This avoids implicit declaration of setlinebuf with GNU libc, which would
have required to define _BSD_SOURCE just to get rid of, and is not an
innocuous setting.

Drop call to no-op AC_FUNC_SETVBUF_REVERSED at the same time.

10 years agoFully quote autoconf macro arguments, as they should.
Yann Dirson [Thu, 5 Dec 2013 22:10:37 +0000]
Fully quote autoconf macro arguments, as they should.

10 years agoBump version to "1.4.1-rc0+".
Yann Dirson [Thu, 5 Dec 2013 22:03:01 +0000]
Bump version to "1.4.1-rc0+".

10 years agoGenerate HTML doc using makeinfo, instead of obsolecent texi2html
Yann Dirson [Thu, 5 Dec 2013 20:19:06 +0000]
Generate HTML doc using makeinfo, instead of obsolecent texi2html

11 years agoPrepare v1.4.1rc0.
Yann Dirson [Thu, 7 Nov 2013 21:24:01 +0000]
Prepare v1.4.1rc0.

11 years agoUpdate manual for maintainer, project communication, and plans.
Yann Dirson [Thu, 7 Nov 2013 21:23:27 +0000]
Update manual for maintainer, project communication, and plans.

11 years agoUpdate TODO: there are plans for v1.5, and things have been done.
Yann Dirson [Thu, 7 Nov 2013 21:08:14 +0000]
Update TODO: there are plans for v1.5, and things have been done.

11 years agoFix "make dist" not to include a recursive copy of the dist.
Yann Dirson [Tue, 5 Nov 2013 22:10:24 +0000]
Fix "make dist" not to include a recursive copy of the dist.

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.