Merge branch 'NetHack-3.6'

This commit is contained in:
nhmall
2019-07-10 21:58:58 -04:00
22 changed files with 270 additions and 46 deletions

View File

@@ -564,9 +564,13 @@ typedef unsigned char uchar;
%N first character of player name
DUMPLOG_FILE is not used if SYSCF is defined
*/
#endif
#endif /* DUMPLOG_FILE */
#endif
#endif /* DUMPLOG */
/* NEW_KEYBOARD_HIT adds new window proc to return whether keyboard has been hit
and character input is available */
/* #define NEW_KEYBOARD_HIT */
#define USE_ISAAC64 /* Use cross-plattform, bundled RNG */

View File

@@ -1144,6 +1144,9 @@ E void NDECL(gettty);
E void NDECL(setftty);
E void FDECL(settty, (const char *));
E int NDECL(tgetch);
#ifdef NEW_KEYBOARD_HIT
E boolean NDECL(tkbhit);
#endif
E void FDECL(cmov, (int x, int y));
E void FDECL(nocmov, (int x, int y));
@@ -1550,6 +1553,9 @@ E void FDECL(mplayer_talk, (struct monst *));
#ifndef WIN32
E int NDECL(tgetch);
#ifdef NEW_KEYBOARD_HIT
E boolean NDECL(tkbhit);
#endif
#endif
#ifndef TOS
E char NDECL(switchar);
@@ -1580,7 +1586,9 @@ E void FDECL(gotoxy, (int, int));
#endif
#ifdef TOS
E int FDECL(_copyfile, (char *, char *));
#ifndef NEW_KEYBOARD_HIT
E int NDECL(kbhit);
#endif
E void NDECL(set_colors);
E void NDECL(restore_colors);
#ifdef SUSPEND
@@ -1590,7 +1598,9 @@ E int NDECL(dosuspend);
#ifdef WIN32
E char *FDECL(get_username, (int *));
E void FDECL(nt_regularize, (char *));
#ifndef NEW_KEYBOARD_HIT
E int NDECL((*nt_kbhit));
#endif
E void FDECL(Delay, (int));
#endif /* WIN32 */
#endif /* MICRO || WIN32 */
@@ -1658,10 +1668,15 @@ E void FDECL(regex_free, (struct nhregex *));
#ifdef WIN32
E void NDECL(get_scr_size);
#ifndef NEW_KEYBOARD_HIT
E int NDECL(nttty_kbhit);
#endif
E void FDECL(nttty_open, (int));
E void NDECL(nttty_rubout);
E int NDECL(tgetch);
#ifdef NEW_KEYBOARD_HIT
E boolean NDECL(tkbhit);
#endif
E int FDECL(ntposkey, (int *, int *, int *));
E void FDECL(set_output_mode, (int));
E void NDECL(synch_cursor);

View File

@@ -251,8 +251,11 @@ int _RTLENTRY _EXPFUNC read(int __handle, void _FAR *__buf, unsigned __len);
#ifndef CURSES_GRAPHICS
#include <conio.h> /* conflicting definitions with curses.h */
#endif
#ifndef NEW_KEYBOARD_HIT
#undef kbhit /* Use our special NT kbhit */
#define kbhit (*nt_kbhit)
#endif
#ifdef LAN_FEATURES
#define MAX_LAN_USERNAME 20

View File

@@ -305,7 +305,9 @@
#define HLOCK "perm" /* an empty file used for locking purposes */
#ifndef NEW_KEYBOARD_HIT
#define tgetch getchar
#endif
#ifndef NOSHELL
#define SHELL /* do not delete the '!' command */

View File

@@ -79,6 +79,9 @@ struct window_procs {
(int, const char *, const char *, BOOLEAN_P));
void FDECL((*win_status_update), (int, genericptr_t, int, int, int, unsigned long *));
boolean NDECL((*win_can_suspend));
#ifdef NEW_KEYBOARD_HIT
boolean NDECL((*win_keyboard_hit));
#endif
};
extern
@@ -160,6 +163,9 @@ extern
*/
#define status_enablefield (*windowprocs.win_status_enablefield)
#define status_update (*windowprocs.win_status_update)
#ifdef NEW_KEYBOARD_HIT
#define keyboard_hit (*windowprocs.win_keyboard_hit)
#endif
/*
* WINCAP
@@ -379,6 +385,9 @@ struct chain_procs {
(CARGS, int, const char *, const char *, BOOLEAN_P));
void FDECL((*win_status_update), (CARGS, int, genericptr_t, int, int, int, unsigned long *));
boolean FDECL((*win_can_suspend), (CARGS));
#ifdef NEW_KEYBOARD_HIT
boolean FDECL((*keyboard_hit), (CARGS));
#endif
};
#endif /* WINCHAIN */
@@ -449,6 +458,9 @@ extern void FDECL(safe_status_enablefield,
(int, const char *, const char *, BOOLEAN_P));
extern void FDECL(safe_status_update, (int, genericptr_t, int, int, int, unsigned long *));
extern boolean NDECL(safe_can_suspend);
#ifdef NEW_KEYBOARD_HIT
extern boolean NDECL(safe_keyboard_hit);
#endif
extern void FDECL(stdio_raw_print, (const char *));
extern void FDECL(stdio_raw_print_bold, (const char *));
extern void NDECL(stdio_wait_synch);

View File

@@ -247,6 +247,10 @@ E void FDECL(genl_outrip, (winid, int, time_t));
E char *FDECL(tty_getmsghistory, (BOOLEAN_P));
E void FDECL(tty_putmsghistory, (const char *, BOOLEAN_P));
#ifdef NEW_KEYBOARD_HIT
E boolean NDECL(tty_keyboard_hit);
#endif
#ifdef NO_TERMS
#ifdef MAC
#ifdef putchar