home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!news.tek.com!saab!billr
- From: billr@saab.CNA.TEK.COM (Bill Randle)
- Newsgroups: comp.sources.games
- Subject: v18i034: nethack31 - display oriented dungeons & dragons (Ver. 3.1), Patch3a/18
- Date: 20 Jul 1993 22:24:42 GMT
- Organization: Tektronix, Inc, Redmond, OR, USA
- Lines: 1787
- Approved: billr@saab.CNA.TEK.COM
- Message-ID: <22hrba$9m2@ying.cna.tek.com>
- NNTP-Posting-Host: saab.cna.tek.com
- Xref: uunet comp.sources.games:1834
-
- Submitted-by: izchak@linc.cis.upenn.edu (Izchak Miller)
- Posting-number: Volume 18, Issue 34
- Archive-name: nethack31/patch3a
- Patch-To: nethack31: Volume 16, Issue 1-116
- Environment: Amiga, Atari, Mac, MS-DOS, Windows-NT, OS2, Unix, VMS, X11
-
- [Here's patch 3 to nethack3.1 in a series of 18 shar files. There
- are both new files, replacement files and patch files. Run the
- 'patchit3.sh' script after unpacking everything to apply the patches.
- You may then want to go in and cleanup things by removing the .orig
- files. -br]
-
- [From the development team:]
- [[Mac windowing was further revised, and the Macintosh code was ported to
- Think C by Barton House. Amiga windowing was also touched up.
-
- The MSDOS black/gray/white intensities were changed again to avoid
- confusing displays on some PC hardware. New video options were added
- to allow configuration around any other oddities.
-
- Bugs were fixed. In particular, an elusive bug dealing with horns of
- plenty was finally found, along with a couple VMS-specific ones such as
- fetching some bones files. A number of messages were revised and updated
- as well.
-
- Bones files and saved NetHack 3.1.2 games will not work with NetHack 3.1.3.
- Delete them, to avoid problems.]]
-
-
- #! /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 18)."
- # Contents: MANIFEST_P3 dat include patches03d sys sys/amiga sys/mac
- # sys/msdos sys/share sys/unix
- # Wrapped by billr@saab on Tue Jul 20 14:57:18 1993
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'MANIFEST_P3' -a "${1}" != "-c" ; then
- echo shar: Renaming existing file \"'MANIFEST_P3'\" to \"'MANIFEST_P3.orig'\"
- mv -f 'MANIFEST_P3' 'MANIFEST_P3.orig'
- fi
- echo shar: Extracting \"'MANIFEST_P3'\" \(1416 characters\)
- sed "s/^X//" >'MANIFEST_P3' <<'END_OF_FILE'
- X File Name Archive # Description
- X-----------------------------------------------------------
- X MANIFEST_P3 1 This shipping list
- X UPDATE3 3
- X dat 1
- X dat/quest.txt1 8
- X dat/quest.txt2 9
- X include 1
- X include/unixconf.h 6
- X patches03a 5
- X patches03b 3
- X patches03c 2
- X patches03d 1
- X patches03e 4
- X patches03f.uu1 10
- X patches03f.uu2 11
- X patches03g 16
- X patches03h 6
- X patchit3.sh 7
- X sys 1
- X sys/amiga 1
- X sys/amiga/amifont8.uu 5
- X sys/mac 1
- X sys/mac/DCproj.hqx 12
- X sys/mac/Install.thk 8
- X sys/mac/LCproj.hqx 14
- X sys/mac/MDproj.hqx 9
- X sys/mac/NHproj.hqx1 12
- X sys/mac/NHproj.hqx2 13
- X sys/mac/NHrsrc.hqx 17
- X sys/mac/NetHack.r 6
- X sys/mac/macmenu.c 15
- X sys/msdos 1
- X sys/msdos/MakeGCC.src 7
- X sys/msdos/msdos.hlp 4
- X sys/share 1
- X sys/share/NOTE 2
- X sys/share/dgn_comp.h 7
- X sys/share/dgn_yacc.c 15
- X sys/share/lev_comp.h 3
- X sys/share/lev_yacc.c1 7
- X sys/share/lev_yacc.c2 18
- X sys/unix 1
- X sys/unix/snd86unx.shr 17
- END_OF_FILE
- if test 1416 -ne `wc -c <'MANIFEST_P3'`; then
- echo shar: \"'MANIFEST_P3'\" unpacked with wrong size!
- fi
- # end of 'MANIFEST_P3'
- if test ! -d 'dat' ; then
- echo shar: Creating directory \"'dat'\"
- mkdir 'dat'
- fi
- if test ! -d 'include' ; then
- echo shar: Creating directory \"'include'\"
- mkdir 'include'
- fi
- if test -f 'patches03d' -a "${1}" != "-c" ; then
- echo shar: Renaming existing file \"'patches03d'\" to \"'patches03d.orig'\"
- mv -f 'patches03d' 'patches03d.orig'
- fi
- echo shar: Extracting \"'patches03d'\" \(53022 characters\)
- sed "s/^X//" >'patches03d' <<'END_OF_FILE'
- X*** /tmp/da20422 Mon Jul 12 17:29:30 1993
- X--- ./Files Fri Jul 9 15:44:08 1993
- X***************
- X*** 94,101 ****
- X
- X sys/mac:
- X (files for Macintosh versions)
- X! Install.mpw MacHelp NHDeflts NHmake.hqx NHrez.hqx
- X! NHrsrc.hqx NHsound.hqx News dprintf.c hack.h
- X maccurs.c macerrs.c macfile.c macmain.c macmenu.c
- X macsnd.c mactopl.c mactty.c macunix.c macwin.c
- X mgetline.c mhdump.c mmodal.c mrecover.c mrecover.hqx
- X--- 94,102 ----
- X
- X sys/mac:
- X (files for Macintosh versions)
- X! DCproj.hqx Install.mpw Install.thk MacHelp LCproj.hqx
- X! MDproj.hqx NHDeflts NHmake.hqx NHproj.hqx NHrsrc.hqx
- X! NHsound.hqx NetHack.r News dprintf.c hack.h
- X maccurs.c macerrs.c macfile.c macmain.c macmenu.c
- X macsnd.c mactopl.c mactty.c macunix.c macwin.c
- X mgetline.c mhdump.c mmodal.c mrecover.c mrecover.hqx
- X***************
- X*** 105,112 ****
- X (files for MSDOS version)
- X Install.dos MakeGCC.src MakeGCC.utl MakeMSC.src MakeMSC.utl
- X Makefile.dat exesmurf.c exesmurf.doc maintovl.doc msdos.c
- X! ovlmgr.asm ovlmgr.doc ovlmgr.uu setup.bat trampoli.c
- X! video.c
- X (files for running MSDOS binary under Windows)
- X nhico.uu nhpif.uu
- X
- X--- 106,113 ----
- X (files for MSDOS version)
- X Install.dos MakeGCC.src MakeGCC.utl MakeMSC.src MakeMSC.utl
- X Makefile.dat exesmurf.c exesmurf.doc maintovl.doc msdos.c
- X! msdos.hlp ovlmgr.asm ovlmgr.doc ovlmgr.uu setup.bat
- X! trampoli.c video.c
- X (files for running MSDOS binary under Windows)
- X nhico.uu nhpif.uu
- X
- X*** /tmp/da20638 Mon Jul 12 17:30:24 1993
- X--- dat/history Mon Jul 12 13:14:37 1993
- X***************
- X*** 52,64 ****
- X Norm Meluch and Kevin Smolkowski, with help from Carl Schelin, Stephen
- X Spackman, Steve VanDevender, and Paul Winner, ported NetHack 3.1 to the PC.
- X
- X! Jon W{tte, with help from Ross Brown, Mike Engber, David Hairston, Michael
- X! Hamel, Jonathan Handler, Johnny Lee, Tim Lennan, Rob Menke, Andy Swanson, and
- X! especially from Hao-yang Wang, developed NetHack 3.1 for the Macintosh.
- X
- X Timo Hakulinen ported NetHack 3.1 to OS/2. Eric Smith ported NetHack 3.1
- X to the Atari. Pat Rankin, with help from Joshua Delahunty, is responsible
- X! for the VMS version of NetHack 3.1.
- X
- X Dean Luick, with help from David Cohrs, developed NetHack 3.1 for X11.
- X
- X--- 52,66 ----
- X Norm Meluch and Kevin Smolkowski, with help from Carl Schelin, Stephen
- X Spackman, Steve VanDevender, and Paul Winner, ported NetHack 3.1 to the PC.
- X
- X! Jon W{tte and Hao-yang Wang, with help from Ross Brown, Mike Engber, David
- X! Hairston, Michael Hamel, Jonathan Handler, Johnny Lee, Tim Lennan, Rob Menke,
- X! and Andy Swanson developed NetHack 3.1 for the Macintosh, porting it for
- X! MPW. Building on their development, Barton House added a Think C port.
- X
- X Timo Hakulinen ported NetHack 3.1 to OS/2. Eric Smith ported NetHack 3.1
- X to the Atari. Pat Rankin, with help from Joshua Delahunty, is responsible
- X! for the VMS version of NetHack 3.1. Michael Allison ported NetHack 3.1 to
- X! Windows NT.
- X
- X Dean Luick, with help from David Cohrs, developed NetHack 3.1 for X11.
- X
- X***************
- X*** 70,94 ****
- X in this, the list of Dungeoneers:
- X
- X Richard Addison Eric Hendrickson Mike Passaretti
- X! Tom Almy Bruce Holloway Pat Rankin
- X! Ken Arromdee Richard P. Hughey Eric S. Raymond
- X! Eric Backus Ari Huttunen Frederick Roeber
- X! John S. Bien John Kallen John Rupley
- X! Ralf Brown Del Lamb Carl Schelin
- X! Ross Brown Greg Laskin Olaf Seibert
- X! David Cohrs Johnny Lee Kevin Sitze
- X! Jean-Christophe Collet Tim Lennan Eric R. Smith
- X! Steve Creps Merlyn LeRoy Kevin Smolkowski
- X! Kevin Darcy Steve Linhart Michael Sokolov
- X! Matthew Day Ken Lorber Stephen Spackman
- X! Joshua Delahunty Dean Luick Andy Swanson
- X! Bill Dyer Benson I. Margulies Kevin Sweet
- X! Mike Engber Pierre Martineau Scott R. Turner
- X! Jochen Erwied Roland McGrath Steve VanDevender
- X! Mike Gallop Norm Meluch Janet Walz
- X! David Gentzel Rob Menke Hao-yang Wang
- X! Mark Gooderum Deron Meranda Jon W{tte
- X! David Hairston Bruce Mewborne Tom West
- X! Timo Hakulinen Izchak Miller Paul Winner
- X! Michael Hamel Gil Neiger Gregg Wonderly
- X Jonathan Handler Greg Olson
- X--- 72,97 ----
- X in this, the list of Dungeoneers:
- X
- X Richard Addison Eric Hendrickson Mike Passaretti
- X! Michael Allison Bruce Holloway Pat Rankin
- X! Tom Almy Barton House Eric S. Raymond
- X! Ken Arromdee Richard P. Hughey Frederick Roeber
- X! Eric Backus Ari Huttunen John Rupley
- X! John S. Bien John Kallen Carl Schelin
- X! Ralf Brown Del Lamb Olaf Seibert
- X! Ross Brown Greg Laskin Kevin Sitze
- X! David Cohrs Johnny Lee Eric R. Smith
- X! Jean-Christophe Collet Tim Lennan Kevin Smolkowski
- X! Steve Creps Merlyn LeRoy Michael Sokolov
- X! Kevin Darcy Steve Linhart Stephen Spackman
- X! Matthew Day Ken Lorber Andy Swanson
- X! Joshua Delahunty Dean Luick Kevin Sweet
- X! Bill Dyer Benson I. Margulies Scott R. Turner
- X! Mike Engber Pierre Martineau Steve VanDevender
- X! Jochen Erwied Roland McGrath Janet Walz
- X! Mike Gallop Norm Meluch Hao-yang Wang
- X! David Gentzel Rob Menke Jon W{tte
- X! Mark Gooderum Deron Meranda Tom West
- X! David Hairston Bruce Mewborne Paul Winner
- X! Timo Hakulinen Izchak Miller Gregg Wonderly
- X! Michael Hamel Gil Neiger
- X Jonathan Handler Greg Olson
- X*** /tmp/da20711 Mon Jul 12 17:30:48 1993
- X--- dat/rumors.fal Fri Jul 2 13:19:26 1993
- X***************
- X*** 256,262 ****
- X They say that minotaurs get lost outside of the mazes.
- X They say that most trolls are born again.
- X They say that naming your cat Garfield will make you more attractive.
- X- They say that no one has ever walked to hell.
- X They say that no one knows everything about everything in the dungeon.
- X They say that no one plays NetHack just for the fun of it.
- X They say that no one really subscribes to rec.games.hack.
- X--- 256,261 ----
- X***************
- X*** 275,281 ****
- X They say that queen bees get that way by eating royal jelly.
- X They say that reading a scare monster scroll is the same as saying Elbereth.
- X They say that real hackers always are controlled.
- X- They say that real hackers never burn in hell.
- X They say that real hackers never sleep.
- X They say that shopkeepers never carry more than 20 gold pieces, at night.
- X They say that shopkeepers never sell blessed potions of invisibility.
- X--- 274,279 ----
- X***************
- X*** 326,332 ****
- X They say that you should always store your tools in the cellar.
- X They say that you should be careful while climbing the ladder to success.
- X They say that you should call your armor `rustproof'.
- X- They say that you should keep your hands in your pockets around the gypsies.
- X They say that you should name your dog Spuds to have a cool pet.
- X They say that you should name your weapon after your first monster kill.
- X They say that you should never introduce a rope golem to a succubus.
- X--- 324,329 ----
- X***************
- X*** 351,357 ****
- X When in a maze follow the right wall and you will never get lost.
- X When you have a key, you don't have to wait for the guard.
- X Why are you wasting time reading fortunes?
- X- Why bother casting fireballs in hell?
- X Wish for a master key and open the Magic Memory Vault!
- X Wizard expects every monster to do its duty.
- X Wow! You could've had a potion of fruit juice!
- X--- 348,353 ----
- X*** /tmp/da20719 Mon Jul 12 17:30:50 1993
- X--- dat/rumors.tru Wed Jul 7 16:01:08 1993
- X***************
- X*** 6,12 ****
- X A nymph knows how to unlock chains.
- X A potion of blindness lets you see invisible things.
- X A priest can get the gods to listen easily.
- X- A priest can go to hell just like the rest of us.
- X A priestess and a virgin you might be, but that unicorn won't care.
- X A ring of conflict is a bad thing if there is a nurse in the room.
- X A short sword is not as good as a long sword.
- X--- 6,11 ----
- X***************
- X*** 209,215 ****
- X They say that grid bugs only exist in a strictly Cartesian sense.
- X They say that hackers often feel jumpy about eating nymphs.
- X They say that having polymorph control won't shock you.
- X- They say that hell hath no fury like Medusa scorned.
- X They say that if it's hard getting your food down another bite could kill.
- X They say that if you don't wear glasses why bother with carrots?
- X They say that if you notice a loose board beneath you, don't step on it.
- X--- 208,213 ----
- X***************
- X*** 276,283 ****
- X They say that the local shopkeeper frowns upon the rude tourist.
- X They say that the only door to the vampire's tower is on its lowest level.
- X They say that the only good djinni is a grateful djinni.
- X- They say that the road through hell is a one-way street.
- X- They say that the road to hell begins with Medusa.
- X They say that the thing about genocide is that it works both ways.
- X They say that the unicorn horn rule is if it ain't broke then don't fix it.
- X They say that the view from a fog cloud is really very moving.
- X--- 274,279 ----
- X***************
- X*** 319,330 ****
- X Vampires hate garlic.
- X Vault guards never disturb their Lords.
- X Visitors are requested not to apply genocide to shopkeepers.
- X- Warning: people who eat red dragons can go to hell!
- X Watch out, the Wizard might come back.
- X Water traps have no effect on dragons.
- X What is a cockatrice going to eat when it gets hungry?
- X- Where do you think all those demons come from? From hell, of course.
- X- Where do you think hell is located? It must be deep, deep down.
- X Why do you suppose they call them MAGIC markers?
- X Why would anybody in his sane mind engrave "Elbereth"?
- X Wishing too much may bring you too little.
- X--- 315,323 ----
- X*** /tmp/da21642 Mon Jul 12 17:37:04 1993
- X--- sys/amiga/Install.ami Mon Jul 12 14:14:17 1993
- X***************
- X*** 2,11 ****
- X Using, Compiling, and Installing Amiga NetHack 3.1
- X (or Everything You Never Wanted to Know Before NetHacking)
- X
- X! Last Revision: 12 May 1993 for NetHack 3.1.2
- X
- X
- X! 0. Pre-intro for NetHack 3.1.2.
- X New for 3.1.2:
- X Addition of asksavedisk option to eliminate need for savedir;n syntax
- X Scrolling message window if screen is tall enough.
- X--- 2,16 ----
- X Using, Compiling, and Installing Amiga NetHack 3.1
- X (or Everything You Never Wanted to Know Before NetHacking)
- X
- X! Last Revision: 18 June 1993 for NetHack 3.1.3
- X
- X
- X! 0. Pre-intro for NetHack 3.1.3.
- X! New for 3.1.3:
- X! Updated this file: new binary release organization and missing options.
- X! Fixed PAL screen calculation error.
- X! Improved font characters for walls, floor, wands, doors, and swallowed.
- X! Support for individual icons per character type.
- X New for 3.1.2:
- X Addition of asksavedisk option to eliminate need for savedir;n syntax
- X Scrolling message window if screen is tall enough.
- X***************
- X*** 51,57 ****
- X you are playing the Amiga version. Finally, if you are having trouble
- X compiling NetHack, you may use the same address, or, for compiler
- X specific problems, send mail to:
- X! Greg Olson (golson@sundown.sun.com) for Manx
- X Richard Addison (addison@pollux.usc.edu) for SAS/C.
- X We do not currently have a contact for the DICE port.
- X
- X--- 56,62 ----
- X you are playing the Amiga version. Finally, if you are having trouble
- X compiling NetHack, you may use the same address, or, for compiler
- X specific problems, send mail to:
- X! Greg Olson (golson@sundown.sun.com) for Manx.
- X Richard Addison (addison@pollux.usc.edu) for SAS/C.
- X We do not currently have a contact for the DICE port.
- X
- X***************
- X*** 103,108 ****
- X--- 108,118 ----
- X * SCORE <options> - Display the record of scores. Options as
- X available on the CLI command line after a -s flag.
- X
- X+ * FONT=name.font:size - Set font used for text on screens which are
- X+ tall enough (>250 lines).
- X+
- X+ * PENS=col0/col1/.../col7 - Set palette colors.
- X+
- X Note that the NetHack.cnf file is read first, then the ToolTypes. This
- X means that the options specified in the NetHack.cnf act as defaults
- X which can be overridden by an individual's personal icon's ToolTypes.
- X***************
- X*** 115,121 ****
- X NetHack.cnf file or on an OPTIONS line: flush and silent. When enabled,
- X flush discards all characters in the queue except the first, which limits
- X typeahead accidents. The default setting is noflush. Silent turns off
- X! the (new for 3.1.1) audio output.
- X
- X Usually, most of the confusing options will be set in the NetHack.cnf
- X file once when the game is installed and can be ignored after that.
- X--- 125,131 ----
- X NetHack.cnf file or on an OPTIONS line: flush and silent. When enabled,
- X flush discards all characters in the queue except the first, which limits
- X typeahead accidents. The default setting is noflush. Silent turns off
- X! the audio output.
- X
- X Usually, most of the confusing options will be set in the NetHack.cnf
- X file once when the game is installed and can be ignored after that.
- X***************
- X*** 138,156 ****
- X each archive in the appropriate directory will put the files in the
- X places they belong (note that the archives may have been split
- X for distribution). If you are installing from source, most of this
- X! work will be done by the time the build is finished.
- X
- X IF YOU ALREADY HAVE A PREVIOUS VERSION INSTALLED YOU MUST DELETE THE
- X OLD SAVE AND BONES FILES - THEY WILL NOT WORK! This includes save
- X! and bones files from NetHack 3.1.0.
- X
- X Will NetHack fit on your machine?
- X NetHack 3.1 is large. NetHack 3.1 is very large. You will need:
- X! > Amiga 500, 1000, 2000, 2500, or 3000. The A600, A1200, and A4000
- X should work, but have not been tested.
- X! > WorkBench 1.3 or 2.04. WorkBench 1.2 will NOT work; we will NOT
- X! be fixing that. WorkBench 2.1 and 3.0 should work but have not been
- X! tested.
- X > At least 2 meg of RAM. NetHack will NOT run in 1 meg.
- X > Mass storage: NetHack will run on one floppy - but it won't be nice.
- X Two floppies are almost enough. A hard drive with over 3 meg of
- X--- 148,166 ----
- X each archive in the appropriate directory will put the files in the
- X places they belong (note that the archives may have been split
- X for distribution). If you are installing from source, most of this
- X! work will be done by the time the build is finished. See below for
- X! complete installation instructions.
- X
- X IF YOU ALREADY HAVE A PREVIOUS VERSION INSTALLED YOU MUST DELETE THE
- X OLD SAVE AND BONES FILES - THEY WILL NOT WORK! This includes save
- X! and bones files from NetHack 3.1.0 and 3.1.1.
- X
- X Will NetHack fit on your machine?
- X NetHack 3.1 is large. NetHack 3.1 is very large. You will need:
- X! > Amiga 500, 1000, 2000, 2500, 3000, or 4000. The A600, and A1200
- X should work, but have not been tested.
- X! > WorkBench 1.3 or 2.04 or later. WorkBench 1.2 or 2.02 will NOT work;
- X! we will NOT be fixing that.
- X > At least 2 meg of RAM. NetHack will NOT run in 1 meg.
- X > Mass storage: NetHack will run on one floppy - but it won't be nice.
- X Two floppies are almost enough. A hard drive with over 3 meg of
- X***************
- X*** 158,239 ****
- X
- X Find space for the files
- X Floppy installation:
- X! Format four disks named:
- X NetHack
- X HackExe
- X NHsave
- X NHlevels
- X Hard Disk installation:
- X cd to wherever you want to install NetHack
- X make a new directory to be the main NetHack directory:
- X! makedir NetHack
- X! and the subdirectories:
- X! makedir NetHack/save
- X! makedir NetHack/levels
- X! In s:User-Sequence (under 2.0 or later) or s:Startup (under 1.3),
- X! assign NetHack: to the NetHack directory you created above.
- X! assign HackExe: to the same directory.
- X Install the files
- X! Unpack the archives in the directories or onto the disks (you can
- X! tell what to unpack where by the file names) by cd'ing to HackExe:
- X! and unpacking archive 1 and then to NetHack: and unpacking archive 2.
- X Use the table in the next section to see where things should end up.
- X Be sure that the file 8 ends up in NetHack:hack/8 and that the sounds
- X files end up in the NetHack:sounds directory.
- X
- X Configuration
- X Using your favorite text editor, edit NetHack:NetHack.cnf to match
- X your system. Check HackExe:NetHack.dir and be sure that the paths
- X are correct (note that the C or D beginning the line is required and
- X is not part of the file path). The HackWB program uses two standard
- X! Amiga programs that must be installed in their standard places: c:copy,
- X! c:rename.
- X
- X III.B. File Location Table
- X! NetHack:
- X A-filla.lev A-fillb.lev A-goal.lev A-locate.lev
- X A-start.lev air.lev asmodeus.lev astral.lev
- X B-filla.lev B-fillb.lev B-goal.lev B-locate.lev
- X B-start.lev baalz.lev bigroom.lev C-filla.lev
- X C-fillb.lev C-goal.lev C-locate.lev C-start.lev
- X! castle.lev cmdhelp data default.icon
- X! dungeon E-filla.lev E-fillb.lev E-goal.lev
- X E-locate.lev E-start.lev earth.lev fakewiz1.lev
- X! fakewiz2.lev fire.lev Guidebook Guidebook.info
- X! H-filla.lev H-fillb.lev H-goal.lev H-locate.lev
- X! H-start.lev hack.font HackWB HackWB.info
- X! HackCli help hh history
- X! juiblex.lev K-filla.lev K-fillb.lev K-goal.lev
- X! K-locate.lev K-start.lev knox.lev license
- X! logfile ManPage ManPage.info medusa-1.lev
- X! medusa-2.lev minefill.lev minetown.lev mine_end.lev
- X! NetHack.cnf NetHack.c01 NetHack.d00 news
- X! NewGame.info opthelp options oracle.lev
- X! oracles orcus.lev P-filla.lev P-fillb.lev
- X! P-goal.lev P-locate.lev P-start.lev perm
- X! quest.dat R-filla.lev R-fillb.lev R-goal.lev
- X! R-locate.lev R-start.lev ReadMe ReadMe.info
- X! record recover rumors S-filla.lev
- X! S-fillb.lev S-goal.lev S-locate.lev S-start.lev
- X! sanctum.lev T-filla.lev T-fillb.lev T-goal.lev
- X! T-locate.lev T-start.lev tower1.lev tower2.lev
- X! tower3.lev V-filla.lev V-fillb.lev V-goal.lev
- X! V-locate.lev V-start.lev valley.lev W-filla.lev
- X! W-fillb.lev W-goal.lev W-locate.lev W-start.lev
- X! water.lev wizard1.lev wizard2.lev wizard3.lev
- X! wizhelp
- X
- X! NetHack:hack
- X! 8
- X!
- X! NetHack:sounds
- X! Bell Bugle Drum_Of_Earthquake
- X! Fire_Horn Frost_Horn Leather_Drum
- X! Magic_Flute Magic_Harp Tooled_Horn
- X! Wooden_Flute Wooden_Harp
- X!
- X! HackExe:
- X! NetHack.dir
- X NetHack.c00
- X
- X
- X--- 168,284 ----
- X
- X Find space for the files
- X Floppy installation:
- X! Format five disks named:
- X NetHack
- X HackExe
- X+ HackExe2
- X NHsave
- X NHlevels
- X Hard Disk installation:
- X cd to wherever you want to install NetHack
- X make a new directory to be the main NetHack directory:
- X! makedir NH313
- X! makedir NH313/NetHack
- X! makedir NH313/HackExe
- X! makedir NH313/HackExe2
- X! In S:User-Startup (under 2.0 or later) or S:Startup-Sequence
- X! (under 1.3):
- X! assign NetHack: to the NetHack directory you created above.
- X! assign HackExe: to the HackExe directory.
- X! assign HackExe2: to the HackExe2 directory.
- X!
- X Install the files
- X! Unpack the archives in the directories or onto the disks. Cd to
- X! the appropriate places then unpack the files:
- X! Archive 1 (the one this ReadMe came in), should be unpacked into
- X! NetHack:. If you are installing to hard disk, cd to the NH313 directory
- X! before unpacking.
- X! lz x NH31P3-1.lzh
- X! Archive 2 unpacks in two sections to two different places. If you are
- X! installing to hard disk, cd to the NH313 directory before unpacking; if
- X! you are installing to floppies, unpack each section to a different disk.
- X! lz x NH31P3-2.lzh HackExe/#?
- X! lz x NH31P3-2.lzh HackExe2/#?
- X!
- X Use the table in the next section to see where things should end up.
- X Be sure that the file 8 ends up in NetHack:hack/8 and that the sounds
- X files end up in the NetHack:sounds directory.
- X
- X+ Floppy fixup
- X+ If you are installing to floppies the files on each disk are probably one
- X+ level too far down (for example NetHack:NetHack.cnf is probably
- X+ NetHack:NetHack/NetHack.cnf). This is how to fix that:
- X+ Put the following lines into the file ram:fixit (be sure to delete the
- X+ blanks from the start of the lines or this will NOT work!)
- X+ .key x
- X+ rename <x> /<x>
- X+
- X+ For each of the disks NH313, NetHack, and HackExe, cd into the "inner"
- X+ directory (for example "cd NetHack:NetHack") and execute these commands:
- X+ list >ram:x lformat="execute ram:fixit %s" #?
- X+ execute ram:x
- X+
- X Configuration
- X Using your favorite text editor, edit NetHack:NetHack.cnf to match
- X your system. Check HackExe:NetHack.dir and be sure that the paths
- X are correct (note that the C or D beginning the line is required and
- X is not part of the file path). The HackWB program uses two standard
- X! Amiga programs that must be installed in their standard places: c:copy
- X! and c:rename. The icons for the documentation invoke SYS:Utilities/More
- X! and will probably need to be updated for your installation.
- X
- X+ Create the save file directory (makedir NetHack:save) and the levels file
- X+ directory (makedir NetHack:levels) - if you use floppies than these
- X+ directories will each be a different floppy.
- X+
- X+ Create the score file (echo to NetHack:record) and, if desired, the log
- X+ file (echo to NetHack:logfile).
- X+
- X III.B. File Location Table
- X! NetHack:
- X! amii.hlp cmdhelp data default.icon
- X! dungeon Guidebook Guidebook.info hack.font
- X! hack/8 HackCli HackCli.info HackWB
- X! HackWB.hlp HackWB.info help hh
- X! history license ManPage ManPage.info
- X! NetHack.cnf NewGame.info opthelp options
- X! oracles quest.dat ReadMe ReadMe.info
- X! Recover Recover.info RecoverMan RecoverMan.info
- X! rumors
- X! sounds/Bell sounds/Bugle
- X! sounds/Drum_Of_Earthquake sounds/Fire_Horn
- X! sounds/Frost_Horn sounds/Leather_Drum
- X! sounds/Magic_Flute sounds/Magic_Harp
- X! sounds/Tooled_Horn sounds/Wooden_Flute
- X! sounds/Wooden_Harp
- X! wizhelp
- X!
- X! HackExe:
- X A-filla.lev A-fillb.lev A-goal.lev A-locate.lev
- X A-start.lev air.lev asmodeus.lev astral.lev
- X B-filla.lev B-fillb.lev B-goal.lev B-locate.lev
- X B-start.lev baalz.lev bigroom.lev C-filla.lev
- X C-fillb.lev C-goal.lev C-locate.lev C-start.lev
- X! castle.lev E-filla.lev E-fillb.lev E-goal.lev
- X E-locate.lev E-start.lev earth.lev fakewiz1.lev
- X! fakewiz2.lev fire.lev H-filla.lev H-fillb.lev
- X! H-goal.lev H-locate.lev H-start.lev juiblex.lev
- X! K-filla.lev K-fillb.lev K-goal.lev K-locate.lev
- X! K-start.lev knox.lev medusa-1.lev medusa-2.lev
- X! minefill.lev minetown.lev mine_end.lev NetHack.c01
- X! NetHack.d00 NetHack.dir oracle.lev orcus.lev
- X! P-filla.lev P-fillb.lev P-goal.lev P-locate.lev
- X! P-start.lev R-filla.lev R-fillb.lev R-goal.lev
- X! R-locate.lev R-start.lev S-filla.lev S-fillb.lev
- X! S-goal.lev S-locate.lev S-start.lev sanctum.lev
- X! T-filla.lev T-fillb.lev T-goal.lev T-locate.lev
- X! T-start.lev tower1.lev tower2.lev tower3.lev
- X! V-filla.lev V-fillb.lev V-goal.lev V-locate.lev
- X! V-start.lev valley.lev W-filla.lev W-fillb.lev
- X! W-goal.lev W-locate.lev W-start.lev water.lev
- X! wizard1.lev wizard2.lev wizard3.lev
- X
- X! HackExe2:
- X NetHack.c00
- X
- X
- X***************
- X*** 249,255 ****
- X IV.B. Basic Compilation
- X NetHack can be built with SAS/C version 6.2, Manx/Aztec version 5,
- X or the registered version of DICE. The "official" compiler for NetHack 3.1
- X! patchlevel 1 is SAS/C 6.2 - we have dropped support for SAS/C 5.x.
- X
- X IV.B.1. Introduction to Compiling NetHack
- X Before doing any compilation, read the README files distributed
- X--- 294,300 ----
- X IV.B. Basic Compilation
- X NetHack can be built with SAS/C version 6.2, Manx/Aztec version 5,
- X or the registered version of DICE. The "official" compiler for NetHack 3.1
- X! patchlevel 3 is SAS/C 6.2 - we have dropped support for SAS/C 5.x.
- X
- X IV.B.1. Introduction to Compiling NetHack
- X Before doing any compilation, read the README files distributed
- X***************
- X*** 354,363 ****
- X be the correct contents for a floppy based system.
- X
- X IV.C.2 TTY Interface
- X! There is a basic tty interface available under 3.1.2. This is a
- X preliminary version and it will change in the future. Expect bugs.
- X (Due to the instability of the interface it will not be in the
- X! official binaries for 3.1.2). The TTY mode is designed for use in
- X a BBS setting - it is specifically not recommended for use on the
- X console. The TTY interface is not currently compatible with split
- X binaries - invoke NetHack directly as NetHack. In addition, you should
- X--- 399,408 ----
- X be the correct contents for a floppy based system.
- X
- X IV.C.2 TTY Interface
- X! There is a basic tty interface available since 3.1.2. This is a
- X preliminary version and it will change in the future. Expect bugs.
- X (Due to the instability of the interface it will not be in the
- X! official binaries for 3.1.3). The TTY mode is designed for use in
- X a BBS setting - it is specifically not recommended for use on the
- X console. The TTY interface is not currently compatible with split
- X binaries - invoke NetHack directly as NetHack. In addition, you should
- X*** /tmp/da21650 Mon Jul 12 17:37:07 1993
- X--- sys/amiga/Makefile.ami Fri Jul 2 13:13:17 1993
- X***************
- X*** 358,364 ****
- X copy $(NHGSTFILE) to $(GSTFILE)
- X
- X Amiga:ami.lnk: Amiga:Makefile.ami
- X! list to Amiga:ami.lnk OBJ:\#?.o QUICK NOHEAD
- X
- X obj: $(HOBJ)
- X obja: $(AMIGAOBJ)
- X--- 358,364 ----
- X copy $(NHGSTFILE) to $(GSTFILE)
- X
- X Amiga:ami.lnk: Amiga:Makefile.ami
- X! list to Amiga:ami.lnk lformat="OBJ:%s" OBJ:\#?.o QUICK NOHEAD
- X
- X obj: $(HOBJ)
- X obja: $(AMIGAOBJ)
- X*** /tmp/da21666 Mon Jul 12 17:37:11 1993
- X--- sys/amiga/NetHack.cnf Mon Jul 12 13:32:09 1993
- X***************
- X*** 88,94 ****
- X
- X # An example using the hack.font graphics character set:
- X GRAPHICS = 032 192 193 194 195 196 197 198 216 214 \
- X! 215 213 046 193 192 198 198 046 229 035 \
- X 060 062 060 062 094 034 095 092 035 123 \
- X 125 042 125 042 042 035 035 046 035 125 \
- X 241 240 242 243 042 033 123 125 064 038 \
- X--- 88,94 ----
- X
- X # An example using the hack.font graphics character set:
- X GRAPHICS = 032 192 193 194 195 196 197 198 216 214 \
- X! 215 213 217 145 146 147 148 217 218 229 \
- X 060 062 060 062 094 034 095 092 035 123 \
- X 125 042 125 042 042 035 035 046 035 125 \
- X 241 240 242 243 042 033 123 125 064 038 \
- X*** /tmp/da21684 Mon Jul 12 17:37:15 1993
- X--- sys/amiga/amidos.c Tue Jul 6 15:10:57 1993
- X***************
- X*** 194,202 ****
- X eraseall(path, files)
- X const char *path, *files;
- X {
- X! char buf[FILENAME];
- X! short i;
- X! BPTR fileLock, dirLock, dirLock2;
- X struct FileInfoBlock *fibp;
- X int chklen;
- X #ifdef BETA
- X--- 194,200 ----
- X eraseall(path, files)
- X const char *path, *files;
- X {
- X! BPTR dirLock, dirLock2;
- X struct FileInfoBlock *fibp;
- X int chklen;
- X #ifdef BETA
- X***************
- X*** 422,428 ****
- X static BPTR OrgDirLock = NO_LOCK;
- X
- X chdir(dir)
- X! char *dir;
- X {
- X if (dir == orgdir) {
- X /* We want to go back to where we came from. */
- X--- 420,426 ----
- X static BPTR OrgDirLock = NO_LOCK;
- X
- X chdir(dir)
- X! const char *dir;
- X {
- X if (dir == orgdir) {
- X /* We want to go back to where we came from. */
- X*** /tmp/da21725 Mon Jul 12 17:37:27 1993
- X--- sys/amiga/amii.hlp Mon Jul 12 14:14:29 1993
- X***************
- X*** 1,4 ****
- X! Amiga specific help file for NetHack 3.1.2
- X
- X The Amiga port of NetHack supports a number of additional commands
- X and facilities specific to the Amiga. Listed below are the things
- X--- 1,4 ----
- X! Amiga specific help file for NetHack 3.1.3
- X
- X The Amiga port of NetHack supports a number of additional commands
- X and facilities specific to the Amiga. Listed below are the things
- X***************
- X*** 12,17 ****
- X--- 12,28 ----
- X these settings of the pens to allow
- X the game to be resumed with the
- X same palette at a later date.
- X+
- X+ Separate Icon types for saved games:
- X+ Each character class can have a
- X+ separate icon. The first letter
- X+ of the character class is used
- X+ for deriving the name. e.g. a
- X+ Wizard saved game would use
- X+ Nethack:w.icon if it is present.
- X+ The NetHack:default.icon is used
- X+ if the associated character class
- X+ icon is not present.
- X
- X Amiga-specific run-time option:
- X flush throw away keyboard type-ahead
- X*** /tmp/da21749 Mon Jul 12 17:37:33 1993
- X--- sys/amiga/amirip.c Tue Jul 6 15:11:01 1993
- X***************
- X*** 45,50 ****
- X--- 45,51 ----
- X static void strand ( int x , int y , int dir );
- X static void tomb_text ( char *p );
- X void draw_moon(int phase);
- X+ void FDECL( amii_outrip, ( winid, int ) );
- X
- X extern char *killed_by_prefix[];
- X struct Window *ripwin;
- X*** /tmp/da21773 Mon Jul 12 17:37:39 1993
- X--- sys/amiga/amiwbench.c Tue Jul 6 15:11:05 1993
- X***************
- X*** 405,411 ****
- X ami_default_icon( defname )
- X char *defname;
- X {
- X- long lock;
- X static char name[ 300 ];
- X
- X strcpy( name, "NetHack:x.icon" );
- X--- 405,410 ----
- X*** /tmp/da21901 Mon Jul 12 17:38:11 1993
- X--- sys/amiga/wb.c Tue Jul 6 15:01:45 1993
- X***************
- X*** 2124,2133 ****
- X
- X fp = fopen( StrConf, "r" );
- X if( !fp )
- X fp = fopen( "NetHack:NetHack.cnf", "r" );
- X if( !fp )
- X {
- X! errmsg( FLASH, "Can't open nethack.cnf" );
- X break;
- X }
- X
- X--- 2124,2136 ----
- X
- X fp = fopen( StrConf, "r" );
- X if( !fp )
- X+ {
- X fp = fopen( "NetHack:NetHack.cnf", "r" );
- X+ strcpy( StrConf, "NetHack:NetHack.cnf" );
- X+ }
- X if( !fp )
- X {
- X! errmsg( FLASH, "Can't open config file" );
- X break;
- X }
- X
- X***************
- X*** 2147,2153 ****
- X nfp = fopen( nname, "w" );
- X if( !nfp )
- X {
- X! errmsg( FLASH, "Can't open new_nethack.cnf for write" );
- X fclose( fp );
- X break;
- X }
- X--- 2150,2156 ----
- X nfp = fopen( nname, "w" );
- X if( !nfp )
- X {
- X! errmsg( FLASH, "Can't open new config file for write" );
- X fclose( fp );
- X break;
- X }
- X***************
- X*** 2212,2217 ****
- X--- 2215,2221 ----
- X FILE *fp, *nfp;
- X char buf[ 300 ];
- X char path=0,option=0,dir=0,pens=0,levels=0,save=0;
- X+ char oname[ 300 ], nname[ 300 ];
- X
- X setoneopt( PATH_IDX, StrPath );
- X PutOptions( curopts );
- X***************
- X*** 2220,2235 ****
- X setoneopt( LEVELS_IDX, StrLevels );
- X setoneopt( SAVE_IDX, StrSave );
- X
- X! fp = fopen( "nethack.cnf", "r" );
- X if( !fp )
- X {
- X errmsg( FLASH, "Can't open nethack.cnf" );
- X return;
- X }
- X! nfp = fopen( "new_nethack.cnf", "w" );
- X if( !nfp )
- X {
- X! errmsg( FLASH, "Can't open new_nethack.cnf for write" );
- X fclose( fp );
- X return;
- X }
- X--- 2224,2253 ----
- X setoneopt( LEVELS_IDX, StrLevels );
- X setoneopt( SAVE_IDX, StrSave );
- X
- X! strcpy( oname, dirname( StrConf ) );
- X! if( oname[ strlen(oname)-1 ] != ':' )
- X! {
- X! sprintf( nname, "%s/new_nethack.cnf", oname );
- X! strcat( oname, "/" );
- X! strcat( oname, "old_nethack.cnf" );
- X! }
- X! else
- X! {
- X! sprintf( nname, "%snew_nethack.cnf", oname );
- X! strcat( oname, "old_nethack.cnf" );
- X! }
- X!
- X! fp = fopen( StrConf, "r" );
- X if( !fp )
- X {
- X errmsg( FLASH, "Can't open nethack.cnf" );
- X return;
- X }
- X! nfp = fopen( nname, "w" );
- X if( !nfp )
- X {
- X! sprintf( buf, "Can't open %s for write", nname );
- X! errmsg( FLASH, buf );
- X fclose( fp );
- X return;
- X }
- X***************
- X*** 2288,2296 ****
- X /* Close up and rename files */
- X fclose( fp );
- X fclose( nfp );
- X! unlink( "old_nethack.cnf" );
- X! rename( "nethack.cnf", "old_nethack.cnf" );
- X! rename( "new_nethack.cnf", "nethack.cnf" );
- X }
- X
- X void do_gadgetup( imsg )
- X--- 2306,2340 ----
- X /* Close up and rename files */
- X fclose( fp );
- X fclose( nfp );
- X! unlink( oname );
- X! if( filecopy( StrConf, oname ) == 0 )
- X! filecopy( nname, StrConf );
- X! }
- X!
- X! filecopy( from, to )
- X! char *from, *to;
- X! {
- X! char *buf;
- X! int i = 0;
- X!
- X! buf = malloc( strlen(to) + strlen(from) + 20 );
- X! if( buf )
- X! {
- X! sprintf( buf, "c:copy \"%s\" \"%s\" clone", from, to );
- X!
- X! /* Check SysBase instead? Shouldn't matter */
- X! if( IntuitionBase->LibNode.lib_Version >= 37 )
- X! i = System( buf, NULL );
- X! else
- X! Execute( buf, NULL, NULL );
- X! free( buf );
- X! }
- X! else
- X! {
- X! errmsg( FLASH, "Failed to allocate memory for copy command" );
- X! return( -1 );
- X! }
- X! return( i );
- X }
- X
- X void do_gadgetup( imsg )
- X*** /tmp/da21909 Mon Jul 12 17:38:15 1993
- X--- sys/amiga/wbcli.c Thu Jul 1 15:00:51 1993
- X***************
- X*** 218,224 ****
- X run_game(gptr);
- X
- X /* wait for game to end */
- X! WaitEOG(gptr);
- X FreeGITEM(gptr);
- X #endif /* TESTCMDLINE */
- X /* ask about another? */
- X--- 218,227 ----
- X run_game(gptr);
- X
- X /* wait for game to end */
- X! if(gptr->wbs)
- X! WaitEOG(gptr);
- X! /* else load failed */
- X!
- X FreeGITEM(gptr);
- X #endif /* TESTCMDLINE */
- X /* ask about another? */
- X***************
- X*** 958,963 ****
- X--- 961,967 ----
- X {
- X vprintf( str, vp );
- X va_end( vp );
- X+ printf("\n");
- X return;
- X }
- X
- X*** /tmp/da21933 Mon Jul 12 17:38:22 1993
- X--- sys/amiga/wbprotos.h Fri Jul 2 13:12:55 1993
- X***************
- X*** 105,109 ****
- X--- 105,110 ----
- X void UpdateCnfFile( void );
- X char *basename( char * );
- X void flushIDCMP( struct MsgPort *);
- X+ filecopy( char *, char * );
- X
- X #undef P
- X*** /tmp/da21965 Mon Jul 12 17:38:33 1993
- X--- sys/amiga/winami.c Thu Jul 8 14:19:59 1993
- X***************
- X*** 159,164 ****
- X--- 159,166 ----
- X
- X struct Rectangle lastinvent, lastmsg;
- X
- X+ static int FDECL( put_ext_cmd, ( char *, int, struct amii_WinDesc *, int ) );
- X+
- X #ifdef SHAREDLIB
- X WinamiBASE *WinamiBase;
- X
- X***************
- X*** 445,450 ****
- X--- 447,453 ----
- X { SA_PubName, (ULONG)"NetHack" },
- X { SA_Overscan, OSCAN_TEXT },
- X { SA_Pens, (ULONG)scrnpens },
- X+ { SA_DisplayID, 0 },
- X { TAG_DONE, 0 },
- X };
- X #endif
- X***************
- X*** 770,786 ****
- X if( WIN_MESSAGE == WIN_ERR || ( cw = amii_wins[ WIN_MESSAGE ] ) == NULL )
- X panic(winpanicstr, WIN_MESSAGE, "get_ext_cmd");
- X amii_clear_nhwindow( NHW_MESSAGE );
- X! pline("# ");
- X colx = 3;
- X w = cw->win;
- X
- X if( bigscreen )
- X {
- X! bottom = w->Height - w->BorderTop - w->BorderBottom;
- X! bottom /= w->RPort->TxHeight;
- X! if( bottom > 0 )
- X! --bottom;
- X }
- X while((c = WindowGetchar()) != EOF)
- X {
- X amii_curs( WIN_MESSAGE, colx, bottom );
- X--- 773,795 ----
- X if( WIN_MESSAGE == WIN_ERR || ( cw = amii_wins[ WIN_MESSAGE ] ) == NULL )
- X panic(winpanicstr, WIN_MESSAGE, "get_ext_cmd");
- X amii_clear_nhwindow( NHW_MESSAGE );
- X! if( scrollmsg )
- X! {
- X! pline("#");
- X! amii_putstr( WIN_MESSAGE, -1, " " );
- X! }
- X! else
- X! {
- X! pline("# ");
- X! }
- X colx = 3;
- X w = cw->win;
- X
- X if( bigscreen )
- X {
- X! bottom = amii_msgborder( w );
- X }
- X+
- X while((c = WindowGetchar()) != EOF)
- X {
- X amii_curs( WIN_MESSAGE, colx, bottom );
- X***************
- X*** 789,794 ****
- X--- 798,813 ----
- X int win, i, sel;
- X char buf[ 100 ];
- X
- X+ if(did_comp){
- X+ while(bufp!=obufp){
- X+ bufp--;
- X+ amii_curs(WIN_MESSAGE, --colx, bottom);
- X+ Text(w->RPort,spaces,1);
- X+ amii_curs(WIN_MESSAGE,colx,bottom);
- X+ did_comp=0;
- X+ }
- X+ }
- X+
- X win = amii_create_nhwindow( NHW_MENU );
- X amii_start_menu( win );
- X
- X***************
- X*** 808,813 ****
- X--- 827,833 ----
- X {
- X *obufp = '\33';
- X obufp[ 1 ] = 0;
- X+ return;
- X }
- X else
- X {
- X***************
- X*** 818,831 ****
- X }
- X
- X /* copy in the text */
- X! amii_clear_nhwindow( WIN_MESSAGE );
- X! strcpy( obufp, extcmdlist[ i ].ef_txt );
- X! colx = 0;
- X! pline( "# " );
- X! pline( obufp );
- X! bufp = obufp + 2;
- X }
- X- return;
- X }
- X else if(c == '\033')
- X {
- X--- 838,853 ----
- X }
- X
- X /* copy in the text */
- X! if( extcmdlist[ i ].ef_txt != NULL )
- X! {
- X! amii_clear_nhwindow( WIN_MESSAGE );
- X! strcpy( obufp = bufp, extcmdlist[ i ].ef_txt );
- X! (void) put_ext_cmd( obufp, colx, cw, bottom );
- X! return;
- X! }
- X! else
- X! DisplayBeep( NULL );
- X }
- X }
- X else if(c == '\033')
- X {
- X***************
- X*** 884,900 ****
- X {
- X Strcpy(obufp, extcmdlist[com_index].ef_txt);
- X /* finish printing our string */
- X! Text( w->RPort, bufp, strlen( bufp ) );
- X! amii_curs( WIN_MESSAGE, colx += strlen( bufp ), bottom);
- X bufp = obufp; /* reset it */
- X if(strlen(obufp) < BUFSZ-1 && strlen(obufp) < COLNO)
- X bufp += strlen(obufp);
- X! did_comp=1;
- X }
- X else
- X {
- X! Text( w->RPort, bufp, strlen( bufp ) );
- X! amii_curs( WIN_MESSAGE, colx += strlen( bufp ), bottom);
- X if(bufp-obufp < BUFSZ-1 && bufp-obufp < COLNO)
- X bufp++;
- X }
- X--- 906,920 ----
- X {
- X Strcpy(obufp, extcmdlist[com_index].ef_txt);
- X /* finish printing our string */
- X! colx = put_ext_cmd( obufp, colx, cw, bottom );
- X bufp = obufp; /* reset it */
- X if(strlen(obufp) < BUFSZ-1 && strlen(obufp) < COLNO)
- X bufp += strlen(obufp);
- X! did_comp=1;
- X }
- X else
- X {
- X! colx = put_ext_cmd( obufp, colx, cw, bottom );
- X if(bufp-obufp < BUFSZ-1 && bufp-obufp < COLNO)
- X bufp++;
- X }
- X***************
- X*** 910,915 ****
- X--- 930,985 ----
- X }
- X *bufp = 0;
- X return;
- X+ }
- X+
- X+ static int
- X+ put_ext_cmd( obufp, colx, cw, bottom )
- X+ char *obufp;
- X+ int colx, bottom;
- X+ struct amii_WinDesc *cw;
- X+ {
- X+ struct Window *w = cw->win;
- X+ char *t;
- X+
- X+ t = malloc( strlen( obufp ) + 7 );
- X+ if( t != NULL )
- X+ {
- X+ if( scrollmsg )
- X+ {
- X+ sprintf( t, "xxx%s", obufp );
- X+ t[0] = 1;
- X+ t[1] = -1;
- X+ t[2] = ' ';
- X+ amii_curs( WIN_MESSAGE, 0, bottom);
- X+ SetAPen( w->RPort, C_WHITE );
- X+ Text(w->RPort, "># ", 3 );
- X+ SetAPen( w->RPort, C_RED );
- X+ Text(w->RPort, t+3, strlen( t ) - 3 );
- X+ }
- X+ else
- X+ {
- X+ sprintf( t, "# %s", obufp );
- X+ amii_curs( WIN_MESSAGE, 0, bottom);
- X+ SetAPen( w->RPort, C_WHITE );
- X+ Text(w->RPort, t, strlen( t ) );
- X+ }
- X+ if( scrollmsg )
- X+ SetAPen( w->RPort, C_WHITE );
- X+ if( cw->data[ cw->maxrow - 1 ] )
- X+ free( cw->data[ cw->maxrow - 1 ] );
- X+ cw->data[ cw->maxrow - 1 ] = t;
- X+ }
- X+ else
- X+ {
- X+ amii_curs( WIN_MESSAGE, 0, bottom);
- X+ SetAPen( w->RPort, C_WHITE );
- X+ Text(w->RPort, "# ", 2 );
- X+ SetAPen( w->RPort, C_RED );
- X+ Text(w->RPort, obufp, strlen( obufp ) );
- X+ SetAPen( w->RPort, C_WHITE );
- X+ }
- X+ amii_curs( WIN_MESSAGE, colx = strlen( obufp ) + 3 + ( scrollmsg != 0 ), bottom);
- X+ return( colx );
- X }
- X #endif /* COM_COMPL */
- X
- X*** /tmp/da21981 Mon Jul 12 17:38:38 1993
- X--- sys/amiga/windefs.h Tue Jul 6 15:45:52 1993
- X***************
- X*** 67,72 ****
- X--- 67,76 ----
- X #include "amiga:lib/libmacs.h"
- X #endif
- X
- X+ #ifdef INTUI_NEW_LOOK
- X+ #include <utility/tagitem.h>
- X+ #endif
- X+
- X /* cw->data[x] contains 2 characters worth of special information. These
- X * characters are stored at the offsets as described here.
- X */
- X*** /tmp/da21997 Mon Jul 12 17:38:42 1993
- X--- sys/amiga/winfuncs.c Tue Jul 6 15:45:58 1993
- X***************
- X*** 8,15 ****
- X #include "incl:patchlevel.h"
- X
- X int topl_addspace=1;
- X
- X-
- X void
- X amii_destroy_nhwindow(win) /* just hide */
- X register winid win;
- X--- 8,15 ----
- X #include "incl:patchlevel.h"
- X
- X int topl_addspace=1;
- X+ extern struct TagItem scrntags[];
- X
- X void
- X amii_destroy_nhwindow(win) /* just hide */
- X register winid win;
- X***************
- X*** 224,229 ****
- X--- 224,237 ----
- X nw->TopEdge = 1;
- X nw->Height = HackScreen->WBorTop + 1 +
- X ((txheight+1)*(1+(scrollmsg != 0))) + 1 + HackScreen->WBorBottom;
- X+ if( ( HackScreen->Height - 1 -
- X+ ( ( TextsFont->tf_YSize +
- X+ HackScreen->WBorTop + 1 + HackScreen->WBorBottom ) * 2 ) -
- X+ ( ( TextsFont->tf_YSize + 1 ) * 2 ) - 2 ) - maph <
- X+ TextsFont->tf_YSize + 3 )
- X+ {
- X+ scrollmsg = 0;
- X+ }
- X if( scrollmsg )
- X {
- X nw->FirstGadget = &MsgScroll;
- X***************
- X*** 234,243 ****
- X /* Text space in status window */
- X ( ( TextsFont->tf_YSize + 1 ) * 2 ) - 2 -
- X maph;
- X! nw->Flags |= WINDOWSIZING;
- X! #ifdef VIEWWINDOW
- X! nw->Flags |= WINDOWDRAG;
- X! #endif
- X }
- X #ifdef INTUI_NEW_LOOK
- X if( IntuitionBase->LibNode.lib_Version >= 37 )
- X--- 242,248 ----
- X /* Text space in status window */
- X ( ( TextsFont->tf_YSize + 1 ) * 2 ) - 2 -
- X maph;
- X! nw->Flags |= WINDOWSIZING|WINDOWDRAG;
- X }
- X #ifdef INTUI_NEW_LOOK
- X if( IntuitionBase->LibNode.lib_Version >= 37 )
- X***************
- X*** 248,254 ****
- X /* Just allow height adjustments */
- X nw->MinWidth = w->Width;
- X nw->MinHeight = HackScreen->WBorTop +
- X! HackScreen->WBorBottom + ((w->RPort->TxHeight+1)*2) + 3;
- X }
- X
- X nw->IDCMPFlags |= MENUPICK;
- X--- 253,259 ----
- X /* Just allow height adjustments */
- X nw->MinWidth = w->Width;
- X nw->MinHeight = HackScreen->WBorTop +
- X! HackScreen->WBorBottom + ((TextsFont->tf_YSize+1)*2) + 3;
- X }
- X
- X nw->IDCMPFlags |= MENUPICK;
- X***************
- X*** 294,300 ****
- X {
- X char buf[ 100 ];
- X
- X! sprintf( buf, "nw is l: %d, t: %d, w: %d, h: %d",
- X nw->LeftEdge, nw->TopEdge,
- X nw->Width, nw->Height );
- X raw_print( buf );
- X--- 299,306 ----
- X {
- X char buf[ 100 ];
- X
- X! sprintf( buf, "nw(%d) is l: %d, t: %d, w: %d, h: %d",
- X! type,
- X nw->LeftEdge, nw->TopEdge,
- X nw->Width, nw->Height );
- X raw_print( buf );
- X***************
- X*** 520,525 ****
- X--- 526,533 ----
- X void
- X amii_init_nhwindows()
- X {
- X+ int forcenobig = 0;
- X+
- X if (HackScreen)
- X panic( "init_nhwindow() called twice", 0 );
- X
- X***************
- X*** 572,590 ****
- X NewHackScreen.ViewModes |= LACE;
- X bigscreen = 1;
- X }
- X! else if( GfxBase->NormalDisplayRows >= 240 )
- X {
- X bigscreen = 1;
- X }
- X }
- X else if( bigscreen == -1 )
- X bigscreen = 0;
- X else if( bigscreen )
- X {
- X /* If bigscreen requested and we don't have enough rows in
- X * noninterlaced mode, switch to interlaced...
- X */
- X! if( GfxBase->NormalDisplayRows < 240 )
- X {
- X amiIDisplay->ypix *= 2;
- X NewHackScreen.ViewModes |= LACE;
- X--- 580,601 ----
- X NewHackScreen.ViewModes |= LACE;
- X bigscreen = 1;
- X }
- X! else if( GfxBase->NormalDisplayRows >= 270 )
- X {
- X bigscreen = 1;
- X }
- X }
- X else if( bigscreen == -1 )
- X+ {
- X bigscreen = 0;
- X+ forcenobig = 1;
- X+ }
- X else if( bigscreen )
- X {
- X /* If bigscreen requested and we don't have enough rows in
- X * noninterlaced mode, switch to interlaced...
- X */
- X! if( GfxBase->NormalDisplayRows < 270 )
- X {
- X amiIDisplay->ypix *= 2;
- X NewHackScreen.ViewModes |= LACE;
- X***************
- X*** 679,688 ****
- X }
- X NewHackScreen.BlockPen = C_CYAN;
- X #ifdef INTUI_NEW_LOOK
- X! if( IntuitionBase->LibNode.lib_Version >= 37 && bigscreen )
- X {
- X NewHackScreen.Width = STDSCREENWIDTH;
- X NewHackScreen.Height = STDSCREENHEIGHT;
- X }
- X #endif
- X
- X--- 690,734 ----
- X }
- X NewHackScreen.BlockPen = C_CYAN;
- X #ifdef INTUI_NEW_LOOK
- X! if( IntuitionBase->LibNode.lib_Version >= 37 )
- X {
- X+ int i;
- X+ long modeid;
- X+ struct Screen *wbscr;
- X+
- X+ for( i = 0; scrntags[i].ti_Tag != SA_DisplayID &&
- X+ scrntags[i].ti_Tag != TAG_DONE; ++i )
- X+ {
- X+ continue;
- X+ }
- X+
- X NewHackScreen.Width = STDSCREENWIDTH;
- X NewHackScreen.Height = STDSCREENHEIGHT;
- X+
- X+ if( forcenobig == 0 )
- X+ {
- X+ wbscr = LockPubScreen( "Workbench" );
- X+ if( wbscr )
- X+ modeid = GetVPModeID( &wbscr->ViewPort );
- X+
- X+ if( ( wbscr != NULL ) && ( modeid != INVALID_ID ) )
- X+ {
- X+ if( wbscr->ViewPort.Modes & LACE )
- X+ NewHackScreen.ViewModes |= LACE;
- X+ UnlockPubScreen( NULL, wbscr );
- X+ if( scrntags[i].ti_Tag == SA_DisplayID )
- X+ {
- X+ scrntags[i].ti_Data = (ULONG)modeid;
- X+ }
- X+ }
- X+ }
- X+ else
- X+ {
- X+ if( scrntags[i].ti_Tag == SA_DisplayID )
- X+ {
- X+ scrntags[i].ti_Tag = TAG_IGNORE;
- X+ }
- X+ }
- X }
- X #endif
- X
- X***************
- X*** 1082,1088 ****
- X TextsFont13.ta_Name = nname;
- X TextsFont13.ta_YSize = size;
- X
- X! /* No alternate text font allowed for 640x250 or smaller */
- X if( !HackScreen || !bigscreen )
- X return;
- X
- X--- 1128,1134 ----
- X TextsFont13.ta_Name = nname;
- X TextsFont13.ta_YSize = size;
- X
- X! /* No alternate text font allowed for 640x269 or smaller */
- X if( !HackScreen || !bigscreen )
- X return;
- X
- X*** /tmp/da22021 Mon Jul 12 17:38:49 1993
- X--- sys/amiga/winproto.h Thu Jul 8 14:20:03 1993
- X***************
- X*** 12,17 ****
- X--- 12,20 ----
- X void amii_getlin ( const char *prompt , char *bufp );
- X void getlind ( const char *prompt , char *bufp , const char *dflt );
- X char *amii_get_color_string( void );
- X+ int filecopy( char *from, char *to );
- X+ char *basename( char *str );
- X+ char *dirname( char *str );
- X
- X /* winstr.c */
- X void amii_putstr ( winid window , int attr , const char *str );
- X***************
- X*** 23,28 ****
- X--- 26,32 ----
- X void amii_remember_topl ( void );
- X int amii_doprev_message ( void );
- X void flushIDCMP( struct MsgPort * );
- X+ int amii_msgborder( struct Window * );
- X
- X /* winkey.c */
- X int amii_nh_poskey ( int *x , int *y , int *mod );
- X*** /tmp/da22029 Mon Jul 12 17:38:51 1993
- X--- sys/amiga/winreq.c Tue Jul 6 15:01:54 1993
- X***************
- X*** 162,169 ****
- X else if( gd->GadgetID == GADCOLSAVE )
- X {
- X FILE *fp, *nfp;
- X! char buf[ 300 ];
- X! int once = 0;
- X
- X fp = fopen( configfile, "r" );
- X if( !fp )
- X--- 162,169 ----
- X else if( gd->GadgetID == GADCOLSAVE )
- X {
- X FILE *fp, *nfp;
- X! char buf[ 300 ], nname[ 300 ], oname[ 300 ];
- X! int once = 0;
- X
- X fp = fopen( configfile, "r" );
- X if( !fp )
- X***************
- X*** 172,178 ****
- X break;
- X }
- X
- X! nfp = fopen( "New_NetHack.cnf", "w" );
- X if( !nfp )
- X {
- X pline( "can't write to New_NetHack.cnf" );
- X--- 172,191 ----
- X break;
- X }
- X
- X! strcpy( oname, dirname( configfile ) );
- X! if( oname[ strlen(oname)-1 ] != ':' )
- X! {
- X! sprintf( nname, "%s/New_NetHack.cnf", oname );
- X! strcat( oname, "/" );
- X! strcat( oname, "Old_NetHack.cnf" );
- X! }
- X! else
- X! {
- X! sprintf( nname, "%sNew_NetHack.cnf", oname );
- X! strcat( oname, "Old_NetHack.cnf" );
- X! }
- X!
- X! nfp = fopen( nname, "w" );
- X if( !nfp )
- X {
- X pline( "can't write to New_NetHack.cnf" );
- X***************
- X*** 213,221 ****
- X }
- X fclose( fp );
- X fclose( nfp );
- X! unlink( "Old_NetHack.cnf" );
- X! rename( configfile, "Old_NetHack.cnf" );
- X! rename( "New_NetHack.cnf", configfile );
- X done = 1;
- X okay = 1;
- X }
- X--- 226,234 ----
- X }
- X fclose( fp );
- X fclose( nfp );
- X! unlink( oname );
- X! if( filecopy( configfile, oname ) == 0 )
- X! filecopy( nname, configfile );
- X done = 1;
- X okay = 1;
- X }
- X***************
- X*** 279,284 ****
- X--- 292,360 ----
- X
- X LoadRGB4( &scrn->ViewPort, flags.amii_curmap, 1L << DEPTH );
- X CloseWindow( nw );
- X+ }
- X+
- X+ char *dirname( str )
- X+ char *str;
- X+ {
- X+ char *t, c;
- X+ static char dir[ 300 ];
- X+
- X+ t = strrchr( str, '/' );
- X+ if( !t )
- X+ t = strrchr( str, ':' );
- X+ if( !t )
- X+ t = str;
- X+ else
- X+ {
- X+ c = *t;
- X+ *t = 0;
- X+ strcpy( dir, str );
- X+ *t = c;
- X+ }
- X+ return( dir );
- X+ }
- X+
- X+ char *basename( str )
- X+ char *str;
- X+ {
- X+ char *t;
- X+
- X+ t = strrchr( str, '/' );
- X+ if( !t )
- X+ t = strrchr( str, ':' );
- X+ if( !t )
- X+ t = str;
- X+ else
- X+ ++t;
- X+ return( t );
- X+ }
- X+
- X+ filecopy( from, to )
- X+ char *from, *to;
- X+ {
- X+ char *buf;
- X+ int i = 0;
- X+
- X+ buf = malloc( strlen(to) + strlen(from) + 20 );
- X+ if( buf )
- X+ {
- X+ sprintf( buf, "c:copy \"%s\" \"%s\" clone", from, to );
- X+
- X+ /* Check SysBase instead? Shouldn't matter */
- X+ #ifdef INTUI_NEW_LOOK
- X+ if( IntuitionBase->LibNode.lib_Version >= 37 )
- X+ i = System( buf, NULL );
- X+ else
- X+ #endif
- X+ Execute( buf, NULL, NULL );
- X+ free( buf );
- X+ }
- X+ else
- X+ {
- X+ return( -1 );
- X+ }
- X+ return( i );
- X }
- X
- X /* The colornames, and the default values for the pens */
- X*** /tmp/da22037 Mon Jul 12 17:38:54 1993
- X--- sys/amiga/winstr.c Thu Jul 8 14:20:07 1993
- X***************
- X*** 16,22 ****
- X {
- X struct Window *w;
- X register struct amii_WinDesc *cw;
- X! register char *ob;
- X int i, j, n0, bottom, totalvis, wheight;
- X
- X #ifdef VIEWWINDOW
- X--- 16,22 ----
- X {
- X struct Window *w;
- X register struct amii_WinDesc *cw;
- X! char *ob;
- X int i, j, n0, bottom, totalvis, wheight;
- X
- X #ifdef VIEWWINDOW
- X***************
- X*** 72,81 ****
- X #define MORE_FUDGE 10 /* 8 for --more--, 1 for preceeding sp, 1 for */
- X /* putstr pad */
- X case NHW_MESSAGE:
- X! bottom = w->Height - w->BorderTop - w->BorderBottom - 2;
- X! bottom /= w->RPort->TxHeight;
- X! if( bottom > 0 )
- X! --bottom;
- X
- X wheight = ( w->Height - w->BorderTop -
- X w->BorderBottom - 3 ) / w->RPort->TxHeight;
- X--- 72,79 ----
- X #define MORE_FUDGE 10 /* 8 for --more--, 1 for preceeding sp, 1 for */
- X /* putstr pad */
- X case NHW_MESSAGE:
- X! /* Calculate the bottom line */
- X! bottom = amii_msgborder( w );
- X
- X wheight = ( w->Height - w->BorderTop -
- X w->BorderBottom - 3 ) / w->RPort->TxHeight;
- X***************
- X*** 267,272 ****
- X--- 265,284 ----
- X }
- X }
- X
- X+ int
- X+ amii_msgborder( w )
- X+ struct Window *w;
- X+ {
- X+ register int bottom;
- X+
- X+ /* There is a one pixel border at the borders, so subtract two */
- X+ bottom = w->Height - w->BorderTop - w->BorderBottom - 2;
- X+ bottom /= w->RPort->TxHeight;
- X+ if( bottom > 0 )
- X+ --bottom;
- X+ return( bottom );
- X+ }
- X+
- X void
- X outmore( cw )
- X register struct amii_WinDesc *cw;
- X***************
- X*** 278,293 ****
- X if( scrollmsg )
- X {
- X int bottom;
- X! bottom = w->Height - w->BorderTop - w->BorderBottom;
- X! bottom /= w->RPort->TxHeight;
- X! if( bottom > 0 )
- X! --bottom;
- X ScrollRaster( w->RPort, 0, w->RPort->TxHeight,
- X w->BorderLeft-1, w->BorderTop+1,
- X w->Width - w->BorderRight-1,
- X w->Height - w->BorderBottom - 1 );
- X amii_curs( WIN_MESSAGE, 1, bottom );
- X! Text( w->RPort, "--more--", 9 );
- X }
- X else
- X Text( w->RPort, " --more--", 9 );
- X--- 290,304 ----
- X if( scrollmsg )
- X {
- X int bottom;
- X!
- X! bottom = amii_msgborder( w );
- X!
- X ScrollRaster( w->RPort, 0, w->RPort->TxHeight,
- X w->BorderLeft-1, w->BorderTop+1,
- X w->Width - w->BorderRight-1,
- X w->Height - w->BorderBottom - 1 );
- X amii_curs( WIN_MESSAGE, 1, bottom );
- X! Text( w->RPort, "--more--", 8 );
- X }
- X else
- X Text( w->RPort, " --more--", 9 );
- END_OF_FILE
- if test 53022 -ne `wc -c <'patches03d'`; then
- echo shar: \"'patches03d'\" unpacked with wrong size!
- fi
- # end of 'patches03d'
- if test ! -d 'sys' ; then
- echo shar: Creating directory \"'sys'\"
- mkdir 'sys'
- fi
- if test ! -d 'sys/amiga' ; then
- echo shar: Creating directory \"'sys/amiga'\"
- mkdir 'sys/amiga'
- fi
- if test ! -d 'sys/mac' ; then
- echo shar: Creating directory \"'sys/mac'\"
- mkdir 'sys/mac'
- fi
- if test ! -d 'sys/msdos' ; then
- echo shar: Creating directory \"'sys/msdos'\"
- mkdir 'sys/msdos'
- fi
- if test ! -d 'sys/share' ; then
- echo shar: Creating directory \"'sys/share'\"
- mkdir 'sys/share'
- fi
- if test ! -d 'sys/unix' ; then
- echo shar: Creating directory \"'sys/unix'\"
- mkdir 'sys/unix'
- fi
- echo shar: End of archive 1 \(of 18\).
- cp /dev/null ark1isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 18 archives.
- echo "Now execute ./patchit3.sh"
- 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
-