Commit Graph
100 Commits
Author SHA1 Message Date
nhmall aa9e03eef8 PDCurses behaves the same as ncurses 2019-06-27 23:20:13 -04:00
nhmall 99aa1b9bc5 Merge branch 'master' into NetHack-3.7 2019-06-27 23:15:46 -04:00
nhmall 1509aea758 Merge branch 'NetHack-3.6' 2019-06-27 23:15:07 -04:00
nhmall 924a0e691f Merge branch 'master' into NetHack-3.7 2019-06-27 00:00:58 -04:00
nhmall 28879d296d Merge branch 'NetHack-3.6' 2019-06-26 23:52:56 -04:00
nhmall 7e268d7952 macosx warning suppression final for tonight 2019-06-25 22:11:31 -04:00
nhmall 1ab2fff539 macosx warning suppression part 4 2019-06-25 22:09:25 -04:00
nhmall 06c4b6cd7e macosx warning suppression part 3 2019-06-25 21:44:38 -04:00
nhmall 7775918a1a macosx warning suppression part 2 2019-06-25 21:17:39 -04:00
nhmall 1b058e4f2a more warning suppression from unused variables 2019-06-25 21:04:37 -04:00
nhmall ed97095670 Merge branch 'master' into NetHack-3.7 2019-06-25 15:59:39 -04:00
nhmall 9b467c7c06 Merge branch 'NetHack-3.6' 2019-06-25 15:54:08 -04:00
nhmall dedff68f5a remove a 3.6 save file compat kludge and clear another warning 2019-06-25 10:20:06 -04:00
nhmall fade914218 Merge branch 'master' into NetHack-3.7 2019-06-25 09:42:49 -04:00
nhmall 78805516be Merge branch 'NetHack-3.6' 2019-06-25 09:42:13 -04:00
nhmall 163a9287f5 shadow variable bit in version.c 2019-06-25 01:10:47 -04:00
nhmall bbedd61c9e even more macosx warnings 2019-06-25 01:07:18 -04:00
nhmall 972284061d yet more macosx warnings 2019-06-25 00:55:01 -04:00
nhmall f6ab39fde1 more macosx warnings 2019-06-25 00:44:05 -04:00
nhmall eec5d0390f Merge branch 'master' into NetHack-3.7 2019-06-24 23:54:49 -04:00
nhmall 51c232b8f8 Merge branch 'NetHack-3.6' 2019-06-24 23:53:08 -04:00
nhmall 560f21f5db quiet some macosx warnings 2019-06-24 23:48:37 -04:00
nhmall e34c7daf02 Merge branch 'master' into NetHack-3.7 2019-06-24 19:47:22 -04:00
nhmall 47c5a14ff4 Merge branch 'NetHack-3.6' 2019-06-24 19:38:02 -04:00
nhmall f6ef689778 Merge branch 'master' into NetHack-3.7 2019-06-23 22:06:59 -04:00
nhmall 0ac3e25633 Merge branch 'NetHack-3.6' 2019-06-23 22:06:13 -04:00
nhmall 69c01fb3ec Merge branch 'master' into NetHack-3.7 2019-06-23 21:12:08 -04:00
nhmall df35f7282a Merge branch 'NetHack-3.6' 2019-06-23 21:11:28 -04:00
nhmall ba0f6ed47f updated files 2019-06-23 00:57:38 -04:00
nhmall adce0147e0 missed one file 2019-06-23 00:47:30 -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 c9e8ae6323 Merge branch 'NetHack-3.6' 2019-06-22 22:03:07 -04:00
nhmall eaa8c278c8 code in parse_conf_file() to trim trailing blanks/cr was missing them
Observed on a text file with crlf endings on Linux, where the
so-called blank lines weren't being ignored as they should
have been, despite there being a line to remove \r from the
end.

A pointer was being pre-decremented before the check for a
matching whitespace character.
2019-06-22 00:05:16 -04:00
nhmall 7698e27eed Merge branch 'NetHack-3.6' 2019-06-20 22:33:33 -04:00
nhmall 2a5d7ed536 Merge branch 'NetHack-3.6' 2019-06-20 10:18:32 -04:00
nhmall 3640c3c2b2 merge bit 2019-06-18 21:50:51 -04:00
nhmall 30cfcf3b12 Merge branch 'NetHack-3.6' 2019-06-18 21:43:54 -04:00
nhmall 8562c6839e merge branch NetHack-3.6 part 2 2019-06-17 15:25:10 -04:00
nhmall 4fdc78fce1 Merge branch 'NetHack-3.6' 2019-06-17 15:24:53 -04:00
nhmall 2b754e0c92 Merge branch 'NetHack-3.6' 2019-06-15 18:54:28 -04:00
nhmall 938a2c1b64 Merge branch 'NetHack-3.6' 2019-06-15 08:54:45 -04:00
nhmall 61fefd9a9e Merge branch 'NetHack-3.6' 2019-06-11 23:24:41 -04:00
nhmall fea4fd0e00 Merge branch 'NetHack-3.6' 2019-06-10 18:04:45 -04:00
nhmall f167fe4d7e Merge branch 'NetHack-3.6' 2019-06-10 08:05:46 -04:00
nhmall 9ac8e07d9e Merge branch 'NetHack-3.6' 2019-06-09 14:09:18 -04:00
nhmall 797579399c Merge branch 'NetHack-3.6' 2019-06-09 09:45:14 -04:00
nhmall 83b95526a4 a 3.7 merge fix for a recent display.c change 2019-06-09 09:01:22 -04:00
nhmall 26bf4f1e11 Merge branch 'NetHack-3.6' 2019-06-09 08:43:40 -04:00
nhmall f1f085c7fd display effect bits 2019-06-09 08:08:50 -04:00
nhmall 5f676aa56c extend wizard-mode display effect to unseen invisible monsters 2019-06-09 07:46:14 -04:00
nhmall 8a82a67d41 overlooked rn2_on_display_rng bit 2019-06-09 07:41:11 -04:00
nhmall 54d24d0333 make display effect code reusable and move it to display.c 2019-06-08 23:19:29 -04:00
nhmall ea9a385d67 fixes entry and a display effect related to is_hider wishing 2019-06-08 22:40:51 -04:00
nhmall 15fa1f0ac7 debug mode wishing for hidden hiders 2019-06-08 21:54:06 -04:00
nhmall 2f5013670d Merge branch 'NetHack-3.6' 2019-06-08 14:39:36 -04:00
nhmall d0210d9c90 Merge branch 'NetHack-3.6' 2019-06-08 09:38:27 -04:00
nhmall aa2fb2932f Merge branch 'NetHack-3.6' 2019-06-06 21:49:54 -04:00
nhmall d8df7ed733 merge bit 2019-06-06 08:14:11 -04:00
nhmall 8a1945f09c Merge branch 'NetHack-3.6' 2019-06-06 08:09:18 -04:00
nhmall bfc4445537 Merge branch 'NetHack-3.6' 2019-06-05 08:08:32 -04:00
nhmall 43ae30443d fixes whitespace bit 2019-06-04 21:58:44 -04:00
nhmall 02898009a6 remove some trailing spaces from data.base 2019-06-04 21:49:20 -04:00
nhmall cd86242502 make sure end.c can place the bc 2019-06-04 21:46:08 -04:00
nhmall a65682f58e allow a parent function to restrict use of placebc
placebc was triggering an impossible sometimes on the plane of
water

It turned out to be because movebubbles issued an
unplacebc(), but a downstream function called
placebc(), so when movebubbles() issued its own
placebc() there was a problem.

The downstream function that beat movebubbles to the placebc()
turned out to be unstuck(). There could be others.
2019-06-04 21:18:46 -04:00
nhmall 4519e21a21 disabled code bit 2019-06-03 18:45:02 -04:00
nhmall fd585a58c2 add some debugging BREADCRUMBS to identify caller of some functions
Only takes effect if a developer uncomments BREADCRUMBS in config.h
2019-06-03 18:37:45 -04:00
nhmall cccdeb6b01 data.base update 2019-06-03 18:00:19 -04:00
nhmall bf5878076f more precautions for monster obliteration during overcrowding 2019-06-03 17:11:54 -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 6dd7dfa66c Merge branch 'NetHack-3.6' 2019-06-02 16:19:53 -04:00
nhmall 7d38435a9b don't clear mtmp->mx, mtmp->my even when obliterating 2019-06-02 10:34:38 -04:00
nhmall 5c30cc5890 elemental_clog() should not destroy the very monster trying to be placed 2019-06-02 08:15:41 -04:00
nhmall e84fb24ede Merge branch 'NetHack-3.6' 2019-06-01 18:05:42 -04:00
nhmall 852995bbeb remove a couple of debugging lines in mon.c 2019-06-01 17:36:54 -04:00
nhmall 4eeebe5e20 fix gcc warning on linux 2019-06-01 17:26:15 -04:00
nhmall 5ee78c5204 improve full level handling in the endgame
Even though a goodpos failure in mnearto() would return 0 to
the caller and trigger proper overcrowding handling for mtmp,
the 'othermon' would be left with its mx,my set to 0,0 under
that circumstance and then trigger a mon_sanity_check()
failure and accompanying impossible() message a short while
afterwards.

This also includes the addition of some flags that proved useful
for troubleshooting the mystery sanity_check failure and helping
to understand some of the code paths the struct monst data had
been through. They are only used for inspection when issues are
reported or when debugging, they don't presently control the
code flow.  Their setting and use is done in an overloaded way
that should not intrude on the existing use of mspare1 for
MIGR_LEFTOVERS. mon->mstate is just a pseudonym for mon->mspare1
and does not alter save file content.
2019-06-01 16:51:10 -04:00
nhmall e786098572 Merge branch 'NetHack-3.6' 2019-05-31 17:59:11 -04:00
nhmall 7437b0b6e6 Merge branch 'NetHack-3.6' 2019-05-30 18:10:41 -04:00
nhmall 57b5498238 Merge branch 'NetHack-3.6' 2019-05-28 21:36:52 -04:00
nhmall 397eddedf0 Merge branch 'NetHack-3.6' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.6 2019-05-28 21:24:56 -04:00
nhmall b51c0ebb6f clean up Windows panic results further 2019-05-28 21:24:04 -04:00
nhmall 0cec0a6725 Merge branch 'NetHack-3.6' 2019-05-28 13:11:26 -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 34d6f8654b merge branch NetHack-3.6 and update version info 2019-05-27 18:23:50 -04:00
nhmall 0cf9e2e487 Merge branch 'NetHack-3.6' 2019-05-27 18:21:34 -04:00
nhmall 09412274e6 Windows .rc files
bump the version in the win/win32/*.rc files

side note: winhack.rc wasn't properly updated for the 3.6.2 release
2019-05-27 17:38:54 -04:00
nhmall df495c2ce6 Merge branch 'NetHack-3.6' 2019-05-27 16:38:09 -04:00
nhmall 3fae8c7ce6 Merge branch 'NetHack-3.6' 2019-05-26 08:18:03 -04:00
nhmall f5bc41cc53 refer to the same level the same way in fixes file 2019-05-25 12:25:05 -04:00
nhmall ad47095a5e Merge branch 'NetHack-3.6' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.6 2019-05-25 12:01:58 -04:00
nhmall 8a5ffa4085 do not mark multiple luckstones as the prize in mines-end
if one of the random objects happened to be a luckstone then
it and the explicit one got marked as a prize.

Following this change, only one will be marked as the prize,
but a follow-up on the order of things in mines.des may be
warranted to ensure it is the explicitly placed luckstone.
2019-05-25 11:58:32 -04:00
nhmall c5d6ac5561 whitespace bit 2019-05-25 00:42:29 -04:00
nhmall ea7574ced9 Merge branch 'NetHack-3.6' 2019-05-25 00:35:48 -04:00
nhmall 9361a9153b swap places with pet onto boulder location
when co-located with a boulder you could sometimes swap places
with pets of any size

bg72
2019-05-25 00:33:47 -04:00
nhmall fa8efb15fb vortex database update
Reported:
"The data.base entry for "vortex" is erronous, as fire and energy vortices have passive attacks (which count as "touching")"
2019-05-24 22:36:21 -04:00
nhmall 8e06eeeb9d Merge branch 'NetHack-3.6' 2019-05-24 08:01:50 -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 564dcd6576 xans fly, but could not reach your feet if you flew 2019-05-22 18:27:03 -04:00