[net.games.rogue] Bugs in Rogue Version 5.2

lmeck (05/10/83)

Relay-Version:version B 3/9/83; site harpo.UUCP
Posting-Version:version B 2.10 beta 3/9/83; site sdcrdcf.UUCP
Message-ID:<244@sdcrdcf.UUCP>
Date:Tue, 10-May-83 12:03:22 EDT
Organization:System Development Corporation--a Burroughs Company

The following are known and possible bugs in rogue version 5.2:

1.  If the player's maximum hit points exceed 127 they become negative
    because the number is stored in a single byte which is manipulated
    as a signed quantity.

2.  Saving a game when the system is heavily loaded can cause the save
    file to appear to have been "touched".  This appears to be due to
    the difference between the last time the file is written and the
    time saved in the file.  Rogue does not allow this difference to
    exceed 15 seconds.  This time should be increased, or (better) the
    check should be eliminated.  After all, if a user can successfully
    decrypt the save file, change it to improve his chances, and re-
    encrypt it, he should have no trouble making the appropriate change
    to the time saved in the file also.

3.  A player's score is truncated mod 65k when it is placed in the score
    file because only two bytes are saved and these are manipulated as
    an unsigned quantity.

4.  The "missing stairs" bug seems to still occur occasionally.  When
    I have encountered it, it has followed the pattern below:
    a.  The program freezes when going down the stairs.
    b.  Stopping and restarting, or hanging up and restarting from the
	save file, places the player on the next level with no stairs.
    c.  When this occurs, I have never found any traps on the level
	either.
    Several times when this has happened, I have encountered full
    treasure rooms on the lower level.  I think that this problem may be
    caused by an infinite loop while trying to put an item (procedure
    put_things) into a room that is full.


5.  In several games, I have encountered a "wierd trap" at low levels
    (>25).  This trap does nothing when you step on it and the message
    (e.g., "wierd trap 7") produced by the identify trap command
    disappears immediately after being written.

6.  The flag which indicates whether the player is awake (1) or asleep
    (0) appears to be initialized to zero at the start of the game and
    to stay that way until after the first time the player "sleeps" (gas
    trap, sleep scroll, paralysis potion, etc.) It appears that the
    player is more easily hit by monsters when this flag is zero. (This
    "bug" may be intentional.)

7.  The size of the save file increases every time the game is saved.
    Attempting to save a game too many times often causes a memory
    violation in procedure encwrite, which appears to be moving the
    (encrypted) contents of memory to an IO buffer.  Symptoms include:
    a.  The bottom line stats are not erased and the prompt appears
	too quickly.
    b.  The file produced is only 5 bytes long and contains the
	characters "junk^".
    c.  An attempt to restart the game from the save file produces the
	message "Sorry, saved game is out of date."

I have fixes for bugs 1, 2, and (maybe) 4 in the form of an adb script
which can be run on an *unstripped* binary file.  I will send these
to anyone who is interested.

			Slasher
			decvax!trw-unix!sdcrdcf!lmeck
			(sdcrdcf also talks to hplabs, burdvax,
			sytek, cbosgd, sdccsu3, ihnp4)