home *** CD-ROM | disk | FTP | other *** search
- This disk contains the source to HACK 1.0.1. Its original source was
- placed in the public domain on USENET about a year ago. I downloaded it
- from an APOLLO and converted it to run on the AMIGA. In the process, I
- found several compiler problems (which have been reported to Lattice) and
- believe the code to be in a pretty stable state.
-
- Known problems:
- 1) When you boot from the standard 1.1 workbench and then run HACK by
- F| clicking on an ICON, sometimes it sits there for a while (LOADING)
- I| and then does nothing. However, the memory that HACK uses up is
- X| allocated but the program did not run. Presumably this is a problem
- E| in the startup code in 'hack.window.c' but I cannot find it. Another
- D| problem may be in the _main.c which is compiled with the TINY flag.
- +-----------------------------------------------------------------------
- This was a problem in _main.c opening up default windows. Lattice
- shouldn't do it and Commodore's code shouldn't fail when it called.
- The calls in question were: Input() Output() and Open("*"..) when there
- was no default CLI window
-
- 2) The AMIGADOS command '!' brings up the AmigaDos window and CLI, but
- when you return, it crashes. This code was listed directly from
- the MuEMACS so I don't believe it is the cause, but then again, who
- knows. This code is in hack.do.c.
-
- 3) Saved game ICONS are deleted by simply deleting the .INFO file. I do
- not believe this is the right way, but the documentation is not too
- clear as to how to delete an ICON. This code is in hack.icon.c.
-
- 4) I have no earthly idea exactly how CurrentDir is to be called. HACK
- definitely leaves an extra lock laying around that connects to the
- HACK_GAME: volume, but I am not exactly sure when it is safe to delete
- that lock, nor what to do with the old lock that CurrentDir returns.
- This code is in UnixXface.c.
-
- 5) Register variables simply don't work. Doio appears to trash D7 and
- consequently makes life miserable for the remainder of Hack. Right
- now I have a #define register in config.h, but you can change it to
- #define register register to see hack fail.
-
- 6) Bitfields have proven to be fairly unreliable. If you change the
- definition of the Bitfield macro in config.h, you will see some very
- strange behavior in the code (as well as a sizable increase in the
- size)
-
- 7) Hack is extremely large. At 219K it takes a long time to link and
- would not link with the first version of ALINK. I expect that if
- many more enhancements are made, it will become too large to link
- on a 512 machine.
-
-
- Organization:
-
- HACK_SOURCE: should be assigned to the logical disk containing the source.
- LATTICE_C: should be assigned to a disk having an include directory with
- ALL include files under it. Only 4 programs use other than
- the standard lattice include files.
- I: should be assigned to the directory containg the lattice
- standard header files.
- HACK_GAME: should be assigned to the disk containing the final image.
- This disk should have a LIB directory of all the link
- libraries.
- HACK_GAME:SAVED GAMES This is where all the saved games are stored.
-
- Important files:
- ccall Recompiles all of HACK
- ccwindow Recompiles hack.window.c
- ccicon Recompiles hack.icon.c
- hack.window.c All the Amiga I/O interface routines.
- hack.icon.c All the Amiga ICON interface routines.
- UnixXface.c The stub routines to allow hack to exist in a non-unix
- environment.
-
- You are welcome to distribute the Game disk to any one you wish, but
- distribution of the source should be limited in order to preserve the
- integrity of HACK. Everyone thinks they are a programmer, and it would
- be nice if there weren't 50 million different extensions to HACK. If you
- make any changes, it is HIGHLY desirable that you indicate your work in
- HACK_GAME:news (on the game disk) so that people know who to contact for
- problems. It would be nice to see some very usable features:
- An option to cause all messages at the top of the screen to be spoken.
- Sounds to accompany various actions (zapping a wand, hitting monsters)
- A Hack character set for displaying the various monsters.
- Better graphics in displaying the room - perhaps dual playfields with
- one as the room and the other for the monsters.
-
- If you make any of these enhancements, please send me a copy (preferably
- indicating where the source changes are so I can update the 'original' copy
- that I send out. I will try to remain the keper of the sources for this
- implementation of Hack.
-
- Feel free to contact me if there are any questions. If you like this and
- would like to see more freeware of this sort, please let me know.
-
- John A. Toebes, VIII
- 120-H Northington Place
- Cary, NC, 27511
- (919) 469-4120
-