- Instructions for Installing NetHack 3.4.2
+ Instructions for Installing NetHack 3.4.3
on a VMS (aka OpenVMS) system
=========================================
1. Building NetHack requires a C compiler (either Compaq C, DEC C,
VAX C, or GNU C) and VMS version V4.6 or later (but see note #9).
- This release has been tested with Compaq C V6.4 on Alpha/VMS V7.1
+ This release has been tested with Compaq C V6.4 on Alpha/VMS V7.3-1
and with VAX C V3.2 and GNU C 2.7.1 on VAX/VMS V5.5-2. The build
procedure (vmsbuild.com) should not need to be modified; it accepts
an option for selecting the compiler, and it can detect different
Notes:
-1. Save files and bones files from versions 3.4.0 and 3.4.1 will work
- with 3.4.2; those from earlier versions will not. The scoreboard
+1. Save files and bones files from versions 3.4.0, 3.4.1 and 3.4.2 will
+ work with 3.4.3; those from earlier versions will not. The scoreboard
file (RECORD) from 3.4.x or 3.3.x will also work; one from version
3.2.x is slightly different format but should be compatible.
Always include version information for NetHack, the operating system,
and the C compiler used.
-21-AUG-2003
+20-OCT-2003
# Other things that have to be reconfigured are in vmsconf.h,
# and config.h
-VERSION = 3.4.2
+VERSION = 3.4.3
MAKEDEFS = $(UTL)makedefs.exe;
dog.obj : dog.c $(HACK_H) $(INC)edog.h
dogmove.obj : dogmove.c $(HACK_H) $(INC)mfndpos.h $(INC)edog.h
dokick.obj : dokick.c $(HACK_H) $(INC)eshk.h
-dothrow.obj : dothrow.c $(HACK_H)
+dothrow.obj : dothrow.c $(HACK_H) $(INC)edog.h
drawing.obj : drawing.c $(HACK_H) $(INC)tcap.h
dungeon.obj : dungeon.c $(HACK_H) $(INC)dgn_file.h $(INC)dlb.h
eat.obj : eat.c $(HACK_H)
$ ! vms/vmsbuild.com -- compile and link NetHack 3.4.* [pr]
-$ version_number = "3.4.2"
+$ version_number = "3.4.3"
$ !
$ ! usage:
$ ! $ set default [.src] !or [-.-.src] if starting from [.sys.vms]
-/* SCCS Id: @(#)vmsmain.c 3.4 2003/09/25 */
+/* SCCS Id: @(#)vmsmain.c 3.4 2003/10/16 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
/* main.c - VMS NetHack */
*/
boolean remember_wiz_mode = wizard;
#endif
- const char *fq_save = fqname(SAVEF, SAVEPREFIX, 0);
+ const char *fq_save = fqname(SAVEF, SAVEPREFIX, 1);
(void) chmod(fq_save,0); /* disallow parallel restores */
(void) signal(SIGINT, (SIG_RET_TYPE) done1);
-/* SCCS Id: @(#)vmstty.c 3.4 2002/08/21 */
+/* SCCS Id: @(#)vmstty.c 3.4 2003/09/18 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
/* tty.c - (VMS) version */
vms_getchar()
{
short key;
-
#ifdef USE_QIO_INPUT
struct _rd_iosb iosb;
unsigned long sts;
unsigned char kb_buf;
+#else /* SMG input */
+ static volatile int recurse = 0; /* SMG is not AST re-entrant! */
+#endif
+
+ if (program_state.done_hup) {
+ /* hangup has occurred; do not attempt to get further user input */
+ return ESC;
+ }
+#ifdef USE_QIO_INPUT
if (inc > 0) {
/* we have buffered character(s) from previous read */
kb_buf = *inp++;
key = getchar();
#else /*!USE_QIO_INPUT*/
- static volatile int recurse = 0; /* SMG is not AST re-entrant! */
-
if (recurse++ == 0 && kb != 0) {
smg$read_keystroke(&kb, &key);
switch (key) {