creps@silver.bacs.indiana.edu (Steve Creps) (12/31/87)
Earlier I mentioned a bug with not getting a ghost in a bones level. It seems the problem is much more than that: some permonst monsters are not being saved properly at all. I did some testing of the problem. I used debug wizard mode, with the environment variable SHOPTYPE set to various things in order to get the monsters causing the problem. First I tried "M" to get morgues. Everything looked fine. I got to the morgue, and it was full of ghosts (I had genocided Z's and W's to get them out of the way, but I'm absolutely sure that is unrelated to the problem). I then saved the game. Upon restoring the game, I found that all the ghosts had been turned into little dogs (I was getting a little dog instead of the ghost in a bones level earlier). Next I tried it with SHOPTYPE set to "3" to get barracks(tm), full of soldiers. (This is a new monster to be released in 2.3). When I restored after saving this time, all the soldiers (at least 20 of them) had just disappeared. Finally I tried "S" for swamps and giant eels. I isolated an eel in the corner where I could see him, and saved. When I restored the eel was now a gnome. What do soldiers, ghosts, and eels have in common? They are all defined with their own variables of type permonst, whereas most other monsters are kept in an array. I'm still working on this one. I also remember the medusa not restoring either, and it's also defined like these monsters. Another thing, I found a monster after one of the restores that looked like an "e" with an umlaut over it. Its name was garbage, mostly, but included the system message "Internal stack error: system halted." (My system didn't actually halt; it just read this from a part of memory it shouldn't have.) I don't know what this monster had been before, though. I'd guess it was a giant rat, since it was the right level for one, and rats are defined outside of the monster array (if ROCKMOLES is defined). This bug is in the PC version. I just tried it on this Ultrix machine, and did not get the bug. Then I applied the patches from all changes I've made to my PC version, and still did not get the error. This shows two things: 1) it's not a bug I've introduced myself. 2) it's something machine-dependent causing the problem, such as possibly different word sizes. If anyone has any ideas, please let me know. - - - - - - - - - Steve Creps on the VAX 8650 running Ultrix 2.0-1 at Indiana University. creps@silver.bacs.indiana.edu "F-14 Tomcat! There IS no substitute."