Merge branch 'NetHack-3.6.2'
This commit is contained in:
+2
-1
@@ -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
@@ -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
@@ -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);
|
||||||
|
|||||||
@@ -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
@@ -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);
|
||||||
|
|||||||
@@ -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
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -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
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user