if leash or unleash attempt was directed at "remembered, unseen monster" glyph
and yielded "there's no creature there", the glyph wasn't removed
wizmode level teleport menu indicates on what level you currently are
+fix invisible gold symbol in status line when S_coin was set to space
Fixes to Post-3.6.0 Problems that Were Exposed Via git Repository
/* ### botl.c ### */
E char *NDECL(do_statusline1);
+E void NDECL(check_gold_symbol);
E char *NDECL(do_statusline2);
E int FDECL(xlev_to_rank, (int));
E int FDECL(title_to_mon, (const char *, int *, int *));
* behaviour of various NetHack functions and probably warrant
* a structure of their own elsewhere some day.
*/
+ boolean invis_goldsym; /* gold symbol is ' '? */
int parse_config_file_src; /* hack for parse_config_line() */
int in_lava_effects; /* hack for Boots_off() */
int last_msg; /* indicator of last message player saw */
return newbot1;
}
+void
+check_gold_symbol()
+{
+ int goldch, goldoc;
+ unsigned int goldos;
+ int goldglyph = objnum_to_glyph(GOLD_PIECE);
+ (void) mapglyph(goldglyph, &goldch, &goldoc, &goldos, 0, 0);
+ iflags.invis_goldsym = ((char)goldch <= ' ');
+}
+
char *
do_statusline2()
{
if ((money = money_cnt(invent)) < 0L)
money = 0L; /* ought to issue impossible() and then discard gold */
Sprintf(eos(dloc), "%s:%-2ld", /* strongest hero can lift ~300000 gold */
- iflags.in_dumplog ? "$" : encglyph(objnum_to_glyph(GOLD_PIECE)),
+ (iflags.in_dumplog || iflags.invis_goldsym) ? "$"
+ : encglyph(objnum_to_glyph(GOLD_PIECE)),
min(money, 999999L));
dln = strlen(dloc);
/* '$' encoded as \GXXXXNNNN is 9 chars longer than display will need */
#ifdef USE_TILES
substitute_tiles(newlevel);
#endif
+ check_gold_symbol();
/* record this level transition as a potential seen branch unless using
* some non-standard means of transportation (level teleport).
*/
/* Is it a symbol? */
if (strstr(opts, "S_") == opts && parsesymbols(opts)) {
switch_symbols(TRUE);
+ check_gold_symbol();
return retval;
}
destroy_nhwindow(tmpwin);
if (need_redraw) {
+ check_gold_symbol();
reglyph_darkroom();
(void) doredraw();
}