home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / x / volume10 / xmines / patch1 next >
Internet Message Format  |  1990-12-18  |  10KB

  1. Path: uunet!snorkelwacker.mit.edu!usc!cs.utexas.edu!sun-barr!newstop!exodus!Snoqualmie.hisoft.infocomm.com
  2. From: jimmc@Snoqualmie.hisoft.infocomm.com (Jim McBeath)
  3. Newsgroups: comp.sources.x
  4. Subject: v10i093: xmines, Patch1, Part01/01
  5. Message-ID: <4808@exodus.Eng.Sun.COM>
  6. Date: 19 Dec 90 02:35:50 GMT
  7. References: <csx-10i093:xmines@uunet.UU.NET>
  8. Sender: news@exodus.Eng.Sun.COM
  9. Lines: 319
  10. Approved: argv@sun.com
  11.  
  12. Submitted-by: jimmc@Snoqualmie.hisoft.infocomm.com (Jim McBeath)
  13. Posting-number: Volume 10, Issue 93
  14. Archive-name: xmines/patch1
  15. Patch-To: xmines: Volume 9, Issue 27-29
  16.  
  17. #! /bin/sh
  18. ##  This is a shell archive.  Remove anything before this line, then unpack
  19. ##  it by saving it into a file and typing "sh file".  To overwrite existing
  20. ##  files, type "sh file -c".  You can also feed this as standard input via
  21. ##  unshar, or by typing "sh <file".  If this archive is complete, you will
  22. ##  see the following message at the end:
  23. #        "End of shell archive."
  24. # Contents:  patchlevel.h.diff History.diff board.c.diff draw.c.diff
  25. #   main.c.diff
  26. # Wrapped by jimmc@snoqualmie on Mon Dec 10 14:42:23 1990
  27. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  28. if test -f patchlevel.h.diff -a "${1}" != "-c" ; then 
  29.   echo shar: Will not over-write existing file \"patchlevel.h.diff\"
  30. else
  31. echo shar: Extracting \"patchlevel.h.diff\" \(704 characters\)
  32. sed "s/^X//" >patchlevel.h.diff <<'END_OF_patchlevel.h.diff'
  33. X*** V1.1/patchlevel.h    Thu Nov 29 10:24:50 1990
  34. X--- patchlevel.h    Thu Nov 29 11:21:40 1990
  35. X***************
  36. X*** 27,36 ****
  37. X  /* patchlevel.h for xmines
  38. X   */
  39. X  
  40. X! char *MinesVersion = "XMines v1.1";
  41. X  
  42. X! /*
  43. X!  * Current patchlevel is 0 - this is the original!
  44. X   */
  45. X  
  46. X  /* end */
  47. X--- 27,40 ----
  48. X  /* patchlevel.h for xmines
  49. X   */
  50. X  
  51. X! char *MinesVersion = "XMines v1.2";
  52. X  
  53. X! /* patch 1, xmines v1.2:
  54. X!  * 1. remove #include <strings.h> from board.c (included from Intrinsic.h)
  55. X!  * 2. use unsigned int for window width and height in draw.c
  56. X!  * 3. add icon hint (main.c)
  57. X!  * 4. add srandom call, "seed" resource (main.c)
  58. X!  * 5. fix wrong nearby-bomb count in final square (board.c)
  59. X   */
  60. X  
  61. X  /* end */
  62. END_OF_patchlevel.h.diff
  63. if test 704 -ne `wc -c <patchlevel.h.diff`; then
  64.     echo shar: \"patchlevel.h.diff\" unpacked with wrong size!
  65. fi
  66. # end of overwriting check
  67. fi
  68. if test -f History.diff -a "${1}" != "-c" ; then 
  69.   echo shar: Will not over-write existing file \"History.diff\"
  70. else
  71. echo shar: Extracting \"History.diff\" \(1102 characters\)
  72. sed "s/^X//" >History.diff <<'END_OF_History.diff'
  73. X*** V1.1/History    Thu Nov 29 10:24:47 1990
  74. X--- History    Mon Dec 10 14:23:02 1990
  75. X***************
  76. X*** 1,4 ****
  77. X! XMines History                        22-Aug-90
  78. X  
  79. X  The Mines game was originally written by Tom Anderson of Fluke Manufacturing.
  80. X  It was written for suntools, and was based on his chess tool (as Tom said
  81. X--- 1,4 ----
  82. X! XMines History                        10-Dec-90
  83. X  
  84. X  The Mines game was originally written by Tom Anderson of Fluke Manufacturing.
  85. X  It was written for suntools, and was based on his chess tool (as Tom said
  86. X***************
  87. X*** 36,41 ****
  88. X--- 36,43 ----
  89. X  by Jim McBeath in January 1990.  Various cleanup, writing of man pages, etc.,
  90. X  happened (at low priority) over the next few months until it was posted.
  91. X  
  92. X+ Xmines was posted to comp.sources.x in September 1990.
  93. X+ Patch 1 was posted in December 1990.
  94. X  
  95. X  Authors:
  96. X  
  97. X***************
  98. X*** 50,54 ****
  99. X  
  100. X  Jim McBeath
  101. X  Globetrotter Software, Inc.
  102. X! (408)741-0489
  103. X! globes!jimmc@oliveb.olivetti.com
  104. X--- 52,56 ----
  105. X  
  106. X  Jim McBeath
  107. X  Globetrotter Software, Inc.
  108. X! (415)493-8567x221 (Highland Software)
  109. X! jimmc@hisoft.uucp (alternate: jimmc@netcom.uucp)
  110. END_OF_History.diff
  111. if test 1102 -ne `wc -c <History.diff`; then
  112.     echo shar: \"History.diff\" unpacked with wrong size!
  113. fi
  114. # end of overwriting check
  115. fi
  116. if test -f board.c.diff -a "${1}" != "-c" ; then 
  117.   echo shar: Will not over-write existing file \"board.c.diff\"
  118. else
  119. echo shar: Extracting \"board.c.diff\" \(1017 characters\)
  120. sed "s/^X//" >board.c.diff <<'END_OF_board.c.diff'
  121. X*** V1.1/board.c    Thu Nov 29 10:24:50 1990
  122. X--- board.c    Thu Nov 29 11:05:18 1990
  123. X***************
  124. X*** 29,35 ****
  125. X  static char copyright[] = "Copyright 1987 Tom Anderson";
  126. X  
  127. X  #include <stdio.h>
  128. X- #include <strings.h>
  129. X  #include <sys/types.h>
  130. X  
  131. X  #include <X11/Intrinsic.h>
  132. X--- 29,34 ----
  133. X***************
  134. X*** 300,305 ****
  135. X--- 299,305 ----
  136. X      /* else if this is home, render congratulations */
  137. X      else if (col == BoardCols-1 && row == BoardRows-1) {
  138. X          PlayerSquare = sqp;
  139. X+         (void)MineWarningMessage();    /* fix up nearby count */
  140. X          sqp->traversed = sqp->occupied = TRUE;
  141. X          GameOver = TRUE;
  142. X          Message("You honestly made it!");
  143. X***************
  144. X*** 343,350 ****
  145. X  #ifndef NOSCORE
  146. X                  IncrHints(1);
  147. X  #endif
  148. X!                 MainBoard[j][i].safe = TRUE;
  149. X!                 MainBoard[j][i].unsafe = FALSE;
  150. X  
  151. X                  return (GetSquare(j,i));
  152. X              }
  153. X--- 343,350 ----
  154. X  #ifndef NOSCORE
  155. X                  IncrHints(1);
  156. X  #endif
  157. X!                 MarkSquare(&MainBoard[j][i],1);
  158. X!                     /* mark as safe, keep track of counts */
  159. X  
  160. X                  return (GetSquare(j,i));
  161. X              }
  162. END_OF_board.c.diff
  163. if test 1017 -ne `wc -c <board.c.diff`; then
  164.     echo shar: \"board.c.diff\" unpacked with wrong size!
  165. fi
  166. # end of overwriting check
  167. fi
  168. if test -f draw.c.diff -a "${1}" != "-c" ; then 
  169.   echo shar: Will not over-write existing file \"draw.c.diff\"
  170. else
  171. echo shar: Extracting \"draw.c.diff\" \(941 characters\)
  172. sed "s/^X//" >draw.c.diff <<'END_OF_draw.c.diff'
  173. X*** V1.1/draw.c    Thu Nov 29 10:24:51 1990
  174. X--- draw.c    Thu Sep 13 10:41:21 1990
  175. X***************
  176. X*** 166,172 ****
  177. X      Window win;
  178. X      Display *dpy;
  179. X      GC gc;
  180. X!     int width,height,bmsize;
  181. X      int dx,dy;
  182. X      int i;
  183. X      Arg args[10];
  184. X--- 166,173 ----
  185. X      Window win;
  186. X      Display *dpy;
  187. X      GC gc;
  188. X!     unsigned int width, height;
  189. X!     int bmsize;
  190. X      int dx,dy;
  191. X      int i;
  192. X      Arg args[10];
  193. X***************
  194. X*** 244,250 ****
  195. X  /* a hack to avoid getting the size for every cell */
  196. X      if (sqp->row==0 && sqp->col==0) {
  197. X          Window root;
  198. X!         int x,y,bwidth,depth;
  199. X          XGetGeometry(dpy,win,&root,&x,&y,&width,&height,&bwidth,&depth);
  200. X          lastwidth = width;
  201. X          lastheight = height;
  202. X--- 245,252 ----
  203. X  /* a hack to avoid getting the size for every cell */
  204. X      if (sqp->row==0 && sqp->col==0) {
  205. X          Window root;
  206. X!         int x,y;
  207. X!         unsigned int bwidth,depth;
  208. X          XGetGeometry(dpy,win,&root,&x,&y,&width,&height,&bwidth,&depth);
  209. X          lastwidth = width;
  210. X          lastheight = height;
  211. END_OF_draw.c.diff
  212. if test 941 -ne `wc -c <draw.c.diff`; then
  213.     echo shar: \"draw.c.diff\" unpacked with wrong size!
  214. fi
  215. # end of overwriting check
  216. fi
  217. if test -f main.c.diff -a "${1}" != "-c" ; then 
  218.   echo shar: Will not over-write existing file \"main.c.diff\"
  219. else
  220. echo shar: Extracting \"main.c.diff\" \(2876 characters\)
  221. sed "s/^X//" >main.c.diff <<'END_OF_main.c.diff'
  222. X*** V1.1/main.c    Thu Nov 29 10:24:52 1990
  223. X--- main.c    Thu Nov 29 11:17:05 1990
  224. X***************
  225. X*** 34,39 ****
  226. X--- 34,40 ----
  227. X  #include <stdio.h> 
  228. X  #include <ctype.h>
  229. X  #include "mines.h"
  230. X+ #include "mine.xbm"
  231. X  #include "patchlevel.h"    /* pick up the version string */
  232. X  
  233. X  char *Progname;
  234. X***************
  235. X*** 46,55 ****
  236. X      int cellsize;    /* width and height of each cell in the array */
  237. X      int numrows, numcols;
  238. X      int minecount;
  239. X  } AppResources, *AppResourcesPtr;
  240. X  
  241. X  /* a place to put data into from the call to XtGetApplicationResources. */
  242. X! static AppResources Adata = { 32, DEFAULT_BOARD_ROWS, DEFAULT_BOARD_COLS};
  243. X  
  244. X  /* fallback resources in case we can't find the app-defaults file */
  245. X  static String fallback_resources[] = {
  246. X--- 47,57 ----
  247. X      int cellsize;    /* width and height of each cell in the array */
  248. X      int numrows, numcols;
  249. X      int minecount;
  250. X+     int seed;    /* srandom seed; 0 means use time of day */
  251. X  } AppResources, *AppResourcesPtr;
  252. X  
  253. X  /* a place to put data into from the call to XtGetApplicationResources. */
  254. X! static AppResources Adata = { 32, DEFAULT_BOARD_ROWS, DEFAULT_BOARD_COLS, 0};
  255. X  
  256. X  /* fallback resources in case we can't find the app-defaults file */
  257. X  static String fallback_resources[] = {
  258. X***************
  259. X*** 76,81 ****
  260. X--- 78,84 ----
  261. X      {"-rows",    "rows",        XrmoptionSepArg,   NULL },
  262. X      {"-columns",    "columns",    XrmoptionSepArg,   NULL },
  263. X      {"-mines",    "mines",    XrmoptionSepArg,   NULL },
  264. X+     {"-seed",    "seed",        XrmoptionSepArg,   NULL },
  265. X  };
  266. X  
  267. X  /* resource items that can be specified in the users resources database
  268. X***************
  269. X*** 90,95 ****
  270. X--- 93,100 ----
  271. X          XtOffset(AppResourcesPtr,numcols), XtRInt, (char *)0},
  272. X      {"mines", "Mines", XtRInt, sizeof(int),
  273. X          XtOffset(AppResourcesPtr,minecount), XtRInt, (char *)0},
  274. X+     {"seed", "Seed", XtRInt, sizeof(int),
  275. X+         XtOffset(AppResourcesPtr,seed), XtRInt, (char *)0},
  276. X  };
  277. X  
  278. X  
  279. X***************
  280. X*** 111,116 ****
  281. X--- 116,123 ----
  282. X      int i,n;
  283. X      Display *dpy;
  284. X      XrmDatabase rmdb;
  285. X+     XWMHints Hints;
  286. X+     long t;
  287. X  
  288. X      Progname = rindex(argv[0],'/');
  289. X      if (Progname) Progname++;
  290. X***************
  291. X*** 152,163 ****
  292. X--- 159,182 ----
  293. X          Adata.numrows = DEFAULT_BOARD_ROWS;
  294. X      if (Adata.numcols==0)
  295. X          Adata.numcols = DEFAULT_BOARD_COLS;
  296. X+     if (Adata.seed==0) {
  297. X+         time(&t);
  298. X+         Adata.seed = t;
  299. X+     }
  300. X  
  301. X      AllocBoard(Adata.numrows,Adata.numcols,Adata.minecount);
  302. X  
  303. X      makeform(top,Adata.numrows,Adata.numcols,Adata.cellsize);
  304. X      XtRealizeWidget(top);
  305. X+ 
  306. X+     /* icon suggestion from Marty Ryba <marty@puppsr.Princeton.EDU> */
  307. X+     Hints.icon_pixmap = XCreateBitmapFromData(dpy, DefaultRootWindow(dpy),
  308. X+         mine_bits, mine_width, mine_height);
  309. X+     Hints.flags = IconPixmapHint;
  310. X+     XSetWMHints(dpy, XtWindow(top), &Hints);
  311. X+ 
  312. X      InitBitmaps(dpy,XtWindow(top));
  313. X+     srandom(Adata.seed);    /* swizzle the random number generator */
  314. X      InitBoard(0);
  315. X      XtAppMainLoop(appctx);
  316. X      /* NOTREACHED */
  317. END_OF_main.c.diff
  318. if test 2876 -ne `wc -c <main.c.diff`; then
  319.     echo shar: \"main.c.diff\" unpacked with wrong size!
  320. fi
  321. # end of overwriting check
  322. fi
  323. echo shar: End of shell archive.
  324. exit 0
  325.  
  326. --
  327. dan
  328. ----------------------------------------------------
  329. O'Reilly && Associates   argv@sun.com / argv@ora.com
  330. Opinions expressed reflect those of the author only.
  331.