H7205 - full-pack identify might skip items if perm_invent is on
because updating the inventory window might reorder 'invent'
while the identify code is in the midst of traversing it;
H7120 - pickup that doesn't pick anything up can change the glyph
shown on the map because the pile might be reordered such
that a different item is on top;
H5216 - performing a sortloot operation on a pile and then switching
back to sortloot:none doesn't restore pile's original order.
The 'revamp' that changed the contributed sortloot feature to switch
to simpler usage (object list itself was sorted rather than having a
parallel array that needed to be constructed, sorted, traversed, and
discarded) turns out to have too many problems. This reverts to a
hybrid solution that constructs an array for traversal, leaving the
linked list in its original order, but hides most of the details of
that from sortloot() callers. The 'revamp' benefit of being able to
use normal list traversal is lost, as is the potential to skip
sorting when the list turns out to already be in the desired order.
This could stand to have a lot more testing than it's had so far.
87 lines
4.5 KiB
Groff
87 lines
4.5 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
|
|
|
|
|
|
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
|
|
|
|
|
|
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
|
|
|
|
|
|
Code Cleanup and Reorganization
|
|
-------------------------------
|