]> granicus.if.org Git - nethack/commit
symbol set reorganization
authorPatR <rankin@nethack.org>
Thu, 17 Oct 2019 12:00:58 +0000 (05:00 -0700)
committerPatR <rankin@nethack.org>
Thu, 17 Oct 2019 12:00:58 +0000 (05:00 -0700)
commit3e368b9a51c496ab2ae35c247fa7d0e23aeafe66
tree9e20542efcb4f628953040795cf55743afda336c
parent33d33fcf193ec0a187df7c25a3c717d044cf737b
symbol set reorganization

Change the way symbol sets are loaded to make them have the same order
as they appear in the symbols file rather than being reversed.

Revise dat/symbols so that the new ordering yields a result similar
to the old ordering, more or less.  I've added a few set descriptions.
The only substantive change is marking DECgraphics as primary-only
(not available on rogue level) and adding new set DECgraphics_2 which
is commented out near the end.

Define symbol handling H_MAC since one of the sets specifies
'handling: MAC'.  All H_MAC is used for now is to avoid showing
MACgraphics as a symset when compiled without MAC_GRAPHICS_ENV (which
was used for pre-OSX Mac by the old code in sys/mac/), so it will be
hidden for everyone.

I left handling H_CURS even though curses doesn't implement anything
for it.  It could do something when rendering the map or assign a
function to 'cursesgraphics_mode_callback' for special init or both
but hasn't needed to.  Since curses is now supporting DECgraphics,
define 'decgraphics_mode_callback' for it.  No value is being
assigned so that doesn't do anything; curses seems to be setting up
the primary character set as text and secondary one as line-drawing
without the need for that hook.

With the added set descriptions, 'O's symset menu looked horrible for
curses due to the way curses decides to set the width of menus and
the resulting line wrapping which took place because of a too-narrow
menu.  I've added a chunk of code to the options handling code which
shouldn't really be there but makes the menu much easier to read.

Lastly, do some formatting cleanup in files.c.
dat/symbols
doc/fixes36.3
include/rm.h
src/drawing.c
src/files.c
src/options.c