Merge branch 'NetHack-3.6.2'
This commit is contained in:
@@ -310,7 +310,9 @@ _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);*/
|
||||
#endif
|
||||
#ifdef WIN32
|
||||
save_getreturn_status = getreturn_enabled;
|
||||
#ifdef TTY_GRAPHICS
|
||||
raw_clear_screen();
|
||||
#endif
|
||||
getreturn_enabled = TRUE;
|
||||
check_recordfile((char *) 0);
|
||||
#endif
|
||||
@@ -484,6 +486,7 @@ _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);*/
|
||||
NHWinMainInit();
|
||||
else
|
||||
*/
|
||||
#ifdef TTY_GRAPHICS
|
||||
if (!strncmpi(windowprocs.name, "tty", 3)) {
|
||||
iflags.use_background_glyph = FALSE;
|
||||
nttty_open(1);
|
||||
@@ -492,6 +495,7 @@ _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);*/
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(MSDOS) || defined(WIN32)
|
||||
/* Player didn't specify any symbol set so use IBM defaults */
|
||||
@@ -510,7 +514,7 @@ _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);*/
|
||||
process_options(argc, argv);
|
||||
#endif
|
||||
|
||||
#ifdef WIN32
|
||||
#if defined(WIN32) && defined(TTY_GRAPHICS)
|
||||
toggle_mouse_support(); /* must come after process_options */
|
||||
#endif
|
||||
|
||||
@@ -791,14 +795,11 @@ char *argv[];
|
||||
#endif
|
||||
#ifdef WIN32
|
||||
case 'w': /* windowtype */
|
||||
#ifdef TTY_GRAPHICS
|
||||
if (strncmpi(&argv[0][2], "tty", 3)) {
|
||||
nttty_open(1);
|
||||
}
|
||||
/*
|
||||
else {
|
||||
NHWinMainInit();
|
||||
}
|
||||
*/
|
||||
#endif
|
||||
config_error_init(FALSE, "command line", FALSE);
|
||||
choose_windows(&argv[0][2]);
|
||||
config_error_done();
|
||||
|
||||
@@ -501,6 +501,15 @@ int code;
|
||||
exit(code);
|
||||
}
|
||||
|
||||
#ifdef WIN32
|
||||
#ifndef TTY_GRAPHICS
|
||||
void
|
||||
synch_cursor()
|
||||
{
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Chdir back to original directory
|
||||
*/
|
||||
#ifdef TOS
|
||||
|
||||
@@ -15,9 +15,10 @@
|
||||
|
||||
#if defined(WIN32) || defined(MSDOS)
|
||||
extern char orgdir[];
|
||||
#ifdef WIN32
|
||||
extern void NDECL(backsp);
|
||||
#endif
|
||||
|
||||
#if defined(WIN32) && defined(TTY_GRAPHICS)
|
||||
extern void NDECL(backsp);
|
||||
extern void NDECL(clear_screen);
|
||||
#endif
|
||||
|
||||
@@ -196,7 +197,7 @@ getlock()
|
||||
if (c == 'y' || c == 'Y')
|
||||
#ifndef SELF_RECOVER
|
||||
if (eraseoldlocks()) {
|
||||
#if defined(WIN32)
|
||||
#if defined(WIN32) && defined(TTY_GRAPHICS)
|
||||
if (!strncmpi(windowprocs.name, "tty", 3))
|
||||
clear_screen(); /* display gets fouled up otherwise */
|
||||
#endif
|
||||
@@ -210,7 +211,7 @@ getlock()
|
||||
}
|
||||
#else /*SELF_RECOVER*/
|
||||
if (recover_savefile()) {
|
||||
#if defined(WIN32)
|
||||
#if defined(WIN32) && defined(TTY_GRAPHICS)
|
||||
if (!strncmpi(windowprocs.name, "tty", 3))
|
||||
clear_screen(); /* display gets fouled up otherwise */
|
||||
#endif
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# NetHack Makefile.
|
||||
# NetHack 3.6 Makefile.src $NHDT-Date: 1524689449 2018/04/25 20:50:49 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.54 $
|
||||
# NetHack 3.6 Makefile.src $NHDT-Date: 1526687360 2018/05/18 23:49:20 $ $NHDT-Branch: NetHack-3.6.2 $:$NHDT-Revision: 1.55 $
|
||||
# Copyright (c) 2018 by Pasi Kallinen
|
||||
# NetHack may be freely redistributed. See license for details.
|
||||
|
||||
@@ -343,7 +343,13 @@ AWK = nawk
|
||||
# will proceed without it
|
||||
GITINFO=1
|
||||
|
||||
#VERBOSEMAKE = 1
|
||||
# if you change this to 1, feedback while building will omit -Dthis -Wthat
|
||||
# -Isomewhere so that each file being compiled is listed on one short line;
|
||||
# it requires support for '$<' in rules with more than one prerequisite
|
||||
# (rather than just in suffix default rule), such as is implemented by
|
||||
# gnu make and others which have picked up its extensions;
|
||||
# allowed values are 0, 1, and empty (which behaves like 0)
|
||||
QUIETCC=0
|
||||
|
||||
# ----------------------------------------
|
||||
#
|
||||
@@ -353,7 +359,7 @@ GITINFO=1
|
||||
# {unixconf.h, pcconf.h, tosconf.h}, and possibly system.h
|
||||
|
||||
# Verbosity definitions, begin
|
||||
# Set VERBOSEMAKE=1 to output more stuff.
|
||||
# Set QUIETCC=1 above to output less feedback while building.
|
||||
# CC and CXX obey verbosity, LD and LINK don't.
|
||||
# AT is @ when not verbose, empty otherwise
|
||||
ACTUAL_CC := $(CC)
|
||||
@@ -361,23 +367,25 @@ ACTUAL_CXX := $(CXX)
|
||||
ACTUAL_LD := $(LD)
|
||||
ACTUAL_LINK := $(LINK)
|
||||
|
||||
CC_V0 = @echo "[CC] $<"; $(ACTUAL_CC)
|
||||
CC_V0 = $(ACTUAL_CC)
|
||||
CC_V = $(CC_V0)
|
||||
CC_V1 = $(ACTUAL_CC)
|
||||
CC = $(CC_V$(VERBOSEMAKE))
|
||||
CC_V1 = @echo "[CC] $<"; $(ACTUAL_CC)
|
||||
CC = $(CC_V$(QUIETCC))
|
||||
|
||||
CXX_V0 = @echo "[CXX] $<"; $(ACTUAL_CXX)
|
||||
CXX_V0 = $(ACTUAL_CXX)
|
||||
CXX_V = $(CXX_V0)
|
||||
CXX_V1 = $(ACTUAL_CXX)
|
||||
CXX = $(CXX_V$(VERBOSEMAKE))
|
||||
CXX_V1 = @echo "[CXX] $<"; $(ACTUAL_CXX)
|
||||
CXX = $(CXX_V$(QUIETCC))
|
||||
|
||||
# LD and LINK might be based on invoking CC and may not be able to substitute
|
||||
# for QUIETCC, so feedback from them is handled differently (via $AT)
|
||||
LD = $(ACTUAL_LD)
|
||||
LINK = $(ACTUAL_LINK)
|
||||
|
||||
AT_V0 := @
|
||||
AT_V0 :=
|
||||
AT_V := $(AT_V0)
|
||||
AT_V1 :=
|
||||
AT = $(AT_V$(VERBOSEMAKE))
|
||||
AT_V1 := @
|
||||
AT = $(AT_V$(QUIETCC))
|
||||
# Verbosity, end
|
||||
|
||||
MAKEDEFS = ../util/makedefs
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Makefile for NetHack's utility programs.
|
||||
# NetHack 3.6 Makefile.utl $NHDT-Date: 1524689449 2018/04/25 20:50:49 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.35 $
|
||||
# NetHack 3.6 Makefile.utl $NHDT-Date: 1526687364 2018/05/18 23:49:24 $ $NHDT-Branch: NetHack-3.6.2 $:$NHDT-Revision: 1.36 $
|
||||
# Copyright (c) 2018 by Robert Patrick Rankin
|
||||
# NetHack may be freely redistributed. See license for details.
|
||||
|
||||
@@ -127,34 +127,50 @@ LEXYYC = lex.yy.c
|
||||
# LEXYYC = lexyy.c
|
||||
|
||||
|
||||
# if you change this to 1, feedback while building will omit -Dthis -Wthat
|
||||
# -Isomewhere so that each file being compiled is listed on one short line;
|
||||
# it requires support for '$<' in rules with more than one prerequisite
|
||||
# (rather than just in suffix default rule), such as is implemented by
|
||||
# gnu make and others which have picked up its extensions;
|
||||
# allowed values are 0, 1, and empty (which behaves like 0)
|
||||
QUIETCC=0
|
||||
|
||||
# TODO? the link/load commands below are handled differently from the ones
|
||||
# in Makefile.src; these use '$(CC) $(LFLAGS)' and ought to be changed to use
|
||||
# $(LD) or $(LINK) as appropriate [quiet mode echoes a misleading $< value]
|
||||
|
||||
# ----------------------------------------
|
||||
#
|
||||
# Nothing below this line should have to be changed.
|
||||
|
||||
# Verbosity definitions, begin
|
||||
# Set QUIETCC=1 above to output less feedback while building.
|
||||
# CC and CXX obey verbosity, LD and LINK don't.
|
||||
# AT is @ when not verbose, empty otherwise
|
||||
ACTUAL_CC := $(CC)
|
||||
ACTUAL_CXX := $(CXX)
|
||||
ACTUAL_LD := $(LD)
|
||||
ACTUAL_LINK := $(LINK)
|
||||
|
||||
CC_V0 = @echo "[CC] $<"; $(ACTUAL_CC)
|
||||
CC_V0 = $(ACTUAL_CC)
|
||||
CC_V = $(CC_V0)
|
||||
CC_V1 = $(ACTUAL_CC)
|
||||
CC = $(CC_V$(VERBOSEMAKE))
|
||||
CC_V1 = @echo "[CC] $<"; $(ACTUAL_CC)
|
||||
CC = $(CC_V$(QUIETCC))
|
||||
|
||||
CXX_V0 = @echo "[CXX] $<"; $(ACTUAL_CXX)
|
||||
CXX_V0 = $(ACTUAL_CXX)
|
||||
CXX_V = $(CXX_V0)
|
||||
CXX_V1 = $(ACTUAL_CXX)
|
||||
CXX = $(CXX_V$(VERBOSEMAKE))
|
||||
CXX_V1 = @echo "[CXX] $<"; $(ACTUAL_CXX)
|
||||
CXX = $(CXX_V$(QUIETCC))
|
||||
|
||||
# LD and LINK might be based on invoking CC and may not be able to substitute
|
||||
# for QUIETCC, so feedback from them is handled differently (via $AT)
|
||||
LD = $(ACTUAL_LD)
|
||||
LINK = $(ACTUAL_LINK)
|
||||
|
||||
AT_V0 := @
|
||||
AT_V0 :=
|
||||
AT_V := $(AT_V0)
|
||||
AT_V1 :=
|
||||
AT = V$(AT_$(VERBOSEMAKE))
|
||||
AT_V1 := @
|
||||
AT = $(AT_V$(QUIETCC))
|
||||
# Verbosity, end
|
||||
|
||||
# timestamps for primary header files, matching src/Makefile
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifdef WIN32
|
||||
#define NEED_VARARGS /* Uses ... */
|
||||
#include "hack.h"
|
||||
@@ -21,6 +22,10 @@
|
||||
#include <sys\stat.h>
|
||||
#include "win32api.h"
|
||||
|
||||
extern boolean getreturn_enabled; /* from sys/share/pcsys.c */
|
||||
extern int redirect_stdout;
|
||||
|
||||
#ifdef TTY_GRAPHICS
|
||||
/*
|
||||
* Console Buffer Flipping Support
|
||||
*
|
||||
@@ -84,9 +89,6 @@ INPUT_RECORD ir;
|
||||
|
||||
/* Support for changing console font if existing glyph widths are too wide */
|
||||
|
||||
extern boolean getreturn_enabled; /* from sys/share/pcsys.c */
|
||||
extern int redirect_stdout;
|
||||
|
||||
/* Flag for whether NetHack was launched via the GUI, not the command line.
|
||||
* The reason we care at all, is so that we can get
|
||||
* a final RETURN at the end of the game when launched from the GUI
|
||||
@@ -1078,40 +1080,6 @@ void set_altkeyhandler(const char * inName)
|
||||
return;
|
||||
}
|
||||
|
||||
/* this is used as a printf() replacement when the window
|
||||
* system isn't initialized yet
|
||||
*/
|
||||
void msmsg
|
||||
VA_DECL(const char *, fmt)
|
||||
{
|
||||
char buf[ROWNO * COLNO]; /* worst case scenario */
|
||||
VA_START(fmt);
|
||||
VA_INIT(fmt, const char *);
|
||||
Vsprintf(buf, fmt, VA_ARGS);
|
||||
if (redirect_stdout)
|
||||
fprintf(stdout, "%s", buf);
|
||||
else {
|
||||
if(!init_ttycolor_completed)
|
||||
init_ttycolor();
|
||||
|
||||
/* if we have generated too many messages ... ask the user to
|
||||
* confirm and then clear.
|
||||
*/
|
||||
if (console.cursor.Y > console.height - 4) {
|
||||
xputs("Hit <Enter> to continue.");
|
||||
while (pgetchar() != '\n')
|
||||
;
|
||||
raw_clear_screen();
|
||||
set_console_cursor(1, 0);
|
||||
}
|
||||
|
||||
xputs(buf);
|
||||
if (ttyDisplay)
|
||||
curs(BASE_WINDOW, console.cursor.X + 1, console.cursor.Y);
|
||||
}
|
||||
VA_END();
|
||||
return;
|
||||
}
|
||||
|
||||
/* fatal error */
|
||||
/*VARARGS1*/
|
||||
@@ -1912,5 +1880,43 @@ void nethack_enter_nttty()
|
||||
error("Unable to load nhraykey.dll");
|
||||
}
|
||||
}
|
||||
#endif TTY_GRAPHICS
|
||||
|
||||
/* this is used as a printf() replacement when the window
|
||||
* system isn't initialized yet
|
||||
*/
|
||||
void msmsg
|
||||
VA_DECL(const char *, fmt)
|
||||
{
|
||||
char buf[ROWNO * COLNO]; /* worst case scenario */
|
||||
VA_START(fmt);
|
||||
VA_INIT(fmt, const char *);
|
||||
Vsprintf(buf, fmt, VA_ARGS);
|
||||
if (redirect_stdout)
|
||||
fprintf(stdout, "%s", buf);
|
||||
else {
|
||||
#ifdef TTY_GRAPHICS
|
||||
if(!init_ttycolor_completed)
|
||||
init_ttycolor();
|
||||
/* if we have generated too many messages ... ask the user to
|
||||
* confirm and then clear.
|
||||
*/
|
||||
if (console.cursor.Y > console.height - 4) {
|
||||
xputs("Hit <Enter> to continue.");
|
||||
while (pgetchar() != '\n')
|
||||
;
|
||||
raw_clear_screen();
|
||||
set_console_cursor(1, 0);
|
||||
}
|
||||
xputs(buf);
|
||||
if (ttyDisplay)
|
||||
curs(BASE_WINDOW, console.cursor.X + 1, console.cursor.Y);
|
||||
#else
|
||||
fprintf(stdout, "%s", buf);
|
||||
#endif
|
||||
}
|
||||
VA_END();
|
||||
return;
|
||||
}
|
||||
|
||||
#endif /* WIN32 */
|
||||
|
||||
@@ -96,11 +96,13 @@ clear_screen()
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef TTY_GRAPHICS
|
||||
void
|
||||
backsp()
|
||||
{
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
int
|
||||
has_color(int color)
|
||||
@@ -158,11 +160,13 @@ VA_DECL(const char *, s)
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef TTY_GRAPHICS
|
||||
void
|
||||
synch_cursor()
|
||||
{
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
void
|
||||
more()
|
||||
|
||||
@@ -17,7 +17,9 @@
|
||||
#endif
|
||||
#include <ctype.h>
|
||||
#include "win32api.h"
|
||||
#ifdef TTY_GRAPHICS
|
||||
#include "wintty.h"
|
||||
#endif
|
||||
#ifdef WIN32
|
||||
|
||||
/*
|
||||
@@ -227,7 +229,14 @@ Delay(int ms)
|
||||
(void) Sleep(ms);
|
||||
}
|
||||
|
||||
#ifdef TTY_GRAPHICS
|
||||
extern void NDECL(backsp);
|
||||
#else
|
||||
void
|
||||
backsp()
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
void
|
||||
win32_abort()
|
||||
@@ -481,11 +490,10 @@ void ntassert_failed(const char * exp, const char * file, int line)
|
||||
/* nethack_enter_winnt() is the first thing called from main */
|
||||
void nethack_enter_winnt()
|
||||
{
|
||||
#ifdef WIN32CON
|
||||
#ifdef TTY_GRAPHICS
|
||||
nethack_enter_nttty();
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif /* WIN32 */
|
||||
|
||||
/*winnt.c*/
|
||||
|
||||
Reference in New Issue
Block a user