Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
I started out adding a few new status conditions to X11's "fancy status" (the default) to gauge how difficult it was going to be. In the process I found several latent bugs. After fixing those, I decided that the same status conditions should be added to the alternate "tty-style status". Lots more latent bugs, some of the same nature, others different. Things spiraled until the code change is very substantial. Code for the old two-line status is still present but I don't know how to activate it. Unlike tty-style status, it composes and displays two lines of text and isn't capable of highlighting portions of that text, so it would be considered deprecated anyway. All testing was done with the default NetHack.ad (except when turning 'fancy_status' off) so I don't know whether the new code might override previously customizable status settings. I'm not sure whether this list covers all the fixes.... both tty-style and fancy add new status conditions 'grabbed' (by eel), 'held', 'trapped', and 'sinking-into-lava' (others will eventually follow); grab and lava are on by default, the others have to be enabled via options both tty-style (not handled) and fancy (faulty boolean logic) polymorphing didn't change Xp to HD (silver lining: rehumanizing didn't need to reverse it) tty-style only; fancy was ok force white text (on black background) instead of settling for gray turning on optional showexp, showscore, and/or time worked but turning them back off again didn't remove the relevant fields polymorphing when showexp was on didn't suppress Exp-points tty-style only; fancy uses different layout condense conditions into simple left-to-right space separated list instead of giving them specific locations and having gaps of blank space for conditions that aren't in effect tty-style only; not applicable for fancy (status_hilites not implemented) all highlights stuck if 'statushilites' was reset to 0 to disable them displaying anything with bold attribute stuck; it wouldn't revert to normal text if a different highlight rule without bold was used for subsequent updates avoid inverting leading space that separates from preceding field when highlighting with inverse video attribute add support for 'dim' attribute using gray foreground (only viable after the fix for white foreground) fancy only reorganize the field layout so that things line up nicely instead of having columns with six, seven, or eight lines be spread over same amount of vertical space line up the values of the six characteristics, similar to how vertical status works in curses: all two digits; when exceptional strength is present, the '18' lines up and rest goes past implicit right margin use status conditions as provided by core instead of duplicating them (other fields still duplicate stuff done in botl.c); doing this required forcing 'VIA_WINDOWPORT()' if built without STATUS_HILITES
- Loading branch information