Commit Graph
1556 Commits
Author SHA1 Message Date
nhmall 8c20c52ecf remove STATIC_DCL, STATIC_OVL, STATIC_VAR, STATIC_PTR from sys/share 2019-07-14 17:28:48 -04:00
nhmall 2ae6d72765 remove STATIC_DCL, STATIC_OVL, STATIC_VAR, STATIC_PTR from sys/msdos 2019-07-14 17:26:52 -04:00
Bart House b5b2f6fc74 Tweaks to fuzzer batch scripts. 2019-07-14 13:39:58 -07:00
nhmall 041a9ad9c1 Merge branch 'master' into NetHack-3.7 2019-07-14 09:57:32 -04:00
nhmall ec1b77ff80 Merge branch 'NetHack-3.6' 2019-07-14 09:39:24 -04:00
Bart House 435f1c4626 Fuzzer improvements.
phase_of_moon and friday_13th determined using rn2() instead of local
time if fuzzing.  Don't reseed using init_random() if fuzzing.  Allow
set_random to be called outside of hacklib.  rn2_on_display_rng uses
rn2 if fuzzing so that we have a single source of random that we can
ensure is reproducible.  Implement rul() that returns a random unsigned
long.  Fix bug in fuzzer handling of ntposkey which would cause us to use
unitialized values for x and y.  Added command line arguments to allow
auto starting and stopping of fuzzer.  Add a logging facility for the
fuzzer to use to record activity.  Added some scripts used to automate
fuzzer testing on windows.
2019-07-14 00:20:09 -07:00
Bart House 5d2872dd4f Add stopping in the debugger when nhassert() is hit in the windows port.
When stopping in the debugger after having called impossible, the windowing
state will have been modified since the assertion was hit.  This made
examining state that caused the nhassert to fire no longer possible.
To avoid this issue, we now detect the debugger and stop in the debugger
prior to impossible.
2019-07-13 16:08:47 -07:00
nhmall 505c1e4b02 Merge branch 'master' into NetHack-3.7 2019-07-13 00:38:40 -04:00
nhmall 77fd719e05 Merge branch 'NetHack-3.6' 2019-07-13 00:38:10 -04:00
Bart House 2f3da35c68 Tweaks to nhassert implementation. Change to warnings on MSC build. 2019-07-12 18:40:34 -07:00
Bart House 0ca299acb3 Added nhassert to core. 2019-07-11 22:01:39 -07:00
Bart House 3e4a0759a3 Modified nhassert_failed to call impossoible. 2019-07-11 21:13:02 -07:00
nhmall 394fad32eb Merge branch 'master' into NetHack-3.7 2019-07-10 22:02:22 -04:00
nhmall 7dfffbb712 Merge branch 'NetHack-3.6' 2019-07-10 21:58:58 -04:00
Bart House bc65112ce0 Added experimental feature NEW_KEYBOARD_HIT. 2019-07-09 22:30:34 -07:00
PatR 8762c9498e couple of 3.7 build warnings 2019-07-03 14:05:19 -07:00
nhmall efbe179f64 fix the msdos build for NetHack-3.7 2019-07-02 22:05:36 -04:00
nhmall 4b2b2d5ba1 Merge branch 'master' into NetHack-3.7 2019-07-02 14:07:57 -04:00
nhmall e6efc2a81b Merge branch 'NetHack-3.6' 2019-07-02 14:07:26 -04:00
nhmall ad88205229 a bit that crept in from elsewhere 2019-07-02 14:06:14 -04:00
nhmall 1ac321eadc test and adjust for curses with msdos 2019-07-02 14:01:44 -04:00
nhmall f4c3546ed6 Merge branch 'master' into NetHack-3.7 2019-07-01 00:21:33 -04:00
nhmall 6d0b6fe690 Merge branch 'NetHack-3.6' 2019-07-01 00:21:15 -04:00
nhmall 3e86b46f8a fix up Windows gcc Makefile 2019-06-30 22:19:37 -04:00
nhmall 256ed2406a Merge branch 'master' into NetHack-3.7 2019-06-30 11:25:14 -04:00
nhmall 9bd9db8ed9 Merge branch 'NetHack-3.6' 2019-06-30 11:02:30 -04:00
nhmall bef9799eb5 No PDCurses right out-of-the-box; requires an edit 2019-06-30 01:10:32 -04:00
nhmall 51f2d610e2 update Windows Makefiles to support TRAVIS CI builds 2019-06-30 01:09:41 -04:00
nhmall cde420acf6 Merge branch 'master' into NetHack-3.7 2019-06-28 19:04:27 -04:00
nhmall fc37db4472 Merge branch 'NetHack-3.6' 2019-06-28 19:04:08 -04:00
nhmall 7c7f29a2e3 build fix for Windows if pdcurses is included after recent changes
cursmain.o : error LNK2001: unresolved external symbol _erase_char
cursmesg.o : error LNK2001: unresolved external symbol _erase_char
cursmain.o : error LNK2001: unresolved external symbol _kill_char
cursmesg.o : error LNK2001: unresolved external symbol _kill_char
2019-06-28 18:59:06 -04:00
nhmall 133185c72e Merge branch 'master' into NetHack-3.7 2019-06-28 18:30:47 -04:00
nhmall 0a32747794 Merge branch 'NetHack-3.6' 2019-06-28 18:30:32 -04:00
nhmall bd2cd75f7a PDCurses requires PDC_NCMOUSE for compatibility with ncurses
The PDC_NCMOUSE has to be defined on the command line
or above the #include entries in win/curses/cursmisc.c.

This does the former command line change.
2019-06-27 23:12:06 -04:00
nhmall ba0f6ed47f updated files 2019-06-23 00:57:38 -04:00
nhmall 7054e06e42 NetHack minor release checklist items - savefiles
Make some progress on a couple of next minor release checklist
items, hopefully without introducing too many new bugs. This
is just the initial commit, and work continues.

Checklist items:

Savefiles compatible between Windows versions, whether 64-bit
or 32-bit in little-endian field format.

Selection of file formats:
 historical (structlevel saves),
 lendian (little-endian, fieldlevel saves),
 and just for proof-of-concept, ascii fieldlevel saves
 (the ascii is huge! 10x bigger than little-endian).

For the fieldlevel save, all complex data structures recursively
get broken down until until it is one of the simple types that
can't be broken down any further, and that gets when it gets
written to the output file.

New files needed for this build:

hand-coded:
include/sfprocs.h
src/sfbase.c      - really a dispatcher to one of the
                    output/input format routines.
src/sflendian.c   - little-endian output writer/reader.
src/sfascii.c     - ascii text output writer/reader.

auto-coded (generated):
include/sfproto.h
src/sfdata.c

This is just one approach. I'm sure there are countless others
and they have different pros and cons.

For producing the auto-coded files a utility called
universal-ctags, that is actively maintained and evolving,
was used to do all the heavy-lifting of parsing the
NetHack C sources to tabulate the data fields, and store
them in an intermediate file called util/nethack.tags
(not required for building NetHack if you already have a
generated include/sfproto.h and src/sfdata.c)

util/readtags (also not required for building NetHack
itself) will decipher the nethack.tags file and produce
the functions that can deal with the NetHack struct data
fields.

You can obtain the source for universal-ctags by cloning it
from here:
https://github.com/universal-ctags/ctags.git

The combination universal-ctags + util/readtags has been
tried and tested under both Windows and Linux, so it is
not tied to a particular platform.

Note: util/readtags will work only with universal-ctags
output, so other ctags are unlikely to work as-is.
Universal-ctags can be build from source very easily
under Linux, or under Windows using visual studio.
2019-06-23 00:11:46 -04:00
nhmall bfc4445537 Merge branch 'NetHack-3.6' 2019-06-05 08:08:32 -04:00
nhmall 0b74f2adeb makedefs: add enum support when generating pm.h
Only changes pm.h content if ENUM_PM is defined when compiling
util/makedefs.c

While NON_PM and LOW_PM could be included, it would require
for the makedefs.c compile, as well as an
around their macro definitions in permonst.h so for now those
particular lines are commented out in makedefs.c
2019-06-02 17:21:35 -04:00
nhmall 57b5498238 Merge branch 'NetHack-3.6' 2019-05-28 21:36:52 -04:00
nhmall b51c0ebb6f clean up Windows panic results further 2019-05-28 21:24:04 -04:00
nhmall 969247cc14 Merge branch 'NetHack-3.6' 2019-05-27 18:44:33 -04:00
nhmall 6f71f483d2 make the rc file match the build target name for Windows 2019-05-27 18:42:25 -04:00
nhmall 0b8bac0295 Merge branch 'NetHack-3.6' 2019-05-23 00:12:55 -04:00
nhmall 23c613c42c vs 2019 update bit 2019-05-23 00:11:18 -04:00
nhmall e33018a6ef 3.7.0 WIP Makefile build required change 2019-05-20 16:00:11 -04:00
nhmall c7ed4920b0 Merge branch 'NetHack-3.6' 2019-05-20 15:50:17 -04:00
nhmall 46d85db233 remove a debug bit from Makefile.msc 2019-05-19 11:55:05 -04:00
nhmall 811fb0174b Makefile.msc bit for Windows 2019-05-19 11:48:20 -04:00
nhmall b2dccb21a4 Merge branch 'NetHack-3.6' 2019-05-17 16:19:17 -04:00
nhmall d05ab50876 Makefile.msc update for Windows 2019-05-17 15:57:04 -04:00