home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / games / volume15 / xminesweeper / patch1 / patches01
Text File  |  1993-01-27  |  12KB  |  434 lines

  1. --------
  2. *** /dev/null    Mon Oct 12 08:12:48 1992
  3. --- CHANGE.LOG    Mon Oct 12 16:27:16 1992
  4. ***************
  5. *** 0 ****
  6. --- 1,24 ----
  7. + Ver. 1.1 (12 October 1992)
  8. + --------------------------------------------------
  9. + Larger font for the numbers displayed in the squares to improve readability.
  10. + Sweeper now accepts the standard Xview options on startup.
  11. + Function clock renamed to tick_clock. The name clock caused name clash
  12. + on some systems (f.ex HP-UX).
  13. + Corrected a problem with the clock starting to count directly when New Game button 
  14. + was selected instead of when the first square was selected.
  15. + if you start the game from a pty, there isn't an entry in
  16. + /etc/utmp so getlogin() fails.  I have added a check to use
  17. + getpwuid() if getlogin() fails.
  18. + The string used to display the clock was too short and causes a
  19. + memory overwrite.
  20. + Thanks to backbone!wayne@tssi.com and
  21. +       Michael.Salmon@eos.ericsson.se
  22. +       gerry@frc2.frc.ri.cmu.edu
  23. + for patches and suggestions.
  24. *** released/window.c    Mon Oct 12 15:10:06 1992
  25. --- window.c    Mon Oct 12 16:27:49 1992
  26. ***************
  27. *** 1,4 ****
  28. ! static char sccsid[]="@(#)window.c    1.1 9/30/92";
  29.   
  30.   #include "window.h"
  31.   
  32. --- 1,4 ----
  33. ! static char sccsid[]="@(#)window.c    1.5 10/12/92";
  34.   
  35.   #include "window.h"
  36.   
  37. ***************
  38. *** 90,97 ****
  39.            NULL);
  40.   
  41.         font=(Xv_Font)xv_find(NULL,FONT,
  42. !                  FONT_FAMILY,FONT_FAMILY_DEFAULT_FIXEDWIDTH,
  43. !                  FONT_SIZES_FOR_SCALE,6,12,24,36,
  44.                    NULL);
  45.   
  46.         largefont=(Xv_Font)xv_find(NULL,FONT,
  47. --- 90,97 ----
  48.            NULL);
  49.   
  50.         font=(Xv_Font)xv_find(NULL,FONT,
  51. !                  FONT_FAMILY,FONT_FAMILY_DEFAULT,
  52. !                  FONT_SIZES_FOR_SCALE,6,12,16,36,
  53.                    NULL);
  54.   
  55.         largefont=(Xv_Font)xv_find(NULL,FONT,
  56. ***************
  57. *** 98,103 ****
  58. --- 98,109 ----
  59.                    FONT_RESCALE_OF, font, WIN_SCALE_EXTRALARGE,
  60.                    NULL);
  61.   
  62. +       numberfont=(Xv_Font)xv_find(NULL,FONT,
  63. +                   FONT_FAMILY,FONT_FAMILY_DEFAULT,
  64. +                   FONT_STYLE,FONT_STYLE_BOLD,
  65. +                   FONT_SIZE,18,
  66. +                   NULL);
  67.         pw =xv_get(canvas,CANVAS_NTH_PAINT_WINDOW,0);
  68.         xid=(XID)xv_get(pw,XV_XID);
  69.         dpy=(Display *)xv_get(pw,XV_DISPLAY);
  70. ***************
  71. *** 241,251 ****
  72. --- 247,259 ----
  73.         char str[5];
  74.   
  75.         gc=DefaultGC(dpy,DefaultScreen(dpy));
  76. +       XSetFont(dpy,gc,(Font)xv_get(numberfont,XV_XID));
  77.         sprintf(str,"%d",number);
  78.         XDrawString(dpy,xwin,gc,
  79.             col*BOX_SIZE+BOX_SIZE/3,
  80.             (int)(row*BOX_SIZE+BOX_SIZE*0.66),
  81.             str,strlen(str));
  82. +       XSetFont(dpy,gc,(Font)xv_get(font,XV_XID));
  83.   }
  84.   
  85.   void bang(dpy,xwin)
  86. ***************
  87. *** 273,279 ****
  88.         notify_set_itimer_func(frame,bang_timer,ITIMER_REAL,&timer,NULL);
  89.   }
  90.   
  91. ! void bang_timer()
  92.   {
  93.         static counter=0;
  94.   
  95. --- 281,287 ----
  96.         notify_set_itimer_func(frame,bang_timer,ITIMER_REAL,&timer,NULL);
  97.   }
  98.   
  99. ! Notify_value bang_timer()
  100.   {
  101.         static counter=0;
  102.   
  103. ***************
  104. *** 285,290 ****
  105. --- 293,299 ----
  106.           xv_set(ngamebutt,PANEL_INACTIVE,FALSE,0);
  107.           bang_shown=0;
  108.         }
  109. +       return 0;
  110.   }
  111.   
  112.   void expose(x,y,pw,dpy,xwin)
  113. ***************
  114. *** 477,483 ****
  115.         game_started=1;
  116.         timer.it_value.tv_usec=92767;
  117.         timer.it_interval.tv_usec=92767;    
  118. !       notify_set_itimer_func(frame,clock,ITIMER_REAL,&timer,NULL);
  119.         sprintf(str,"No bombs left: %d",no_bombs);
  120.         xv_set(frame,FRAME_LEFT_FOOTER,str,0);
  121.         xv_set(time_msg,PANEL_LABEL_STRING,"Time: 0.00  ",0);
  122. --- 486,492 ----
  123.         game_started=1;
  124.         timer.it_value.tv_usec=92767;
  125.         timer.it_interval.tv_usec=92767;    
  126. !       notify_set_itimer_func(frame,tick_clock,ITIMER_REAL,&timer,NULL);
  127.         sprintf(str,"No bombs left: %d",no_bombs);
  128.         xv_set(frame,FRAME_LEFT_FOOTER,str,0);
  129.         xv_set(time_msg,PANEL_LABEL_STRING,"Time: 0.00  ",0);
  130. ***************
  131. *** 493,498 ****
  132. --- 502,508 ----
  133.         sec=0;
  134.         no_shown_squares=0;
  135.         init_board();
  136. +       stop();
  137.         repaint_proc((Canvas)NULL,pw,
  138.              (Display *)xv_get(pw,XV_DISPLAY),
  139.              xv_get(pw,XV_XID),(Xv_xrectlist *)NULL);
  140. ***************
  141. *** 508,517 ****
  142.         notify_set_itimer_func(frame,NOTIFY_FUNC_NULL,ITIMER_REAL,NULL,NULL);
  143.   }
  144.   
  145. ! Notify_value clock()
  146.   {
  147.         static int cntr=0;
  148. !       char str[10];
  149.   
  150.         if(cntr==0){
  151.           sec++;
  152. --- 518,527 ----
  153.         notify_set_itimer_func(frame,NOTIFY_FUNC_NULL,ITIMER_REAL,NULL,NULL);
  154.   }
  155.   
  156. ! Notify_value tick_clock()
  157.   {
  158.         static int cntr=0;
  159. !       char str[20];
  160.   
  161.         if(cntr==0){
  162.           sec++;
  163. ***************
  164. *** 601,610 ****
  165.   int update_highscore()
  166.   {
  167.         int i,j;
  168. !       char name[20];
  169.   
  170.         stop();
  171. !       strcpy(name,getlogin());
  172.         read_highscore();
  173.         i=0;
  174.         while( highscore[level][size][i].score <= sec &&
  175. --- 611,627 ----
  176.   int update_highscore()
  177.   {
  178.         int i,j;
  179. !       char name[30];
  180. !       struct passwd *passwd_entry;
  181.   
  182.         stop();
  183. !       if( getlogin() )
  184. !         strcpy(name,getlogin());
  185. !       else{
  186. !         passwd_entry = getpwuid( geteuid() );
  187. !         strcpy( name, passwd_entry->pw_name );
  188. !       }
  189.         read_highscore();
  190.         i=0;
  191.         while( highscore[level][size][i].score <= sec &&
  192. ***************
  193. *** 687,692 ****
  194. --- 704,710 ----
  195.   {
  196.         int i,j,k;
  197.   
  198. +       xv_init(XV_INIT_ARGC_PTR_ARGV, &argc, argv, NULL);
  199.         for(k=0;k<5;k++)
  200.           for(j=0;j<3;j++)
  201.             for(i=0;i<NOHIGHSCORES;i++)
  202. *** released/window.h    Mon Oct 12 15:10:06 1992
  203. --- window.h    Mon Oct 12 16:26:35 1992
  204. ***************
  205. *** 1,4 ****
  206. ! /* static char sccsid[]="@(#)window.h    1.2 9/30/92";*/
  207.   #include "sweep.h"
  208.   #ifndef _WINDOWS_H_
  209.   #define _WINDOWS_H_
  210. --- 1,4 ----
  211. ! /* static char sccsid[]="@(#)window.h    1.5 10/12/92";*/
  212.   #include "sweep.h"
  213.   #ifndef _WINDOWS_H_
  214.   #define _WINDOWS_H_
  215. ***************
  216. *** 12,17 ****
  217. --- 12,18 ----
  218.   #include <xview/svrimage.h>
  219.   #include <xview/icon.h>
  220.   #include <xview/notify.h>
  221. + #include <pwd.h>
  222.   
  223.   short icon_bits[] = {
  224.   #include "sweeper.icon"
  225. ***************
  226. *** 21,27 ****
  227.   #define HIGHSCOREFILE "sweeper.scores"
  228.   #endif
  229.   
  230. ! #define VERSION "Sweeper V 1.0"
  231.   
  232.   Frame frame;
  233.   Canvas canvas;
  234. --- 22,28 ----
  235.   #define HIGHSCOREFILE "sweeper.scores"
  236.   #endif
  237.   
  238. ! #define VERSION "Sweeper V 1.1"
  239.   
  240.   Frame frame;
  241.   Canvas canvas;
  242. ***************
  243. *** 29,35 ****
  244.   Panel_item time_msg,ngamebutt;
  245.   struct itimerval timer;
  246.   int sec,bang_shown,no_shown_squares;
  247. ! Xv_Font font,largefont;
  248.   
  249.   void expose();
  250.   void repaint_proc();
  251. --- 30,36 ----
  252.   Panel_item time_msg,ngamebutt;
  253.   struct itimerval timer;
  254.   int sec,bang_shown,no_shown_squares;
  255. ! Xv_Font font,numberfont,largefont;
  256.   
  257.   void expose();
  258.   void repaint_proc();
  259. ***************
  260. *** 43,51 ****
  261.   void set_diff();
  262.   void new_game();
  263.   void start();
  264. ! Notify_value clock();
  265.   void bang();
  266. ! void bang_timer();
  267.   void stop();
  268.   void highscore_butt();
  269.   void show_highscore();
  270. --- 44,52 ----
  271.   void set_diff();
  272.   void new_game();
  273.   void start();
  274. ! Notify_value tick_clock();
  275.   void bang();
  276. ! Notify_value bang_timer();
  277.   void stop();
  278.   void highscore_butt();
  279.   void show_highscore();
  280. *** released/MANIFEST    Mon Oct 12 15:10:00 1992
  281. --- MANIFEST    Mon Oct 12 10:51:54 1992
  282. ***************
  283. *** 1,12 ****
  284. !    File Name        Archive #    Description
  285. ! -----------------------------------------------------------
  286. !  MANIFEST                   1    This shipping list
  287. !  Makefile                   1    
  288. !  README                     1    
  289. !  TODO                       1    
  290. !  sweep.c                    1    
  291. !  sweep.h                    1    
  292. !  sweeper.6                  1    
  293. !  sweeper.icon               1    
  294. !  window.c                   1    
  295. !  window.h                   1    
  296. --- 1,11 ----
  297. ! When you have unpacked the shar file you should have the
  298. ! following files:
  299. ! MANIFEST        
  300. ! TODO        
  301. ! sweep.c     
  302. ! sweep.h     
  303. ! sweeper.6   
  304. ! sweeper.icon
  305. ! window.c    
  306. ! window.h    
  307. *** released/TODO    Mon Oct 12 15:10:02 1992
  308. --- TODO    Wed Sep 30 13:22:38 1992
  309. ***************
  310. *** 1,5 ****
  311.   
  312. ! o Better look for colour/grey scale
  313.   
  314.   o Make the mines look more like mines...
  315.   
  316. --- 1,5 ----
  317.   
  318. ! o Better loock for colour/grey scale
  319.   
  320.   o Make the mines look more like mines...
  321.   
  322. *** released/sweeper.6    Mon Oct 12 15:10:03 1992
  323. --- sweeper.6    Wed Sep 30 14:08:58 1992
  324. ***************
  325. *** 7,24 ****
  326.   .SH DESCRIPTION
  327.   .LP
  328.   .B Sweeper
  329. ! is a game where your task is to find the hidden mines in a minefield.
  330.   .LP
  331.   To play the game move your mouse pointer to a square and press the left
  332.   mouse button to mark that you think this is safe square. If there is a
  333. ! mine on this square the game is over. If there is no mine on this square
  334.   a number will be shown that shows home many mines there are in the
  335. ! surronding squares. All surrounding squares, even those diagonally are 
  336.   counted.
  337.   .LP
  338.   If you think there is a mine on a square you move the mousepointer to that
  339.   square and press the middle button. If you want to unmark a square that
  340. ! you thought that there is a mine on just press the middle button again.
  341.   .LP
  342.   If you click with the left button on a mine all squares will be revealed
  343.   to you. The squares that you have marked will be shaded, all other squares 
  344. --- 7,24 ----
  345.   .SH DESCRIPTION
  346.   .LP
  347.   .B Sweeper
  348. ! is a geme where your task is to find the hidden mines in a minefield.
  349.   .LP
  350.   To play the game move your mouse pointer to a square and press the left
  351.   mouse button to mark that you think this is safe square. If there is a
  352. ! mine on this square the game us oer. If there is no mine on this square
  353.   a number will be shown that shows home many mines there are in the
  354. ! surronding squares. All surrounding squares, even thos diagonally is 
  355.   counted.
  356.   .LP
  357.   If you think there is a mine on a square you move the mousepointer to that
  358.   square and press the middle button. If you want to unmark a square that
  359. ! you thought that there is a mine on yust press the middle button again.
  360.   .LP
  361.   If you click with the left button on a mine all squares will be revealed
  362.   to you. The squares that you have marked will be shaded, all other squares 
  363. ***************
  364. *** 25,31 ****
  365.   will be white. A faulty marked bomb will be marked with a cross over it.
  366.   .SH BUGS
  367.   .LP
  368. ! The manual could be better.
  369.   .LP 
  370.   The graphic interface could be better, and adapted for colour/gray scale.
  371.   .LP
  372. --- 25,31 ----
  373.   will be white. A faulty marked bomb will be marked with a cross over it.
  374.   .SH BUGS
  375.   .LP
  376. ! The manual could be better
  377.   .LP 
  378.   The graphic interface could be better, and adapted for colour/gray scale.
  379.   .LP
  380. *** released/Makefile    Mon Oct 12 15:10:01 1992
  381. --- Makefile    Mon Oct 12 11:00:13 1992
  382. ***************
  383. *** 1,15 ****
  384.   PROGRAM= sweeper
  385.   SOURCES= sweep.c window.c
  386.   INCLUDES= sweep.h window.h
  387. ! OTHER= MANIFEST TODO sweeper.6 sweeper.icon Makefile
  388.   OBJECTS= sweep.o window.o
  389.   SCOREFILE= /home/solsta-b/pub/lib/games/sweeper.scores
  390. - #SCOREFILE= sweeper.scores
  391.   SHARFILE= sweeper.shar
  392.   
  393.   CFLAGS=    -I/usr/openwin/include -O -DHIGHSCOREFILE=\"$(SCOREFILE)\"
  394. - CCFLAGS=-I/usr/openwin/include -g 
  395.   LDFLAGS= -L/usr/openwin/lib -lxview -lolgx -lX11
  396.   
  397.   all: $(OBJECTS)
  398.       cc $(CFLAGS) -o $(PROGRAM) $(OBJECTS) $(LDFLAGS)
  399. --- 1,20 ----
  400.   PROGRAM= sweeper
  401.   SOURCES= sweep.c window.c
  402.   INCLUDES= sweep.h window.h
  403. ! OTHER= MANIFEST TODO sweeper.6 sweeper.icon Makefile CHANGE.LOG
  404.   OBJECTS= sweep.o window.o
  405.   SCOREFILE= /home/solsta-b/pub/lib/games/sweeper.scores
  406.   SHARFILE= sweeper.shar
  407.   
  408. + ## FLAGS FOR HP-UX
  409. + #CFLAGS = -D_BSD -I/usr/local/xview/usr/include -I/usr/include/X11R4 -DHIGHSCOREFILE=\"$(SCOREFILE)\" 
  410. + #LDFLAGS= -L/usr/local/xview/usr/lib -L/usr/lib/X11R4 -lxview -lolgx -lX11
  411. + ## FLAGS for Sun 0S
  412.   CFLAGS=    -I/usr/openwin/include -O -DHIGHSCOREFILE=\"$(SCOREFILE)\"
  413.   LDFLAGS= -L/usr/openwin/lib -lxview -lolgx -lX11
  414. + CCFLAGS=-I/usr/openwin/include -g 
  415.   
  416.   all: $(OBJECTS)
  417.       cc $(CFLAGS) -o $(PROGRAM) $(OBJECTS) $(LDFLAGS)
  418.  
  419.  
  420.  
  421.  
  422.