ensure BL_FLUSH always gets sent down to the window port whenever bot() is called with context.botlx set so that status updates work as expected after full screen clear after a level change Fixes #107
172 lines
9.9 KiB
Groff
172 lines
9.9 KiB
Groff
$NHDT-Branch: $:$NHDT-Revision: $ $NHDT-Date: $
|
|
|
|
This fixes36.2 file is here to capture information about updates in the 3.6.x
|
|
lineage following the release of 3.6.1 in April 2018. Please note, however,
|
|
that another 3.6.x release is not anticipated after 3.6.2, and most developer
|
|
focus will shift to the next major release.
|
|
|
|
General Fixes and Modified Features
|
|
-----------------------------------
|
|
last line of config file wasn't being heeded if it had no newline
|
|
list MSGTYPE values shows empty strings as reported in H7140
|
|
Killing Vlad while he was in bat/fog cloud/wolf form gave poorly worded
|
|
feedback when he reverted to vampire form
|
|
spaces in hilite_status option title text field not working
|
|
numeric hilite_status values didn't allow negative numbers (needed for AC);
|
|
change them to accept leading '-', also accept unary '+' as a no-op
|
|
permanent inventory window was updated too soon when a scroll of charging
|
|
was used to [re]charge an item, not reflecting the item's change(s)
|
|
for starting inventory, don't give an orc hero lembas wafers or cram rations
|
|
targetting with a polearm could give away location of hidden monster
|
|
static prototype could be left orphaned depending on #defines in rip.c
|
|
config file error handling routines were calling xx_wait_synch early
|
|
even before the window system was initialized; add a default routine
|
|
status_finish() in botl.c would unconditionally invoke the window port's
|
|
win_status_finish() routine which was problematic if the windowport
|
|
wasn't initialized yet
|
|
using 'O' to set up a hilite_status rule for string comparison, the menu for
|
|
color was titled "choose attribute for when <foo> is 'bar'" and the
|
|
one prompting for attribute used the default "pick an attribute"
|
|
when finishing using 'O' to examine or set hilite_status rules, if the
|
|
'statushilites' option is 0 and there is at least one rule, give a
|
|
reminder about setting it to non-zero to activate highlighting
|
|
end of game disclosure was exercising Wisdom when revealing inventory and
|
|
also repeatedly updating persistent inventory window if enabled
|
|
internals for 'sortloot' option have been changed to not reorder the actual
|
|
list of objects, so changing it to 'n'one will get the original order
|
|
back and having a persistent inventory window open when performing
|
|
full-pack identify won't result in possibly skipping some items
|
|
give vault guards a cursed tin whistle since there is a shrill whistling
|
|
sound if hero teleports out of vault while being confronted by guard
|
|
polymorphing worn amulet triggers panic if it turns into amulet of change
|
|
wishing for small mimic corpse or large mimic corpse failed with 'nothing
|
|
matching that exists'; wishing for large {dog,cat,kobold} corpse
|
|
yielded normal size one (size prefix was being stripped off for globs)
|
|
wishing for "glob of grey ooze" failed even though grey ooze is recognized
|
|
as a variant spelling for gray ooze
|
|
spells of healing and extra healing cast at monsters handled monster blindness
|
|
inconsistently compared to other healing
|
|
when using the 'O' command to create a status highlight that specifies
|
|
multiple attributes (blink+inverse, &c), pick all of them in one menu
|
|
selection and create a single hilite_status rule instead of having
|
|
separate rules for each attribute to be merged when highlighting
|
|
highlighting status conditions would fail to use attributes if a rule with
|
|
them was followed by another one without (color only or color&normal)
|
|
when using 'O' to set hilite_status rules, hide the 'score' status field if
|
|
game has been built without SCORE_ON_BOTL; latent rules for 'score'
|
|
can still be set in config file and removed via 'O' but can't be added
|
|
make stone-to-flesh behave the same on statues of petrified monsters as it
|
|
does on random 'dungeon art' ones (revive at a nearby spot instead of
|
|
becoming a corpse when there's already a monster at statue's location)
|
|
special level loader didn't support populating several types of special rooms
|
|
(ant hole, cockatrice nest, leprechaun hall)
|
|
eating rings while polymorphed didn't handle bonus/penalty for increase damage,
|
|
increase accuracy, or protection correctly
|
|
shopkeeper's position in front of shop door didn't correctly handle bottom
|
|
edge of irregularly shaped shop due to typo or copy+paste error
|
|
(latent bug; no such shops are present in 3.6.x)
|
|
attempting to update permanent inventory window during restore had problems
|
|
with unpaid items (needed shop bill before shop and its shopkeeper
|
|
were restored) and named fruit
|
|
remembered corpse which isn't there anymore would be described by farlook as
|
|
the corpse of a random monster type
|
|
when eating a tin of spinach, don't "feel like Popeye" is sustain-abilities
|
|
prevents any strength gain
|
|
summary text [for message history] of quest message Pri 00081 (Priest quest
|
|
success message given when bringing quest artifact to leader)
|
|
misspelled "congratulations"
|
|
verbal charm/seduce messages were given even when hero was deaf
|
|
succubus/incubus seduction might result in loss of levitation which in turn
|
|
could drop the hero onto a trap that transports him/her elsewhere;
|
|
seduction was proceeding as if nothing unusual had happened
|
|
#turn command which aggravated monsters did so without using a turn (not a pun)
|
|
fix hole/trapdoor passage inconsistency when polymorphed into a giant
|
|
making a wide-open special level with FLAGS:inaccessibles could trigger a
|
|
"floodfill stack overrun" panic (no 3.6.x levels were affected)
|
|
wallifying a special level might go out of map bounds (not with 3.6.x levels)
|
|
and corrupt other level data
|
|
if a random grave produced during level creation included some gold, that gold
|
|
was left on the ground instead of being buried with other treasure
|
|
multiple instances of shop damage at same spot (before repairs, so a broken
|
|
door or dug wall plus trap creation) only charged hero for first one
|
|
shop door repair which took place when hero was on another level only worked
|
|
correctly if a trap at the same spot was removed
|
|
object scattering during shop wall repair was skipped if a trap at the same
|
|
spot was also being removed
|
|
augmented death reason for "while helpless" was broken for record and logfile
|
|
(but still correct for xlogfile)
|
|
prevent wish prompt input from remembering the previous wish
|
|
parchment and vellum are made from animal skin so change material composition
|
|
and color for spellbooks with those descriptions from paper to leather;
|
|
eating those books now breaks vegetarian conduct
|
|
fix monsters not wielding digging implements
|
|
wizard mode ^I^I didn't make temporary identifications become persistent if
|
|
the build configuration makes plain 'char' unsigned
|
|
wizard mode #wizidentify didn't disclose extra information for unID'd items if
|
|
key bindings took away ^I and didn't bind #wizidentify to another key
|
|
make transformation message of a deliberate apply of a figurine seem a bit
|
|
less definite when blind and place unseen monster marker at the spot
|
|
you think it should be
|
|
ensure BL_FLUSH always gets sent down to the window port whenever bot() is
|
|
called with context.botlx set so that status updates work as
|
|
expected after full screen clear after a level change
|
|
|
|
|
|
Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository
|
|
------------------------------------------------------------------
|
|
fix access violation when --debug:xxxx has no other args after it
|
|
setting the inverse attribute for gold had the space before "$:"
|
|
getting highlighted along with the gold field
|
|
sortloot segfaulted when filtering a subset of items (seen with 'A' command)
|
|
tty: turn off an optimization that is the suspected cause of Windows reported
|
|
partial status lines following level changes
|
|
|
|
|
|
Platform- and/or Interface-Specific Fixes
|
|
-----------------------------------------
|
|
windows-gui: In nethackw, there could be conflicts between menu accelerators
|
|
and an extra choice accelerator to fix H7132.
|
|
windows-tty: Specify both width and height when creating font for width testing
|
|
windows-tty: To counter lag problems that were occuring with the Win32 console
|
|
port, implement a console back buffer to reduce the number of calls
|
|
made to WriteConsoleOutputXXX
|
|
windows-tty: Additional changes to xputc_core() and early_raw_print() to
|
|
manage the cursor position correctly as that is needed to handle
|
|
raw printing correctly
|
|
windows-tty: Added check for when we might be running off the bottom of the
|
|
screen when handling msmsg()
|
|
windows-tty: Added runtime checks to keep cursor always within bounds
|
|
windows-tty: Fix memory leaks as reported in H5779
|
|
windows-tty: Use nhraykey by default if the players keyboard layout is
|
|
non-english as reported in H4216
|
|
windows-tty: We now support changing altkeyhandler in game
|
|
windows: Added ntassert() mechanism for Windows based port use
|
|
tty: significant optimizations for performance and per field rendering
|
|
unix: Makefile.src and Makefile.utl inadvertently relied on a 'gnu make'
|
|
extension when using $(VERBOSEMAKE) to reduce build-time feedback;
|
|
replace with $(QUIETCC) which operates the same but defaults to
|
|
verbose so doesn't use '$<' for multi-prerequisite targets unless
|
|
specifically requested; use 'make QUIETCC=1 <target>' to get the
|
|
3.6.1 behavior back
|
|
|
|
|
|
General New Features
|
|
--------------------
|
|
integrate aklys feature introduced in 3.6.1 into display
|
|
status_hilite options which use comparisons may now use <= and >= in
|
|
addition to previous < and >; in 3.6.1 the latter operated as if
|
|
they were <= and >= but now behave as conventional less than and
|
|
greater than; old highlight rules using them should be updated
|
|
sortloot option has been enhanced to improve object ordering; primarily,
|
|
items of undiscovered type come out before items of discovered type
|
|
within each class or sub-class of objects
|
|
YAFM when stumbling on an undetected monster while hallucinating
|
|
Make it clear when a leprechaun dodges your attack
|
|
wizard mode #wizidentify can now select individual items for permanent
|
|
identification and don't display the selection to permanently
|
|
identify everything if everything is already fully identified
|
|
|
|
|
|
Code Cleanup and Reorganization
|
|
-------------------------------
|