Merge branch 'NetHack-3.6'
This commit is contained in:
@@ -114,5 +114,5 @@ deploy:
|
||||
tags: true
|
||||
prerelease: true
|
||||
name: "Pre-release build of NetHack 3.6.3"
|
||||
body: "This is auto generated pre-release build of NetHack 3.6.3."
|
||||
body: "This is an auto generated pre-release build of NetHack 3.6.3."
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
.ds vr "NetHack 3.7
|
||||
.ds f0 "\*(vr
|
||||
.ds f1
|
||||
.ds f2 "November 7, 2019
|
||||
.ds f2 "November 17, 2019
|
||||
.
|
||||
.\" A note on some special characters:
|
||||
.\" \(lq = left double quote
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
%.au
|
||||
\author{Original version - Eric S. Raymond\\
|
||||
(Edited and expanded for 3.6 by Mike Stephenson and others)}
|
||||
\date{November 7, 2019}
|
||||
\date{November 17, 2019}
|
||||
|
||||
\maketitle
|
||||
|
||||
|
||||
@@ -235,6 +235,9 @@ dipping lichen corpse into acid when not blind and acid was undicovered would
|
||||
pluralization improvement for words ending in a k-sound like "biotech"
|
||||
check for whether a monster was entering a region (gas cloud) erroneously
|
||||
depended upon whether or not the hero was inside the same region
|
||||
all Is_*_level tests during early startup would test as true until
|
||||
dungeon_topology was initialized in a new game or restored from
|
||||
a save file
|
||||
|
||||
|
||||
Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository
|
||||
|
||||
@@ -98,31 +98,36 @@ typedef struct branch {
|
||||
*
|
||||
* Depth corresponds to the number of floors below the surface.
|
||||
*/
|
||||
#define Is_astralevel(x) (on_level(x, &astral_level))
|
||||
#define Is_earthlevel(x) (on_level(x, &earth_level))
|
||||
#define Is_waterlevel(x) (on_level(x, &water_level))
|
||||
#define Is_firelevel(x) (on_level(x, &fire_level))
|
||||
#define Is_airlevel(x) (on_level(x, &air_level))
|
||||
#define Is_medusa_level(x) (on_level(x, &medusa_level))
|
||||
#define Is_oracle_level(x) (on_level(x, &oracle_level))
|
||||
#define Is_valley(x) (on_level(x, &valley_level))
|
||||
#define Is_juiblex_level(x) (on_level(x, &juiblex_level))
|
||||
#define Is_asmo_level(x) (on_level(x, &asmodeus_level))
|
||||
#define Is_baal_level(x) (on_level(x, &baalzebub_level))
|
||||
#define Is_wiz1_level(x) (on_level(x, &wiz1_level))
|
||||
#define Is_wiz2_level(x) (on_level(x, &wiz2_level))
|
||||
#define Is_wiz3_level(x) (on_level(x, &wiz3_level))
|
||||
#define Is_sanctum(x) (on_level(x, &sanctum_level))
|
||||
#define Is_portal_level(x) (on_level(x, &portal_level))
|
||||
#define Is_rogue_level(x) (on_level(x, &rogue_level))
|
||||
#define Is_stronghold(x) (on_level(x, &stronghold_level))
|
||||
#define Is_bigroom(x) (on_level(x, &bigroom_level))
|
||||
#define Is_qstart(x) (on_level(x, &qstart_level))
|
||||
#define Is_qlocate(x) (on_level(x, &qlocate_level))
|
||||
#define Is_nemesis(x) (on_level(x, &nemesis_level))
|
||||
#define Is_knox(x) (on_level(x, &knox_level))
|
||||
#define Is_mineend_level(x) (on_level(x, &mineend_level))
|
||||
#define Is_sokoend_level(x) (on_level(x, &sokoend_level))
|
||||
|
||||
/* These both can't be zero, or dungeon_topology isn't init'd / restored */
|
||||
#define Lassigned(y) ((y)->dlevel || (y)->dnum)
|
||||
#define Lcheck(x,z) (Lassigned(z) && on_level(x, z))
|
||||
|
||||
#define Is_astralevel(x) (Lcheck(x, &astral_level))
|
||||
#define Is_earthlevel(x) (Lcheck(x, &earth_level))
|
||||
#define Is_waterlevel(x) (Lcheck(x, &water_level))
|
||||
#define Is_firelevel(x) (Lcheck(x, &fire_level))
|
||||
#define Is_airlevel(x) (Lcheck(x, &air_level))
|
||||
#define Is_medusa_level(x) (Lcheck(x, &medusa_level))
|
||||
#define Is_oracle_level(x) (Lcheck(x, &oracle_level))
|
||||
#define Is_valley(x) (Lcheck(x, &valley_level))
|
||||
#define Is_juiblex_level(x) (Lcheck(x, &juiblex_level))
|
||||
#define Is_asmo_level(x) (Lcheck(x, &asmodeus_level))
|
||||
#define Is_baal_level(x) (Lcheck(x, &baalzebub_level))
|
||||
#define Is_wiz1_level(x) (Lcheck(x, &wiz1_level))
|
||||
#define Is_wiz2_level(x) (Lcheck(x, &wiz2_level))
|
||||
#define Is_wiz3_level(x) (Lcheck(x, &wiz3_level))
|
||||
#define Is_sanctum(x) (Lcheck(x, &sanctum_level))
|
||||
#define Is_portal_level(x) (Lcheck(x, &portal_level))
|
||||
#define Is_rogue_level(x) (Lcheck(x, &rogue_level))
|
||||
#define Is_stronghold(x) (Lcheck(x, &stronghold_level))
|
||||
#define Is_bigroom(x) (Lcheck(x, &bigroom_level))
|
||||
#define Is_qstart(x) (Lcheck(x, &qstart_level))
|
||||
#define Is_qlocate(x) (Lcheck(x, &qlocate_level))
|
||||
#define Is_nemesis(x) (Lcheck(x, &nemesis_level))
|
||||
#define Is_knox(x) (Lcheck(x, &knox_level))
|
||||
#define Is_mineend_level(x) (Lcheck(x, &mineend_level))
|
||||
#define Is_sokoend_level(x) (Lcheck(x, &sokoend_level))
|
||||
|
||||
#define In_sokoban(x) ((x)->dnum == sokoban_dnum)
|
||||
#define Inhell In_hell(&u.uz) /* now gehennom */
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
/*
|
||||
* Development status of this NetHack version.
|
||||
*/
|
||||
#define NH_DEVEL_STATUS NH_STATUS_WIP
|
||||
#define NH_DEVEL_STATUS NH_STATUS_BETA
|
||||
|
||||
#ifndef DEBUG /* allow tool chains to define without causing warnings */
|
||||
#define DEBUG
|
||||
|
||||
31
src/files.c
31
src/files.c
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 files.c $NHDT-Date: 1573869063 2019/11/16 01:51:03 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.269 $ */
|
||||
/* NetHack 3.6 files.c $NHDT-Date: 1574037901 2019/11/18 00:45:01 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.270 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Derek S. Ray, 2015. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -2833,8 +2833,8 @@ char *origbuf;
|
||||
#endif /* SYSCF */
|
||||
|
||||
} else if (match_varname(buf, "BOULDER", 3)) {
|
||||
(void) get_uchars(bufp, &g.ov_primary_syms[SYM_BOULDER + SYM_OFF_X], TRUE, 1,
|
||||
"BOULDER");
|
||||
(void) get_uchars(bufp, &g.ov_primary_syms[SYM_BOULDER + SYM_OFF_X],
|
||||
TRUE, 1, "BOULDER");
|
||||
} else if (match_varname(buf, "MENUCOLOR", 9)) {
|
||||
if (!add_menu_coloring(bufp))
|
||||
retval = FALSE;
|
||||
@@ -4325,13 +4325,13 @@ reveal_paths(VOID_ARGS)
|
||||
if (cstrp && (int) strlen(cstrp) < maxlen)
|
||||
Sprintf(buf, " (in %s)", cstrp);
|
||||
#endif /* PREFIXES_IN_USE */
|
||||
raw_printf("%s loadable symbols file%s:", s_suffix(gamename), buf);
|
||||
raw_printf("The loadable symbols file%s:", buf);
|
||||
#endif /* UNIX */
|
||||
|
||||
#ifdef UNIX
|
||||
envp = getcwd(cwdbuf, PATH_MAX);
|
||||
if (envp) {
|
||||
raw_printf("%s loadable symbols file:", s_suffix(gamename));
|
||||
raw_print("The loadable symbols file:");
|
||||
raw_printf(" \"%s/%s\"", envp, SYMBOLS);
|
||||
}
|
||||
#else /* UNIX */
|
||||
@@ -4348,6 +4348,27 @@ reveal_paths(VOID_ARGS)
|
||||
raw_printf(" \"%s\"", filep);
|
||||
#endif /* UNIX */
|
||||
|
||||
/* dlb vs non-dlb */
|
||||
|
||||
buf[0] = '\0';
|
||||
#ifdef PREFIXES_IN_USE
|
||||
cstrp = fqn_prefix_names[DATAPREFIX];
|
||||
maxlen = BUFSZ - sizeof " (in )";
|
||||
if (cstrp && (int) strlen(cstrp) < maxlen)
|
||||
Sprintf(buf, " (in %s)", cstrp);
|
||||
#endif
|
||||
#ifdef DLB
|
||||
raw_printf("Basic data files%s are collected inside:", buf);
|
||||
filep = DLBFILE;
|
||||
raw_printf(" \"%s\"", filep);
|
||||
#ifdef DLBFILE2
|
||||
filep = DLBFILE2;
|
||||
raw_printf(" \"%s\"", filep);
|
||||
#endif
|
||||
#else /* !DLB */
|
||||
raw_printf("Basic data files%s are in many separate files.", buf);
|
||||
#endif /* ?DLB */
|
||||
|
||||
/* personal configuration file */
|
||||
|
||||
buf[0] = '\0';
|
||||
|
||||
@@ -4091,14 +4091,12 @@ boolean tinitial, tfrom_file;
|
||||
}
|
||||
}
|
||||
|
||||
#if 0
|
||||
/* Is it a symbol? */
|
||||
if (strstr(opts, "S_") == opts && parsesymbols(opts, PRIMARY)) {
|
||||
switch_symbols(TRUE);
|
||||
check_gold_symbol();
|
||||
return retval;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* out of valid options */
|
||||
config_error_add("Unknown option '%s'", opts);
|
||||
|
||||
Reference in New Issue
Block a user