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: v12i001: reve - an othello game, Patch3a
- Message-ID: <6759@tekred.CNA.TEK.COM>
- Date: 21 Dec 90 20:47:13 GMT
- Sender: news@tekred.CNA.TEK.COM
- Lines: 616
- Approved: billr@saab.CNA.TEK.COM
-
- Submitted-by: Rich Burridge <rburridge@sun.COM>
- Posting-number: Volume 12, Issue 1
- Archive-name: reve/Patch3a
- Patch-To: reve: Volume 11, Issue 52-58
- Environment: SunView, XView, X11R4, termcap
-
- [Also previously posted to comp.sources.games.bugs and
- reposted here to get in the official archive. -br]
-
-
- Just a couple of points before the patch:
-
- * Yves Galloty, the author of the computer strategy used in reve will be
- leaving his current job on 20th December, and going to a new job in
- France, which won't be so well connected to the net. We are going to
- get one more patch out before then. After that, any problems related to
- the computer strategy might take a lot longer to get fixed.
-
- * This patch is big. I've tried to test everything I've added, but with a
- patch of this size, I'm sure I've screwed something up. If it's not
- listed in the TODO file, could you please let me know, no matter how
- trivial you might think the problem is.
-
-
- /*
- * Official patch #3 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.
-
- * Added a description of the -bestmove command line option to the
- manual pages.
-
- * If you were using the -last option, and the window was iconified,
- and there was only the initial four stones on the board, then
- opening Reve, would incorrectly show the "last" square.
-
- * If you were using the -number option, and the window was iconified,
- then when Reve was opened again, the number was not being displayed
- on the last stone.
-
- * The display of a single digit on a stone (with the -number option)
- was not centered correctly.
-
- * From Jonathan I. Kamens <jik@pit-manager.MIT.EDU>
- Problems with the Imakefile. The line that says
- "LIBDIR=$(USRLIBDIR)/reve" should be deleted, and both of the rules
- that say "$(LIBDIR)$(PATHSEP)reve" should actually say
- "$(USRLIBDIR)$(PATHSEP)reve".
-
- Also, the EDGENAMEFILE should be changed to
- $(USRLIBDIR)$(PATHSEP)reve$(PATHSEP)$(ETABLE)
-
- * Added in X resources support for the X11(Xlib) and XView versions.
- Currently, the resources read are:
-
- reve.animate: (boolean) show animation.
- reve.bestmove: (boolean) show computer best move so far.
- reve.difficulty: (integer) computer difficulty level.
- reve.last: (boolean) show last move (with a square).
- reve.log: (boolean) write computer info to log file.
- reve.notes: (boolean) show computer notes.
- reve.number: (boolean) show last move (number on stone).
- reve.quick: (boolean) play quick game (don't flip stones).
-
- * From Valerie Haecky <vmh@Eng.Sun.COM>
- Undo'ing is incorrect at the end game if the computer is playing
- black.
-
- * Need to allow options like -scale through on the command line. This
- can be done by have an init_graphics() routine that gets called
- right at the start, which strips off graphics specific options.
-
- * The hourglass/watch cursor is turned on, when the computer is
- suggesting a move.
-
- * If the bestmove option is on, and the computer suggested a move,
- the last bestmove square wasn't being removed.
-
- * From Valerie Haecky <vmh@Eng.Sun.COM>
- The show notes now also shows the current maximum depth for the
- computer move.
-
- * From Valerie Haecky <vmh@Eng.Sun.COM>
- Added to the README file, the address where people can get
- information about tournaments, Othello Quarterly, and "Othello
- Brief and Basic'
-
- * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
- Because the default is now set not to show the last square, and
- notes is initially set off, I think that a status message such as
- 'Black has moved on square <c-5>' should be displayed, otherwise
- you've no idea where the computer moved.
-
- * Stones are numbered and the last square shown when a game is
- being loaded, if these settings are on.
-
- * From Valerie Haecky <vmh@Eng.Sun.COM>
- More work on the XView version. The control panel layout has been
- rearranged, and a property window added. The Help button has been
- removed from the control panel. Several options can now be set via
- the property sheet. A new difficulty value has been added; the
- ability to set a maximum computer search depth rather than the
- computer doing a timed move.
-
- * A new XView version has been created. This forks off a separate
- process to do the computer moves. This is to try to get around
- the server hanging problem. This still can happen, but not so
- frequently.
-
- Two new files have been created:
-
- common.c and reve_proc.c.
-
- The Makefile.dist, MANIFEST and FILES files have been updated.
-
- * From: robert@anucsd.anu.oz.au (Robert Cohen)
- It would be nice to have some idea of how far reve was looking ahead.
- So in the notes section for example you could report on the ply used
- to find the solution. If the bestmove option was set it could be shown
- dynamically as new solutions were found.
-
- * For the SunView and X11 versions the Done button has been replaced by
- a Props button. Clicking on this will toggle the display of a property
- window. The property window looks something like:
-
- Computer plays: White | Black | Neither | Both
- Difficulty: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
-
- Options: [ ] Animate Move
- [ ] Show Current Best Move
- [ ] Show Last Move
- [ ] Show Evaluation Info.
- [ ] Number Last Move
- [ ] Don't Show Flip
-
- This introduce two new type of "panel" item, the toggle item
- (P_TOGGLE) and the choice item (P_CHOICE). The cycle item has been
- removed.
-
- Selecting the Both field on the Computer plays: option, will display
- the message that this option is currently not implemented.
-
- The following changes have occured in the main reve window:
-
- The Black: and White: items are messages. The Difficulty: and
- Show Notes: items will disappear, freeing up a row.
-
- Setting the Computer plays: option, alters the Black: and White:
- options.
-
- The iteminfo structure will have five new fields:
-
- int lx ; /* X position of the label. */
- int ly ; /* Y position of the label. */
- char label[60] ; /* Panel item label. */
- char *options ; /* Pointer to list of string choices. */
- int nopts ; /* Number of options in list. */
-
- Only certain fields are used with each type of panel "item". All
- items are initialised in main.c.
-
- Two new files have been added to the images directory:
-
- images/Sch_off.icon
- images/Sch_on.icon
-
- This solves the following problems:
-
- * From: robert@anucsd.anu.oz.au (Robert Cohen)
- It would be nice to be able to change all the program parameters from
- inside the game. For example being able to pull down a menu and turn
- the bestmove option on or off.
-
- * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
- I, and most of the users here, use a combination of X11R4, twm and
- 1024 by 768 colour or mono displays. The new Reve window now exceeds
- the height of the screen minus the height of the twm title bar of the
- window! Hence the bottom of half of row 8 and the a to h labelling
- are no longer visible, even if the top of the twm title bar for the
- Reve window is at the top of the screen!
-
- * From Soren Hein <shein@ferdowsi.berkeley.edu>
- Why double switches for White, Black and Notes? Both halves of the
- switches do the same thing.
-
- * Incorporated a new version of the rev_eval.c evaluation fuction from
- Yves. There is also a complete new edge table to go with this. This
- should be faster on RISC systems.
-
- * XResourceManagerString, which is now used as part of the X resources
- support in the X11 and XView versions, appears to be an X11R4
- functions. If you are trying to get the X11 version working with
- X11R3, then there is a new definition in the Makefile[.dist] file
- that you'll have to uncomment. The README file has been updated to
- mention this.
-
- * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
- Using the X11 interface, when I click on Suggest and get a cross
- marking the suggested square, then the cross does not disappear when
- I click on Undo (the position is different, so the suggested square
- is no longer valid). This gets a bit confusing when you do a Suggest,
- Undo and Suggest again sequence - you end up with 2 crosses on the
- board.
-
- * From Richard K. Lloyd <RKL@anduin.compsci.liverpool.ac.uk>
- When compiling rev_ip.c on an HP-UX 9000 Series 300 machine (68020 or
- 68030), the HP-UX 7.0 C compiler crashes out with the following error:
- C1 internal error in "tuplonges": invalid OREG in recognize_array()
-
- This problem has now been found, and the appropriate code is
- #ifdef'ed in rev_ip.c.
-
- ----------------
-
- 3/ How to install this patch.
-
- To cut down on the size of this patch (yes really!!), the packing is not
- so straight forward as it could have been.
-
- This patch consists of nine parts. Save each one first. The first part
- consists of this introductory message, followed by a shar file containing
- the four new files:
-
- reve_proc.c
- common.c
- images/Sch_off.icon
- images/Sch_on.icon
-
- You should strip off all the initial lines (down to and including the CUT
- HERE line), and give to sh to unpack.
-
- The second part consists of a new copy of reve.edge1, and the third part
- contains a new copy of reve.edge2. You should strip off the initial mail
- headers (down to and including the CUT HERE lines), and replace the existing
- files.
-
- You should then use Larry Wall's patch program to apply the changes in the
- other six parts. Assuming the six files are called patch3-4, patch3-5, ...,
- patch3-9 do the following:
-
- cd reve_src # directory where your reve source files are.
- patch <patch3-4
- patch <patch3-5
- ...
- patch <patch3-9
-
- 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 or 2, 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 3 - part 1------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 archive 1 (of 9)."
- # Contents: common.c reve_proc.c images/Sch_off.icon
- # images/Sch_on.icon
- # Wrapped by billr@saab on Fri Dec 21 11:24:19 1990
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- echo shar: overwriting existing file \"'common.c'\"
- echo shar: Extracting \"'common.c'\" \(2435 characters\)
- sed "s/^X//" >'common.c' <<'END_OF_FILE'
- X
- X/* @(#)common.c 1.2 90/12/09
- X *
- X * Common routine between reve and reve_proc.
- X *
- X * Copyright (C) 1990 - Rich Burridge & Yves Gallot.
- X * All rights reserved.
- X *
- X * Permission is granted to copy this source, for redistribution
- X * in source form only, provided the news headers in "substantially
- X * unaltered format" are retained, the introductory messages are not
- X * removed, and no monies are exchanged.
- X *
- X * Permission is also granted to copy this source, without the
- X * news headers, for the purposes of making an executable copy by
- X * means of compilation, provided that such copy will not be used
- X * for the purposes of competition in any othello tournaments, without
- X * prior permission from the authors.
- X *
- X * No responsibility is taken for any errors on inaccuracies inherent
- X * either to the comments or the code of this program, but if reported
- X * (see README file), then an attempt will be made to fix them.
- X */
- X
- X#include "reve.h"
- X#include "extern.h"
- X
- Xvoid
- Xinit_edge_table(edgefile) /* Load reve edge table values. */
- Xchar *edgefile ;
- X{
- X char buf[MAXLINE], *getenv(), name[MAXLINE], *paths, *ptr ;
- X int i, line ;
- X FILE *fp = NULL ;
- X
- X i = 0 ;
- X if ((fp = fopen(edgefile, "r")) == NULL)
- X {
- X paths = getenv("PATH") ;
- X if ((ptr = paths) && edgefile[0] != '/')
- X for (;;)
- X if (*ptr == ':' || *ptr == 0)
- X {
- X if (*ptr == 0) break ;
- X name[i++] = '/' ;
- X name[i] = 0 ;
- X STRCAT(name, edgefile) ;
- X if ((fp = fopen(name, "r")) != NULL) break ;
- X if (*ptr == '\0') break ;
- X ptr++ ;
- X i = 0 ;
- X }
- X else name[i++] = *ptr++ ;
- X }
- X
- X if (fp == NULL)
- X {
- X FPRINTF(stderr, "Cannot open Edge Stability Table file\n") ;
- X exit(1) ;
- X }
- X line = 0 ;
- X while (fgets(buf, MAXLINE, fp) != NULL)
- X {
- X line++ ;
- X if (buf[0] == '\n' || buf[0] == '#') continue ;
- X if ((ptr = index(buf, '[')) == NULL)
- X {
- X FPRINTF(stderr, "Cannot read edge table file at line %d\n", line) ;
- X exit(1) ;
- X }
- X SSCANF(ptr+1, "%d", &i) ;
- X if ((ptr = index(buf, '=')) == NULL)
- X {
- X FPRINTF(stderr, "Cannot read edge table file at line %d\n", line) ;
- X exit(1) ;
- X }
- X SSCANF(ptr+1, "%ld", &edges[i]) ;
- X }
- X FCLOSE(fp) ;
- X for (i = 0 ; i < 3281; i++) edges[6560 - i] = - edges[i] ;
- X}
- END_OF_FILE
- if test 2435 -ne `wc -c <'common.c'`; then
- echo shar: \"'common.c'\" unpacked with wrong size!
- fi
- # end of 'common.c'
- echo shar: overwriting existing file \"'reve_proc.c'\"
- echo shar: Extracting \"'reve_proc.c'\" \(2755 characters\)
- sed "s/^X//" >'reve_proc.c' <<'END_OF_FILE'
- X
- X/* @(#)reve_proc.c 1.2 90/12/09
- X *
- X * Main routine for the separate play_reve program.
- X *
- X * Copyright (C) 1990 - Rich Burridge & Yves Gallot.
- X * All rights reserved.
- X *
- X * Permission is granted to copy this source, for redistribution
- X * in source form only, provided the news headers in "substantially
- X * unaltered format" are retained, the introductory messages are not
- X * removed, and no monies are exchanged.
- X *
- X * Permission is also granted to copy this source, without the
- X * news headers, for the purposes of making an executable copy by
- X * means of compilation, provided that such copy will not be used
- X * for the purposes of competition in any othello tournaments, without
- X * prior permission from the authors.
- X *
- X * No responsibility is taken for any errors on inaccuracies inherent
- X * either to the comments or the code of this program, but if reported
- X * (see README file), then an attempt will be made to fix them.
- X */
- X
- X#include "reve.h"
- X
- Xstruct reve_in in ; /* Input supplied on standard input. */
- Xstruct reve_out out ; /* Results written to standard output. */
- X
- Xint sin ; /* Size of the input buffer. */
- X
- Xint saveres = 0 ; /* If set, save computer results to log file. */
- X
- X/* REVE global variables */
- X
- Xint damier[NIVEAUMAX][64] ; /* Boards at different depth level */
- Xint tacouleur, macouleur ; /* Your and my colors during evaluation */
- Xint mnb, profmax ; /* Number of moves played, current max. depth */
- Xint max_depth = 2 ; /* Computer strategy - maximum depth. */
- Xint vp0, vo0 ; /* Current mobility components */
- Xlong c1, c2, c3 ; /* Constants used in evaluation function */
- Xlong edges[6561] ; /* Edges Stability Table */
- Xlong note ; /* Note value for current computer move. */
- Xtime_t timeleft ; /* Amount of time left for computer moves. */
- X
- X
- X/*ARGSUSED*/
- Xmain(argc, argv)
- Xint argc ;
- Xchar *argv[] ;
- X{
- X int reply ;
- X
- X if (argv[1] != NULL) init_edge_table(argv[1]) ;
- X for (;;)
- X {
- X sin = sizeof(struct reve_in) ;
- X if ((reply = read(0, (char *) &in, sin)) > 0)
- X {
- X if (in.type == M_TIME) timeleft = in.timeleft ;
- X else if (in.type == M_PROFMAX) max_depth = in.level ;
- X else
- X {
- X play_reve(in.board, in.player, in.level, &out.move, &out.note) ;
- X out.type = in.type ;
- X WRITE(1, (char *) &out, sizeof(struct reve_out)) ;
- X }
- X }
- X else if (reply == 0) exit(1) ;
- X }
- X}
- X
- X
- Xvoid
- Xshow_best(move, note)
- Xint move ;
- Xlong note ;
- X{
- X out.type = M_BEST ;
- X out.move = move ;
- X out.note = note ;
- X out.depth = profmax ;
- X WRITE(1, (char *) &out, sizeof(struct reve_out)) ;
- X}
- END_OF_FILE
- if test 2755 -ne `wc -c <'reve_proc.c'`; then
- echo shar: \"'reve_proc.c'\" unpacked with wrong size!
- fi
- # end of 'reve_proc.c'
- echo shar: overwriting existing file \"'images/Sch_off.icon'\"
- echo shar: Extracting \"'images/Sch_off.icon'\" \(1933 characters\)
- sed "s/^X//" >'images/Sch_off.icon' <<'END_OF_FILE'
- X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16
- X */
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0xFFE0,0x0000,0x0000,0x0000,0x8020,0x0000,0x0000,0x0000,
- X 0x8020,0x0000,0x0000,0x0000,0x8020,0x0000,0x0000,0x0000,
- X 0x8020,0x0000,0x0000,0x0000,0x8020,0x0000,0x0000,0x0000,
- X 0x8020,0x0000,0x0000,0x0000,0x8020,0x0000,0x0000,0x0000,
- X 0x8020,0x0000,0x0000,0x0000,0xFFE0,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000
- END_OF_FILE
- if test 1933 -ne `wc -c <'images/Sch_off.icon'`; then
- echo shar: \"'images/Sch_off.icon'\" unpacked with wrong size!
- fi
- # end of 'images/Sch_off.icon'
- echo shar: overwriting existing file \"'images/Sch_on.icon'\"
- echo shar: Extracting \"'images/Sch_on.icon'\" \(1933 characters\)
- sed "s/^X//" >'images/Sch_on.icon' <<'END_OF_FILE'
- X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16
- X */
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0002,0x0000,0x0000,0x0000,
- X 0x0007,0x0000,0x0000,0x0000,0x000E,0x0000,0x0000,0x0000,
- X 0xFFFC,0x0000,0x0000,0x0000,0x8038,0x0000,0x0000,0x0000,
- X 0x8070,0x0000,0x0000,0x0000,0x80E0,0x0000,0x0000,0x0000,
- X 0xB1E0,0x0000,0x0000,0x0000,0xBBA0,0x0000,0x0000,0x0000,
- X 0x9F20,0x0000,0x0000,0x0000,0x8E20,0x0000,0x0000,0x0000,
- X 0x8420,0x0000,0x0000,0x0000,0xFFE0,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
- X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000
- END_OF_FILE
- if test 1933 -ne `wc -c <'images/Sch_on.icon'`; then
- echo shar: \"'images/Sch_on.icon'\" unpacked with wrong size!
- fi
- # end of 'images/Sch_on.icon'
- echo shar: End of archive 1 \(of 9\).
- cp /dev/null ark1isdone
- 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
-