Commit Graph
100 Commits
Author SHA1 Message Date
nhmall feaaa93451 try travis pre-release zip build again with update powershell command 2019-10-29 17:54:58 -04:00
nhmall 76dadab568 whitespace bit 2019-10-29 13:19:41 -04:00
nhmall fff4ceebdd travis deploy zip file name refinement 2019-10-29 09:34:21 -04:00
nhmall 81e39e3bff typo in README 2019-10-28 20:36:32 -04:00
nhmall 5a95c0372d README update for 3.6.3 work-in-progress 2019-10-28 20:34:36 -04:00
nhmall 6ec0c0ee5c .travis.yml update 2019-10-28 12:59:00 -04:00
nhmall f487083ab4 fix parse character count typo 2019-10-27 23:37:16 -04:00
nhmall a399151d01 some symbol tweaks
A few symbol-related modifications:

- fulfill a request from a blind player to allow them to
  specify a unique/recognizable character for all pets and/or
  the player in the config file for use when using a screen
  reader (S_player_override, S_pet_override). Requires sysconf
  setting ACCESSIBILITY to be set to have an effect, although
  they can still be specified in the config file.

- Config file SYMBOLS entries were not working properly on
  the rogue level. Allow ROGUESYMBOLS as well as SYMBOLS to be
  specified in the config file independently.

- When values are moved into showsyms[], the overriding SYMBOLS
  or ROGUESYMBOLS entry from the config file is used if there is
  one; if there is no overriding value for a particular symbol,
  the loaded symset value is used; if there is no symset entry
  loaded for the symbol then a default symbol is used.
2019-10-27 23:12:11 -04:00
nhmall 4f94bcaa8b travis bits 2019-10-27 20:42:22 -04:00
nhmall faf795b014 travis updates for Windows deploy
travis updates for Windows deploy

Change zip file name from NetHack.zip
to
NetHack-x86-beta$TRAVIS_TAG.zip
where $TRAVIS_TAG represents the tag info.

Also, log the commands from the sh script in win/win32/vs2017 to the build log.
2019-10-27 20:36:03 -04:00
nhmall b8effef5e4 fix H9344: remove_object: obj not on floor (heavy iron ball & chain) 2019-10-22 10:02:53 -04:00
nhmall 15d5942b2a fix recent bypass of obj placement 2019-10-22 09:40:10 -04:00
nhmall 5690cce584 one new rumor 2019-10-20 11:21:47 -04:00
nhmall c099e0a1ff grammar fix for "That walking shoes is really a small mimic" 2019-10-19 12:05:33 -04:00
nhmall 30101a80f1 Merge branch 'NHTangles-NetHack-3.6' into NetHack-3.6 2019-10-18 11:00:45 -04:00
nhmall 74dc97866b spelling mistake in comment in recent commit 2019-10-17 21:26:59 -04:00
nhmall bab05ea680 remove one band from a recent attempted warning correction 2019-10-08 20:17:01 -04:00
nhmall 2172c5e7ff more github 229 warning 2019-10-07 22:02:26 -04:00
nhmall 193f8c39bd clear up some reported curses warnings 2019-10-06 09:07:49 -04:00
nhmall 57d87db92c tty condition_size() name and return value
the return value from condition_size() was unused so
eliminate an unused variable warning and rename the function
to better reflect that it updates tty_status[NOW][BL_CONDITION].lth
2019-10-05 22:17:48 -04:00
nhmall 455c3fbf62 update README.linux
closes #118
2019-10-02 15:22:14 -04:00
nhmall 5400c6796a yet more orc obj init 2019-10-02 14:58:21 -04:00
nhmall c10bd97e1a more orc obj init 2019-10-02 14:55:28 -04:00
nhmall acf45be503 Guidebook.txt update 2019-10-02 10:56:39 -04:00
nhmall 59effabd73 Revert "Guidebook.txt update"
This reverts commit df7e6a0f2a.

stamped with incorrect version
2019-10-02 10:50:04 -04:00
nhmall df7e6a0f2a Guidebook.txt update 2019-10-02 10:47:47 -04:00
nhmall 38b529c3e7 fix a Guidebook.tex bit just noticed 2019-10-02 09:46:30 -04:00
nhmall 1df652683e allow orctown booty items to be initialized in mksobj 2019-10-01 21:06:07 -04:00
nhmall e520071f52 update guidebook 2019-10-01 19:57:04 -04:00
nhmall 72252d5dc6 follow-on bits 2019-10-01 17:47:45 -04:00
nhmall 29946b551b autopickup exception priority in pull request 226
The pull request #226 commentary follows:

One major limitation of the autopickup exception system is that you can't
define an exception from an exception, despite both menucolors and msgtypes
prioritizing rules based on the order they are defined in .nethackrc. This
is because the "always pickup" and "never pickup" exceptions are tracked in
different lists, and at runtime, when the player steps over an object, the
game checks these lists seperately, with "never pickup" taking precedence.
This means that if you want to pick up some but not all items matching a
given expression, you may need to write a long and kludgy list of regexes
to get the behavior you want.

I've edited the autopickup exception code to remove this necessity: now
the exceptions are stored in one list, and conflicts between them are
resolved based on their relative position in that list. Whether an
exception was inclusive or exclusive was already tracked individually;
I don't know why they were stored separately in the first place. This
edit makes the system both more convenient and more consistent with the
semantics of menucolors and msgtypes.

With these changes, the 33 autopickup exception rules in the wiki article
linked above may be replaced with the following 7 much simpler rules for
the exact same effect:

AUTOPICKUP_EXCEPTION=">.* corpse.*"
AUTOPICKUP_EXCEPTION="<.* newt corpse.*"
AUTOPICKUP_EXCEPTION="<.* lichen corpse.*"
AUTOPICKUP_EXCEPTION="<.* lizard corpse.*"
AUTOPICKUP_EXCEPTION="<.* floating eye corpse.*"
AUTOPICKUP_EXCEPTION="<.* wraith corpse.*
AUTOPICKUP_EXCEPTION=">.*\>.*"

closes #226
2019-09-30 10:54:03 -04:00
nhmall 657b65bd3c Merge https://github.com/Vivit-R/NetHack into Vivit-autopickup-exceptions-3.6 2019-09-30 10:48:18 -04:00
nhmall da6c393e43 fix errant verb tense in some messages if pet or mon name ends in 's'
Report stated:
"Poes deliberately slither onto a polymorph trap!" ... it's only one cat, er,
black naga. Why does the parser treat the name as plural? There are lots of
singular words and names that end in -s or -es!

H9249 1780
2019-09-26 11:49:15 -04:00
nhmall 9361e872b2 fix uarmh null pointer dereference
uarmh null pointer dereference if a helm of opposite alignment came off due
to being polymorphed

fixes #225
2019-09-24 12:32:58 -04:00
nhmall bd26d2edbe correct spelling mistake on stupefied
As reported in github issue 224

Fixes #224
2019-09-23 14:19:15 -04:00
nhmall 2a66ce54ad use faster method to write characters to VGA in msdos port
chasonr's comments in github pull request #220:
It was necessary, when updating the MS-DOS port for 3.6, to revise the
screen-clearing and character-drawing functions, because the background
color is no longer zero. But the 3.6.1 method is rather slow, using
write mode 2 and a lot more calls to outportb.

outportb is expensive when running under a virtual machine, the typical
use case for the MS-DOS port these days, because it traps to the
hypervisor rather than actually writing to hardware.

This change restores the speed of the 3.4.3 version. The adapter is left
in write mode 0. Clearing is accomplished by writing zero to planes where
the background color has a zero bit, and 0xFF where the background color
has a one bit. Characters are drawn by writing 0x00, 0xFF, the font data,
or the inverse of the font data, as appropriate, to each plane.

When testing, be sure to use OPTIONS=videomode:vga, because autodetect
will go to VESA mode if it can.

closes #220
2019-09-13 00:38:04 -04:00
nhmall d4bd4f2413 Merge branch 'chasonr-msdos-vga' into NetHack-3.6 2019-09-13 00:36:32 -04:00
nhmall 8a328ff7eb quite some Xcode warnings 2019-08-17 12:55:48 -04:00
nhmall 490d7f6d54 copy-paste error bit 2019-08-16 21:47:37 -04:00
nhmall 0091920f00 travis build update and mkfontdir argument for linux
travis recently changed linux default dist from trusty to xenial, and bionic is next

include an additional travis linux build under bionic to eliminate surprises there

add a parameter to mkfontdir under linux to prevent it form going after .lev files
2019-08-16 13:50:41 -04:00
nhmall d1bc65b75b add X11 packages to couple of travis builds 2019-08-15 20:41:50 -04:00
nhmall 64cc11d9b4 makedefs doesn't use STATIC_OVL macro 2019-07-13 00:28:51 -04:00
nhmall 638d9f9363 if prototype is declared static make function static to match
Today, a compiler was encountered that considered it an error
to have the prototype declared static and the function body
not
2019-07-13 00:17:23 -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 3e86b46f8a fix up Windows gcc Makefile 2019-06-30 22:19:37 -04:00
nhmall e35a216e51 last NetHack-3.6 travis build passed so re-enable notifications to devteam 2019-06-30 16:54:34 -04:00
nhmall d352dd8d1a Merge branch 'NetHack-3.6' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.6 2019-06-30 14:12:48 -04:00
nhmall 7cccf2e4d8 add --depth 1 to git clone for travis windows test 2019-06-30 14:12:16 -04:00
nhmall d4ec664b4f add pdcurses support to travis ci windows test builds
pdcurses is obtained on-the-fly from the github source
2019-06-30 13:22:25 -04:00
nhmall 81fef499e0 remove "bogus" bit :) 2019-06-30 12:12:42 -04:00
nhmall ae9d68d991 lower case windows in .travis.yml 2019-06-30 10:33:53 -04:00
nhmall 148b93a7c1 TRAVIS CI updated to include Windows and osx testing
TRAVIS CI added Windows to their platform list in late 2018.

Update the .travis.yml file to include a pair of Windows in
machines in the testing suite, one built with visual studio
command line tools and the other with mingw gcc tools.

The visual studio build is currently using nmake with the
sys/winnt/Makefile.msc Makefile from our distribution,
That's the same process we've been using for building
our binaries, pretty much.

BRH may be able to modernize it over the next couple of
weeks to use the msbuild process instead.

I went with the HINTS environment variable on windows
for consistent self-documenting purposes, even though
the environment variable isn't used on windows.

included:
   os: linux
   Compiler: gcc C
   HINTS=linux

   os: linux
   Compiler: clang C
   HINTS=linux

   os: linux
   Compiler: gcc C
   HINTS=linux-x11

   os: linux
   Compiler: gcc C
   HINTS=linux-qt5

   os: linux
   Compiler: gcc C
   HINTS=linux-minimal

   os: windows
   language: shell
   HINTS=Windows-visual-studio

   os: windows
   HINTS=Windows-mingw

excluded:
   os: osx
   Compiler: clang
   Xcode: xcode10.2 C
   HINTS=macosx10.14
2019-06-30 10:19:16 -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 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 39eed81aa2 PDCurses behaves the same as ncurses 2019-06-27 23:22:34 -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 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 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 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 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 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 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 6f71f483d2 make the rc file match the build target name for Windows 2019-05-27 18:42:25 -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 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 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 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
nhmall 31e6421348 closes #79 2019-05-20 23:45:51 -04:00
nhmall cc7353f88d Merge branch 'spixi-engravings' into NetHack-3.6 2019-05-20 23:43:18 -04:00
nhmall 848d954a7c Merge branch 'NetHack-3.6.0' of https://github.com/spixi/NetHack into spixi-engravings 2019-05-20 23:41:40 -04:00
nhmall cd6c2ebcdf status line count (word two) bit 2019-05-20 15:16:57 -04:00
nhmall 7d7111ec03 status_sanity_check is most useful in WIP and beta so restrict it 2019-05-20 12:08:51 -04:00
nhmall cbb3dbb5f5 make it tougher for incomplete render_status() to go unnoticed
Adds a sanity check that will write a paniclog
message if a code change prevents completion of
render_status() for each dirty (changed) field.
2019-05-20 01:33:33 -04:00
nhmall e653868833 fix a botl status display issue
Reported as #H8609 (1679)

Some code recently added to render_status() for BL_CONDITION:
    if (!tty_condition_bits)
        continue;
was short-circuiting the required copy of NOW
values to BEFORE values for later comparison
further down in the for-loop.
    tty_status[BEFORE][idx] = tty_status[NOW][idx];

This caused some fields to be bypassed for rendering
once no more tty_condition_bits were set because the
length comparisons would match.
2019-05-19 23:35:21 -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