curses vs !HILITE_STATUS

The curses interface wouldn't build with HILITE_STATUS disabled.  I
started adapting it to handle genl_status_update() but that was taking
too much effort with each niggling detail leading to another.  This
goes the opposite direction:  forcing the old STATUS_VIA_WINDOWPORT
behavior without having that #define available.  That dragged along a
bunch of unexpected changes too.
This commit is contained in:
PatR
2019-04-06 15:53:51 -07:00
parent f52e9865f2
commit 0e425d645f
8 changed files with 88 additions and 66 deletions

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 allmain.c $NHDT-Date: 1554045808 2019/03/31 15:23:28 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.96 $ */
/* NetHack 3.6 allmain.c $NHDT-Date: 1554591223 2019/04/06 22:53:43 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.97 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2012. */
/* NetHack may be freely redistributed. See license for details. */
@@ -537,11 +537,11 @@ void
display_gamewindows()
{
WIN_MESSAGE = create_nhwindow(NHW_MESSAGE);
#ifdef STATUS_HILITES
status_initialize(0);
#else
WIN_STATUS = create_nhwindow(NHW_STATUS);
#endif
if (VIA_WINDOWPORT()) {
status_initialize(0);
} else {
WIN_STATUS = create_nhwindow(NHW_STATUS);
}
WIN_MAP = create_nhwindow(NHW_MAP);
WIN_INVEN = create_nhwindow(NHW_MENU);
/* in case of early quit where WIN_INVEN could be destroyed before

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 botl.c $NHDT-Date: 1554554180 2019/04/06 12:36:20 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.142 $ */
/* NetHack 3.6 botl.c $NHDT-Date: 1554591223 2019/04/06 22:53:43 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.143 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Michael Allison, 2006. */
/* NetHack may be freely redistributed. See license for details. */
@@ -15,10 +15,8 @@ const char *const enc_stat[] = { "", "Burdened", "Stressed",
STATIC_OVL NEARDATA int mrank_sz = 0; /* loaded by max_rank_sz (from u_init) */
STATIC_DCL const char *NDECL(rank);
#ifdef STATUS_HILITES
STATIC_DCL void NDECL(bot_via_windowport);
STATIC_DCL void NDECL(stat_update_time);
#endif
static char *
get_strength_str()
@@ -236,14 +234,14 @@ bot()
{
/* dosave() flags completion by setting u.uhp to -1 */
if ((u.uhp != -1) && youmonst.data && iflags.status_updates) {
#ifdef STATUS_HILITES
bot_via_windowport();
#else
curs(WIN_STATUS, 1, 0);
putstr(WIN_STATUS, 0, do_statusline1());
curs(WIN_STATUS, 1, 1);
putmixed(WIN_STATUS, 0, do_statusline2());
#endif
if (VIA_WINDOWPORT()) {
bot_via_windowport();
} else {
curs(WIN_STATUS, 1, 0);
putstr(WIN_STATUS, 0, do_statusline1());
curs(WIN_STATUS, 1, 1);
putmixed(WIN_STATUS, 0, do_statusline2());
}
}
context.botl = context.botlx = iflags.time_botl = FALSE;
}
@@ -251,13 +249,13 @@ bot()
void
timebot()
{
if (flags.time) {
#ifdef STATUS_HILITES
stat_update_time();
#else
/* old status display updates everything */
bot();
#endif
if (flags.time && iflags.status_updates) {
if (VIA_WINDOWPORT()) {
stat_update_time();
} else {
/* old status display updates everything */
bot();
}
}
iflags.time_botl = FALSE;
}
@@ -735,11 +733,6 @@ bot_via_windowport()
evaluate_and_notify_windowport(valset, idx);
}
#ifdef STATUS_HILITES
/* stat_update_time() isn't really a STATUS_HILITES routine
* but timebot() will only ever call it for that configuration.
*/
/* update just the status lines' 'time' field */
STATIC_OVL void
stat_update_time()
@@ -757,7 +750,6 @@ stat_update_time()
NO_COLOR, (unsigned long *) 0);
return;
}
#endif
STATIC_OVL boolean
eval_notify_windowport_field(fld, valsetlist, idx)
@@ -2202,6 +2194,7 @@ boolean from_configfile;
return TRUE;
}
#endif /* STATUS_HILITES */
const struct condmap valid_conditions[] = {
{ "stone", BL_MASK_STONE },
@@ -2219,6 +2212,8 @@ const struct condmap valid_conditions[] = {
{ "ride", BL_MASK_RIDE },
};
#ifdef STATUS_HILITES
const struct condmap condition_aliases[] = {
{ "strangled", BL_MASK_STRNGL },
{ "all", BL_MASK_STONE | BL_MASK_SLIME | BL_MASK_STRNGL

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 end.c $NHDT-Date: 1554045810 2019/03/31 15:23:30 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.167 $ */
/* NetHack 3.6 end.c $NHDT-Date: 1554591224 2019/04/06 22:53:44 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.168 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2012. */
/* NetHack may be freely redistributed. See license for details. */
@@ -1372,9 +1372,8 @@ int how;
}
display_nhwindow(WIN_MESSAGE, TRUE);
destroy_nhwindow(WIN_MAP), WIN_MAP = WIN_ERR;
#ifndef STATUS_HILITES
destroy_nhwindow(WIN_STATUS), WIN_STATUS = WIN_ERR;
#endif
if (WIN_STATUS != WIN_ERR)
destroy_nhwindow(WIN_STATUS), WIN_STATUS = WIN_ERR;
destroy_nhwindow(WIN_MESSAGE), WIN_MESSAGE = WIN_ERR;
if (!done_stopprint || flags.tombstone)

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 options.c $NHDT-Date: 1554155747 2019/04/01 21:55:47 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.362 $ */
/* NetHack 3.6 options.c $NHDT-Date: 1554591224 2019/04/06 22:53:44 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.363 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Michael Allison, 2008. */
/* NetHack may be freely redistributed. See license for details. */
@@ -4044,9 +4044,8 @@ boolean tinitial, tfrom_file;
|| boolopt[i].addr == &flags.showscore
#endif
|| boolopt[i].addr == &flags.showexp) {
#ifdef STATUS_HILITES
status_initialize(REASSESS_ONLY);
#endif
if (VIA_WINDOWPORT())
status_initialize(REASSESS_ONLY);
context.botl = TRUE;
} else if (boolopt[i].addr == &flags.invlet_constant) {
if (flags.invlet_constant) {
@@ -4088,11 +4087,12 @@ boolean tinitial, tfrom_file;
}
#endif
need_redraw = TRUE;
#ifdef STATUS_HILITES
} else if (boolopt[i].addr == &iflags.wc2_hitpointbar) {
status_initialize(REASSESS_ONLY);
need_redraw = TRUE;
#endif
if (VIA_WINDOWPORT()) {
/* [is reassessment really needed here?] */
status_initialize(REASSESS_ONLY);
need_redraw = TRUE;
}
#ifdef TEXTCOLOR
} else if (boolopt[i].addr == &iflags.use_color) {
need_redraw = TRUE;

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 save.c $NHDT-Date: 1543972194 2018/12/05 01:09:54 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.115 $ */
/* NetHack 3.6 save.c $NHDT-Date: 1554591225 2019/04/06 22:53:45 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.117 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Michael Allison, 2009. */
/* NetHack may be freely redistributed. See license for details. */
@@ -1405,9 +1405,8 @@ freedynamicdata()
/* free_pickinv_cache(); -- now done from really_done()... */
free_symsets();
#endif /* FREE_ALL_MEMORY */
#ifdef STATUS_HILITES
status_finish();
#endif
if (VIA_WINDOWPORT())
status_finish();
#ifdef DUMPLOG
dumplogfreemessages();
#endif