NHTangles / GruntHack

A variant of NetHack 3.4.3 aiming to extend and enhance existing behaviour.
5 stars 4 forks source link

colored walls ( i.e. Mines ) not "darkening" when outside of field of vision #9

Open lightrow opened 6 years ago

lightrow commented 6 years ago

basically what the title says

would be nice if it would work the same way as in the regular dungeon: grunthack_ascii

here it uses foreground color ( white ) for lit walls, and bold black ( dark grey ) for unlit. But for colored walls it uses the same color, regardless of whether it's lit or not. Not a big deal, but would be really good if there'd be a switch to toggle colored walls, or make them use bold colors ( which are usually brigher ) when lit and normal ones when unlit.

k21971 commented 6 years ago

When I added the colored walls patch by L, I did not take into account the already existing lit/unlit behavior that GruntHack has. Kinda surprised I didn't notice this myself - good catch. Maybe we can do something about this.

lightrow commented 6 years ago

yea its actually really easy to fix, i just did it myself by editing mapglyph.c and replacing e.g. CLR_BROWN with CLR_YELLOW in the /* Special colours for special dungeon areas */ section

k21971 commented 6 years ago

That works. But to me, I don't like the look, plus I'm trying to figure out why the unlit walls stay brown when you just edited (as far as I can tell) the only place where mine wall color is expressed to be a different color. Ideally, lit sections would become brown and unlit would be dark gray (unfortunately there is no dark brown or bright brown). Will look into this more when I'm back home and off vacation.

lightrow commented 6 years ago

the colors are all just numerical values from 0 to 16 the bright colors start from 9 the function ( line 337 of mapglyph.c ) makes things "unlit" by simply subracting NO_COLOR ( which is 8 ) from the color of the glyph, if that color is bigger than 8. So CLR_YELLOW ( 11 ) minus NO_COLOR ( 8 ) becomes CLR_BROWN ( 3 ).