Add threshold relationships <= and >= so that the change to make < and > perform their expected comparison can be resolved. "Point release shouldn't force players to update their config files" does not carry sufficient weight given that they already had to do that to turn on status highlighting when going from 3.6.0 to 3.6.1. The 3.6.2 release notes can warn them about the need to update their status highlight options if they're currently using '<' and/or '>'. Entering new hilite rules via the 'O' command accepted '=' prefix for numbers, but rules from config files did not. Now they do. The '=' prefix is optional in both situations. With 'O', percent rules and absolute rules had separate menu entries so picking one was already choosing the rule type, but entering a numeric value without percent sign (for percent) or with one (for absolute) would change the type on the fly. If someone has already picked percentage they shouldn't be required to append '%' to the digits, so that is now optional. If explicitly included with the number after having picked absolute, the value is rejected. It is trivial to back up in those menus and choose the alternate type if someone changes his/her mind part way through. If a status field has both persistent (percent, absolute, always) and temporary highlights (up, down, changed), give the temporary one precedence when the value has changed. To do that with 3.6.1, the rules for temporary had to follow the ones for persistent highlights since whichever matched last was the one used. Now their order relative to each other doesn't matter. If a value increases and there is both an 'up' rule and a 'changed' rule, the more specific 'up' takes precedence, regardless of their relative order; likewise for decreases and 'down' vs 'changed'. There were a couple more tweaks needed to support negative values; I overlooked the 'O' menu handling before. >-1% and <101% now work for both the config file and interactive adding via 'O' methods of defining highlight rules, although new >=0% and <=100% will be clearer to anyone examining a rule set. 'enum relationship' was forcing LT_VALUE to be -1 but that fact was never utilized anywhere, and the code was using magic number -2 to mean "no relationship yet". This adds NO_LTEQGT to replace the latter and gives it value -1. EQ_VALUE is still 0 so effectively the default if a highlight hasn't been fully set up yet. LT_VALUE is now just another positive value along with GT_VALUE, LE_VALUE, &c. The Guidebook hasn't caught up with the code yet. The rule choosing code used when deciding how to highlight something only supports 'int' fields and relies on 'long' having the same bits. It needs to be extended to support 'long' properly. Fixing should be straightforward (except maybe for the initialization of min/max best fit handling) but this doesn't address that. Also, data type for encumbrance/carrying-capacity should be changed from unsigned to plain int so that no extra handling for just one field will be needed.
67 lines
3.2 KiB
Groff
67 lines
3.2 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
|
|
|
|
|
|
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
|
|
|
|
|
|
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
|
|
-------------------------------
|