Commit Graph

9682 Commits

Author SHA1 Message Date
nhmall
ff39e44276 resolve 48 warning building on Mac OS X 2019-11-28 22:48:57 -05:00
nhmall
8ac2ae3a64 fix a gcc warning 2019-11-28 19:05:39 -05:00
PatR
adc455129d 3.7: goldX and other stuff
Move option variable goldX (True: treat gold as BUC unknown, False:
treat gold as uncursed during BUCX filtering) from iflags to flags
so that it persists across save/restore.

Get rid of a few obsolete things from struct flags.

Try to make the 'cursesgraphics' option work although I don't think
that it was ever functional enough for anybody to use so probably
could have been removed instead.

Bump EDITLEVEL; any current save files are invalid.

Demote status from Beta to Work-in-Progress.

I modified src/sfdata.c manually (not included here) to get a full
build.  The Unix Makefile.src needs to be taught when and how to
regenerate it.
2019-11-28 15:00:54 -08:00
nhmall
654203f0ba Guidebook update from cron 2019-11-28 12:37:54 -05:00
nhmall
56da931493 Merge branch 'NetHack-3.6' 2019-11-28 12:35:37 -05:00
nhw_cron
059e0277ff This is cron-daily v1-Nov-24-2019. guidebook updated: doc/Guidebook.txt 2019-11-28 12:32:10 -05:00
nhmall
11ec453329 Merge branch 'NetHack-3.7' 2019-11-27 23:07:50 -05:00
nhmall
5847806104 Merge branch 'NetHack-3.6' 2019-11-27 23:07:29 -05:00
nhmall
4b558bf94e yet more Windows Makefile 2019-11-27 22:34:55 -05:00
nhmall
e8f796da24 allow testing of CROSSCOMPILE without cross-compiler using windows Makefile 2019-11-27 22:11:08 -05:00
nhmall
2bfe01d268 remove c files from nethack.tags generation
I noticed that src/sfdata.c and include/sfproto.h come out the same without those c files in the list. Remove them.
2019-11-27 21:28:20 -05:00
nhmall
566019e588 return struct fields borrowed in 3.6
This will break existing 3.7 save/bones.
2019-11-27 20:18:45 -05:00
PatR
7ca572eb60 paranoid_confirmation:eating
Add 'eating' (synonym 'continue') to the list of things that can be
set via paranoid_confirmation to require "yes" instead of "y" when
the user is prompted about something, in this case "Continue eating?".

dat/opthelp was missing a few of the paranoid_confirmation choices.
2019-11-27 16:27:13 -08:00
PatR
919f0e82d8 untested curses number pad fix
This compiles ok but I don't have a number pad to test it with.
2019-11-27 15:19:52 -08:00
nhmall
a351f90476 number pad changes from pull request #247
Below is the accompanying text from the pull request on
GitHub https://github.com/NetHack/NetHack/pull/247:

> This fixes the issue brought up in https://www.reddit.com/r/nethack/comments/dv3pae/curses_and_the_numberpad/?st=k3hgply6&sh=dbc2bf7d .
>
> I don't know why the "regular" (tty) method doesn't seem to work for him,
> but I'm going to chalk it up to a PDCurses oddity. What I do know, however,
> is that the alternate method I added a year ago or maybe longer, that allows
> numpad usage even with number_pad:0 (to retain the default keybindings in case
> an user is used to them, while keeping number pad behaviour making sense,
> similar to NetHack4+friends) was only partially implemented, for some reason.
> This adds the rest of the keys, meaning that this means of key interpretation
> should be more realible. KEY_A2/B1/B3/C2 are not standard keys in the Curses
> documentation, and is thus behind an ifdef -- but PDCurses, amongst other
> implementations, makes use of them.
>
> As a side effect, Home/End/PgUp/PgDn are now interpreted as diagonal movement,
> since some terminals interpret number_pad keys that way. I do not consider this
> a problem since they went unused in normal gameplay anyway (This does not
> interfere with menus or similar).

Closes #247
2019-11-27 17:19:55 -05:00
nhmall
a12b9c4cc3 Merge branch 'FredrIQ-numpad' into NetHack-3.6 2019-11-27 17:14:15 -05:00
nhmall
657e7e7f76 Merge branch 'NetHack-3.6' of https://github.com/FredrIQ/NetHack into FredrIQ-numpad 2019-11-27 17:04:35 -05:00
nhmall
7406826824 warning bit in a file that is only a proof-of-concept 2019-11-27 15:19:57 -05:00
PatR
0c98a30b8d fix part of #H9467 - clairvoyance vs sensed mons
When a monster is drawn on the map, remove any "remembered, unseen
monster" glyph being shown at the same spot.  Clairvoyance shows
all monsters in vicinty, then ones which can't be seen are replaced
with the 'I' glyph (which is on the object layer or the display,
not the monster layer show is subject to different update behavior).
But subsequent monster refresh didn't get rid of it when a sensed
monster was displayed over it.  (3.6.1 included a similar fix for
warned-of monsters.)

Also during clairvoyance, don't draw an 'I' at a spot that will
immediately be refreshed with a monster because 'I' clobbers any
remembered object at the same location.
2019-11-27 11:24:23 -08:00
nhw_cron
e94b6996b4 This is cron-daily v1-Nov-24-2019. files updated: Files 2019-11-27 14:07:38 -05:00
nhmall
2492cde10f another lib bit 2019-11-27 13:53:57 -05:00
nhmall
48852b0857 missed a part of vmsbuild.com 2019-11-27 13:48:25 -05:00
nhmall
719c8f5f5f Merge branch 'NetHack-3.6' 2019-11-27 13:36:12 -05:00
nhmall
c1dad9bb25 more lib subfolder updates 2019-11-27 13:19:45 -05:00
PatR
cc3152dc9a ignore 3.7 file if present 2019-11-27 09:53:40 -08:00
nhmall
8e1891f3bb another visual studio update - dirs.props 2019-11-27 11:22:11 -05:00
Fredrik Ljungdahl
9b42e32c3b Fix alternate number pad interpretation only working for diagonals
This fixes the issue brought up at https://www.reddit.com/r/nethack/comments/dv3pae/curses_and_the_numberpad/?st=k3hgply6&sh=dbc2bf7d .

I don't know why the "regular" (tty) method doesn't seem to work for him,
but I'm going to chalk it up to a PDCurses oddity. What I do know, however,
is that the alternate method I added a year ago or maybe longer, that allows
numpad usage even with number_pad:0 (to retain the default keybindings in case
an user is used to them, while keeping number pad behaviour making sense,
similar to NetHack4+friends) was only partially implemented, for some reason.
This adds the rest of the keys, meaning that this means of key interpretation
should be more realible. KEY_A2/B1/B3/C2 are not standard keys in the Curses
documentation, and is thus behind an ifdef -- but PDCurses, amongst other
implementations, makes use of them.

As a side effect, Home/End/PgUp/PgDn are now interpreted as diagonal movement,
since some terminals interpret number_pad keys that way. I do not consider this
a problem since they went unused in normal gameplay anyway (This does not
interfere with menus or similar).
2019-11-27 17:08:10 +01:00
nhmall
5ae52803a7 visual studio project updates 2019-11-27 11:07:41 -05:00
nhmall
8af0c59bdb another windows Makefile bit 2019-11-27 07:59:36 -05:00
nhmall
c9d298ee6c Windows mingw Makefile updates 2019-11-27 01:34:53 -05:00
nhmall
5a1e523887 Merge branch 'NetHack-3.7' 2019-11-27 01:27:39 -05:00
nhmall
5d5d8069d4 Merge branch 'NetHack-3.6' 2019-11-27 01:27:11 -05:00
nhmall
503b97960b windows Makefile updates 2019-11-27 01:25:17 -05:00
PatR
865607a392 3.7 Unix Makefiles
Copy lib/lua-$(VERSION)/src/liblua.h to lib/lua/ rather than lib/.

Instead of copying any of the header files or telling the compiler
where to find the lua ones, generate include/nhlua.h on the fly and
restrict the knowledge of where they are to it (paths are relative
to include/).

|/* nhlua.h - generated by top Makefile */
|#include "../lib/lua-5.3.5/src/lua.h"
|LUA_API int   (lua_error) (lua_State *L) NORETURN;
|#include "../lib/lua-5.3.5/src/lualib.h"
|#include "../lib/lua-5.3.5/src/lauxlib.h"
|/*nhlua.h*/

This might need to be redone (or augmented by having CFLAGS add back
'-I path-to-lua') if some compiler can't find '#include "luaconf.h"'
issued by lua.h.
2019-11-26 19:27:00 -08:00
nhmall
2a78011030 instructional doc bit 2019-11-26 19:35:46 -05:00
nhmall
4529094138 prepare branch for travis-ci 2019-11-26 19:26:49 -05:00
nhmall
1e22743b56 msdos cross-compile bits 2019-11-26 19:06:45 -05:00
nhmall
5f75048386 another msdos cross-compile bit 2019-11-26 00:34:57 -05:00
nhmall
36983e6889 more msdos cross-compile fixes
undefined reference to g.variables if certain parts of
drawing.c are included in host-side utilities, so
surround the offending code in
->  #if !defined(CROSSCOMPILE) || defined(CROSSCOMPILE_TARGET)
2019-11-26 00:02:38 -05:00
nhmall
7fcccdf5c6 linux-hosted msdos cross-compiler updates 2019-11-25 22:47:54 -05:00
PatR
3130676077 alignment of mimicked or polymorphed altars
A reddit thread about an unaligned altar in an aligned temple was
a tipoff that mimics posing as altars didn't have any particular
alignment.  The look-at code was misusing an operloaded field of the
underlying terrain.  Pick an alignment at random when taking on the
appearance of an altar, store it in the mimic's mon->mextra->mcorpsenm
field, and have look-at use that.

Also, dropping a ring of polymorph into a sink can transform it, and
one possible outcome is an altar.  In this case, the alignment is
part of the location's topology, but code setting that up was using
Align2amask(rn2(foo)).  That's a macro which evaluates its argument
more than once.  The first evaluation was effectively a no-op.  If
the second evaluation picked lawful then the result was lawful as
intended.  But if the second picked non-lawful and the third picked
lawful, the result would end up as none-of-the-above (a value of 3
when it needs to be a single-bit mask of 1, 2, or 4).
2019-11-25 15:01:40 -08:00
PatR
1b2b330e9f lua reorganization
Reduce the implied reliance of a specific version of lua.

Instead of copying liblua.a to src/, copy it to lib/.  Instead of
telling the compiler to look for headers in lib/lua-5.3.5/src/ as
well as in include/, copy the relevant ones to lib/ and tell the
compiler to look for them there.  'make spotless' in src/ will
remove both the object library and the header files from lib/ but
there really should be a new Makefile.lib to take care of that
directory.

Update Makefile.src to be able to build lua in case someone starts
with 'make all' there instead of in the top Makefile.  It doesn't
duplicate the option to fetch the lua source package though.

NHinternal/../genFiles.c has been updated to mention lib/liblua.a
and lib/lua*.h as 'generated at compile time' in Files and to skip
lib/lua-* entirely if it comes across that (so not operating on a
completely clean tree).  But it won't be accurate unless/until
other ports stage their lua files there instead of in src/ and
lib/lua-$(VERSION)/src/.

I haven't tried 'make depend' to see what it makes of the numerous
changes....
2019-11-25 12:20:42 -08:00
PatR
05e64d2429 more questpgr removal from makedefs 2019-11-25 10:07:11 -08:00
nhmall
4ece8ef31d spelling bit 2019-11-25 11:42:24 -05:00
nhmall
94f251cf2a fixes catch-up bit 2019-11-25 11:30:21 -05:00
nhmall
05fdccd8a6 add placeholder Cross-compiling file to Top 2019-11-25 11:16:58 -05:00
nhmall
a1276d3c8c README update 2019-11-25 11:12:27 -05:00
Pasi Kallinen
ddd8b7d9a5 Remove vestiges of quest text data file 2019-11-25 16:30:54 +02:00
Pasi Kallinen
b66bcc2f5a Fix lua quest data output types
...so the texts are given exactly the same way as they were given previously.
2019-11-25 09:21:37 +02:00
nhmall
88324a38d1 Merge branch 'NetHack-3.7' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.7 2019-11-25 00:51:44 -05:00