Merge commit 'd60097b2868d1f7403ddaa10d48d3be59bc7c1bb' into NetHack-3.6.2

This commit is contained in:
nhmall
2018-11-23 20:31:18 -05:00
11 changed files with 130 additions and 18 deletions

52
.travis.yml Normal file
View File

@@ -0,0 +1,52 @@
language: c
script: "cd sys/unix/ && sh setup.sh hints/$HINTS && cd ../../ && QT_SELECT=5 make MOC=moc install"
matrix:
include:
- env: HINTS=linux
compiler: gcc
- env: HINTS=linux
compiler: clang
- env: HINTS=linux-x11
compiler: gcc
- env: HINTS=linux-qt5
compiler: gcc
addons:
apt:
packages:
- qtbase5-dev
- qtmultimedia5-dev
- qtbase5-dev-tools
- env: HINTS=linux-minimal
compiler: gcc
script: |
cd sys/unix/ && sh setup.sh hints/$HINTS && cd ../../
sed -i '/^#define CLIPPING/d' include/config.h
sed -i '/^#define COMPRESS/d' include/config.h
#sed -i '/^#define DOAGAIN/d' include/config.h
sed -i '/^#define DUMPLOG/d' include/config.h
#sed -i '/^#define GDBPATH/d' include/config.h
#sed -i '/^#define GREPPATH/d' include/config.h
sed -i '/^#define INSURANCE/d' include/config.h
sed -i '/^#define LOGFILE/d' include/config.h
sed -i '/^#define NEWS/d' include/config.h
sed -i '/^#define PANICLOG/d' include/config.h
#sed -i '/^#define STATUS_HILITES/d' include/config.h
sed -i '/^#define SYSCF/d' include/config.h
sed -i '/^#define USER_SOUNDS/d' include/config.h
sed -i '/^#define XLOGFILE/d' include/config.h
sed -i '/^#define MAIL/d' include/unixconf.h
sed -i '/^#define SHELL/d' include/unixconf.h
sed -i '/^#define SUSPEND/d' include/unixconf.h
sed -i 's/^#define TEXTCOLOR//' include/unixconf.h
make install
cat dat/options
sudo: false
notifications:
email:
recipients:
- devteam@nethack.org

View File

@@ -207,6 +207,8 @@ if a migrating monster was killed off because there was no room on the
which should never leave one (demon, golem, blob, &c)
end of game while carrying Schroedinger's Box would reveal cat-or-corpse
for inventory disclosure or put that info into dumplog, but not both
attempting to untrap an adjacent trap while on the edge of--not in--a pit
failed due to not being able to reach the floor
Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository

View File

@@ -522,6 +522,10 @@ typedef unsigned char uchar;
but it isn't necessary for successful operation of the program */
#define FREE_ALL_MEMORY /* free all memory at exit */
/* EXTRA_SANITY_CHECKS adds extra impossible calls,
* probably not useful for normal play */
/* #define EXTRA_SANITY_CHECKS */
/* EDIT_GETLIN makes the string input in TTY, Qt4, and X11
so some prompts will remember the previously input text
(within the same session) */

View File

@@ -630,7 +630,7 @@ extern dlevel_t level; /* structure describing the current level */
#define MON_BURIED_AT(x, y) \
(level.monsters[x][y] != (struct monst *) 0 \
&& (level.monsters[x][y])->mburied)
#if EXTRA_SANITY_CHECKS
#ifdef EXTRA_SANITY_CHECKS
#define place_worm_seg(m, x, y) do { \
if (level.monsters[x][y] && level.monsters[x][y] != m) impossible("place_worm_seg over mon"); \
level.monsters[x][y] = m; \

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 detect.c $NHDT-Date: 1522891623 2018/04/05 01:27:03 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.81 $ */
/* NetHack 3.6 detect.c $NHDT-Date: 1542853884 2018/11/22 02:31:24 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.87 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2018. */
/* NetHack may be freely redistributed. See license for details. */
@@ -165,8 +165,14 @@ char oclass;
if (obj->oclass == oclass)
return obj;
if (Has_contents(obj)) {
/*
* Note: we exclude SchroedingersBox because the corpse it contains
* isn't necessarily a corpse yet. Resolving the status would lead
* to complications if it turns out to be a live cat. We know that
* that Box can't contain anything else because putting something in
* would resolve the cat/corpse situation and convert to ordinary box.
*/
if (Has_contents(obj) && !SchroedingersBox(obj)) {
for (otmp = obj->cobj; otmp; otmp = otmp->nobj)
if (otmp->oclass == oclass)
return otmp;
@@ -442,8 +448,7 @@ outgoldmap:
return 0;
}
/* returns 1 if nothing was detected */
/* returns 0 if something was detected */
/* returns 1 if nothing was detected, 0 if something was detected */
int
food_detect(sobj)
register struct obj *sobj;

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 shk.c $NHDT-Date: 1515144230 2018/01/05 09:23:50 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.136 $ */
/* NetHack 3.6 shk.c $NHDT-Date: 1542853899 2018/11/22 02:31:39 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.142 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2012. */
/* NetHack may be freely redistributed. See license for details. */
@@ -2400,6 +2400,8 @@ register struct monst *shkp;
{
register struct obj *otmp;
if (SchroedingersBox(obj))
return;
for (otmp = obj->cobj; otmp; otmp = otmp->nobj) {
if (otmp->oclass == COIN_CLASS)
continue;
@@ -2597,15 +2599,16 @@ char *buf;
static const char *const honored[] = { "good", "honored", "most gracious",
"esteemed",
"most renowned and sacred" };
Strcat(buf, honored[rn2(SIZE(honored) - 1) + u.uevent.udemigod]);
if (is_vampire(youmonst.data))
Strcat(buf, (flags.female) ? " dark lady" : " dark lord");
else if (is_elf(youmonst.data))
Strcat(buf, (flags.female) ? " hiril" : " hir");
else
Strcat(buf, !is_human(youmonst.data) ? " creature" : (flags.female)
? " lady"
: " sir");
Strcat(buf, !is_human(youmonst.data) ? " creature"
: (flags.female) ? " lady"
: " sir");
}
void

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 trap.c $NHDT-Date: 1542765365 2018/11/21 01:56:05 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.303 $ */
/* NetHack 3.6 trap.c $NHDT-Date: 1542856572 2018/11/22 03:16:12 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.304 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2013. */
/* NetHack may be freely redistributed. See license for details. */
@@ -4038,7 +4038,7 @@ boolean force_failure;
}
}
/* untrappable traps are located on the ground. */
if (!can_reach_floor(TRUE)) {
if (!can_reach_floor(under_u)) {
if (u.usteed && P_SKILL(P_RIDING) < P_BASIC)
rider_cant_reach();
else

View File

@@ -585,10 +585,10 @@ gd_mv_monaway(grd, nx,ny)
register struct monst *grd;
int nx,ny;
{
if (MON_AT(nx, ny) && nx != grd->mx && ny != grd->my) {
if (MON_AT(nx, ny) && !(nx == grd->mx && ny == grd->my)) {
if (!Deaf)
verbalize("Out of my way, scum!");
if (!rloc(m_at(nx, ny), FALSE) || m_at(nx, ny))
if (!rloc(m_at(nx, ny), FALSE) || MON_AT(nx, ny))
m_into_limbo(m_at(nx, ny));
}
}

View File

@@ -28,6 +28,12 @@ CFLAGS+=-DHACKDIR=\"$(HACKDIR)\"
CFLAGS+=-DDUMPLOG
CFLAGS+=-DCONFIG_ERROR_SECURE=FALSE
CFLAGS+=-DCURSES_GRAPHICS
#CFLAGS+=-DEXTRA_SANITY_CHECKS
#CFLAGS+=-DEDIT_GETLIN
#CFLAGS+=-DSCORE_ON_BOTL
#CFLAGS+=-DMSGHANDLER
#CFLAGS+=-DTTY_TILES_ESCCODES
#CFLAGS+=-DDLB
LINK=$(CC)
# Only needed for GLIBC stack trace:
@@ -37,6 +43,10 @@ WINSRC = $(WINTTYSRC) $(WINCURSESSRC)
WINOBJ = $(WINTTYOBJ) $(WINCURSESOBJ)
WINLIB = $(WINTTYLIB) $(WINCURSESLIB)
# if TTY_TILES_ESCCODES
#WINSRC += tile.c
#WINOBJ += tile.o
WINTTYLIB=-lcurses
CHOWN=true

View File

@@ -0,0 +1,31 @@
#
# NetHack 3.6 linux $NHDT-Date: 1432512814 2018/11/23 16:00:00 $ $NHDT-Branch: master $:$NHDT-Revision: 1.12 $
# Copyright (c) Patric Mueller
# NetHack may be freely redistributed. See license for details.
#
#-PRE
# Hints file for a minimal build
# This hints file provides the base for a minimal tty build for Linux
PREFIX=$(wildcard ~)/nethack-minimal
HACKDIR=$(PREFIX)/games/lib/$(GAME)dir
SHELLDIR=$(PREFIX)/games
INSTDIR=$(HACKDIR)
VARDIR=$(HACKDIR)
CFLAGS=-g -I../include
LINK=$(CC)
WINSRC = $(WINTTYSRC)
WINOBJ = $(WINTTYOBJ)
WINLIB = $(WINTTYLIB)
WINTTYLIB=-lcurses
CHOWN=true
CHGRP=true
VARDIRPERM = 0755
VARFILEPERM = 0600
GAMEPERM = 0755

View File

@@ -1,8 +1,8 @@
$ ! vms/vmsbuild.com -- compile and link NetHack 3.6.* [pr]
$ version_number = "3.6.2"
$ ! $NHDT-Date: 1542411224 2018/11/16 23:33:44 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.19 $
# Copyright (c) 2018 by Robert Patrick Rankin
# NetHack may be freely redistributed. See license for details.
$ ! $NHDT-Date: 1542847646 2018/11/22 00:47:26 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.20 $
$ ! Copyright (c) 2018 by Robert Patrick Rankin
$ ! NetHack may be freely redistributed. See license for details.
$ !
$ ! usage:
$ ! $ set default [.src] !or [-.-.src] if starting from [.sys.vms]
@@ -178,8 +178,13 @@ $ nethacklib = "[-.src]nethack.olb"
$ create nethack.opt
! nethack.opt
nethack.olb/Include=(vmsmain)/Library
! lib$initialize is used to call a routine (before main()) in vmsunix.c that
! tries to check whether debugger support has been linked in, for PANICTRACE
sys$library:starlet.olb/Include=(lib$initialize)
psect_attr=lib$initialize, Con,Usr,noPic,Rel,Gbl,noShr,noExe,Rd,noWrt,Long
! psect_attr=lib$initialize, Con,Usr,noPic,Rel,Gbl,noShr,noExe,Rd,noWrt,Long
! IA64 linker doesn't support Usr or Pic and complains that Long is too small
psect_attr=lib$initialize, Con,Rel,Gbl,noShr,noExe,Rd,noWrt
! increase memory available to RMS (the default iosegment is probably adequate)
iosegment=128
$ if f$search("nethack.opt;-2").nes."" then purge/Keep=2/noLog nethack.opt
$ milestone = "write sys$output f$fao("" !5%T "",0),"