home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!zephyr.ens.tek.com!tekred!saab!billr
- From: billr@saab.CNA.TEK.COM (Bill Randle)
- Newsgroups: comp.sources.games
- Subject: v12i004: reve - an othello game, Patch3d
- Message-ID: <6762@tekred.CNA.TEK.COM>
- Date: 21 Dec 90 20:50:57 GMT
- Sender: news@tekred.CNA.TEK.COM
- Lines: 1296
- Approved: billr@saab.CNA.TEK.COM
-
- Submitted-by: Rich Burridge <rburridge@sun.COM>
- Posting-number: Volume 12, Issue 4
- Archive-name: reve/Patch3d
- Patch-To: reve: Volume 11, Issue 52-58
- Environment: SunView, XView, X11R4, termcap
-
-
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 4 (of 9)."
- # Contents: patches03a
- # Wrapped by billr@saab on Fri Dec 21 11:26:53 1990
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'patches03a' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'patches03a'\"
- else
- echo shar: Extracting \"'patches03a'\" \(52474 characters\)
- sed "s/^X//" >'patches03a' <<'END_OF_FILE'
- X
- X------- patchlevel.h -------
- X*** /tmp/da07463 Sun Dec 9 15:07:15 1990
- X--- patchlevel.h Thu Nov 29 06:17:17 1990
- X***************
- X*** 22,25 ****
- X * (see README file), then an attempt will be made to fix them.
- X */
- X
- X! #define PATCHLEVEL 2
- X--- 22,25 ----
- X * (see README file), then an attempt will be made to fix them.
- X */
- X
- X! #define PATCHLEVEL 3
- X
- X------- README -------
- X*** /tmp/da07466 Sun Dec 9 15:07:15 1990
- X--- README Thu Dec 6 10:23:57 1990
- X***************
- X*** 43,48 ****
- X--- 43,57 ----
- X levels 4-6 would satisfy amateurs, and the higher levels will give experts a
- X good game. Level 8 (30 minutes) is the tournament level.
- X
- X+ The address where people can get information about tournaments, Othello
- X+ Quarterly, and "Othello Brief and Basic' is:
- X+
- X+ Othello Quarterly
- X+ c/o C.Hewlett
- X+ 920 Northgate Ave.
- X+ Waynesboro, VA 22980
- X+ USA
- X+
- X 2. Getting started.
- X -------------------
- X
- X***************
- X*** 78,83 ****
- X--- 87,93 ----
- X SELTYPE - uncomment for old select(2) calls.
- X SIGRET - uncomment if your signal function expects an integer function.
- X SYSV - uncomment if you are running Unix System V.
- X+ X11R3 - uncomment if you are building the X11 version under X11R3.
- X X11INCDIR - X11 only: location of the X11 #include files.
- X X11LIBDIR - X11 only: location of the X11 libraries.
- X XVIEWINCDIR - XView only: location of the XView #include files.
- X***************
- X*** 215,223 ****
- X Steve Misrack, Hugues Leroy, Linton Miller, Mike Stump, D. Hugh Redelmeier,
- X Scott W. Danielson, Gary D. Kline, Kjetil Torgrim Homme, Peter Johansson,
- X Alfred Nathaniel, Arnold Gill, Martin Chudley, W Mat Waites, Keith Moore,
- X! John Eras, Heather Rose, Jonathan I. Kamens, Krishnamurthy Ganesan and
- X! Gordon C. Galligher for bug reports and/or bug fixes plus suggested
- X! enhancements.
- X
- X Suggestions for furthur improvement would be most welcome, plus bugs,
- X comments and flames.
- X--- 225,234 ----
- X Steve Misrack, Hugues Leroy, Linton Miller, Mike Stump, D. Hugh Redelmeier,
- X Scott W. Danielson, Gary D. Kline, Kjetil Torgrim Homme, Peter Johansson,
- X Alfred Nathaniel, Arnold Gill, Martin Chudley, W Mat Waites, Keith Moore,
- X! John Eras, Heather Rose, Jonathan I. Kamens, Krishnamurthy Ganesan, Gordon C.
- X! Galligher, Soren Hein, Rod Whitby Daniel Edward Lovinger, Richard K. Lloyd,
- X! Jacob E. Goodman and John Eldredge for bug reports and/or bug fixes plus
- X! suggested enhancements.
- X
- X Suggestions for furthur improvement would be most welcome, plus bugs,
- X comments and flames.
- X
- X------- Makefile.dist -------
- X*** /tmp/da07469 Sun Dec 9 15:07:16 1990
- X--- Makefile.dist Thu Dec 6 10:21:47 1990
- X***************
- X*** 75,80 ****
- X--- 75,85 ----
- X #
- X #SYSV = -DSYSV
- X #-----------------------------------------------------------------------
- X+ # If you are compiling the X11 version under MIT X11R3, you will need to
- X+ # uncomment the following definition:
- X+ #
- X+ #X11R3 = -DX11R3
- X+ #-----------------------------------------------------------------------
- X # If you are compiling the X11 version and the X11 include and
- X # library files are not in a standard place, then the following
- X # two lines should be uncommented, and set appropriately.
- X***************
- X*** 102,108 ****
- X #
- X CDEFS = $(NOINDEX) $(NOSELECT) $(NO_USLEEP) $(NO_TIMEVAL) \
- X $(EDGENAME) $(SELTYPE) $(SIGRET) $(SYSV) \
- X! $(X11INCDIR) $(XVIEWINCDIR)
- X CFLAGS = -O $(CDEFS)
- X #
- X #==========================================================================
- X--- 107,113 ----
- X #
- X CDEFS = $(NOINDEX) $(NOSELECT) $(NO_USLEEP) $(NO_TIMEVAL) \
- X $(EDGENAME) $(SELTYPE) $(SIGRET) $(SYSV) \
- X! $(X11R3) $(X11INCDIR) $(XVIEWINCDIR)
- X CFLAGS = -O $(CDEFS)
- X #
- X #==========================================================================
- X***************
- X*** 114,125 ****
- X
- X CC = cc
- X
- X! STDSRCS = boardstuff.c events.c makemove.c main.c \
- X! procs.c rev_eval.c rev_ip.c rev_iycp.c
- X! STDOBJS = boardstuff.o events.o makemove.o main.o \
- X! procs.o rev_eval.o rev_ip.o rev_iycp.o
- X
- X GSRCS = sunview.c tty.c x11.c xview.c
- X HDRS = color.h extern.h images.h reve.h patchlevel.h
- X IDIR = images
- X IMAGES = $(IDIR)/black.icon \
- X--- 119,131 ----
- X
- X CC = cc
- X
- X! REVESRCS = rev_eval.c rev_ip.c rev_iycp.c
- X! STDSRCS = boardstuff.c events.c makemove.c main.c procs.c
- X! REVEOBJS = rev_eval.o rev_ip.o rev_iycp.o
- X! STDOBJS = boardstuff.o events.o makemove.o main.o procs.o
- X
- X GSRCS = sunview.c tty.c x11.c xview.c
- X+ OSRCS = common.c items.c reve_proc.c
- X HDRS = color.h extern.h images.h reve.h patchlevel.h
- X IDIR = images
- X IMAGES = $(IDIR)/black.icon \
- X***************
- X*** 133,138 ****
- X--- 139,146 ----
- X $(IDIR)/Lcycle.icon \
- X $(IDIR)/Rcycle.icon \
- X $(IDIR)/Scycle.icon \
- X+ $(IDIR)/Sch_off.icon \
- X+ $(IDIR)/Sch_on.icon \
- X $(IDIR)/hglass.cursor \
- X $(IDIR)/nocur.cursor
- X
- X***************
- X*** 139,145 ****
- X OTHERS = CHANGES README TODO reve.man MANIFEST FILES \
- X reve.man.text Makefile.dist
- X
- X! SFILES1 = events.c items.c makemove.c main.c procs.c
- X SFILES2 = boardstuff.c rev_eval.c rev_ip.c rev_iycp.c $(HDRS)
- X SFILES3 = $(OTHERS)
- X SFILES4 = tty.c x11.c xview.c
- X--- 147,153 ----
- X OTHERS = CHANGES README TODO reve.man MANIFEST FILES \
- X reve.man.text Makefile.dist
- X
- X! SFILES1 = $(OSRCS) events.c makemove.c main.c procs.c
- X SFILES2 = boardstuff.c rev_eval.c rev_ip.c rev_iycp.c $(HDRS)
- X SFILES3 = $(OTHERS)
- X SFILES4 = tty.c x11.c xview.c
- X***************
- X*** 169,194 ****
- X
- X all: $(BINARIES)
- X
- X! sunview: $(STDOBJS) items.o sunview.o
- X! $(CC) -o sv_reve $(CFLAGS) $(STDOBJS) \
- X! items.o sunview.o $(SVIEWLIBS)
- X -cp sv_reve reve
- X
- X! tty: $(STDOBJS) items.o tty.o
- X! $(CC) -o tty_reve $(CFLAGS) $(STDOBJS) \
- X! items.o tty.o $(TTYLIBS)
- X -cp tty_reve reve
- X
- X! x11: $(STDOBJS) items.o x11.o
- X! $(CC) -o xreve $(X11LIBDIR) $(CFLAGS) $(STDOBJS) \
- X! items.o x11.o \
- X! $(X11LIBS)
- X -cp xreve reve
- X
- X! xview: $(STDOBJS) xview.o
- X $(CC) -o xv_reve $(XVIEWLIBDIR) $(CFLAGS) $(STDOBJS) \
- X xview.o $(XVIEWLIBS)
- X -cp xv_reve reve
- X
- X install:
- X -cp reve $(BINDIR)
- X--- 177,202 ----
- X
- X all: $(BINARIES)
- X
- X! sunview: $(STDOBJS) $(REVEOBJS) common.o items.o sunview.o
- X! $(CC) -o sv_reve $(CFLAGS) $(STDOBJS) $(REVEOBJS) \
- X! common.o items.o sunview.o $(SVIEWLIBS)
- X -cp sv_reve reve
- X
- X! tty: $(STDOBJS) $(REVEOBJS) common.o items.o tty.o
- X! $(CC) -o tty_reve $(CFLAGS) $(STDOBJS) $(REVEOBJS) \
- X! common.o items.o tty.o $(TTYLIBS)
- X -cp tty_reve reve
- X
- X! x11: $(STDOBJS) $(REVEOBJS) common.o items.o x11.o
- X! $(CC) -o xreve $(X11LIBDIR) $(CFLAGS) $(STDOBJS) $(REVEOBJS) \
- X! common.o items.o x11.o $(X11LIBS)
- X -cp xreve reve
- X
- X! xview: $(STDOBJS) $(REVEOBJS) common.o reve_proc.o xview.o
- X $(CC) -o xv_reve $(XVIEWLIBDIR) $(CFLAGS) $(STDOBJS) \
- X xview.o $(XVIEWLIBS)
- X -cp xv_reve reve
- X+ $(CC) -o reve_proc $(CFLAGS) common.o reve_proc.o $(REVEOBJS)
- X
- X install:
- X -cp reve $(BINDIR)
- X***************
- X*** 200,215 ****
- X -cp reve.man $(MANDIR)/reve.$(MANSECT)
- X -chmod 644 $(MANDIR)/reve.$(MANSECT)
- X
- X! clean:; rm -f *.o *.Z *.uu Part* *~ reve $(BINARIES) core
- X
- X lint: lint-sunview lint-tty lint-xview lint-x11
- X! lint-sunview:; lint $(CDEFS) $(STDSRCS) items.c sunview.c $(SVIEWLIBS)
- X! lint-tty:; lint $(CDEFS) $(STDSRCS) items.c tty.c $(TTYLIBS)
- X! lint-xview:; lint $(CDEFS) $(STDSRCS) xview.c $(XVIEWLIBS)
- X! lint-x11:; lint $(CDEFS) $(STDSRCS) items.c x11.c $(X11LIBS)
- X
- X saber: $(STDSRCS) x11.c
- X! #load $(LDFLAGS) $(CDEFS) $(STDSRCS) items.c x11.c $(X11LIBS)
- X
- X shar:; shar.script $(SFILES1) > Part1
- X shar.script $(SFILES2) > Part2
- X--- 208,228 ----
- X -cp reve.man $(MANDIR)/reve.$(MANSECT)
- X -chmod 644 $(MANDIR)/reve.$(MANSECT)
- X
- X! clean:; rm -f *.o *.Z *.uu Part* *~ reve reve_proc $(BINARIES) core
- X
- X lint: lint-sunview lint-tty lint-xview lint-x11
- X! lint-sunview:; lint $(CDEFS) $(STDSRCS) $(REVESRCS) \
- X! common.c items.c sunview.c $(SVIEWLIBS)
- X! lint-tty:; lint $(CDEFS) $(STDSRCS) $(REVESRCS) \
- X! common.c items.c tty.c $(TTYLIBS)
- X! lint-xview:; lint $(CDEFS) $(STDSRCS) xview.c $(XVIEWLIBS)
- X! lint $(CDEFS) reve_proc.c common.c $(REVESRCS)
- X! lint-x11:; lint $(CDEFS) $(STDSRCS) $(REVESRCS) \
- X! common.c items.c x11.c $(X11LIBS)
- X
- X saber: $(STDSRCS) x11.c
- X! #load $(LDFLAGS) $(CDEFS) $(STDSRCS) $(REVESRCS) \
- X! common.c items.c x11.c $(X11LIBS)
- X
- X shar:; shar.script $(SFILES1) > Part1
- X shar.script $(SFILES2) > Part2
- X***************
- X*** 220,227 ****
- X shar.script $(SFILES7) > Part7
- X
- X create: SCCS
- X! -sccs create $(STDSRCS) items.c $(GSRCS) $(HDRS) \
- X! $(IMAGES) $(OTHERS)
- X
- X SCCS:
- X mkdir SCCS
- X--- 233,240 ----
- X shar.script $(SFILES7) > Part7
- X
- X create: SCCS
- X! -sccs create $(STDSRCS) $(REVESRCS) items.c reve_proc.c \
- X! $(GSRCS) $(HDRS) $(IMAGES) $(OTHERS)
- X
- X SCCS:
- X mkdir SCCS
- X***************
- X*** 228,233 ****
- X--- 241,247 ----
- X chmod 755 SCCS
- X
- X boardstuff.o: boardstuff.c color.h reve.h extern.h
- X+ common.o: common.c reve.h
- X events.o: events.c reve.h color.h extern.h
- X items.o: items.c color.h reve.h extern.h
- X makemove.o: makemove.c reve.h extern.h
- X***************
- X*** 236,241 ****
- X--- 250,256 ----
- X rev_eval.o: rev_eval.c reve.h
- X rev_ip.o: rev_ip.c reve.h
- X rev_iycp.o: rev_iycp.c reve.h
- X+ reve_proc.o: reve_proc.c reve.h
- X sunview.o: sunview.c reve.h color.h extern.h images.h $(IMAGES)
- X tty.o: tty.c reve.h color.h extern.h
- X x11.o: x11.c reve.h color.h extern.h images.h $(IMAGES)
- X
- X------- Imakefile -------
- X*** /tmp/da07472 Sun Dec 9 15:07:17 1990
- X--- Imakefile Thu Nov 29 16:54:47 1990
- X***************
- X*** 63,75 ****
- X $(SIGRET)
- X DEFINES = $(CDEFS) -DX11
- X ETABLE = reve.edgetable
- X- LIBDIR = $(USRLIBDIR)/reve
- X
- X /*
- X * Full pathname of the reve edge table file. This can also be overridden
- X * with a command line option.
- X */
- X! EDGENAMEFILE = $(LIBDIR)/$(ETABLE)
- X EDGENAME = -DEDGENAME=\"$(EDGENAMEFILE)\"
- X
- X
- X--- 63,74 ----
- X $(SIGRET)
- X DEFINES = $(CDEFS) -DX11
- X ETABLE = reve.edgetable
- X
- X /*
- X * Full pathname of the reve edge table file. This can also be overridden
- X * with a command line option.
- X */
- X! EDGENAMEFILE = $(USRLIBDIR)$(PATHSEP)reve$(PATHSEP)$(ETABLE)
- X EDGENAME = -DEDGENAME=\"$(EDGENAMEFILE)\"
- X
- X
- X***************
- X*** 79,86 ****
- X procs.o rev_eval.o rev_ip.o rev_iycp.o x11.o
- X
- X ComplexProgramTarget(reve)
- X! MakeDirectories(install,$(LIBDIR)$(PATHSEP)reve)
- X! InstallNonExec($(ETABLE),$(LIBDIR)$(PATHSEP)reve)
- X
- X install:: install.man
- X
- X--- 78,85 ----
- X procs.o rev_eval.o rev_ip.o rev_iycp.o x11.o
- X
- X ComplexProgramTarget(reve)
- X! MakeDirectories(install,$(USRLIBDIR)$(PATHSEP)reve)
- X! InstallNonExec($(ETABLE),$(USRLIBDIR)$(PATHSEP)reve)
- X
- X install:: install.man
- X
- X
- X------- FILES -------
- X*** /tmp/da07475 Sun Dec 9 15:07:17 1990
- X--- FILES Tue Dec 4 21:30:23 1990
- X***************
- X*** 7,17 ****
- X--- 7,19 ----
- X --------------------------------
- X
- X boardstuff.c - various board manipulation routines.
- X+ common.c - common routines between reve and reve_proc.
- X events.c - event handling procedures.
- X items.c - procedures for manipulating reve panel items.
- X makemove.c - interface to the computer strategy routines.
- X main.c - includes variable declarations and main().
- X procs.c - procedures associated with the panel items.
- X+ reve_proc.c - separate reve process for the XView version.
- X
- X rev_eval.c - reve evaluation function.
- X rev_ip.c - return a move and a note for a given color.
- X***************
- X*** 53,57 ****
- X--- 55,61 ----
- X images/Lcycle.icon - cycle panel item with left side inverted.
- X images/Rcycle.icon - cycle panel item with right side inverted.
- X images/Scycle.icon - stencil for normal/inverted cycle panel items.
- X+ images/Sch_off.icon - single choice panel item (off).
- X+ images/Sch_on.icon - single choice panel item (on).
- X images/hglass.cursor - hour glass cursor for computer move.
- X images/nocur.cursor - no cursor when piece is being dragged.
- X
- X------- MANIFEST -------
- X*** /tmp/da07478 Sun Dec 9 15:07:18 1990
- X--- MANIFEST Tue Dec 4 21:29:17 1990
- X***************
- X*** 6,16 ****
- X--- 6,18 ----
- X
- X Filename. | Part #
- X --------------------------------------------------
- X+ common.c | 1
- X events.c | 1
- X items.c | 1
- X makemove.c | 1
- X main.c | 1
- X procs.c | 1
- X+ reve_proc.c | 1
- X boardstuff.c | 2
- X rev_eval.c | 2
- X rev_ip.c | 2
- X***************
- X*** 44,49 ****
- X--- 46,53 ----
- X images/Lcycle.icon | 5
- X images/Rcycle.icon | 5
- X images/Scycle.icon | 5
- X+ images/Sch_off.icon | 5
- X+ images/Sch_on.icon | 5
- X images/hglass.cursor | 5
- X images/nocur.cursor | 5
- X reve.edge1 | 6
- X
- X------- CHANGES -------
- X*** /tmp/da07481 Sun Dec 9 15:07:18 1990
- X--- CHANGES Sun Dec 9 14:42:32 1990
- X***************
- X*** 23,28 ****
- X--- 23,214 ----
- X Reve change history.
- X ====================
- X
- X+ v1.1 - patchlevel 3. 9th December 1990.
- X+
- X+ * Added a description of the -bestmove command line option to the
- X+ manual pages.
- X+
- X+ * If you were using the -last option, and the window was iconified,
- X+ and there was only the initial four stones on the board, then
- X+ opening Reve, would incorrectly show the "last" square.
- X+
- X+ * If you were using the -number option, and the window was iconified,
- X+ then when Reve was opened again, the number was not being displayed
- X+ on the last stone.
- X+
- X+ * The display of a single digit on a stone (with the -number option)
- X+ was not centered correctly.
- X+
- X+ * From Jonathan I. Kamens <jik@pit-manager.MIT.EDU>
- X+ Problems with the Imakefile. The line that says
- X+ "LIBDIR=$(USRLIBDIR)/reve" should be deleted, and both of the rules
- X+ that say "$(LIBDIR)$(PATHSEP)reve" should actually say
- X+ "$(USRLIBDIR)$(PATHSEP)reve".
- X+
- X+ Also, the EDGENAMEFILE should be changed to
- X+ $(USRLIBDIR)$(PATHSEP)reve$(PATHSEP)$(ETABLE)
- X+
- X+ * Added in X resources support for the X11(Xlib) and XView versions.
- X+ Currently, the resources read are:
- X+
- X+ reve.animate: (boolean) show animation.
- X+ reve.bestmove: (boolean) show computer best move so far.
- X+ reve.difficulty: (integer) computer difficulty level.
- X+ reve.last: (boolean) show last move (with a square).
- X+ reve.log: (boolean) write computer info to log file.
- X+ reve.notes: (boolean) show computer notes.
- X+ reve.number: (boolean) show last move (number on stone).
- X+ reve.quick: (boolean) play quick game (don't flip stones).
- X+
- X+ * From Valerie Haecky <vmh@Eng.Sun.COM>
- X+ Undo'ing is incorrect at the end game if the computer is playing
- X+ black.
- X+
- X+ * Need to allow options like -scale through on the command line. This
- X+ can be done by have an init_graphics() routine that gets called
- X+ right at the start, which strips off graphics specific options.
- X+
- X+ * The hourglass/watch cursor is turned on, when the computer is
- X+ suggesting a move.
- X+
- X+ * If the bestmove option is on, and the computer suggested a move,
- X+ the last bestmove square wasn't being removed.
- X+
- X+ * From Valerie Haecky <vmh@Eng.Sun.COM>
- X+ The show notes now also shows the current maximum depth for the
- X+ computer move.
- X+
- X+ * From Valerie Haecky <vmh@Eng.Sun.COM>
- X+ Added to the README file, the address where people can get
- X+ information about tournaments, Othello Quarterly, and "Othello
- X+ Brief and Basic'
- X+
- X+ * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
- X+ Because the default is now set not to show the last square, and
- X+ notes is initially set off, I think that a status message such as
- X+ 'Black has moved on square <c-5>' should be displayed, otherwise
- X+ you've no idea where the computer moved.
- X+
- X+ * Stones are numbered and the last square shown when a game is
- X+ being loaded, if these settings are on.
- X+
- X+ * From Valerie Haecky <vmh@Eng.Sun.COM>
- X+ More work on the XView version. The control panel layout has been
- X+ rearranged, and a property window added. The Help button has been
- X+ removed from the control panel. Several options can now be set via
- X+ the property sheet. A new difficulty value has been added; the
- X+ ability to set a maximum computer search depth rather than the
- X+ computer doing a timed move.
- X+
- X+ * A new XView version has been created. This forks off a separate
- X+ process to do the computer moves. This is to try to get around
- X+ the server hanging problem. This still can happen, but not so
- X+ frequently.
- X+
- X+ Two new files have been created:
- X+
- X+ common.c and reve_proc.c.
- X+
- X+ The Makefile.dist, MANIFEST and FILES files have been updated.
- X+
- X+ * From: robert@anucsd.anu.oz.au (Robert Cohen)
- X+ It would be nice to have some idea of how far reve was looking ahead.
- X+ So in the notes section for example you could report on the ply used
- X+ to find the solution. If the bestmove option was set it could be shown
- X+ dynamically as new solutions were found.
- X+
- X+ * For the SunView and X11 versions the Done button has been replaced by
- X+ a Props button. Clicking on this will toggle the display of a property
- X+ window. The property window looks something like:
- X+
- X+ Computer plays: White | Black | Neither | Both
- X+ Difficulty: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
- X+
- X+ Options: [ ] Animate Move
- X+ [ ] Show Current Best Move
- X+ [ ] Show Last Move
- X+ [ ] Show Evaluation Info.
- X+ [ ] Number Last Move
- X+ [ ] Don't Show Flip
- X+
- X+ This introduce two new type of "panel" item, the toggle item
- X+ (P_TOGGLE) and the choice item (P_CHOICE). The cycle item has been
- X+ removed.
- X+
- X+ Selecting the Both field on the Computer plays: option, will display
- X+ the message that this option is currently not implemented.
- X+
- X+ The following changes have occured in the main reve window:
- X+
- X+ The Black: and White: items are messages. The Difficulty: and
- X+ Show Notes: items will disappear, freeing up a row.
- X+
- X+ Setting the Computer plays: option, alters the Black: and White:
- X+ options.
- X+
- X+ The iteminfo structure will have five new fields:
- X+
- X+ int lx ; /* X position of the label. */
- X+ int ly ; /* Y position of the label. */
- X+ char label[60] ; /* Panel item label. */
- X+ char *options ; /* Pointer to list of string choices. */
- X+ int nopts ; /* Number of options in list. */
- X+
- X+ Only certain fields are used with each type of panel "item". All
- X+ items are initialised in main.c.
- X+
- X+ Two new files have been added to the images directory:
- X+
- X+ images/Sch_off.icon
- X+ images/Sch_on.icon
- X+
- X+ This solves the following problems:
- X+
- X+ * From: robert@anucsd.anu.oz.au (Robert Cohen)
- X+ It would be nice to be able to change all the program parameters from
- X+ inside the game. For example being able to pull down a menu and turn
- X+ the bestmove option on or off.
- X+
- X+ * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
- X+ I, and most of the users here, use a combination of X11R4, twm and
- X+ 1024 by 768 colour or mono displays. The new Reve window now exceeds
- X+ the height of the screen minus the height of the twm title bar of the
- X+ window! Hence the bottom of half of row 8 and the a to h labelling
- X+ are no longer visible, even if the top of the twm title bar for the
- X+ Reve window is at the top of the screen!
- X+
- X+ * From Soren Hein <shein@ferdowsi.berkeley.edu>
- X+ Why double switches for White, Black and Notes? Both halves of the
- X+ switches do the same thing.
- X+
- X+ * Incorporated a new version of the rev_eval.c evaluation fuction from
- X+ Yves. There is also a complete new edge table to go with this. This
- X+ should be faster on RISC systems.
- X+
- X+ * XResourceManagerString, which is now used as part of the X resources
- X+ support in the X11 and XView versions, appears to be an X11R4
- X+ functions. If you are trying to get the X11 version working with
- X+ X11R3, then there is a new definition in the Makefile[.dist] file
- X+ that you'll have to uncomment. The README file has been updated to
- X+ mention this.
- X+
- X+ * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
- X+ Using the X11 interface, when I click on Suggest and get a cross
- X+ marking the suggested square, then the cross does not disappear when
- X+ I click on Undo (the position is different, so the suggested square
- X+ is no longer valid). This gets a bit confusing when you do a Suggest,
- X+ Undo and Suggest again sequence - you end up with 2 crosses on the
- X+ board.
- X+
- X+ * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
- X+ When compiling rev_ip.c on an HP-UX 9000 Series 300 machine (68020 or
- X+ 68030), the HP-UX 7.0 C compiler crashes out with the following error:
- X+
- X+ C1 internal error in "tuplonges": invalid OREG in recognize_array()
- X+
- X+ This problem has now been found, and the appropriate code is
- X+ #ifdef'ed in rev_ip.c.
- X+
- X v1.1 - patchlevel 2. 28th November 1990.
- X
- X * Adjusted Makefile.dist to correctly install and shar reve.man and
- X
- X------- TODO -------
- X*** /tmp/da07484 Sun Dec 9 15:07:19 1990
- X--- TODO Sun Dec 9 13:22:51 1990
- X***************
- X*** 27,38 ****
- X System is a Sun 2/170 running SunOS 4.0, using the TTY version on a
- X TVI-925. Reve makes a mess on so called "magic-cookie" terminals.
- X
- X- * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
- X- When compiling rev_ip.c on an HP-UX 9000 Series 300 machine (68020 or
- X- 68030), the HP-UX 7.0 C compiler crashes out with the following error:
- X-
- X- C1 internal error in "tuplonges": invalid OREG in recognize_array()
- X-
- X
- X Reve TODO list.
- X ===============
- X--- 27,32 ----
- X***************
- X*** 61,93 ****
- X non-obvious things, like how Difficulty is measured.
- X
- X * There are several problems outstanding with the XView version:
- X! ~ **IMPORTANT** Need to find some way to disable MS_LEFT whilst the
- X! computer is having its move. At the moment, if you press
- X! the left mouse button while the computer is doing something,
- X! the server will hang.
- X! ~ The game panel doesn't correct repaint itself. You need to select
- X "Refresh" from the frame menu.
- X ~ The hourglass cursor should be drawn in XOR mode.
- X- ~ The board window should not have a window menu.
- X ~ The game board isn't correctly painted with the -m command line option.
- X- ~ When you click to get the panel window to the top, the game board should
- X- also be raised.
- X- ~ The alignment and size of some of the items needs to be adjusted to be
- X- more consistent.
- X ~ The color icon doesn't get displayed properly.
- X- ~ Would be nice to be able to close the game panel and leave the board
- X- window open. Status information could be written to a title line and a
- X- window footer (messages such as the number of stones each player
- X- currently has; whose turn it is to move could be placed in the title
- X- line, and panel messages such as invalid move could be written to the
- X- footer.
- X ~ It should be possible to start a load/save by just typing Return in the
- X Load/Save popup.
- X
- X- * Need to allow options like -scale through on the command line. This can
- X- be done by have an init_graphics() routine that gets called right at
- X- the start, which strips off graphics specific options.
- X-
- X * Need to add in the ability to show the last move, and show all moves to
- X the tty version.
- X
- X--- 55,75 ----
- X non-obvious things, like how Difficulty is measured.
- X
- X * There are several problems outstanding with the XView version:
- X! ~ **IMPORTANT** It's still possible to hang the server, if the left
- X! mouse button is clicked at the wrong time.
- X! ~ The various panels doesn't correct repaint themselves. You need to select
- X "Refresh" from the frame menu.
- X ~ The hourglass cursor should be drawn in XOR mode.
- X ~ The game board isn't correctly painted with the -m command line option.
- X ~ The color icon doesn't get displayed properly.
- X ~ It should be possible to start a load/save by just typing Return in the
- X Load/Save popup.
- X+ ~ Need to add XV_HELP_DATA attributes to each item, and create a reve.info
- X+ file with help information.
- X+ ~ The initial position of the reve window is coming up randomly. If it's
- X+ position isn't given on the command line, it should start at (0,0).
- X+ ~ Should recognise the Props key, and bring up the property sheet.
- X
- X * Need to add in the ability to show the last move, and show all moves to
- X the tty version.
- X
- X***************
- X*** 148,159 ****
- X A 'I will win/lose in x moves' announcement if a forced win/loss is
- X detected.
- X
- X- * From Valerie Haecky <vmh@Eng.Sun.COM>
- X- With the XView version, when you change the Black/White setting in the
- X- buttons, the default in the menu should change, too.
- X- Or: if the default in the menu stays the same, if you } hit the new menu
- X- button, and ask for the default, the buttons should update to reflect this.
- X-
- X * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
- X When you click on Quit and have actually made some moves/changes, then
- X it would be nice to have a dialogue box pop up to say "Save game before
- X--- 130,135 ----
- X***************
- X*** 218,223 ****
- X--- 194,205 ----
- X Allow the board to be rotated 90 degrees. The movelist will also have
- X to be adjusted of course.
- X
- X+ [Board rotation is only necessary, if we also support a printing
- X+ facility fro transcripts. For publishing games usually start
- X+ on c4. Also, if we want an opening library composed from
- X+ played games, or other learning mechanisms, we would have to
- X+ normalize the board. For a playing tool, this is not necessary - vmh.]
- X+
- X * Add in the ability for the Reve window[s] to be totally resized. This
- X would involve the black and white stone offscreen images being
- X generated "on-the-fly". Two things to note:
- X***************
- X*** 233,242 ****
- X move.
- X
- X * From Soren Hein <shein@ferdowsi.berkeley.edu>
- X- Why double switches for White, Black and Notes? Both halves of the
- X- switches do the same thing.
- X-
- X- * From Soren Hein <shein@ferdowsi.berkeley.edu>
- X Possible to give some strength indication of the levels? Maybe by
- X analogy with chess ratings, if you're familiar enough with Elo-ratings
- X to make guesses/comparisons.
- X--- 215,220 ----
- X***************
- X*** 264,269 ****
- X--- 242,289 ----
- X * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
- X Add in a move list window, which would contain a scrollable list of all
- X the moves so far (plus evaluation for the computers moves).
- X+
- X+ * From: robert@anucsd.anu.oz.au (Robert Cohen)
- X+ In order to guage which of the machines you have available perform best as
- X+ Reve servers, or to choose between different compilers or to choose which
- X+ compiler switches to use, it would be useful to have a measure of how fast
- X+ Reve runs. You could have a switch that makes reve evaluate a particular
- X+ preset position to some set depth and then tells you how many positions a
- X+ second it checked. You could call this a rhevestone :-).
- X+
- X+ Also by checking the answer it got against what it was supposed to get,
- X+ you would have a simple regression test for checking for compiler bugs
- X+ on new architectures.
- X+
- X+ * From: robert@anucsd.anu.oz.au (Robert Cohen)
- X+ It might be useful to have a way of setting the difficulty absolutely ie
- X+ in a way not dependant on the machine being used as otherwise level 3 say
- X+ is harder on a faster machine than a slower machine. Then you could say to
- X+ someone else as a measure of your Othello playing ability "I can beat reve
- X+ on level a3" (a3 stands for absolute level 3).
- X+
- X+ * From: robert@anucsd.anu.oz.au (Robert Cohen)
- X+ A cute feature I noticed in the standard X11r4 othello is that it thinks
- X+ during the humans move time. If the person is a slow player this could make
- X+ an appreciable difference if only in giving reve quicker responses.
- X+
- X+ * From: robert@anucsd.anu.oz.au (Robert Cohen)
- X+ It would be nice to add a bit of variety to reve's play. This could be
- X+ done in a variety of ways. A simple approach would be to add some minor
- X+ randomness to the evaluation function (optionally of course).
- X+ A more sophisticated approach would be to allow the user to tailor the
- X+ evaluation function. This could be either done as a fixed set of play styles
- X+ eg aggressive, cautious, unpredictable etc or by allowing the user to
- X+ change some numerical constants eg the weighting put on mobility by slider.
- X+ Of course there would be a "tournament" setting to make reve play as well as
- X+ possible.
- X+
- X+ * Add in a redraw request (^L for example) for the other versions (not just
- X+ the tty one).
- X+
- X+ * Now that reve has a property sheet, and some of the previous panel items
- X+ no longer exist, the keyboard interface needed to be changed to include
- X+ the new options, and alter some of the existing ones.
- X
- X
- X Items we're unlikely to implement.
- X
- X------- images.h -------
- X*** /tmp/da07487 Sun Dec 9 15:07:20 1990
- X--- images.h Tue Dec 4 21:55:18 1990
- X***************
- X*** 66,71 ****
- X--- 66,79 ----
- X #include "images/nocur.cursor"
- X } ;
- X
- X+ unsigned short sch_off_image[] = {
- X+ #include "images/Sch_off.icon"
- X+ } ;
- X+
- X+ unsigned short sch_on_image[] = {
- X+ #include "images/Sch_on.icon"
- X+ } ;
- X+
- X unsigned short white_image[] = {
- X #include "images/white.icon"
- X } ;
- X
- X------- extern.h -------
- X*** /tmp/da07490 Sun Dec 9 15:07:20 1990
- X--- extern.h Fri Dec 7 14:30:40 1990
- X***************
- X*** 22,38 ****
- X * (see README file), then an attempt will be made to fix them.
- X */
- X
- X- extern int animation ; /* If set, show computer glide and piece drag. */
- X extern int best_cmove ; /* Best computer move so far. */
- X extern int bfont_height ; /* Height in pixels for bold font. */
- X extern int but_inverted ; /* Value of panel item inverted. */
- X extern int color ; /* Current color value. */
- X extern int cur_ch ; /* Current character pressed. */
- X extern int curx ; /* Current mouse X position. */
- X extern int cury ; /* Current mouse Y position. */
- X- extern int do_bestmove ; /* If set, continuously update best move. */
- X- extern int do_last ; /* If set, don't show last move. */
- X- extern int do_number ; /* If set, the last stone placed is numbered. */
- X extern int down ; /* Indicates is a mouse button is down. */
- X extern int first_move ; /* Set if computer plays first move. */
- X extern int iconic ; /* Start as an icon if set. */
- X--- 22,35 ----
- X * (see README file), then an attempt will be made to fix them.
- X */
- X
- X extern int best_cmove ; /* Best computer move so far. */
- X extern int bfont_height ; /* Height in pixels for bold font. */
- X extern int but_inverted ; /* Value of panel item inverted. */
- X+ extern int cmove_depth ; /* Depth of the current best computer move. */
- X extern int color ; /* Current color value. */
- X extern int cur_ch ; /* Current character pressed. */
- X extern int curx ; /* Current mouse X position. */
- X extern int cury ; /* Current mouse Y position. */
- X extern int down ; /* Indicates is a mouse button is down. */
- X extern int first_move ; /* Set if computer plays first move. */
- X extern int iconic ; /* Start as an icon if set. */
- X***************
- X*** 47,52 ****
- X--- 44,50 ----
- X extern int level ; /* Current difficulty level for computer moves. */
- X extern int loadgame ; /* Set if there is a game file to load. */
- X extern int lsval ; /* Set to 'l' or 's', if loading or saving. */
- X+ extern int max_depth ; /* Computer strategy - maximum depth. */
- X extern int monochrome ; /* If set, display will be in monochrome. */
- X extern int move ; /* Current move being evaluated. */
- X extern int move_delta ; /* Delta for piece animation. */
- X***************
- X*** 57,63 ****
- X extern int piece_y ; /* Current Y position of moving piece */
- X extern int play_computer ; /* Set if playing against the computer. */
- X extern int posspec ; /* Set if -Wp or -g option is present (for X11) */
- X! extern int quickgame ; /* If set, don't flash turning stones. */
- X extern int s_flip ;
- X extern int s_move ;
- X extern int s_opponent ;
- X--- 55,63 ----
- X extern int piece_y ; /* Current Y position of moving piece */
- X extern int play_computer ; /* Set if playing against the computer. */
- X extern int posspec ; /* Set if -Wp or -g option is present (for X11) */
- X! extern int processing ; /* If set, computer is procesing a move. */
- X! extern int profmax ; /* Current maximum depth. */
- X! extern int props_showing ; /* If set, the property window is visible. */
- X extern int s_flip ;
- X extern int s_move ;
- X extern int s_opponent ;
- X***************
- X*** 65,71 ****
- X extern int s_row ;
- X extern int s_col ;
- X extern int show_moves ; /* If set, all possible moves are being shown. */
- X- extern int show_notes ; /* If set, display notes value from play_reve. */
- X extern int suggestion ; /* Positive if a suggested move. */
- X extern int suggest_x ; /* X position of suggested move. */
- X extern int suggest_y ; /* Y position of suggested move. */
- X--- 65,70 ----
- X***************
- X*** 77,92 ****
- X extern int wy ; /* Initial Y position of the window. */
- X
- X extern time_t timeleft ; /* Amount of time left for computer moves. */
- X extern long note ; /* Note value for current computer move. */
- X
- X extern char *diff_values[] ; /* Values for cyclic difficulty button. */
- X extern char *comp_values[] ; /* Values for computer plays button. */
- X extern char gamefile[] ; /* Name of file for load/save. */
- X extern char geometry[MAXDPY][MAXLINE] ; /* X11 geometry information. */
- X extern char line[] ;
- X! extern char *notes_values[] ; /* Values for cyclic notes item. */
- X extern char *player_values[] ; /* Values for cyclic black/white item. */
- X extern char progname[] ; /* The name of this program. */
- X extern char revtable[] ; /* Table for reversing bits in a byte. */
- X
- X extern char *black_dpy ; /* Black piece display information. */
- X--- 76,94 ----
- X extern int wy ; /* Initial Y position of the window. */
- X
- X extern time_t timeleft ; /* Amount of time left for computer moves. */
- X+ extern long edges[] ; /* Edges Stability Table */
- X extern long note ; /* Note value for current computer move. */
- X
- X extern char *diff_values[] ; /* Values for cyclic difficulty button. */
- X extern char *comp_values[] ; /* Values for computer plays button. */
- X+ extern char edgefile[] ; /* Location of the reve edge table file. */
- X extern char gamefile[] ; /* Name of file for load/save. */
- X extern char geometry[MAXDPY][MAXLINE] ; /* X11 geometry information. */
- X extern char line[] ;
- X! extern char *notes_values[] ; /* Values for cyclic notes button. */
- X extern char *player_values[] ; /* Values for cyclic black/white item. */
- X extern char progname[] ; /* The name of this program. */
- X+ extern char *resources[] ; /* Reve X resources read. */
- X extern char revtable[] ; /* Table for reversing bits in a byte. */
- X
- X extern char *black_dpy ; /* Black piece display information. */
- X***************
- X*** 106,109 ****
- X extern enum cantype cmode, last_cmode ;
- X extern enum disp_type dtype ;
- X extern enum dpy_type cur_dpyno ;
- X! extern enum set_type direction ; /* Incremental direction for cycle item. */
- X--- 108,112 ----
- X extern enum cantype cmode, last_cmode ;
- X extern enum disp_type dtype ;
- X extern enum dpy_type cur_dpyno ;
- X! extern enum set_type direction ; /* Incremental direction for cycle item. */
- X! extern enum win_type curwin ; /* Window the current event for in. */
- X
- X------- reve.h -------
- X*** /tmp/da07493 Sun Dec 9 15:07:21 1990
- X--- reve.h Sun Dec 9 13:53:16 1990
- X***************
- X*** 25,38 ****
- X--- 25,51 ----
- X #include <stdio.h>
- X #include <sys/types.h>
- X
- X+ #ifdef SYSV
- X+ #include <string.h>
- X+ #include <sys/times.h>
- X+ #else
- X+ #include <strings.h>
- X+ #include <sys/time.h>
- X+ #endif /*SYSV*/
- X+
- X #define ALARM (void) alarm /* To make lint happy. */
- X+ #define CLOSE (void) close
- X+ #define DUP2 (void) dup2
- X #define FCLOSE (void) fclose
- X #define FFLUSH (void) fflush
- X #define FGETS (void) fgets
- X #define FSEEK (void) fseek
- X #define FPRINTF (void) fprintf
- X+ #define GETHOSTNAME (void) gethostname
- X #define GETTIMEOFDAY (void) gettimeofday
- X #define IOCTL (void) ioctl
- X+ #define KILL (void) kill
- X+ #define PIPE (void) pipe
- X #define PUTC (void) putc
- X #define READ (void) read
- X #define SSCANF (void) sscanf
- X***************
- X*** 51,58 ****
- X--- 64,73 ----
- X #define BHEIGHT 32 /* Height of a reve button item. */
- X #define BWIDTH 64 /* Width of a reve button item. */
- X #define CHEIGHT 20 /* Height of a reve cycle item. */
- X+ #define CHOICEGAP 5 /* Gap between choices in a choice item. */
- X #define CWIDTH 32 /* Width of a reve cycle item. */
- X #define NOBUTS 6 /* Number of reve buttons. */
- X+ #define NOPROWS 9 /* Number of rows of items on property win. */
- X #define PIECE_MARGIN 8
- X #define PIECE_RAD (CELL_SIZE / 2 - PIECE_MARGIN)
- X
- X***************
- X*** 65,71 ****
- X #else
- X #define CELL_SIZE (int) ((TOTAL_WIDTH-(2*BBORDER)) / BOARD_SIZE)
- X #define CY ((NOROWS*BHEIGHT) + ((NOROWS-1)*BGAP) + (2*BBORDER))
- X! #define NOROWS 7 /* Number of rows of reve items. */
- X #define TOTAL_HEIGHT CY + (8 * CELL_SIZE) + (2 * BBORDER)
- X #define TOTAL_WIDTH ((NOBUTS*BWIDTH) + ((NOBUTS-1)*BGAP) + (2*BBORDER))
- X #endif /*XVIEW*/
- X--- 80,86 ----
- X #else
- X #define CELL_SIZE (int) ((TOTAL_WIDTH-(2*BBORDER)) / BOARD_SIZE)
- X #define CY ((NOROWS*BHEIGHT) + ((NOROWS-1)*BGAP) + (2*BBORDER))
- X! #define NOROWS 6 /* Number of rows of reve items. */
- X #define TOTAL_HEIGHT CY + (8 * CELL_SIZE) + (2 * BBORDER)
- X #define TOTAL_WIDTH ((NOBUTS*BWIDTH) + ((NOBUTS-1)*BGAP) + (2*BBORDER))
- X #endif /*XVIEW*/
- X***************
- X*** 103,116 ****
- X #define MAXDIFF 9 /* Number of levels of difficulty. */
- X #define MAXDPY 2 /* Maximum possible number of displays. */
- X #define MAXFONTS 2 /* Maximum number of font types. */
- X! #define MAXIMAGES 9 /* Maximum number of image types. */
- X! #define MAXITEMS 17 /* Number of buttons, cyclics and messages. */
- X
- X #ifndef MAXLINE
- X #define MAXLINE 80 /* Length of character strings. */
- X #endif /*!MAXLINE*/
- X
- X! #define MAXMENUS 4 /* Maximum number of popup menus. */
- X #define NIVEAUMAX 25 /* Maximum possible depth. */
- X
- X #ifndef X11
- X--- 118,131 ----
- X #define MAXDIFF 9 /* Number of levels of difficulty. */
- X #define MAXDPY 2 /* Maximum possible number of displays. */
- X #define MAXFONTS 2 /* Maximum number of font types. */
- X! #define MAXIMAGES 11 /* Maximum number of image types. */
- X! #define MAXITEMS 24 /* Number of different panel items. */
- X
- X #ifndef MAXLINE
- X #define MAXLINE 80 /* Length of character strings. */
- X #endif /*!MAXLINE*/
- X
- X! #define MAX_PROFMAX 60 /* Maximum search depth. */
- X #define NIVEAUMAX 25 /* Maximum possible depth. */
- X
- X #ifndef X11
- X***************
- X*** 131,138 ****
- X--- 146,158 ----
- X #define PAUSE usleep(500000) /* 0.5 second. */
- X #endif /*SYSV*/
- X
- X+ #define PROPS_HEIGHT ((NOPROWS*BHEIGHT) + ((NOPROWS-1)*BGAP) + (2*BBORDER))
- X+ #define PROPS_WIDTH ((NOBUTS*BWIDTH) + ((NOBUTS-1)*BGAP) + (2*BBORDER))
- X #define PSIZE 40 /* Diameter of playing piece. */
- X
- X+ #define TICKHEIGHT 16 /* Height of the tick toggle box. */
- X+ #define TICKWIDTH 16 /* Width of the tick toggle box. */
- X+
- X #ifndef EDGENAME
- X #define EDGENAME "reve.edgetable"
- X #endif /*!EDGENAME*/
- X***************
- X*** 145,150 ****
- X--- 165,183 ----
- X
- X #define VINVUL 50
- X
- X+ #define CP_WHITE 0 /* Computer plays: choices. */
- X+ #define CP_BLACK 1
- X+ #define CP_NEITHER 2
- X+ #define CP_BOTH 3
- X+
- X+ /* Aliases for the property sheet item values. */
- X+ #define ANIMATION items[(int) OPT_ANIM].value
- X+ #define DO_BESTMOVE items[(int) OPT_BEST].value
- X+ #define DO_LAST items[(int) OPT_LAST].value
- X+ #define SHOW_NOTES items[(int) OPT_EVAL].value
- X+ #define DO_NUMBER items[(int) OPT_NUM].value
- X+ #define QUICKGAME items[(int) OPT_FLIP].value
- X+
- X /* Various pseudo events used by the Reve program. */
- X #define FRAME_REPAINT 100 /* Reve window needs repainting. */
- X #define ENTER_WINDOW 101 /* Mouse has entered the reve window. */
- X***************
- X*** 157,163 ****
- X #define RIGHT_UP 108 /* Right mouse button was debounced. */
- X #define KEYBOARD 109 /* Keyboard character has been pressed. */
- X #define MOUSE_MOVING 110 /* Mouse is moving. */
- X! #define IGNORE_EVENT 111 /* No interest in this event. */
- X
- X /* Batch, last move, locking or show all direction (ON or OFF). */
- X enum bltype { IS_OFF, IS_ON } ;
- X--- 190,197 ----
- X #define RIGHT_UP 108 /* Right mouse button was debounced. */
- X #define KEYBOARD 109 /* Keyboard character has been pressed. */
- X #define MOUSE_MOVING 110 /* Mouse is moving. */
- X! #define PROPS_REPAINT 111 /* Property window needs repainting. */
- X! #define IGNORE_EVENT 112 /* No interest in this event. */
- X
- X /* Batch, last move, locking or show all direction (ON or OFF). */
- X enum bltype { IS_OFF, IS_ON } ;
- X***************
- X*** 180,196 ****
- X /* Different types of graphic images. */
- X enum image_type { BUT_NORMAL, BUT_INVERT, BUT_STENCIL,
- X CY_NORMAL, CY_LINVERT, CY_RINVERT, CY_STENCIL,
- X! P_WHITE, P_BLACK } ;
- X
- X /* Different types of panel items. */
- X! enum item_type { P_BUTTON, P_CYCLE, P_MESSAGE } ;
- X
- X /* Different panel items. */
- X! enum panel_type { LOAD_BUT, NEW_GAME_BUT, SAVE_BUT, SHOW_ALL_BUT,
- X! SUGGEST_BUT, UNDO_BUT, DONE_BUT, CANCEL_BUT, QUIT_BUT,
- X! BLACK_PLAYS, WHITE_PLAYS, DIFFICULTY, NOTES,
- X! PANEL_MES, EVAL_MES, SCORE_MES, TURN_MES } ;
- X
- X enum set_type { INCREMENT, DECREMENT, NONE } ; /* Cycle directions. */
- X
- X enum optype { RCLR, RINV, RSRC } ; /* Rasterop codes. */
- X--- 214,238 ----
- X /* Different types of graphic images. */
- X enum image_type { BUT_NORMAL, BUT_INVERT, BUT_STENCIL,
- X CY_NORMAL, CY_LINVERT, CY_RINVERT, CY_STENCIL,
- X! TOGGLE_ON, TOGGLE_OFF, P_WHITE, P_BLACK } ;
- X
- X /* Different types of panel items. */
- X! enum item_type { P_BUTTON, P_CHOICE, P_CYCLE, P_MESSAGE, P_TOGGLE } ;
- X
- X+ /* XView reve_proc move operations. */
- X+ enum move_type { M_BEST, M_MOVE, M_PROFMAX, M_SUGGESTION, M_TIME } ;
- X+
- X /* Different panel items. */
- X! enum panel_type { LOAD_BUT, MOVES_BUT, NEW_GAME_BUT, SAVE_BUT,
- X! SUGGEST_BUT, UNDO_BUT, PROPS_BUT, CANCEL_BUT,
- X! QUIT_BUT, BLACK_PLAYS, WHITE_PLAYS, PANEL_MES,
- X! EVAL_MES, SCORE_MES, TURN_MES, COMP_CHOICE,
- X! DIFF_CHOICE, MAX_DEPTH, OPT_ANIM, OPT_BEST,
- X! OPT_LAST, OPT_EVAL, OPT_NUM, OPT_FLIP } ;
- X
- X+ enum res_type { R_ANIMATE, R_BESTMOVE, R_DIFFICULTY, R_LAST, /* Resources. */
- X+ R_LOG, R_NOTES, R_NUMBER, R_QUICK } ;
- X+
- X enum set_type { INCREMENT, DECREMENT, NONE } ; /* Cycle directions. */
- X
- X enum optype { RCLR, RINV, RSRC } ; /* Rasterop codes. */
- X***************
- X*** 197,202 ****
- X--- 239,246 ----
- X
- X enum playtype { PLAY_BLACK, PLAY_WHITE } ; /* What the computer is playing. */
- X
- X+ enum win_type { W_MAIN, W_PROPS } ; /* Window types. */
- X+
- X extern char *getenv() ;
- X extern void exit() ;
- X
- X***************
- X*** 211,217 ****
- X--- 255,265 ----
- X
- X struct iteminfo /* Item information record. */
- X {
- X+ enum win_type wtype ; /* Which window the item goes in. */
- X enum item_type type ; /* Item type. */
- X+ int lx ; /* X position of the label for this item. */
- X+ int ly ; /* Y position of the label for this item. */
- X+ char label[30] ; /* Label for this item (possibly NULL). */
- X int x ; /* X position of this panel item. */
- X int y ; /* Y position of this panel item. */
- X int width ; /* Width of this panel item. */
- X***************
- X*** 218,255 ****
- X int height ; /* Height of this panel item. */
- X char text[60] ; /* Text string associated with this item. */
- X int value ; /* Current value of item. */
- X void (*func)() ; /* Function to obey for this panel item. */
- X } ;
- X
- X! char *index() ;
- X
- X! void animate_move(), batch() ;
- X! void check_button_down(), check_cycle_down(), check_item_down() ;
- X! void check_item_up(), close_frame(), color_area() ;
- X! void computer_move(), computer_plays() ;
- X! void create_menu(), destroy_frame(), difficulty() ;
- X! void do_action(), do_cycle_key(), do_key_move() ;
- X! void do_move(), do_selection(), domove() ;
- X! void done(), draw_button(), draw_cycle() ;
- X! void draw_cycle_item(), draw_image(), draw_line() ;
- X! void draw_outline(), draw_piece(), draw_rect() ;
- X! void draw_square(), draw_stencil(), draw_text() ;
- X! void draw_textfield(), generate_graphics(), get_filename() ;
- X void get_options(), get_xy(), getparam() ;
- X void handle_board_event(), handle_event(), handle_item() ;
- X void handle_key(), init_canvas(), init_edge_table() ;
- X! void init_fonts(), init_notes(), init_player() ;
- X! void initboard(), initialise() ;
- X! void load_colors(), load_game(), lock_screen() ;
- X void make_canvas(), make_frame(), make_icon() ;
- X void make_message(), make_move(), make_panel() ;
- X void message(), nap_upto(), new_game() ;
- X! void position_popup(), process_event(), quit() ;
- X! void remove_textfield(), save_game(), set_cursor() ;
- X void set_cycle(), set_display_types(), set_eval() ;
- X! void set_score(), set_timer(), set_turn() ;
- X! void show_all(), show_all_moves(), show_best() ;
- X! void show_last(), show_number() ;
- X void show_suggestion(), start_tool() ;
- X void suggest(), think(), undo() ;
- X void update_board_image(), usage(), who_wins() ;
- X--- 266,329 ----
- X int height ; /* Height of this panel item. */
- X char text[60] ; /* Text string associated with this item. */
- X int value ; /* Current value of item. */
- X+ char **options ; /* Pointer to list of choice strings. */
- X+ int nopts ; /* Number of options in list. */
- X void (*func)() ; /* Function to obey for this panel item. */
- X } ;
- X
- X! struct reve_in /* Input supplied on standard input to reve_proc. */
- X! {
- X! enum move_type type ;
- X! int board[64] ;
- X! int player ;
- X! int level ;
- X! time_t timeleft ;
- X! } ;
- X
- X! struct reve_out /* Results written to standard output by reve_proc. */
- X! {
- X! enum move_type type ;
- X! int move ;
- X! int note ;
- X! int depth ;
- X! } ;
- X!
- X! char *getenv(), *index() ;
- X! char *get_resource() ;
- X!
- X! void animate_move(), batch(), check_button_down() ;
- X! void check_choice_down(), check_cycle_down(), check_item_down() ;
- X! void check_item_up(), check_toggle_down(), close_frame() ;
- X! void color_area() ;
- X! void computer_move(), computer_plays(), connect_to_reve() ;
- X! void create_menu(), destroy_frame() ;
- X! void do_action(), do_computer_move(), do_cycle_key() ;
- X! void do_key_move(), do_move(), do_props() ;
- X! void do_selection(), do_suggest(), domove() ;
- X! void done(), draw_button(), draw_choice() ;
- X! void draw_cycle(), draw_cycle_item(), draw_image() ;
- X! void draw_line(), draw_outline(), draw_piece() ;
- X! void draw_rect(), draw_square(), draw_stencil() ;
- X! void draw_text(), draw_textfield(), draw_toggle() ;
- X! void generate_graphics(), get_filename() ;
- X void get_options(), get_xy(), getparam() ;
- X void handle_board_event(), handle_event(), handle_item() ;
- X void handle_key(), init_canvas(), init_edge_table() ;
- X! void init_fonts(), initboard(), initialise() ;
- X! void load_colors(), load_game() ;
- X! void load_resources(), lock_screen() ;
- X void make_canvas(), make_frame(), make_icon() ;
- X void make_message(), make_move(), make_panel() ;
- X void message(), nap_upto(), new_game() ;
- X! void open_frame(), paint_prop_sheet(), position_popup() ;
- X! void process_event(), quit() ;
- X! void read_resources(), remove_textfield(), reset_time() ;
- X! void save_game(), set_computer(), set_cursor() ;
- X void set_cycle(), set_display_types(), set_eval() ;
- X! void set_option(), set_score(), set_timer() ;
- X! void set_turn(), show_all(), show_all_moves() ;
- X! void show_best(), show_last(), show_number() ;
- X void show_suggestion(), start_tool() ;
- X void suggest(), think(), undo() ;
- X void update_board_image(), usage(), who_wins() ;
- X+ void write_to_reve() ;
- X
- END_OF_FILE
- if test 52474 -ne `wc -c <'patches03a'`; then
- echo shar: \"'patches03a'\" unpacked with wrong size!
- fi
- # end of 'patches03a'
- fi
- echo shar: End of archive 4 \(of 9\).
- cp /dev/null ark4isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 9 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-