Merge branch 'NetHack-3.6.2'

This commit is contained in:
nhmall
2019-03-13 20:21:56 -04:00
13 changed files with 51 additions and 33 deletions
+2 -1
View File
@@ -1,4 +1,4 @@
$NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.273 $ $NHDT-Date: 1552425075 2019/03/12 21:11:15 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.274 $ $NHDT-Date: 1552521022 2019/03/13 23:50:22 $
This fixes36.2 file is here to capture information about updates in the 3.6.x This fixes36.2 file is here to capture information about updates in the 3.6.x
lineage following the release of 3.6.1 in April 2018. Please note, however, lineage following the release of 3.6.1 in April 2018. Please note, however,
@@ -478,6 +478,7 @@ curses: when getting multi-character responses from player, support <delete>
as well as <backspace> to remove last character entered; also, return as well as <backspace> to remove last character entered; also, return
<escape> to core if ESC is typed when there is no input entered <escape> to core if ESC is typed when there is no input entered
curses: extend preceding <delete> support to typing of extended command names curses: extend preceding <delete> support to typing of extended command names
curses: support hilite_pet and hilite_pile even when color is disabled
vms: add compile of isaac64.c to Makefile.src and vmsbuild.com vms: add compile of isaac64.c to Makefile.src and vmsbuild.com
+1 -2
View File
@@ -98,7 +98,6 @@ extern void FDECL(interject, (int));
#ifdef strcasecmp #ifdef strcasecmp
#undef strcasecmp #undef strcasecmp
#endif #endif
extern void FDECL(nethack_exit, (int));
extern void NDECL(getlock); extern void NDECL(getlock);
#endif #endif
@@ -281,5 +280,5 @@ extern void FDECL(nhassert_failed, (const char * exp, const char * file,
#endif #endif
#define nethack_enter(argc, argv) nethack_enter_winnt() #define nethack_enter(argc, argv) nethack_enter_winnt()
extern void FDECL(nethack_exit, (int)) NORETURN;
#endif /* NTCONF_H */ #endif /* NTCONF_H */
+1 -1
View File
@@ -163,7 +163,7 @@ extern void curses_view_file(const char *filename, boolean must_exist);
extern void curses_rtrim(char *str); extern void curses_rtrim(char *str);
extern int curses_get_count(int first_digit); extern int curses_get_count(int first_digit);
extern int curses_convert_attr(int attr); extern int curses_convert_attr(int attr);
extern int curses_read_attrs(char *attrs); extern int curses_read_attrs(const char *attrs);
extern char *curses_fmt_attrs(char *); extern char *curses_fmt_attrs(char *);
extern int curses_convert_keys(int key); extern int curses_convert_keys(int key);
extern int curses_get_mouse(int *mousex, int *mousey, int *mod); extern int curses_get_mouse(int *mousex, int *mousey, int *mod);
+1 -1
View File
@@ -43,7 +43,7 @@ STATIC_DCL void NDECL(dump_plines);
STATIC_DCL void FDECL(dump_everything, (int, time_t)); STATIC_DCL void FDECL(dump_everything, (int, time_t));
STATIC_DCL int NDECL(num_extinct); STATIC_DCL int NDECL(num_extinct);
#if defined(__BEOS__) || defined(MICRO) || defined(WIN32) || defined(OS2) #if defined(__BEOS__) || defined(MICRO) || defined(OS2)
extern void FDECL(nethack_exit, (int)); extern void FDECL(nethack_exit, (int));
#else #else
#define nethack_exit exit #define nethack_exit exit
+12 -3
View File
@@ -1,4 +1,4 @@
/* NetHack 3.6 options.c $NHDT-Date: 1551222973 2019/02/26 23:16:13 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.356 $ */ /* NetHack 3.6 options.c $NHDT-Date: 1552521022 2019/03/13 23:50:22 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.357 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Michael Allison, 2008. */ /*-Copyright (c) Michael Allison, 2008. */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -28,7 +28,7 @@ NEARDATA struct instance_flags iflags; /* provide linkage */
#endif #endif
#ifdef CURSES_GRAPHICS #ifdef CURSES_GRAPHICS
extern int curses_read_attrs(char *attrs); extern int curses_read_attrs(const char *attrs);
extern char *curses_fmt_attrs(char *); extern char *curses_fmt_attrs(char *);
#endif #endif
@@ -4020,7 +4020,6 @@ boolean tinitial, tfrom_file;
} else if (boolopt[i].addr == &flags.showrace } else if (boolopt[i].addr == &flags.showrace
|| boolopt[i].addr == &iflags.use_inverse || boolopt[i].addr == &iflags.use_inverse
|| boolopt[i].addr == &iflags.hilite_pile || boolopt[i].addr == &iflags.hilite_pile
|| boolopt[i].addr == &iflags.hilite_pet
|| boolopt[i].addr == &iflags.perm_invent || boolopt[i].addr == &iflags.perm_invent
#ifdef CURSES_GRAPHICS #ifdef CURSES_GRAPHICS
|| boolopt[i].addr == &iflags.cursesgraphics || boolopt[i].addr == &iflags.cursesgraphics
@@ -4028,6 +4027,16 @@ boolean tinitial, tfrom_file;
|| boolopt[i].addr == &iflags.wc_ascii_map || boolopt[i].addr == &iflags.wc_ascii_map
|| boolopt[i].addr == &iflags.wc_tiled_map) { || boolopt[i].addr == &iflags.wc_tiled_map) {
g.opt_need_redraw = TRUE; g.opt_need_redraw = TRUE;
} else if (boolopt[i].addr == &iflags.hilite_pet) {
#ifdef CURSES_GRAPHICS
if (WINDOWPORT("curses")) {
/* if we're enabling hilite_pet and petattr isn't set,
set it to Inverse; if we're disabling, leave petattr
alone so that re-enabling will get current value back */
if (iflags.hilite_pet && !iflags.wc2_petattr)
iflags.wc2_petattr = curses_read_attrs("I");
}
#endif
#ifdef STATUS_HILITES #ifdef STATUS_HILITES
} else if (boolopt[i].addr == &iflags.wc2_hitpointbar) { } else if (boolopt[i].addr == &iflags.wc2_hitpointbar) {
status_initialize(REASSESS_ONLY); status_initialize(REASSESS_ONLY);
+2 -2
View File
@@ -90,8 +90,8 @@ TARGET_CPU=x86
# of your PDCurses C files which must already be resident on # of your PDCurses C files which must already be resident on
# your machine. # your machine.
# #
ADD_CURSES=Y #ADD_CURSES=Y
PDCURSES_TOP=../../pdcurses #PDCURSES_TOP=../../pdcurses
#4b Qt #4b Qt
# #
+1
View File
@@ -461,6 +461,7 @@ int __declspec(dllexport) __stdcall CheckInput(hConIn, ir, count, numpad,
HANDLE hConIn; HANDLE hConIn;
INPUT_RECORD *ir; INPUT_RECORD *ir;
DWORD *count; DWORD *count;
int mode;
int *mod; int *mod;
boolean numpad; boolean numpad;
coord *cc; coord *cc;
+6 -5
View File
@@ -1,4 +1,4 @@
/* NetHack 3.6 winX.c $NHDT-Date: 1552422652 2019/03/12 20:30:52 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.72 $ */ /* NetHack 3.6 winX.c $NHDT-Date: 1552441031 2019/03/13 01:37:11 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.73 $ */
/* Copyright (c) Dean Luick, 1992 */ /* Copyright (c) Dean Luick, 1992 */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -1355,14 +1355,15 @@ int how;
time_t when; time_t when;
{ {
struct xwindow *wp; struct xwindow *wp;
FILE *rip_fp; FILE *rip_fp = 0;
check_winid(window); check_winid(window);
wp = &window_list[window]; wp = &window_list[window];
/* make sure the graphic_tombstone is available; it's not easy to /* make sure the graphical tombstone is available; it's not easy to
revert to ordinary text tombstone once we're past this point... */ revert to the ASCII-art text tombstone once we're past this point */
rip_fp = fopen(appResources.tombstone, "r"); /* "rip.xpm" */ if (appResources.tombstone && *appResources.tombstone)
rip_fp = fopen(appResources.tombstone, "r"); /* "rip.xpm" */
if (!rip_fp) { if (!rip_fp) {
genl_outrip(window, how, when); genl_outrip(window, how, when);
return; return;
+2 -2
View File
@@ -10,10 +10,10 @@
#include "func_tab.h" #include "func_tab.h"
#include <ctype.h> #include <ctype.h>
#if defined(FILENAME_CMP) #if defined(FILENAME_CMP) && !defined(strcasecmp)
#define strcasecmp FILENAME_CMP #define strcasecmp FILENAME_CMP
#endif #endif
#if defined(STRNCMPI) #if defined(STRNCMPI) && !defined(strncasecmp)
#define strncasecmp strncmpi #define strncasecmp strncmpi
#endif #endif
+5 -3
View File
@@ -358,8 +358,7 @@ putstr(window, attr, str)
-- Print str on the window with the given attribute. Only -- Print str on the window with the given attribute. Only
printable ASCII characters (040-0126) must be supported. printable ASCII characters (040-0126) must be supported.
Multiple putstr()s are output on separate lines. Multiple putstr()s are output on separate lines.
Attributes Attributes can be one of
can be one of
ATR_NONE (or 0) ATR_NONE (or 0)
ATR_ULINE ATR_ULINE
ATR_BOLD ATR_BOLD
@@ -616,7 +615,10 @@ curses_print_glyph(winid wid, XCHAR_P x, XCHAR_P y, int glyph,
} else } else
*/ */
if ((special & MG_OBJPILE) && iflags.hilite_pile) { if ((special & MG_OBJPILE) && iflags.hilite_pile) {
color = 16 + (color * 2) + 1; if (iflags.wc_color)
color = 16 + (color * 2) + 1;
else
attr = A_REVERSE;
} }
} }
+14 -9
View File
@@ -81,19 +81,22 @@ curses_read_char()
/* Turn on or off the specified color and / or attribute */ /* Turn on or off the specified color and / or attribute */
void void
curses_toggle_color_attr(WINDOW * win, int color, int attr, int onoff) curses_toggle_color_attr(WINDOW *win, int color, int attr, int onoff)
{ {
#ifdef TEXTCOLOR #ifdef TEXTCOLOR
int curses_color; int curses_color;
/* Map color disabled */ /* if color is disabled, just show attribute */
if ((!iflags.wc_color) && (win == mapwin)) { if ((win == mapwin) ? !iflags.wc_color : !iflags.wc2_guicolor) {
return; #endif
} if (attr != NONE) {
if (onoff == ON)
/* GUI color disabled */ wattron(win, attr);
if ((!iflags.wc2_guicolor) && (win != mapwin)) { else
wattroff(win, attr);
}
return; return;
#ifdef TEXTCOLOR
} }
if (color == 0) { /* make black fg visible */ if (color == 0) { /* make black fg visible */
@@ -149,6 +152,8 @@ curses_toggle_color_attr(WINDOW * win, int color, int attr, int onoff)
wattroff(win, attr); wattroff(win, attr);
} }
} }
#else
nhUse(color);
#endif /* TEXTCOLOR */ #endif /* TEXTCOLOR */
} }
@@ -685,7 +690,7 @@ curses_convert_attr(int attr)
success (might be 0), or -1 if not found. */ success (might be 0), or -1 if not found. */
int int
curses_read_attrs(char *attrs) curses_read_attrs(const char *attrs)
{ {
int retattr = 0; int retattr = 0;
+1 -1
View File
@@ -26,7 +26,7 @@ void curses_view_file(const char *filename, boolean must_exist);
void curses_rtrim(char *str); void curses_rtrim(char *str);
int curses_get_count(int first_digit); int curses_get_count(int first_digit);
int curses_convert_attr(int attr); int curses_convert_attr(int attr);
int curses_read_attrs(char *attrs); int curses_read_attrs(const char *attrs);
char *curses_fmt_attrs(char *); char *curses_fmt_attrs(char *);
int curses_convert_keys(int key); int curses_convert_keys(int key);
int curses_get_mouse(int *mousex, int *mousey, int *mod); int curses_get_mouse(int *mousex, int *mousey, int *mod);
+3 -3
View File
@@ -380,10 +380,10 @@ safe_status_init()
return; return;
} }
void boolean
safe_can_suspend() safe_can_suspend()
{ {
return; return FALSE;
} }
void void
@@ -408,7 +408,7 @@ char def;
} }
/*ARGSUSED*/ /*ARGSUSED*/
static void void
safe_getlin(prompt, outbuf) safe_getlin(prompt, outbuf)
const char *prompt UNUSED; const char *prompt UNUSED;
char *outbuf; char *outbuf;