Path: utzoo!attcan!lsuc!xenitec!maytag!watmath!att!pacbell.com!ucsd!swrinde!cs.utexas.edu!sun-barr!newstop!sunaus.oz!richb From: richb@sunaus.oz (Rich Burridge) Newsgroups: comp.sources.games.bugs Subject: Official patch #5 for reve v1.1; please apply it. Message-ID: <1990Dec19.234056.23746@sunaus.oz> Date: 19 Dec 90 23:40:56 GMT Organization: Sun Microsystems - Australia Lines: 300 [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 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 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 + 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 + 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. + v1.1 - patchlevel 4. 18th December 1990. * From Jonathan I. Kamens ------- README ------- *** /tmp/da04360 Thu Dec 20 10:22:21 1990 --- README Thu Dec 20 10:08:47 1990 *************** *** 275,282 **** Alfred Nathaniel, Arnold Gill, Martin Chudley, W Mat Waites, Keith Moore, John Eras, Heather Rose, Jonathan I. Kamens, Krishnamurthy Ganesan, Gordon C. Galligher, Soren Hein, Rod Whitby Daniel Edward Lovinger, Richard K. Lloyd, ! Jacob E. Goodman and John Eldredge for bug reports and/or bug fixes plus ! suggested enhancements. Suggestions for furthur improvement would be most welcome, plus bugs, comments and flames. --- 275,282 ---- Alfred Nathaniel, Arnold Gill, Martin Chudley, W Mat Waites, Keith Moore, John Eras, Heather Rose, Jonathan I. Kamens, Krishnamurthy Ganesan, Gordon C. Galligher, Soren Hein, Rod Whitby Daniel Edward Lovinger, Richard K. Lloyd, ! Jacob E. Goodman, John Eldredge and Olaf Heimburger for bug reports and/or ! bug fixes plus suggested enhancements. Suggestions for furthur improvement would be most welcome, plus bugs, comments and flames. ------- patchlevel.h ------- *** /tmp/da04363 Thu Dec 20 10:22:22 1990 --- patchlevel.h Thu Dec 20 09:59:38 1990 *************** *** 22,25 **** * (see README file), then an attempt will be made to fix them. */ ! #define PATCHLEVEL 4 --- 22,25 ---- * (see README file), then an attempt will be made to fix them. */ ! #define PATCHLEVEL 5 ------- x11.c ------- *** /tmp/da04366 Thu Dec 20 10:22:23 1990 --- x11.c Thu Dec 20 10:09:18 1990 *************** *** 694,700 **** stencilgc[d] = XCreateGC(dpy[d], root[d], gc_mask, &gc_val) ; XSetFillStyle(dpy[d], stencilgc[d], FillOpaqueStippled) ; - XSynchronize(dpy[d], TRUE) ; } --- 694,699 ---- ------- xview.c ------- *** /tmp/da04369 Thu Dec 20 10:22:24 1990 --- xview.c Thu Dec 20 10:10:47 1990 *************** *** 995,1000 **** --- 995,1009 ---- } + /*ARGSUSED*/ + void + make_message(wtype, item) /* **DUMMY ROUTINE** */ + enum win_type wtype ; + enum panel_type item ; + { + } + + void make_panel() { ------- Imakefile ------- *** /tmp/da04372 Thu Dec 20 10:22:25 1990 --- Imakefile Thu Dec 20 10:11:01 1990 *************** *** 42,48 **** NO_USLEEP = -DNO_USLEEP #endif ! /* If you not running under a BSD4.3 derived system, the parameters * to the select call are different, and this definition should be * uncommented. You need to uncomment this for SunOS v3.x. * --- 42,54 ---- NO_USLEEP = -DNO_USLEEP #endif ! /* If your machine doesn't have a definition for the timeval struct, then ! * you will need to uncomment this definition. It's needed to get Reve to ! * work an an AT&T UNIX PC (aka 7300 or 3b1). ! * ! *NO_TIMEVAL = -DNO_TIMEVAL ! * ! * If you not running under a BSD4.3 derived system, the parameters * to the select call are different, and this definition should be * uncommented. You need to uncomment this for SunOS v3.x. * *************** *** 60,70 **** X11LIBS = $(XLIB) TTYLIBS = -ltermcap ! CDEFS = $(NOSELECT) $(NO_USLEEP) $(EDGENAME) $(SELTYPE) \ ! $(SIGRET) DEFINES = $(CDEFS) -DX11 ETABLE = reve.edgetable ! /* * Full pathname of the reve edge table file. This can also be overridden * with a command line option. --- 66,77 ---- X11LIBS = $(XLIB) TTYLIBS = -ltermcap ! CDEFS = $(NOSELECT) $(NO_USLEEP) $(NO_TIMEVAL) $(SELTYPE) \ ! $(SIGRET) $(EDGENAME) $(HELPNAME) DEFINES = $(CDEFS) -DX11 ETABLE = reve.edgetable ! HELPFILE = reve.help ! /* * Full pathname of the reve edge table file. This can also be overridden * with a command line option. *************** *** 72,78 **** EDGENAMEFILE = $(USRLIBDIR)$(PATHSEP)reve$(PATHSEP)$(ETABLE) EDGENAME = -DEDGENAME=\"$(EDGENAMEFILE)\" ! REVESRCS = rev_eval.c rev_ip.c rev_iycp.c STDSRCS = boardstuff.c events.c makemove.c main.c procs.c REVEOBJS = rev_eval.o rev_ip.o rev_iycp.o --- 79,91 ---- EDGENAMEFILE = $(USRLIBDIR)$(PATHSEP)reve$(PATHSEP)$(ETABLE) EDGENAME = -DEDGENAME=\"$(EDGENAMEFILE)\" ! /* ! * Full pathname of the reve online help file. This can also be ! * overridden with a command line option. ! */ ! HELPNAMEFILE = $(USRLIBDIR)$(PATHSEP)reve$(PATHSEP)$(HELPFILE) ! HELPNAME = -DHELPNAME=\"$(HELPNAMEFILE)\" ! REVESRCS = rev_eval.c rev_ip.c rev_iycp.c STDSRCS = boardstuff.c events.c makemove.c main.c procs.c REVEOBJS = rev_eval.o rev_ip.o rev_iycp.o *************** *** 89,94 **** --- 102,108 ---- ComplexProgramTarget_1(reve, $(X11LIBS), /**/) MakeDirectories(install,$(USRLIBDIR)$(PATHSEP)reve) InstallNonExec($(ETABLE),$(USRLIBDIR)$(PATHSEP)reve) + InstallNonExec(reve.man.text,$(USRLIBDIR)$(PATHSEP)reve$(PATHSEP)$(HELPFILE)) tty: tty_reve -cp tty_reve reve