mapping/detection hangup handling (trunk only)

Noticed while looking at the magic mapping code:  u.uinwater is
cleared during mapping and detection so that map updating isn't suppressed
due to underwater vision restrictions, and it was possible for a hangup
save to take place before that state field was reset.  After restore, the
hero would end up standing on water, then fall in on the next turn.  This
saves it in struct `u' rather than in a local variable, so that the stored
value is accessible during restore.

     The u.uburied flag was being ignored, but presumeably it would also
impose severe vision restrictions if it ever gets implemented, so it is
now saved, temporarily cleared, and restored along with u.uinwater during
monster/object/gold/trap detection and magic mapping.
This commit is contained in:
nethack.rankin
2011-11-29 03:28:07 +00:00
parent fdf037a89f
commit e072ebd3fa
5 changed files with 38 additions and 23 deletions

View File

@@ -13,7 +13,7 @@
* Incrementing EDITLEVEL can be used to force invalidation of old bones
* and save files.
*/
#define EDITLEVEL 49
#define EDITLEVEL 50
#define COPYRIGHT_BANNER_A \
"NetHack, Copyright 1985-2011"