#! /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 patchlevel.h.diff <<'END_OF_patchlevel.h.diff' X*** V1.1/patchlevel.h Thu Nov 29 10:24:50 1990 X--- patchlevel.h Thu Nov 29 11:21:40 1990 X*************** X*** 27,36 **** X /* patchlevel.h for xmines X */ X X! char *MinesVersion = "XMines v1.1"; X X! /* X! * Current patchlevel is 0 - this is the original! X */ X X /* end */ X--- 27,40 ---- X /* patchlevel.h for xmines X */ X X! char *MinesVersion = "XMines v1.2"; X X! /* patch 1, xmines v1.2: X! * 1. remove #include from board.c (included from Intrinsic.h) X! * 2. use unsigned int for window width and height in draw.c X! * 3. add icon hint (main.c) X! * 4. add srandom call, "seed" resource (main.c) X! * 5. fix wrong nearby-bomb count in final square (board.c) X */ X X /* end */ END_OF_patchlevel.h.diff if test 704 -ne `wc -c History.diff <<'END_OF_History.diff' X*** V1.1/History Thu Nov 29 10:24:47 1990 X--- History Mon Dec 10 14:23:02 1990 X*************** X*** 1,4 **** X! XMines History 22-Aug-90 X X The Mines game was originally written by Tom Anderson of Fluke Manufacturing. X It was written for suntools, and was based on his chess tool (as Tom said X--- 1,4 ---- X! XMines History 10-Dec-90 X X The Mines game was originally written by Tom Anderson of Fluke Manufacturing. X It was written for suntools, and was based on his chess tool (as Tom said X*************** X*** 36,41 **** X--- 36,43 ---- X by Jim McBeath in January 1990. Various cleanup, writing of man pages, etc., X happened (at low priority) over the next few months until it was posted. X X+ Xmines was posted to comp.sources.x in September 1990. X+ Patch 1 was posted in December 1990. X X Authors: X X*************** X*** 50,54 **** X X Jim McBeath X Globetrotter Software, Inc. X! (408)741-0489 X! globes!ji...@oliveb.olivetti.com X--- 52,56 ---- X X Jim McBeath X Globetrotter Software, Inc. X! (415)493-8567x221 (Highland Software) X! ji...@hisoft.uucp (alternate: ji...@netcom.uucp) END_OF_History.diff if test 1102 -ne `wc -c board.c.diff <<'END_OF_board.c.diff' X*** V1.1/board.c Thu Nov 29 10:24:50 1990 X--- board.c Thu Nov 29 11:05:18 1990 X*************** X*** 29,35 **** X static char copyright[] = "Copyright 1987 Tom Anderson"; X X #include X- #include X #include X X #include X--- 29,34 ---- X*************** X*** 300,305 **** X--- 299,305 ---- X /* else if this is home, render congratulations */ X else if (col == BoardCols-1 && row == BoardRows-1) { X PlayerSquare = sqp; X+ (void)MineWarningMessage(); /* fix up nearby count */ X sqp->traversed = sqp->occupied = TRUE; X GameOver = TRUE; X Message("You honestly made it!"); X*************** X*** 343,350 **** X #ifndef NOSCORE X IncrHints(1); X #endif X! MainBoard[j][i].safe = TRUE; X! MainBoard[j][i].unsafe = FALSE; X X return (GetSquare(j,i)); X } X--- 343,350 ---- X #ifndef NOSCORE X IncrHints(1); X #endif X! MarkSquare(&MainBoard[j][i],1); X! /* mark as safe, keep track of counts */ X X return (GetSquare(j,i)); X } END_OF_board.c.diff if test 1017 -ne `wc -c draw.c.diff <<'END_OF_draw.c.diff' X*** V1.1/draw.c Thu Nov 29 10:24:51 1990 X--- draw.c Thu Sep 13 10:41:21 1990 X*************** X*** 166,172 **** X Window win; X Display *dpy; X GC gc; X! int width,height,bmsize; X int dx,dy; X int i; X Arg args[10]; X--- 166,173 ---- X Window win; X Display *dpy; X GC gc; X! unsigned int width, height; X! int bmsize; X int dx,dy; X int i; X Arg args[10]; X*************** X*** 244,250 **** X /* a hack to avoid getting the size for every cell */ X if (sqp->row==0 && sqp->col==0) { X Window root; X! int x,y,bwidth,depth; X XGetGeometry(dpy,win,&root,&x,&y,&width,&height,&bwidth,&depth); X lastwidth = width; X lastheight = height; X--- 245,252 ---- X /* a hack to avoid getting the size for every cell */ X if (sqp->row==0 && sqp->col==0) { X Window root; X! int x,y; X! unsigned int bwidth,depth; X XGetGeometry(dpy,win,&root,&x,&y,&width,&height,&bwidth,&depth); X lastwidth = width; X lastheight = height; END_OF_draw.c.diff if test 941 -ne `wc -c main.c.diff <<'END_OF_main.c.diff' X*** V1.1/main.c Thu Nov 29 10:24:52 1990 X--- main.c Thu Nov 29 11:17:05 1990 X*************** X*** 34,39 **** X--- 34,40 ---- X #include X #include X #include "mines.h" X+ #include "mine.xbm" X #include "patchlevel.h" /* pick up the version string */ X X char *Progname; X*************** X*** 46,55 **** X int cellsize; /* width and height of each cell in the array */ X int numrows, numcols; X int minecount; X } AppResources, *AppResourcesPtr; X X /* a place to put data into from the call to XtGetApplicationResources. */ X! static AppResources Adata = { 32, DEFAULT_BOARD_ROWS, DEFAULT_BOARD_COLS}; X X /* fallback resources in case we can't find the app-defaults file */ X static String fallback_resources[] = { X--- 47,57 ---- X int cellsize; /* width and height of each cell in the array */ X int numrows, numcols; X int minecount; X+ int seed; /* srandom seed; 0 means use time of day */ X } AppResources, *AppResourcesPtr; X X /* a place to put data into from the call to XtGetApplicationResources. */ X! static AppResources Adata = { 32, DEFAULT_BOARD_ROWS, DEFAULT_BOARD_COLS, 0}; X X /* fallback resources in case we can't find the app-defaults file */ X static String fallback_resources[] = { X*************** X*** 76,81 **** X--- 78,84 ---- X {"-rows", "rows", XrmoptionSepArg, NULL }, X {"-columns", "columns", XrmoptionSepArg, NULL }, X {"-mines", "mines", XrmoptionSepArg, NULL }, X+ {"-seed", "seed", XrmoptionSepArg, NULL }, X }; X X /* resource items that can be specified in the users resources database X*************** X*** 90,95 **** X--- 93,100 ---- X XtOffset(AppResourcesPtr,numcols), XtRInt, (char *)0}, X {"mines", "Mines", XtRInt, sizeof(int), X XtOffset(AppResourcesPtr,minecount), XtRInt, (char *)0}, X+ {"seed", "Seed", XtRInt, sizeof(int), X+ XtOffset(AppResourcesPtr,seed), XtRInt, (char *)0}, X }; X X X*************** X*** 111,116 **** X--- 116,123 ---- X int i,n; X Display *dpy; X XrmDatabase rmdb; X+ XWMHints Hints; X+ long t; X X Progname = rindex(argv[0],'/'); X if (Progname) Progname++; X*************** X*** 152,163 **** X--- 159,182 ---- X Adata.numrows = DEFAULT_BOARD_ROWS; X if (Adata.numcols==0) X Adata.numcols = DEFAULT_BOARD_COLS; X+ if (Adata.seed==0) { X+ time(&t); X+ Adata.seed = t; X+ } X X AllocBoard(Adata.numrows,Adata.numcols,Adata.minecount); X X makeform(top,Adata.numrows,Adata.numcols,Adata.cellsize); X XtRealizeWidget(top); X+ X+ /* icon suggestion from Marty Ryba */ X+ Hints.icon_pixmap = XCreateBitmapFromData(dpy, DefaultRootWindow(dpy), X+ mine_bits, mine_width, mine_height); X+ Hints.flags = IconPixmapHint; X+ XSetWMHints(dpy, XtWindow(top), &Hints); X+ X InitBitmaps(dpy,XtWindow(top)); X+ srandom(Adata.seed); /* swizzle the random number generator */ X InitBoard(0); X XtAppMainLoop(appctx); X /* NOTREACHED */ END_OF_main.c.diff if test 2876 -ne `wc -c