[comp.sources.games] v12i014: reve - an othello game, Patch5

billr@saab.CNA.TEK.COM (Bill Randle) (12/22/90)

Submitted-by: Rich Burridge <rburridge@sun.COM>
Posting-number: Volume 12, Issue 14
Archive-name: reve/Patch5
Patch-To: reve: Volume 11, Issue 52-58
Environment: SunView, XView, X11R4, termcap

	[Previously posted to the .bugs newsgroup, included here
	 for archival purposes.  -br]

[This is a mini followup patch, to fix the boo-boo's I made in patch #4.
 It should now leave reve in a fairly stable condition. Work will be
 resumed on this program in a few months time.

 If you hand removed the XSynchronize line to x11.c as I suggested in a
 previous mail, you should note that that part of the patch will fail.

 Yves Gallot finishes at his current job this week, and moves to a new
 job in France after the Christmas break. It is expected he won't initially
 have a net connection, so if you need to contact him, I'll be happy to try
 to forward information to him via physical mail for you - Rich].


 /*  Official patch #5 for Reve v1.1.
 *
 *  Copyright (C) 1990 - Rich Burridge & Yves Gallot.
 *  All rights reserved.
 *
 *  Permission is granted to copy this patch, for redistribution
 *  in patch form only, provided the news headers in "substantially
 *  unaltered format" are retained, the introductory messages are not
 *  removed, and no monies are exchanged.
 *
 *  Permission is also granted to copy this patch, without the news
 *  headers, for the purposes of patching the Reve source and making
 *  an executable copy by means of compilation, provided that such
 *  copy will not be used for the purposes of competition in any othello
 *  tournaments, without prior permission from the authors.
 */

CONTENTS:

1. What is reve?
2/ Changes made in this patch.
3/ How to install this patch.
4/ How to get previous patches.

 ----------------

1/ What is reve?

Reve is an othello game. It works under SunView, XView, X11 (Xlib) and on
dumb tty terminals.

Reve has nine levels of difficulty. Levels 1-3 should be useful to beginners,
levels 4-6 would satisfy amateurs, and the higher levels will give experts a
good game. Level 8 (30 minutes) is the tournament level.
 
 ----------------
 
2/ Changes made in this patch.

       * From Jonathan I. Kamens <jik@pit-manager.MIT.EDU>
         The Imakefile needs to be updated to install the new reve.help
         file from the nroff'ed version of the reve manual page.

       * From Olaf Heimburger <olafh%berthold.UUCP%TUB.BITNET@mitvma.mit.edu>
         The dummy definition for the make_message() routine was missing from
         xview.c for the XView version of reve.
 
       * An XSynchronize() call was accidentally left in the x11.c file.

 ----------------

3/ How to install this patch.

This patch consists of just the one part. You should use Larry Wall's patch
program to apply these changes. Assuming you've saved this article in a file
called patch5, then you should do the following:

cd reve_src        # directory where your reve source files are.
patch <patch5

Copy Makefile.dist to Makefile, and adjust for your site. See the README
file for things you might have to tweak in order to get Reve to work on
your machine.

You will then have to do the appropriate make, to generate the graphics
version you require. Do a "make help" to obtain more information on this.

Finally, you should do a "make install". You will probably have to be
super-user to do this.

If you have any problems with Reve after applying this patch, and your
problem is not listed in the TODO file, please let us know.

 ----------------

4/ How to get previous patches.
 
If you need to get patches 1-4, then they can be obtained from the
automatic mail archive server, by sending a message to
rb-archive-server@Aus.Sun.COM containing the line:
 
send reve patchn
 
where n is the patch number you require.
 
You can also include a path line in these requests to indicate the mail
path that the archive server should use to send the files to you. Such a
path line could be:
 
path uunet.uu.net!hostname!user
 
Note that this is uunet.uu.net and not just uunet. Sun.COM doesn't recognise
just uunet.
 
[NOTE: When unpacking the shars generated by the automatic mail service,
       it is possible you will get error messages for incorrect length.
       Please ignore; hopefully the files should still unpack correctly].
 
Rich Burridge           richb@Aus.Sun.COM
Yves Gallot             galloty@cernvax.cern.ch
 
------CUT HERE------patch 5------CUT HERE------
#! /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 shell archive."
# Contents:  patches05
# Wrapped by billr@saab on Fri Dec 21 11:36:24 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'patches05' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'patches05'\"
else
echo shar: Extracting \"'patches05'\" \(5716 characters\)
sed "s/^X//" >'patches05' <<'END_OF_FILE'
X
X------- CHANGES -------
X*** /tmp/da04357	Thu Dec 20 10:22:20 1990
X--- CHANGES	Thu Dec 20 10:08:59 1990
X***************
X*** 23,28 ****
X--- 23,40 ----
X  Reve change history.
X  ====================
X  
X+ v1.1 - patchlevel 5. 20th December 1990.
X+ 
X+        * From Jonathan I. Kamens <jik@pit-manager.MIT.EDU>
X+          The Imakefile needs to be updated to install the new reve.help
X+          file from the nroff'ed version of the reve manual page.
X+ 
X+        * From Olaf Heimburger <olafh%berthold.UUCP%TUB.BITNET@mitvma.mit.edu>
X+          The dummy definition for the make_message() routine was missing from
X+          xview.c for the XView version of reve.
X+ 
X+        * An XSynchronize() call was accidentally left in the x11.c file.
X+ 
X  v1.1 - patchlevel 4. 18th December 1990.
X  
X         * From Jonathan I. Kamens <jik@pit-manager.MIT.EDU>
X
X------- README -------
X*** /tmp/da04360	Thu Dec 20 10:22:21 1990
X--- README	Thu Dec 20 10:08:47 1990
X***************
X*** 275,282 ****
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--- 275,282 ----
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, John Eldredge and Olaf Heimburger for bug reports and/or
X! bug fixes plus suggested enhancements.
X  
X  Suggestions for furthur improvement would be most welcome, plus bugs,
X  comments and flames.
X
X------- patchlevel.h -------
X*** /tmp/da04363	Thu Dec 20 10:22:22 1990
X--- patchlevel.h	Thu Dec 20 09:59:38 1990
X***************
X*** 22,25 ****
X   *  (see README file), then an attempt will be made to fix them.
X   */
X  
X! #define  PATCHLEVEL  4
X--- 22,25 ----
X   *  (see README file), then an attempt will be made to fix them.
X   */
X  
X! #define  PATCHLEVEL  5
X
X------- x11.c -------
X*** /tmp/da04366	Thu Dec 20 10:22:23 1990
X--- x11.c	Thu Dec 20 10:09:18 1990
X***************
X*** 694,700 ****
X  
X    stencilgc[d] = XCreateGC(dpy[d], root[d], gc_mask, &gc_val) ;
X    XSetFillStyle(dpy[d], stencilgc[d], FillOpaqueStippled) ;
X-   XSynchronize(dpy[d], TRUE) ;
X  }
X  
X  
X--- 694,699 ----
X
X------- xview.c -------
X*** /tmp/da04369	Thu Dec 20 10:22:24 1990
X--- xview.c	Thu Dec 20 10:10:47 1990
X***************
X*** 995,1000 ****
X--- 995,1009 ----
X  }
X  
X  
X+ /*ARGSUSED*/
X+ void
X+ make_message(wtype, item)         /* **DUMMY ROUTINE** */
X+ enum win_type wtype ;
X+ enum panel_type item ;
X+ {
X+ }
X+ 
X+ 
X  void
X  make_panel()
X  {
X
X------- Imakefile -------
X*** /tmp/da04372	Thu Dec 20 10:22:25 1990
X--- Imakefile	Thu Dec 20 10:11:01 1990
X***************
X*** 42,48 ****
X  NO_USLEEP	= -DNO_USLEEP
X  #endif
X  
X! /*  If you not running under a BSD4.3 derived system, the parameters
X   *  to the select call are different, and this definition should be
X   *  uncommented. You need to uncomment this for SunOS v3.x.
X   *
X--- 42,54 ----
X  NO_USLEEP	= -DNO_USLEEP
X  #endif
X  
X! /*  If your machine doesn't have a definition for the timeval struct, then
X!  *  you will need to uncomment this definition. It's needed to get Reve to
X!  *  work an an AT&T UNIX PC (aka 7300 or 3b1).
X!  *
X!  *NO_TIMEVAL     = -DNO_TIMEVAL
X!  *
X!  *  If you not running under a BSD4.3 derived system, the parameters
X   *  to the select call are different, and this definition should be
X   *  uncommented. You need to uncomment this for SunOS v3.x.
X   *
X***************
X*** 60,70 ****
X  
X  X11LIBS		= $(XLIB)     
X  TTYLIBS		= -ltermcap
X! CDEFS		= $(NOSELECT) $(NO_USLEEP) $(EDGENAME) $(SELTYPE) \
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--- 66,77 ----
X  
X  X11LIBS		= $(XLIB)     
X  TTYLIBS		= -ltermcap
X! CDEFS		= $(NOSELECT) $(NO_USLEEP) $(NO_TIMEVAL) $(SELTYPE) \
X! 		  $(SIGRET) $(EDGENAME) $(HELPNAME)
X  DEFINES         = $(CDEFS) -DX11
X  ETABLE		= reve.edgetable
X! HELPFILE	= reve.help
X! 
X  /*
X   *  Full pathname of the reve edge table file. This can also be overridden
X   *  with a command line option.
X***************
X*** 72,78 ****
X  EDGENAMEFILE    = $(USRLIBDIR)$(PATHSEP)reve$(PATHSEP)$(ETABLE)
X  EDGENAME        = -DEDGENAME=\"$(EDGENAMEFILE)\"
X  
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--- 79,91 ----
X  EDGENAMEFILE    = $(USRLIBDIR)$(PATHSEP)reve$(PATHSEP)$(ETABLE)
X  EDGENAME        = -DEDGENAME=\"$(EDGENAMEFILE)\"
X  
X! /*
X!  *  Full pathname of the reve online help file.  This can also be
X!  *  overridden with a command line option.
X!  */
X! HELPNAMEFILE	= $(USRLIBDIR)$(PATHSEP)reve$(PATHSEP)$(HELPFILE)
X! HELPNAME	= -DHELPNAME=\"$(HELPNAMEFILE)\"
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***************
X*** 89,94 ****
X--- 102,108 ----
X  ComplexProgramTarget_1(reve, $(X11LIBS), /**/)
X  MakeDirectories(install,$(USRLIBDIR)$(PATHSEP)reve)
X  InstallNonExec($(ETABLE),$(USRLIBDIR)$(PATHSEP)reve)
X+ InstallNonExec(reve.man.text,$(USRLIBDIR)$(PATHSEP)reve$(PATHSEP)$(HELPFILE))
X  
X  tty: tty_reve
X  	-cp tty_reve reve
X
END_OF_FILE
if test 5716 -ne `wc -c <'patches05'`; then
    echo shar: \"'patches05'\" unpacked with wrong size!
fi
# end of 'patches05'
fi
echo shar: End of shell archive.
exit 0