creps@silver (Steve Creps) (05/03/88)
Last week I said I'd decide what to do about NetHack. Since there is still a pretty bad bug in the PC version, and since nobody seems to have gotten the first two parts of it, I have decided not to post the remaining parts. Instead I will try to fix the bugs, and post a new version as soon as possible. So throw away the parts to the executable you have already gotten (but not the support files). This way, I won't be posting five more parts to something that won't work anyway. (I tested it for a couple of hours before I posted it, but was on the wrong track as to what the problem was. Now I have an idea what's wrong.) I have traced the bug to the code in save.c and/or lev.c. This seems to be the section of code I fix for every new release of NetHack, but somehow a similar bug creeps back in with the next release. The old code had #ifdef MSDOS lines in the code that saves a level (not necessarily when doing an "S" command). Now it seems all that MSDOS stuff has been ripped out and the code for Unix substituted. Well, it just ain't gonna work. I'm looking at it, but don't have a lot of time to do much more debugging on this. I might be able to hack the old save.c file to handle all the new (struct permonst) monsters (which are the ones causing the trouble). The old code used "fake indices," but now these are gone. Maybe I'll put them back in. Suggestion, why don't we eliminate all the (struct permonst) monsters, and have all monsters in the mons[] array? Then we'll make their existence in the array unconditional (stooges in the array even if STOOGES is not defined and they aren't used). A better way might be to have all the monsters made up in makedefs, like the objects are. - - - - - - - - - - Steve Creps, Indiana University, Bloomington, "home of the Hoosiers" creps@silver.bacs.indiana.edu (192.12.206.2) {pur-ee,ihnp4!inuxc,rutgers,pyramid}!iuvax!silver!creps creps@iubacs.bitnet (forwarded) "To dream... the unlintable dream..."