home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / games / volume16 / nethack31 / patch2ff / patches02r next >
Text File  |  1993-06-16  |  28KB  |  895 lines

  1. *** /tmp/da09782    Tue Jun  1 15:52:31 1993
  2. --- ./Files    Tue May 18 11:32:22 1993
  3. ***************
  4. *** 42,47 ****
  5. --- 42,49 ----
  6.   wintty.h
  7.   (files for X versions)
  8.   Window.h        WindowP.h       winX.h
  9. + (files for mactty version)
  10. + mactty.h        mttypriv.h
  11.   
  12.   src:
  13.   (files for all versions)
  14. ***************
  15. *** 67,85 ****
  16.   worn.c          write.c         zap.c
  17.   
  18.   sys/amiga:
  19. ! (files for Amiga version)
  20.   HackWB.uu       Install.ami     Makefile.ami    NHinfo.uu       NetHack.cnf
  21.   NewGame.uu      amidos.c        amidos.p        amifont.uu      amifont8.uu
  22. ! amigst.c        amii.hlp        amimenu.c       amirip.c        amisnd.c
  23. ! amiwbench.c     amiwind.c       amiwind.p       ask.uu          char.c
  24. ! charwin.uu      colors.uu       colorwin.c      cvtsnd.c        dflticon.uu
  25. ! hackwb.hlp      ifchange        randwin.c       randwin.uu      scroll.uu
  26. ! string.uu       wb.c            wbcli.c         wbdata.c        wbdefs.h
  27. ! wbprotos.h      wbstruct.h      wbwin.c         wbwin.uu        winami.c
  28. ! winami.p
  29.   
  30.   sys/amiga/splitter:
  31. ! (more files for Amiga version)
  32.   amiout.h        arg.c           arg.h           loader.c        multi.c
  33.   multi.h         split.doc       split.h         splitter.c
  34.   
  35. --- 69,89 ----
  36.   worn.c          write.c         zap.c
  37.   
  38.   sys/amiga:
  39. ! (files for Amiga versions)
  40.   HackWB.uu       Install.ami     Makefile.ami    NHinfo.uu       NetHack.cnf
  41.   NewGame.uu      amidos.c        amidos.p        amifont.uu      amifont8.uu
  42. ! amigst.c        amii.hlp        amilib.c        amimenu.c       amirip.c
  43. ! amisnd.c        amitty.c        amiwbench.c     amiwind.c       amiwind.p
  44. ! ask.uu          char.c          charwin.uu      colors.uu       colorwin.c
  45. ! cvtsnd.c        dflticon.uu     hackwb.hlp      ifchange        randwin.c
  46. ! randwin.uu      scroll.uu       string.uu       wb.c            wbcli.c
  47. ! wbdata.c        wbdefs.h        wbprotos.h      wbstruct.h      wbwin.c
  48. ! wbwin.uu        winami.c        winami.p        windefs.h       winext.h
  49. ! winfuncs.c      winkey.c        winmenu.c       winproto.h      winreq.c
  50. ! winstr.c
  51.   
  52.   sys/amiga/splitter:
  53. ! (more files for Amiga versions)
  54.   amiout.h        arg.c           arg.h           loader.c        multi.c
  55.   multi.h         split.doc       split.h         splitter.c
  56.   
  57. ***************
  58. *** 89,99 ****
  59.   setup.g         tos.c
  60.   
  61.   sys/mac:
  62. ! (files for Macintosh version)
  63. ! Install.mpw     MacHelp         NHmake.hqx      NHrez.hqx       NHrsrc.hqx
  64. ! NHsound.hqx     News            hack.h          maccurs.c       macerrs.c
  65. ! macfile.c       macmain.c       macsnd.c        mactopl.c       macunix.c
  66. ! macwin.c        mgetline.c      mhdump.c        mmodal.c        mstring.c
  67.   
  68.   sys/msdos:
  69.   (files for MSDOS version)
  70. --- 93,105 ----
  71.   setup.g         tos.c
  72.   
  73.   sys/mac:
  74. ! (files for Macintosh versions)
  75. ! Install.mpw     MacHelp         NHDeflts        NHmake.hqx      NHrez.hqx
  76. ! NHrsrc.hqx      NHsound.hqx     News            dprintf.c       hack.h
  77. ! maccurs.c       macerrs.c       macfile.c       macmain.c       macmenu.c
  78. ! macsnd.c        mactopl.c       mactty.c        macunix.c       macwin.c
  79. ! mgetline.c      mhdump.c        mmodal.c        mrecover.c      mrecover.hqx
  80. ! mstring.c       mttymain.c
  81.   
  82.   sys/msdos:
  83.   (files for MSDOS version)
  84. ***************
  85. *** 100,105 ****
  86. --- 106,112 ----
  87.   Install.dos     MakeGCC.src     MakeGCC.utl     MakeMSC.src     MakeMSC.utl
  88.   Makefile.dat    exesmurf.c      exesmurf.doc    maintovl.doc    msdos.c
  89.   ovlmgr.asm      ovlmgr.doc      ovlmgr.uu       setup.bat       trampoli.c
  90. + video.c
  91.   (files for running MSDOS binary under Windows)
  92.   nhico.uu        nhpif.uu
  93.   
  94. ***************
  95. *** 152,158 ****
  96.   sys/winnt:
  97.   (files for Windows NT version)
  98.   Install.nt      Makefile.dat    Makefile.src    Makefile.utl    nhico.uu
  99. ! nhincl.mak      nttty.c         setup.bat       winnt.c
  100.   
  101.   util:
  102.   (files for all versions)
  103. --- 159,165 ----
  104.   sys/winnt:
  105.   (files for Windows NT version)
  106.   Install.nt      Makefile.dat    Makefile.src    Makefile.utl    nhico.uu
  107. ! nhincl.mak      nttty.c         setup.bat       winnt.c         winnt.cnf
  108.   
  109.   util:
  110.   (files for all versions)
  111. *** /tmp/da09798    Tue Jun  1 15:52:35 1993
  112. --- ./README    Tue Jun  1 11:54:09 1993
  113. ***************
  114. *** 144,159 ****
  115.           Sun-4s running Solaris 2.x (aka SunOS 5.x)
  116.           Valid Logic Systems SCALD-System
  117.           286 box running Microport SysV/AT (not extensively tested)
  118.   
  119.           Apple Macintosh running MacOS
  120.           Atari ST/TT/Falcon running TOS (or MultiTOS) with GCC
  121. !         Commodore Amiga running AmigaDOS 1.3/2.x with SAS/C 5.10b or
  122. !                 Manx 5.0 (but see Install.ami about DICE and SAS/C 6.1)
  123. !         DEC Alpha/VMS (aka OpenVMS AXP), running V1.0
  124.           DEC VAX/VMS, running V4.6 through V5.5-2, T6.0
  125.           IBM PC compatibles running MS-DOS with MicroSoft C or DJGPP
  126.           IBM PS/2 and AT compatibles running OS/2 1.1 - 2.0 with Microsoft C
  127.                   5.1 or 6.0, and OS/2 2.0 with GCC emx 0.8f or IBM C Set/2
  128.   
  129.                           - - - - - - - - - - -
  130.   
  131. --- 144,161 ----
  132.           Sun-4s running Solaris 2.x (aka SunOS 5.x)
  133.           Valid Logic Systems SCALD-System
  134.           286 box running Microport SysV/AT (not extensively tested)
  135. +         386-486 boxes running Linux/386BSD/BSDI
  136.   
  137.           Apple Macintosh running MacOS
  138.           Atari ST/TT/Falcon running TOS (or MultiTOS) with GCC
  139. !         Commodore Amiga running AmigaDOS 1.3 or greater with SAS/C 6.2
  140. !                 (but see Install.ami about DICE and Manx)
  141. !         DEC Alpha/VMS (aka OpenVMS AXP), running V1.0 and V1.5
  142.           DEC VAX/VMS, running V4.6 through V5.5-2, T6.0
  143.           IBM PC compatibles running MS-DOS with MicroSoft C or DJGPP
  144.           IBM PS/2 and AT compatibles running OS/2 1.1 - 2.0 with Microsoft C
  145.                   5.1 or 6.0, and OS/2 2.0 with GCC emx 0.8f or IBM C Set/2
  146. +         Intel 386,486 desktop machines running Windows NT
  147.   
  148.                           - - - - - - - - - - -
  149.   
  150. *** /tmp/da12793    Tue Jun  1 17:32:49 1993
  151. --- sys/unix/Install.unx    Tue Jun  1 12:32:43 1993
  152. ***************
  153. *** 1,4 ****
  154. !                 Instructions for installing NetHack 3.1 
  155.                              on a UNIX system
  156.                   =======================================
  157.   
  158. --- 1,4 ----
  159. !                 Instructions for installing NetHack 3.1
  160.                              on a UNIX system
  161.                   =======================================
  162.   
  163. ***************
  164. *** 52,59 ****
  165.       coffee or take a nap.  You should now have created the game executable.
  166.   
  167.   7.  Go back to the top directory and edit that Makefile, explaining where
  168. !     you want everything to be installed.  Make sure that GAMEDIR is the
  169. !     same value as HACKDIR in config.h.  The Makefile assumes you want to
  170.       run NetHack setuid 'games' to cut down on possible tampering; it's
  171.       fairly straightforward to comment out the appropriate chmod if you
  172.       don't want that, or to change any of the rest of the procedure.  (Note
  173. --- 52,59 ----
  174.       coffee or take a nap.  You should now have created the game executable.
  175.   
  176.   7.  Go back to the top directory and edit that Makefile, explaining where
  177. !     you want everything to be installed.  Make sure that you follow the
  178. !     comments about setting GAMEDIR.  The Makefile assumes you want to
  179.       run NetHack setuid 'games' to cut down on possible tampering; it's
  180.       fairly straightforward to comment out the appropriate chmod if you
  181.       don't want that, or to change any of the rest of the procedure.  (Note
  182. ***************
  183. *** 68,74 ****
  184.   Notes:
  185.   
  186.   1.  Save files and bones files from previous versions will not work with
  187. !     NetHack 3.1.  Don't bother trying to keep them.  
  188.   
  189.   2.  To install an update of this version of NetHack after changing something,
  190.       type 'make update' from the main directory.  If you created the new
  191. --- 68,74 ----
  192.   Notes:
  193.   
  194.   1.  Save files and bones files from previous versions will not work with
  195. !     NetHack 3.1.2.  Don't bother trying to keep them.
  196.   
  197.   2.  To install an update of this version of NetHack after changing something,
  198.       type 'make update' from the main directory.  If you created the new
  199. ***************
  200. *** 86,100 ****
  201.       NetHack on a bunch of workstations, but you have overlooked the NETWORK
  202.       definition in unixconf.h that is necessary in that configuration.
  203.   
  204. ! 5.  A number of systems, such as Xenix, support both the termcap and terminfo
  205. !     terminal capability libraries.  Make sure that the TERMINFO definition in
  206. !     config.h and the TERMLIB definition in the source Makefile correspond.
  207. !     If spurious characters appear on the screen while kicking, zapping, etc.,
  208. !     it is likely that you have linked the source to the wrong library or
  209. !     mistakenly defined/undefined TERMINFO.  If your terminal library does not
  210. !     provide suitable delays, NetHack will try to fake its own if you set the
  211. !     nonull option.
  212.   
  213.   6.  Since NetHack overflows the stock C preprocessors for AT&T 3b1 and 3b2
  214.       systems ("too many defines"), we are including an alternate preprocessor
  215.       to allow these folks to compile.  This is the DECUS cpp by Martin Minow,
  216. --- 86,101 ----
  217.       NetHack on a bunch of workstations, but you have overlooked the NETWORK
  218.       definition in unixconf.h that is necessary in that configuration.
  219.   
  220. ! 5.  If spurious characters appear on the screen while throwing, kicking,
  221. !     zapping, etc., it is likely that you have linked the source to the wrong
  222. !     library or mistakenly defined/undefined TERMINFO.  A number of systems,
  223. !     such as Xenix, support both the termcap and terminfo terminal capability
  224. !     libraries.  In such cases, the TERMINFO definition in config.h and the
  225. !     WINTTYLIB definition in the source Makefile must correspond.
  226.   
  227. +     If your terminal library does not provide suitable delays, NetHack will
  228. +     try to fake its own if you set the nonull option.
  229.   6.  Since NetHack overflows the stock C preprocessors for AT&T 3b1 and 3b2
  230.       systems ("too many defines"), we are including an alternate preprocessor
  231.       to allow these folks to compile.  This is the DECUS cpp by Martin Minow,
  232. ***************
  233. *** 200,208 ****
  234.       compiler, /usr/bin/cc, or gcc, but _not_ ucbcc.  The lattermost will
  235.       not work.  After this, you should get a clean compile.
  236.   
  237. ! 14. If your machine is a 286, 386, or 486 running System V UNIX at Release
  238. !     3.2 or later, you may wish to install the console speaker driver included
  239. !     in sys/unix/snd86unx.shr.  This will allow audible music to be played
  240.       on your console speaker in certain appropriate game situations.  The only
  241.       modification to the main-line code needed to enable use of the driver
  242. !     is defining SYSV386MUSIC in unixconf.h.
  243. --- 201,209 ----
  244.       compiler, /usr/bin/cc, or gcc, but _not_ ucbcc.  The lattermost will
  245.       not work.  After this, you should get a clean compile.
  246.   
  247. ! 14. If your machine is a 286, 386, or 486 running an appropriate OS, you
  248. !     may wish to use the console speaker driver included in
  249. !     sys/unix/snd86unx.shr.  This will allow audible music to be played
  250.       on your console speaker in certain appropriate game situations.  The only
  251.       modification to the main-line code needed to enable use of the driver
  252. !     is defining UNIX386MUSIC or VPIX_MUSIC in unixconf.h.
  253. *** /tmp/da12817    Tue Jun  1 17:32:55 1993
  254. --- sys/unix/Makefile.src    Fri May 28 14:52:33 1993
  255. ***************
  256. *** 300,306 ****
  257.       $(CC) $(CFLAGS) -c objects.c
  258.       @rm -f $(MAKEDEFS)
  259.   
  260. ! $(MAKEDEFS): ../util/makedefs.c  ../include/artilist.h
  261.       @( cd ../util ; $(MAKE) makedefs)
  262.   
  263.   ../include/onames.h: $(MAKEDEFS)
  264. --- 300,308 ----
  265.       $(CC) $(CFLAGS) -c objects.c
  266.       @rm -f $(MAKEDEFS)
  267.   
  268. ! # need those include files not in monst.c/objects.c dependencies below
  269. ! $(MAKEDEFS): ../util/makedefs.c  ../include/artilist.h ../include/patchlevel.h \
  270. !         ../include/qtext.h
  271.       @( cd ../util ; $(MAKE) makedefs)
  272.   
  273.   ../include/onames.h: $(MAKEDEFS)
  274. ***************
  275. *** 528,538 ****
  276.   mplayer.o:  ../include/hack.h
  277.   mthrowu.o:  ../include/hack.h
  278.   muse.o:  ../include/hack.h
  279. ! music.o:  ../include/hack.h
  280.   o_init.o:  ../include/hack.h
  281.   objects.o:  ../include/config.h ../include/obj.h ../include/objclass.h ../include/prop.h ../include/color.h objects.c
  282.   objnam.o:  ../include/hack.h
  283. ! options.o:  ../include/hack.h ../include/termcap.h
  284.   pager.o:  ../include/hack.h
  285.   pickup.o:  ../include/hack.h
  286.   pline.o:  ../include/hack.h ../include/epri.h
  287. --- 530,540 ----
  288.   mplayer.o:  ../include/hack.h
  289.   mthrowu.o:  ../include/hack.h
  290.   muse.o:  ../include/hack.h
  291. ! music.o:  ../include/hack.h #interp.c
  292.   o_init.o:  ../include/hack.h
  293.   objects.o:  ../include/config.h ../include/obj.h ../include/objclass.h ../include/prop.h ../include/color.h objects.c
  294.   objnam.o:  ../include/hack.h
  295. ! options.o:  ../include/config.h ../include/objclass.h ../include/flag.h ../include/hack.h ../include/termcap.h
  296.   pager.o:  ../include/hack.h
  297.   pickup.o:  ../include/hack.h
  298.   pline.o:  ../include/hack.h ../include/epri.h
  299. ***************
  300. *** 552,558 ****
  301.   shk.o:  ../include/hack.h ../include/eshk.h
  302.   shknam.o:  ../include/hack.h ../include/eshk.h
  303.   sit.o:  ../include/hack.h ../include/artifact.h
  304. ! sounds.o:  ../include/hack.h ../include/edog.h ../include/eshk.h
  305.   sp_lev.o:  ../include/hack.h ../include/sp_lev.h ../include/rect.h
  306.   spell.o:  ../include/hack.h
  307.   steal.o:  ../include/hack.h
  308. --- 554,560 ----
  309.   shk.o:  ../include/hack.h ../include/eshk.h
  310.   shknam.o:  ../include/hack.h ../include/eshk.h
  311.   sit.o:  ../include/hack.h ../include/artifact.h
  312. ! sounds.o:  ../include/hack.h ../include/edog.h
  313.   sp_lev.o:  ../include/hack.h ../include/sp_lev.h ../include/rect.h
  314.   spell.o:  ../include/hack.h
  315.   steal.o:  ../include/hack.h
  316. ***************
  317. *** 607,613 ****
  318.       touch ../include/mondata.h
  319.   ../include/monst.h:  ../include/align.h
  320.       touch ../include/monst.h
  321. ! ../include/os2conf.h:  ../include/pcconf.h
  322.       touch ../include/os2conf.h
  323.   ../include/pcconf.h:  ../include/micro.h ../include/system.h
  324.       touch ../include/pcconf.h
  325. --- 609,615 ----
  326.       touch ../include/mondata.h
  327.   ../include/monst.h:  ../include/align.h
  328.       touch ../include/monst.h
  329. ! ../include/os2conf.h:  ../include/micro.h ../include/system.h
  330.       touch ../include/os2conf.h
  331.   ../include/pcconf.h:  ../include/micro.h ../include/system.h
  332.       touch ../include/pcconf.h
  333. *** /tmp/da12833    Tue Jun  1 17:32:59 1993
  334. --- sys/unix/Makefile.utl    Tue May 25 14:59:40 1993
  335. ***************
  336. *** 101,107 ****
  337. --- 101,119 ----
  338.   # object files for recovery utility
  339.   RECOVOBJS = recover.o
  340.   
  341. + # flags for creating distribution versions of sys/share/*_lex.c, using
  342. + # a more portable flex skeleton, which is not included in the distribution.
  343. + # hopefully keeping this out of the section to be edited will keep too
  344. + # many people from being confused by it...
  345. + # FLEXDIST = -L -S../sys/share/flexhack.skel
  346. + FLEXDIST =
  347. + #
  348. + # flags for creating distribution versions of sys/share/*_yacc.c, without
  349. + # line numbers so patches from version to version are practical
  350. + # YACCDIST = -l
  351. + YACCDIST =
  352.   
  353.   #    dependencies for makedefs
  354.   #
  355.   makedefs:    $(MAKEOBJS)
  356. ***************
  357. *** 108,114 ****
  358.       $(CC) $(LFLAGS) -o makedefs $(MAKEOBJS)
  359.   
  360.   makedefs.o:  ../include/config.h ../include/permonst.h ../include/objclass.h \
  361. !         ../include/monsym.h ../include/artilist.h ../include/qtext.h
  362.   
  363.   ../include/onames.h: makedefs
  364.       ./makedefs -o
  365. --- 120,127 ----
  366.       $(CC) $(LFLAGS) -o makedefs $(MAKEOBJS)
  367.   
  368.   makedefs.o:  ../include/config.h ../include/permonst.h ../include/objclass.h \
  369. !         ../include/monsym.h ../include/artilist.h \
  370. !         ../include/patchlevel.h ../include/qtext.h
  371.   
  372.   ../include/onames.h: makedefs
  373.       ./makedefs -o
  374. ***************
  375. *** 150,161 ****
  376.   ../include/lev_comp.h: lev_yacc.c
  377.   
  378.   lev_yacc.c: lev_comp.y
  379. !     $(YACC) -d lev_comp.y
  380.       mv $(YTABC) lev_yacc.c
  381.       mv $(YTABH) ../include/lev_comp.h
  382.   
  383.   lev_lex.c: lev_comp.l
  384. !     $(LEX) lev_comp.l
  385.       mv $(LEXYYC) lev_lex.c
  386.   
  387.   # with all of extern.h's functions to complain about, we drown in
  388. --- 163,174 ----
  389.   ../include/lev_comp.h: lev_yacc.c
  390.   
  391.   lev_yacc.c: lev_comp.y
  392. !     $(YACC) $(YACCDIST) -d lev_comp.y
  393.       mv $(YTABC) lev_yacc.c
  394.       mv $(YTABH) ../include/lev_comp.h
  395.   
  396.   lev_lex.c: lev_comp.l
  397. !     $(LEX) $(FLEXDIST) lev_comp.l
  398.       mv $(LEXYYC) lev_lex.c
  399.   
  400.   # with all of extern.h's functions to complain about, we drown in
  401. ***************
  402. *** 181,192 ****
  403.   ../include/dgn_comp.h: dgn_yacc.c
  404.   
  405.   dgn_yacc.c: dgn_comp.y
  406. !     $(YACC) -d dgn_comp.y
  407.       mv $(YTABC) dgn_yacc.c
  408.       mv $(YTABH) ../include/dgn_comp.h
  409.   
  410.   dgn_lex.c: dgn_comp.l
  411. !     $(LEX) dgn_comp.l
  412.       mv $(LEXYYC) dgn_lex.c
  413.   
  414.   # with all of extern.h's functions to complain about, we drown in
  415. --- 194,205 ----
  416.   ../include/dgn_comp.h: dgn_yacc.c
  417.   
  418.   dgn_yacc.c: dgn_comp.y
  419. !     $(YACC) $(YACCDIST) -d dgn_comp.y
  420.       mv $(YTABC) dgn_yacc.c
  421.       mv $(YTABH) ../include/dgn_comp.h
  422.   
  423.   dgn_lex.c: dgn_comp.l
  424. !     $(LEX) $(FLEXDIST) dgn_comp.l
  425.       mv $(LEXYYC) dgn_lex.c
  426.   
  427.   # with all of extern.h's functions to complain about, we drown in
  428. *** /tmp/da12865    Tue Jun  1 17:33:10 1993
  429. --- sys/unix/ioctl.c    Tue May 11 10:05:06 1993
  430. ***************
  431. *** 23,29 ****
  432.   #   include <sys/ttold.h>    /* define struct ltchars */
  433.   #   include <sys/bsdioctl.h>    /* define TIOGWINSZ */
  434.   #  else
  435. ! #   include <sgtty.h>
  436.   #  endif
  437.   # endif
  438.   struct ltchars ltchars;
  439. --- 23,33 ----
  440.   #   include <sys/ttold.h>    /* define struct ltchars */
  441.   #   include <sys/bsdioctl.h>    /* define TIOGWINSZ */
  442.   #  else
  443. ! #   ifdef LINUX
  444. ! #    include <bsd/sgtty.h>
  445. ! #   else
  446. ! #    include <sgtty.h>
  447. ! #   endif
  448.   #  endif
  449.   # endif
  450.   struct ltchars ltchars;
  451. ***************
  452. *** 58,63 ****
  453. --- 62,72 ----
  454.   #include "termcap.h"    /* for LI and CO */
  455.   #endif
  456.   
  457. + #ifdef _M_UNIX
  458. + extern void NDECL(sco_mapon);
  459. + extern void NDECL(sco_mapoff);
  460. + #endif
  461.   #ifdef AUX
  462.   void *
  463.   catch_stp ( )
  464. ***************
  465. *** 133,158 ****
  466.   #endif
  467.   }
  468.   
  469. ! #ifdef SUSPEND        /* Does not imply BSD */
  470.   int
  471.   dosuspend()
  472.   {
  473. ! #ifdef SIGTSTP
  474.       if(signal(SIGTSTP, SIG_IGN) == SIG_DFL) {
  475.           suspend_nhwindows(NULL);
  476.           (void) signal(SIGTSTP, SIG_DFL);
  477. ! #ifdef AUX
  478.           ( void ) kill ( 0 , SIGSTOP ) ;
  479. ! #else
  480.           (void) kill(0, SIGTSTP);
  481. ! #endif
  482.           resume_nhwindows();
  483.       } else {
  484.           pline("I don't think your shell has job control.");
  485.       }
  486. ! #else
  487.       pline("Sorry, it seems we have no SIGTSTP here.  Try ! or S.");
  488. ! #endif
  489.       return(0);
  490.   }
  491.   #endif /* SUSPEND */
  492. --- 142,173 ----
  493.   #endif
  494.   }
  495.   
  496. ! #ifdef SUSPEND        /* No longer implies BSD */
  497.   int
  498.   dosuspend()
  499.   {
  500. ! # ifdef SIGTSTP
  501.       if(signal(SIGTSTP, SIG_IGN) == SIG_DFL) {
  502.           suspend_nhwindows(NULL);
  503. + #  ifdef _M_UNIX
  504. +         sco_mapon();
  505. + #  endif
  506.           (void) signal(SIGTSTP, SIG_DFL);
  507. ! #  ifdef AUX
  508.           ( void ) kill ( 0 , SIGSTOP ) ;
  509. ! #  else
  510.           (void) kill(0, SIGTSTP);
  511. ! #  endif
  512. ! #  ifdef _M_UNIX
  513. !         sco_mapoff();
  514. ! #  endif
  515.           resume_nhwindows();
  516.       } else {
  517.           pline("I don't think your shell has job control.");
  518.       }
  519. ! # else
  520.       pline("Sorry, it seems we have no SIGTSTP here.  Try ! or S.");
  521. ! # endif
  522.       return(0);
  523.   }
  524.   #endif /* SUSPEND */
  525. *** /tmp/da12897    Tue Jun  1 17:33:18 1993
  526. --- sys/unix/unixmain.c    Fri Apr 23 17:50:09 1993
  527. ***************
  528. *** 12,18 ****
  529.   #include <fcntl.h>
  530.   #endif
  531.   
  532. ! #if !defined(_BULL_SOURCE) && !defined(sgi)
  533.   # if defined(POSIX_TYPES) || defined(SVR4) || defined(HPUX)
  534.   extern struct passwd *FDECL(getpwuid,(uid_t));
  535.   # else
  536. --- 12,18 ----
  537.   #include <fcntl.h>
  538.   #endif
  539.   
  540. ! #if !defined(_BULL_SOURCE) && !defined(sgi) && !defined(_M_UNIX)
  541.   # if defined(POSIX_TYPES) || defined(SVR4) || defined(HPUX)
  542.   extern struct passwd *FDECL(getpwuid,(uid_t));
  543.   # else
  544. ***************
  545. *** 26,31 ****
  546. --- 26,36 ----
  547.   static boolean whoami();
  548.   static void FDECL(process_options, (int, char **));
  549.   
  550. + #ifdef _M_UNIX
  551. + extern void NDECL(check_sco_console);
  552. + extern void NDECL(init_sco_cons);
  553. + #endif
  554.   int
  555.   main(argc,argv)
  556.   int argc;
  557. ***************
  558. *** 87,95 ****
  559. --- 92,106 ----
  560.           }
  561.       }
  562.   
  563. + #ifdef _M_UNIX
  564. +     check_sco_console();
  565. + #endif
  566.       initoptions();
  567.       init_nhwindows();
  568.       exact_username = whoami();
  569. + #ifdef _M_UNIX
  570. +     init_sco_cons();
  571. + #endif
  572.   
  573.       /*
  574.        * It seems you really want to play.
  575. *** /tmp/da12905    Tue Jun  1 17:33:20 1993
  576. --- sys/unix/unixtty.c    Fri Apr 23 17:56:14 1993
  577. ***************
  578. *** 303,308 ****
  579. --- 303,369 ----
  580.   #endif
  581.   }
  582.   
  583. + #ifdef _M_UNIX        /* SCO UNIX (3.2.4), from Andreas Arens */
  584. + #include <sys/console.h>
  585. + #define BSIZE (E_TABSZ*2)
  586. + #define LDIOC ('D'<<8)        /* POSIX prevents definition */
  587. + #include <sys/emap.h>
  588. + int sco_flag_console = 0;
  589. + int sco_map_valid = -1;
  590. + unsigned char sco_chanmap_buf[BSIZE];
  591. + void
  592. + check_sco_console()
  593. + {
  594. +     if (isatty(0) && ioctl(0,CONS_GET,0) != -1) {
  595. +         sco_flag_console = 1; 
  596. +     }
  597. + }
  598. + void
  599. + init_sco_cons()
  600. + {
  601. + # ifdef TTY_GRAPHICS
  602. +     if (!strcmp(windowprocs.name, "tty") && sco_flag_console) {
  603. +         atexit(sco_mapon);
  604. +         sco_mapoff();
  605. +         switch_graphics(IBM_GRAPHICS);
  606. +         if (has_colors())
  607. +             flags.use_color = TRUE;
  608. +     }
  609. + # endif
  610. + }
  611. + void
  612. + sco_mapon()
  613. + {
  614. + # ifdef TTY_GRAPHICS
  615. +     if (!strcmp(windowprocs.name, "tty") && sco_flag_console) {
  616. +         if (sco_map_valid != -1) {
  617. +             ioctl(0,LDSMAP,sco_chanmap_buf);
  618. +         }
  619. +         sco_map_valid = -1;
  620. +     }
  621. + # endif
  622. + }
  623. + void
  624. + sco_mapoff()
  625. + {
  626. + # ifdef TTY_GRAPHICS
  627. +     if (!strcmp(windowprocs.name, "tty") && sco_flag_console) {
  628. +         sco_map_valid = ioctl(0,LDGMAP,sco_chanmap_buf);
  629. +         if (sco_map_valid != -1) {
  630. +             ioctl(0,LDNMAP,NULL);
  631. +         }
  632. +     }
  633. + # endif
  634. + }
  635. + #endif    /* _M_UNIX */
  636.   
  637.   /* fatal error */
  638.   /*VARARGS1*/
  639. *** /tmp/da12913    Tue Jun  1 17:33:22 1993
  640. --- sys/unix/unixunix.c    Fri Apr 23 17:51:41 1993
  641. ***************
  642. *** 16,21 ****
  643. --- 16,26 ----
  644.   #include <sys/wait.h>
  645.   #endif
  646.   
  647. + #ifdef _M_UNIX
  648. + extern void NDECL(sco_mapon);
  649. + extern void NDECL(sco_mapoff);
  650. + #endif
  651.   static struct stat buf, hbuf;
  652.   
  653.   void
  654. ***************
  655. *** 297,302 ****
  656. --- 302,310 ----
  657.   {
  658.       register int f;
  659.       suspend_nhwindows(NULL);    /* also calls end_screen() */
  660. + #ifdef _M_UNIX
  661. +     sco_mapon();
  662. + #endif
  663.       if((f = fork()) == 0){        /* child */
  664.           (void) setgid(getgid());
  665.           (void) setuid(getuid());
  666. ***************
  667. *** 313,318 ****
  668. --- 321,329 ----
  669.       (void) signal(SIGINT,SIG_IGN);
  670.       (void) signal(SIGQUIT,SIG_IGN);
  671.       (void) wait( (int *) 0);
  672. + #ifdef _M_UNIX
  673. +     sco_mapoff();
  674. + #endif
  675.       (void) signal(SIGINT, (SIG_RET_TYPE) done1);
  676.   #ifdef WIZARD
  677.       if(wizard) (void) signal(SIGQUIT,SIG_DFL);
  678. *** /tmp/da12667    Tue Jun  1 17:32:15 1993
  679. --- sys/os2/Makefile.os2    Fri May 21 11:37:22 1993
  680. ***************
  681. *** 1,4 ****
  682. ! #    SCCS Id: @(#)Makefile.os2    3.1    93/02/02
  683.   #    OS/2 NetHack 3.1 Makefile for OS/2 versions 1.x and 2.x
  684.   #    Copyright (C) 1990, 1991, 1992, 1993 Timo Hakulinen
  685.   #
  686. --- 1,4 ----
  687. ! #    SCCS Id: @(#)Makefile.os2    3.1    93/05/05
  688.   #    OS/2 NetHack 3.1 Makefile for OS/2 versions 1.x and 2.x
  689.   #    Copyright (C) 1990, 1991, 1992, 1993 Timo Hakulinen
  690.   #
  691. ***************
  692. *** 61,67 ****
  693.   #    for NMAKE (MSC, CSet/2), and the lowermost eight for DMAKE.
  694.   #
  695.   
  696. ! #MAKEB    = ndmake    # Executable name
  697.   #CMD    =        # Command processor name if required
  698.   #AB    = $*.c        # Base name of the target in target action
  699.   #CB    = $*.c        #               - " -               dependent
  700. --- 61,67 ----
  701.   #    for NMAKE (MSC, CSet/2), and the lowermost eight for DMAKE.
  702.   #
  703.   
  704. ! #MAKEB    = ndmake    # Executable name (change if necessary)
  705.   #CMD    =        # Command processor name if required
  706.   #AB    = $*.c        # Base name of the target in target action
  707.   #CB    = $*.c        #               - " -               dependent
  708. ***************
  709. *** 89,100 ****
  710.   #
  711.   #    Most makes execute actions automatically inside a subshell,
  712.   #    which makes even the shell internals work ok.  This applies
  713. ! #    for NDMAKE and NMAKE.  DMAKE wants it spelled out for it.
  714.   #
  715.   
  716.   ECHO    = $(CMD) @echo
  717.   RM    = $(CMD) del
  718.   CP    = $(CMD) copy
  719.   
  720.   #
  721.   #    For those of us who have these on PC.
  722. --- 89,101 ----
  723.   #
  724.   #    Most makes execute actions automatically inside a subshell,
  725.   #    which makes even the shell internals work ok.  This applies
  726. ! #    to NDMAKE and NMAKE.  DMAKE wants it spelled out for it.
  727.   #
  728.   
  729.   ECHO    = $(CMD) @echo
  730.   RM    = $(CMD) del
  731.   CP    = $(CMD) copy
  732. + CAT    = $(CMD) type
  733.   
  734.   #
  735.   #    For those of us who have these on PC.
  736. ***************
  737. *** 118,123 ****
  738. --- 119,130 ----
  739.   LATEX    = latex
  740.   
  741.   #
  742. + #    If you have TOUCH, some things become slightly easier.
  743. + #
  744. + TOUCH    = touch
  745. + #
  746.   #    Standard file naming for LEX and YACC output may vary in PC
  747.   #    installations.  These three are probably the most generally used
  748.   #    names.
  749. ***************
  750. *** 182,192 ****
  751.   #    large model compiler, debug flags, ANSI conformance.
  752.   #
  753.   #    GCC: compile only, compiler id, object format selection, warnings,
  754. ! #    include file path, ANSI conformance.
  755.   #
  756.   #    CSet/2: compile only, compiler id, migration lib, remove stack probes,
  757.   #    force intra 64K alignment for data, force optlink linkage on function
  758. ! #    calls, warning level, include files, ANSI conformance.
  759.   #
  760.   
  761.   CFLAGS    = /c /DOS2_MSC /AL /O /Gs /G2 /Gt10 /Zp1 /FPi $(WARN) /I$(INCL) $(BIGC) $(CDFLAGS) $(STDC)
  762. --- 189,199 ----
  763.   #    large model compiler, debug flags, ANSI conformance.
  764.   #
  765.   #    GCC: compile only, compiler id, object format selection, warnings,
  766. ! #    include file path, debug flags, ANSI conformance.
  767.   #
  768.   #    CSet/2: compile only, compiler id, migration lib, remove stack probes,
  769.   #    force intra 64K alignment for data, force optlink linkage on function
  770. ! #    calls, warning level, include file path, debug flags, ANSI conformance.
  771.   #
  772.   
  773.   CFLAGS    = /c /DOS2_MSC /AL /O /Gs /G2 /Gt10 /Zp1 /FPi $(WARN) /I$(INCL) $(BIGC) $(CDFLAGS) $(STDC)
  774. ***************
  775. *** 328,336 ****
  776.   #WINCC    = $(B) cd $(WIN) $(S) $(CC) $(CFLAGS) $(O) $@ $(AB) $(E)
  777.   
  778.   #
  779. ! #    Default linker skeletons.  Upper four lines for everything
  780.   #    that uses standard OS/2 object format (MSC, CSet/2, GCC OMF),
  781. ! #    lower four for GCC a.out format.
  782.   #
  783.   
  784.   GAMELN    = $(LINK) @$(TEMP)\$(GAME).rsp
  785. --- 335,343 ----
  786.   #WINCC    = $(B) cd $(WIN) $(S) $(CC) $(CFLAGS) $(O) $@ $(AB) $(E)
  787.   
  788.   #
  789. ! #    Default linker skeletons.  The upper four lines for everything
  790.   #    that uses standard OS/2 object format (MSC, CSet/2, GCC OMF),
  791. ! #    the lower four for GCC a.out format.
  792.   #
  793.   
  794.   GAMELN    = $(LINK) @$(TEMP)\$(GAME).rsp
  795. ***************
  796. *** 412,417 ****
  797. --- 419,425 ----
  798.   #
  799.   #    A straight tty port using no native windowing system is the
  800.   #    only choice for now.
  801. + #
  802.   
  803.   WINOBJ = $(OBJ)\getline.o $(OBJ)\termcap.o $(OBJ)\topl.o $(OBJ)\wintty.o
  804.   
  805. ***************
  806. *** 438,443 ****
  807. --- 446,460 ----
  808.   #do_lex :  lex_act    #    - " -
  809.   
  810.   #
  811. + #    If you have the TOUCH utility the upper line is ok.  Otherwise
  812. + #    the lower one does the same albeit in an ugly manner.  Besides,
  813. + #    the latter method only works for text files.
  814. + #
  815. + #do_touch : realtouch
  816. + do_touch : faketouch
  817. + #
  818.   #    If you don't have uudecode program, use the upper line.
  819.   #    If you still want the icon, you'll have to extract the
  820.   #    file manually somewhere else.
  821. ***************
  822. *** 448,454 ****
  823.   
  824.   #
  825.   #    If you don't want to generate nethack.cmd, use the upper line.
  826. ! #    This could be the case, e.g., if you use different shell than
  827.   #    the standard cmd.exe.
  828.   #
  829.   
  830. --- 465,471 ----
  831.   
  832.   #
  833.   #    If you don't want to generate nethack.cmd, use the upper line.
  834. ! #    This could be the case, e.g., if you use a different shell than
  835.   #    the standard cmd.exe.
  836.   #
  837.   
  838. ***************
  839. *** 720,725 ****
  840. --- 737,744 ----
  841.   yacc_cpy :
  842.       $(CP) $(SSYS)\$(YY)_yacc.c $(UTIL)
  843.       $(CP) $(SSYS)\$(YY)_comp.h $(INCL)
  844. +     $(MAKEB) TT=$(UTIL)\$(YY)_yacc.c do_touch
  845. +     $(MAKEB) TT=$(INCL)\$(YY)_comp.h do_touch
  846.   
  847.   yacc_msg :
  848.       $(ECHO) $(YY)_comp.y has changed. To update $(YY)_yacc.c and $(YY)_comp.h run $(YACC).
  849. ***************
  850. *** 733,738 ****
  851. --- 752,758 ----
  852.   
  853.   lex_cpy :
  854.       $(CP) $(SSYS)\$(YY)_lex.c $(UTIL)
  855. +     $(MAKEB) TT=$(UTIL)\$(YY)_lex.c do_touch
  856.   
  857.   lex_msg :
  858.       $(ECHO) $(YY)_comp.l has changed. To update $(YY)_lex.c run $(LEX).
  859. ***************
  860. *** 741,746 ****
  861. --- 761,776 ----
  862.       $(LEX) $(UTIL)\$(YY)_comp.l
  863.       $(CP) $(LEXYYC) $(UTIL)\$(YY)_lex.c
  864.       $(RM) $(LEXYYC)
  865. + #
  866. + #    Why must this be so kludgy?
  867. + #
  868. + realtouch :
  869. +     $(TOUCH) $(TT)
  870. + faketouch :
  871. +     $(B) $(CAT) $(TT) > $(TEMP)\foo.bar $(S) $(CP) $(TEMP)\foo.bar $(TT) $(S) $(RM) $(TEMP)\foo.bar $(E)
  872.   
  873.   #
  874.   #    Targets for the recovery utility.
  875.