Commit Graph

5492 Commits

Author SHA1 Message Date
nhmall
67cd9ca926 Merge branch 'NetHack-3.6.0'
Conflicts:
	sys/share/dgn_lex.c
	sys/share/dgn_yacc.c
	sys/share/lev_lex.c
	sys/share/lev_yacc.c
	sys/share/pcmain.c
	win/win32/mswproc.c

 Changes to be committed:
	modified:   Files
	modified:   README
	modified:   include/global.h
	modified:   include/lint.h
	modified:   include/patchlevel.h
	modified:   include/sys.h
	modified:   include/system.h
	modified:   src/attrib.c
	modified:   src/bones.c
	modified:   src/dbridge.c
	modified:   src/dig.c
	modified:   src/eat.c
	modified:   src/files.c
	modified:   src/makemon.c
	modified:   src/mkmaze.c
	modified:   src/mon.c
	modified:   src/sp_lev.c
	modified:   src/version.c
	modified:   sys/share/dgn_lex.c
	modified:   sys/share/dgn_yacc.c
	modified:   sys/share/lev_lex.c
	modified:   sys/share/lev_yacc.c
	modified:   sys/share/pcmain.c
	modified:   sys/unix/Makefile.utl
	modified:   util/dgn_comp.l
	modified:   util/lev_comp.l
	modified:   win/win32/mswproc.c
2015-12-06 14:47:41 -05:00
nhmall
7079c0a3a5 mark some as untested
Changes to be committed:
	modified:   Files

Also: vms was already listed as "untested in 3.6.0", but should it be?
2015-12-06 13:06:59 -05:00
nhmall
d1a15731bd update Files to reflect tarball
Changes to be committed:
	modified:   Files
2015-12-06 12:49:59 -05:00
nhmall
71c5bab0c3 Update Guidebook dates to reflect release
Changes to be committed:
	modified:   doc/Guidebook.mn
	modified:   doc/Guidebook.tex
	modified:   doc/Guidebook.txt
2015-12-06 11:50:39 -05:00
nhmall
3c66b9b3bf update date on Guidebook
Changes to be committed:
	modified:   doc/Guidebook.mn
	modified:   doc/Guidebook.tex
	modified:   doc/Guidebook.txt
2015-12-06 11:47:50 -05:00
PatR
996c0a3741 unix/Makefile.utl: tweak lex/yacc postprocessing 2015-12-05 23:26:41 -08:00
PatR
c964ae023b sys/share/???_lex.c
Generated with flex 2.6.0 and a new custom skeleton for that version
(which almost certainly won't work with any older or newer version of
flex, but that limitation has no effect on the usefulness of the
generated scanner code).

Function definitions are oldstyle:
  int foo(bar)
    char *bar;
  {...}
rather than ANSI, like nethack's core code.  Advance declarations use
FDECL for prototypes, so should also fit nethack, although the usage
'FDECL(, (arglist))' makes me feel a bit uneasy.  gcc doesn't mind the
omitted first argument but other compilers might not like it.

The system headers (stdlib.h and a few others) that flex has been
insisting on including are gone (with this skeleton).  It starts out
including "config.h" and that header has the responsibility for any
definitions and declarations necessary.  That shouldn't be a big deal
since config.h -> XXXconf.h -> system.h is what we're already relying
on for everything else, but it does need testing for any configuration
that uses sys/share/{dgn,lev}_{lex,yacc}.c.

I'll be checking the skeleton into the NHinternals repository after
adding some documentation, but I'm wondering whether it should really
become part of the source distribution.
2015-12-05 23:02:35 -08:00
PatR
ea6c2a49fe util/???_comp.l
A couple of minor changes, perparatory to regenerating sys/share/???_lex.c
with flex-latest plus new custom skeleton for same.
2015-12-05 22:59:56 -08:00
nhmall
c1a5895f3a Release prep step - set BETA_INFO to empty string
Changes to be committed:
	modified:   src/version.c
2015-12-05 10:09:28 -05:00
Pasi Kallinen
80f51d1527 Revert "Fix SYSCF complaints when compiling without BETA"
This reverts commit e5b112f993.
2015-12-05 10:22:17 +02:00
Pasi Kallinen
e5b112f993 Fix SYSCF complaints when compiling without BETA 2015-12-05 10:10:49 +02:00
PatR
9f6f3f5180 PANICTRACE option parsing
Fix the situation where disabling PANICTRACE, which happened implicitly
when BETA  got disabled, caused SYSCF option processing to complain and
quit if the 'sysconf' file contained any PANICTRACE settings.

Now accept all the PANICTRACE options (assuming SYSCF is defined) even
if PANICTRACE is not defined.  Their values are recorded in the 'sysopt'
struct, but only validated when the appropriate macros (PANICTRACE,
PANICTRACE_LIB) are defined.
2015-12-04 22:18:17 -08:00
PatR
841662ff32 "Bad option line" formatting
Change
  |Bad option line:  "foo
  |"
to
  |Bad option line: "foo"
by stripping away the input line's newline before processing it.

(This doesn't address the PANICTRACE options processing issue.)
2015-12-04 18:52:51 -08:00
nhmall
8d2f35094f Merge branch 'NetHack-3.6.0' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.6.0 2015-12-04 20:05:22 -05:00
nhmall
6156522eb0 Try to be consistent in declared O/S versions
Changes to be committed:
	modified:   README
2015-12-04 20:03:38 -05:00
PatR
171fb90746 !DEBUG warnings
With DEBUG suppressed, I started getting
16      warning: empty body in an if-statement
and 2   warning: empty body in an else-statement
from gcc.

Using braces for an empty block instead of just ';' avoids the warning:
    if (foo)
        debugpline("foo");
is bad,
    if (bar) {
        debugpline("bar");
    }
is good.  ;-)

The changes to lint.h are just precautionary.

modified:
    include/lint.h
    src/attrib.c, bones.c, dbridge.c, dig.c, eat.c,
        makemon.c, mkmaze.c, mon.c, sp_lev.c
2015-12-04 14:58:49 -08:00
PatR
3c5cb6ae5c malloc/realloc for makedefs
Use of malloc() and realloc() has been added to makedefs but they
weren't being declared anywhere if <stdlib.h> is not available.
2015-12-04 14:56:14 -08:00
nhmall
6cfa4bbbe5 lev_yacc and lev_lex from master 2015-12-04 07:57:35 -05:00
nhmall
eed4549f53 'pull' prebuilts from master into release branch 2015-12-04 07:46:21 -05:00
PatR
0e417f1ebe sys/share/{dgn,lev}_{lex,yacc}.c
This regenerates the scanner and parser files.  I'm checking them
into master only.  If they work for everyone using them, they can be
merged into 3.6.0.

dgn_yacc.c:  I reconstructed our 3.4.3 patch for byacc 1.9 (the original,
not the one used to create the set of files being replaced here) by
comparing dgn_yacc.c made with vanilla byacc and dgn_yacc.c from 3.4.3.
(Unlike lev_comp.l, dgn_comp.l has hardly changed at all.)  There's no
dynamic memory use in that version, so declarations for malloc and/or
realloc and/or inclusion of <stdlib.h> aren't an issue.  The fixed size
stack it uses is big enough for 'make update' to run to completion.

lev_yacc:  I built it with [modified] byacc to replace one built with
bison.  sys/share/lev_comp.h was from byacc, not bison, so something has
gotten screwed up recently.

*_lex.c:  I used the same version of flex (2.5.37) as the one used to
create the set being replaced, so build prospects are the same.  But I
used -L to suppress #line directives and my Makefile has an extra 'sed'
pass that strips trailing spaces, producing extra bands in the diff.

*_comp.h:  They're the same as far as git is concerned (ie, only the
file creation/modification dates changed), so there's no update.
2015-12-03 16:27:27 -08:00
nhmall
786ac8abe6 'Merge' prebuilts from master 2015-12-03 04:23:53 -05:00
Pasi Kallinen
94d6ebbfe8 Update precompiled lev_comp lex and yacc files
This time use "cd util && make dist" as what I was doing
previously wasn't enough.
2015-12-03 09:37:31 +02:00
nhmall
24a50bdde6 Merge branch 'master' into win32-x64-working 2015-12-02 23:29:52 -05:00
nhmall
945d2d21a4 windows build fix without DEBUG defined 2015-12-02 23:29:18 -05:00
nhmall
d267cb1b0f more windows DEBUG 2015-12-02 23:24:34 -05:00
nhmall
8bd70be165 windows build without DEBUG defined in global.h
Changes to be committed:
	modified:   include/global.h
	modified:   sys/share/pcmain.c
	modified:   win/win32/mswproc.c
2015-12-02 23:19:04 -05:00
nhmall
3fa0b51d89 new fixes file
Changes to be committed:
	new file:   doc/fixes36.1
2015-12-02 19:16:40 -05:00
nhmall
ad50501872 Release prep 1
Changes to be committed:
	modified:   include/global.h
	modified:   include/patchlevel.h
2015-12-02 19:10:12 -05:00
Pasi Kallinen
c20638938e Update precompiled lev_comp lex and yacc files 2015-12-02 18:33:44 +02:00
PatR
e78e393a81 lint cleanup
A couple of things 'gcc -g' didn't care about 'gcc -O2' mistakenly
thinks 'may be used uninitialized'.
2015-12-02 02:36:29 -08:00
PatR
df415b4c35 sp_lev.c update
Shorten a function name in sp_lev.c that exceeded 31 characters.
That's a limit imposed by the VMS linker and the compiler complains
that it will be truncated.

Make all sp_lev.c functions which aren't listed in extern.h be static
and give all of them a declaration at the top of the file.  I reordered
the ones already declared there in the same order as they occur in the
source, so the diff is quite a bit bigger than the actual changes.
(Once the one with the long name became static, the length of its name
no longer mattered, but I've shortened it anyway.)

Indent a couple of #pragma directives.  Some pre-ANSI compiler didn't
like '#' in column 1 followed by something it didn't understand, even
when that occurred in a conditional block which was in the midst of
being excluded.  (util/*_comp.y recently reminded me of that.  files.c
should get a fix like this too.)
2015-12-02 02:18:24 -08:00
PatR
abf997994c From KevinS: update sys/vms/install.com
Include a template sysconf file when setting up the playground directory.
TODO: provide a sys/vms/sysconf template sysconf file....
2015-12-01 17:50:40 -08:00
PatR
918ed61d9f From KevinS: sys/vms/Install.vms
This could use a bit of reformatting.  I stripped off trailing spaces
from a handful of lines but otherwise have kept it as is since the
formatting issue is minor.
2015-12-01 01:49:36 -08:00
PatR
bc19360ae0 cmdhelp: annotate, overview, ride
Same as with the Guidebook:  M-A, M-O, and M-R were each marked
"(if supported)" even though they've become unconditional.
2015-11-30 18:23:42 -08:00
PatR
9b751e7d1c Guidebook: #annotate, #overview
Another issue from old beta-tester mail:  #annotate and #overview were
missing from the list of extended commands.  M-A and M-O were listed
but marked "(if supported)" even though they've become unconditional.
Same for M-R, although in its case #ride wasn't missing.
2015-11-30 13:49:43 -08:00
PatR
0a5fadab68 Guidebook: implicit_uncursed
Some old beta-tester mail suggested mentioning the implicit_uncursed
option in the "Curses and Blessings" section; this patch does that.
It also mentions that option in the "Configuring Menu Colors" section
since anyone trying to specify a color for " uncursed " will want
objects to be explicitly described as "uncursed".

The changes to the LaTeX version haven't been tested.  The generated
plain text version has a lot of spurious changes due to the padding
method it uses to right-justify short lines.
2015-11-30 12:59:17 -08:00
PatR
99fb812101 tribute: I Shall Wear Midnight 2015-11-30 03:33:27 -08:00
PatR
3903381a2d dungeon overview bug fixes
Reported by a beta tester months ago:  it was possible to recognize
your god's temple on the Astral Plane by stepping into its doorway,
since #overview would show "temple of <your god>" (only if just one
temple had been entered and the altar in it was the only one you'd
seen and it was for your own god; #overview doesn't show "temple of
<other god>", just "a temple").  After this fix it will just show
"a temple" even when you can see the temple's altar, so #overview
can't be used as a shortcut to finding the right temple.

While testing the fix I discovered that amnesia wasn't handled when
forgetting the current level's map, only when other levels got
flagged as forgotten.  The number of altars, fountains, and so on
are recalculated when #overview is executed, so current-level amnesia
worked for those.  But data about known rooms is not recalculated,
so the number of temples and shops you'd visited on the level stayed
instead of being forgotten.  The fix is a bit iffy for the case where
you only forget random spots scattered across the level's map rather
than the whole thing; this just wipes #overview memory of every room
even if parts of rooms are still remembered.
2015-11-29 21:46:24 -08:00
PatR
fc92770cf7 lexing updates (sys/unix/Makefile.utl)
Change the 'make' rules for *_lex.c, *_yacc.c, and *_comp.h to put
the end files names into whatever #line directives that refer to
the generated names (lex.yy.c, y.tab.c, y.tab.h).  This should not
produce any change in behavior during compilation except to provide
more accurate specifications of where any warnings or errors occur.

Add a 'make dist' target that copies generated scanner and parser
files to sys/share.  (As mentioned in the previous patch, I haven't
committed any of those since I have different versions of flex and
also of bison.)
2015-11-28 03:46:33 -08:00
PatR
c134af7a77 lexer updates
Bump the number of nodes (%e) specified in lev_comp.l so that the lex
on Solaris doesn't choke.  flex doesn't use those paramters (%e, %p,
and a few others), so this change gets accepted but hasn't been
adequately tested to verify that it solves the problem.

Reformat some of the C code at the end of dgn_comp.l and lev_comp.l;
going through the whole thing isn't worth the effort, particularly
since flex generates such a mess in the rest of the code it produces.

I haven't updated sys/share/*_lex.c and they definitely need it now.
I've got an older version of flex than the one that was used on the
code that's there now, and the most recent version.  Both of those
produce different code--the stuff that's there now has been through
more testing so whatever version was used for it ought to be used for
new editions.
2015-11-28 03:38:03 -08:00
PatR
e5e9ca8122 redo Guidebook.txt in ASCII text 2015-11-27 00:44:26 -08:00
PatR
3ad3b82aef quest message summary debugging code
How that there's nothing left to trigger it, put in some extra quest
messge debugging code.  Could be useful if new roles are added or if
any deliver-by-pline messages get changed to be deliver-by-window.
2015-11-26 04:30:55 -08:00
PatR
5ee6d8799b quest message summaries: Val and Wiz
These are the last.  All the %Cc messages should now have one-line
summaries that can be stuffed into the ^P message history buffer.
2015-11-26 04:24:56 -08:00
PatR
83df1e9c74 tribute: Unseen Academicals 2015-11-26 03:15:10 -08:00
PatR
5af330ad90 quest message summaries: Rog, Sam, Tou
The samurai ones leave something to be desired since they make no
attempt to include Japanese terminology or to make sure the tone stays
appropriate to a samurai's honor.
2015-11-26 00:11:43 -08:00
PatR
dd82c0db89 dog/cat/rat/ape body parts
Another bit prompted by vibrating square testing:
 |You see a strange vibration beneath the little dog's rear claws.

Fix up some body parts:  dog, cat, and yeti-class (includes sasquatch,
monkey and ape, owlbear) already have "paws" instead of "fore claws".
Take away all 'Y' except owlbear from that list and add rodents to it.
Give them "rear paws" instead of "rear claws" for their feet; for legs,
use "foreleg" instead of "forelimb" and "read leg" instead of "rear limb".

For yeti/sasquatch/monkey/ape/carnivorous-ape, switch from paws to hands
since they have opposable thumbs, and switch to arm, leg, foot instead
of forelimb, rear limb, and rear claw.  I've left "fore claw" for finger.
2015-11-25 16:09:33 -08:00
PatR
a7f64606d7 trap creation sanity check
Noticed while testing the look-at vs vibrating square patch:  I was
able to cover stairs with a trap via wizard mode wish.  That wish can
achieve a lot of irregular things, but prevent this particular one.
2015-11-25 14:56:58 -08:00
PatR
6f8ab3d9b2 look_at tweak
When examining a trap with '/' or ';', show
 |a trap (arrow trap)
instead of
 |a trap or a vibrating square (arrow trap)
outside of Gehennom (unless the trap actually is a vibrating square,
which could happen via wizard mode wish).  The extra verbosity is
distracting, and limiting mention of the vibrating square to the region
where it's relevant may give a hint to players getting that far for the
first time.
2015-11-25 12:16:00 -08:00
Pasi Kallinen
d8d0e5b3bd More fixes entries 2015-11-25 13:01:34 +02:00
Pasi Kallinen
476db5b63a Update fixes to reflect multiple weakened farming strats 2015-11-25 12:55:56 +02:00