Commit Graph
100 Commits
Author SHA1 Message Date
nhmall 8a620c3dec makefile updates 2015-05-06 20:22:03 -04:00
nhmall 02de9d1313 commit the latest update for wiz_identify
git add mistake on my part
2015-05-02 18:16:11 -04:00
nhmall be643386c5 permanent wiz_identify correction
wiz_identify (^I) is supposed to bring up the inventory list
with the items identified, in contrast to the regular (I)
inventory, but only for that inventory display.

It is intended that if you then hit ^I again while at that
wiz_identify inventory menu, you'll trigger permanent
identification of itemsand any other key is supposed to
leave them as they were.

In tty however, <space> was doing the same thing as the
second ^I, and permanently identifying everything.
So, for those that like to <space> through menus (like
me) this makes it work as originally intended and
requires a deliberate second ^I at the menu to permanently
identify. (It might also allow trigger permanent ID if you hit
underscore, but nobody "underscores" through menus,
so that's ok.)
2015-05-02 18:04:20 -04:00
nhmall d29ee35ae8 fixes entry for previous bubble fix
Changes to be committed:
	modified:   doc/fixes35.0
2015-05-01 18:34:06 -04:00
nhmall 573c9dc98f Merge branch 'AlexK-misc' 2015-05-01 18:24:59 -04:00
nhmall 67a53a2aa3 another ball & chain tweak
checking if uball is OBJ_FREE was inappropriate, because
sometimes it is in inventory.
2015-05-01 07:39:53 -04:00
nhmall c25ea3d851 can't use BALL_IN_MON after u.uswallow set to 0
u.uswallow is set to 0 a couple of lines above so
the test will never be TRUE.
2015-04-30 08:26:46 -04:00
nhmall fcfab90907 fix a panic and infinite recursion
Changes to be committed:
	modified:   src/ball.c
	modified:   src/display.c
	modified:   src/mon.c
2015-04-29 23:53:31 -04:00
nhmall 97a5bdfb17 comment rearranged
Requested by Sean for some work he's doing for reindent.
2015-04-29 20:54:11 -04:00
nhmall 3924b01e73 trade a segfault for a panic
Changes to be committed:
	modified:   src/invent.c
	modified:   src/options.c

Apparently we need this based on Pasi's segfault. We just
don't yet know why we need them.

Also fix a warning:
..\src\options.c(1282) : warning C4101: 'tmp' : unreferenced local variable
2015-04-27 23:42:06 -04:00
nhmall 8624709c0d comment termination bit 2015-04-25 15:49:14 -04:00
nhmall 07c5467434 checkfile protection from caller
Changes to be committed:
	modified:   src/pager.c
2015-04-25 10:51:07 -04:00
nhmall 65e699b646 fix an observed stack corruption
Changes to be committed:
	modified:   src/pager.c
2015-04-24 11:23:07 -04:00
nhmall 09920871f2 invalid escape
Changes to be committed:
	modified:   win/share/tiletext.c
2015-04-19 18:56:49 -04:00
nhmall 0827c0df9d Update the tile RGB values and mappings
Changes to be committed:
	modified:   win/share/monsters.txt
	modified:   win/share/objects.txt
	modified:   win/share/other.txt
	modified:   win/share/tile2bmp.c
	modified:   win/share/tiletext.c
2015-04-19 17:17:03 -04:00
nhmall 56c4475c20 extend the tty statue patch to tiles
Changes to be committed:
	modified:   doc/fixes35.0
	modified:   win/share/gifread.c
	modified:   win/share/monsters.txt
	modified:   win/share/objects.txt
	modified:   win/share/other.txt
	modified:   win/share/tile2bmp.c
	modified:   win/share/tilemap.c

The tty code already had the statue patch included, where
statues are represented by stone versions similar in
appearance to their monster likeness.

This extends it to tiles.

A new pass through the monsters.txt file is done
in tile2bmp to include new modified tiles to the output
file that are gray-scaled versions for mapping to the
NetHack statue glyphs.
2015-04-19 13:31:59 -04:00
nhmall 0fdcea70c6 suggested booktribute mods
Changes to be committed:
	modified:   include/extern.h
	modified:   src/files.c
	modified:   src/objects.c
	modified:   src/spell.c

- charge a little more.
- no free read in the bookstore.
2015-04-18 17:45:27 -04:00
nhmall 78b012a680 prevent a couple of reported array index segfaults
Changes to be committed:
	modified:   src/hack.c
	modified:   src/pager.c

Don't use glyph_to_cmap as an array index into
the defsyms[] array unless it really is a cmap.

Recent situation: glyph_to_cmap will return
NO_GLYPH for the unknown monster glyph 'I', which
is not a valid index for the defsyms[] array.
2015-04-18 15:29:37 -04:00
nhmall e1155aca6f add an initializer 2015-04-17 00:46:54 -04:00
nhmall f6bf9f9999 protect against bad dates
A recent fault on mingw32 revealed that faulty
code which passes a bad or out-of-range date
value could have game-fatal consequences.
Add some protection.
2015-04-17 00:31:22 -04:00
nhmall d52c6a208d date verification 2015-04-17 00:12:53 -04:00
nhmall 636da9887b more regex integration bits 2015-04-12 13:27:36 -04:00
nhmall 5dd00aca54 Makefile bit following merge 2015-04-12 12:16:59 -04:00
nhmall a66224f9dc Add some new files to top level Files 2015-04-12 11:46:56 -04:00
nhmall 7da3ed32e1 tribute post-merge smoothing
Changes to be committed:
	modified:   src/mon.c
	modified:   win/share/objects.txt
2015-04-12 10:31:26 -04:00
nhmall 11560933cc Merge branch 'master' into nhmall-booktribute
Conflicts:
	doc/fixes35.0
	include/extern.h
	src/mkobj.c
	src/mon.c
	src/objnam.c
	win/share/objects.txt
2015-04-12 10:02:17 -04:00
nhmall a7b4309cc1 Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource 2015-04-12 08:58:16 -04:00
nhmall ea96cdd547 More Guidebook
Changes to be committed:
	modified:   doc/Guidebook.mn
	modified:   doc/Guidebook.tex
2015-04-12 08:57:41 -04:00
nhmall be5fa68bde Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource 2015-04-12 00:34:06 -04:00
nhmall 816589e626 windows team update 2015-04-12 00:33:30 -04:00
nhmall 1a8cfeaef3 Files correction 2015-04-11 21:07:02 -04:00
nhmall 2f4e7b601d text file error corrections
Changes to be committed:
	modified:   DEVEL/code_features.txt
	modified:   Files
	modified:   dat/history

On 4/11/2015 6:45 PM, Dion Nicolaas wrote:
> Errors in text files:
> - DEVEL/code_features.txt, line 10: 'alterting' should be 'alerting'

fixed

> - dat/history: Is it intentional that I'm no longer mentioned as
> maintaining the Windows port? I am for 3.4, but not for 3.6.

fixed

> - Files: The Files file is incomplete. Notably, the new files in dat/
> are missing (bogusmon.txt, engrave.txt, epitaph.txt),

fixed

> the DEVEL directory, doc/Guidebook.*

> - Some files in Files have the wrong case: NetHack.sln,
> NetHackW.vcxproj. I know it doesn't matter on windows but it looks wrong.

fixed
2015-04-11 21:02:11 -04:00
nhmall 7e098c0c4e Merge branch 'master' into nhmall-booktribute 2015-04-10 12:15:14 -04:00
nhmall 684e507143 attempt to fix Makefile issue with tribute 2015-04-06 23:16:14 -04:00
nhmall 6ffafd71de Merge branch 'nhmall-booktribute' of https://rodney.nethack.org:20040/git/NHsource into nhmall-booktribute 2015-04-06 22:41:00 -04:00
nhmall 49b45bdbf5 function definitition to match prototype const 2015-04-06 22:38:01 -04:00
nhmall 06227ec0d3 Merge branch 'master' into nhmall-booktribute 2015-04-06 17:47:11 -04:00
nhmall 13185adad2 Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource 2015-04-06 16:18:44 -04:00
nhmall 3d6fabf730 nhclose
Changes to be committed:
	modified:   include/extern.h
	modified:   src/bones.c
	modified:   src/do.c
	modified:   src/files.c
	modified:   src/music.c
	modified:   src/restore.c
	modified:   src/save.c
	modified:   sys/share/pcmain.c
	modified:   sys/share/pcsys.c
	modified:   sys/share/pcunix.c

In order to get level file locking correctly again post 3.4.3
with the newer compilers for windows, I had to funnel close()
calls to an intercepting routine.

I had two choices:

1. Surround every close() in at least 9 source files with messy:
	#ifdef WIN32
		nhclose(fd);
	#else
		close(fd);
	#endif

OR

2. Replace every close() with nhclose() and
   deal with the special code in the nhclose()
   version for windows, while just calling
   close() for other platforms (in files.c).

   It is also possible, although not done in this commit,
   to
	#define nhclose(fd) close(fd)
   in a header file for non-windows, rather than funnel
   though a real nhclose() function in files.c.
2015-04-06 10:12:10 -04:00
nhmall b7ad4a8a2a Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource 2015-04-05 09:34:00 -04:00
nhmall 660534389e a warning bout lc_error
lev_comp.l(310) : warning C4013: 'lc_error' undefined; assuming extern returning int
2015-04-05 09:26:01 -04:00
nhmall 1e74df8b08 Changes to be committed:
modified:   src/shknam.c
	modified:   src/trap.c
	modified:   src/zap.c

While polymorph was clearing the name because poly_obj
actually creates a brand new obj and copies field values
over, water_damage does not so the name persisted on
the blank spellbook. In this case, that isn't really
appropriate. Clear the name.

Ensure that cancellation has no effect on these
ordinary books.

Make the second-hand bookstore an option for holding
the book tribute item too.
2015-04-05 00:20:42 -04:00
nhmall 8b6736c57b update passage count on title line for The Colour of Magic 2015-04-05 00:08:34 -04:00
nhmall a8261cd10a correct something spotted in email diff 2015-04-04 21:38:43 -04:00
nhmall b383cc6a2c update book tribute
Changes to be committed:
	modified:   doc/fixes35.0
	modified:   include/extern.h
	modified:   src/do_name.c
	modified:   src/objnam.c

This pretty much completes the code portion of the book tribute.
- The book will appear in the rare books shop.
- When you read the book, a random passage is drawn for a
  tribute file (suggested by Mike).
- The book cannot be renamed because it already has a
  name (observed/suggested by Sean).

The data file (dat/tribute) has a few test passages, but needs to be
filled out. Sean and Mike Stephenson have indicated that
possibly they may be able to help contribute to that. Ideally,
there should be at least one passage from each of the books.
2015-04-04 21:20:34 -04:00
nhmall 5432ba7f44 Merge branch 'master' into nhmall-booktribute 2015-04-04 08:31:14 -04:00
nhmall fff3b12de0 Merge branch 'nhmall-booktribute' of https://rodney.nethack.org:20040/git/NHsource into nhmall-booktribute 2015-04-04 08:22:05 -04:00
nhmall 7a3e7aaf64 missed a conflict 2015-04-02 19:24:10 -04:00
nhmall c43e8f9d31 Merge branch 'master' into nhmall-booktribute
Conflicts:
	include/context.h
2015-04-02 19:19:50 -04:00
nhmall 8fb23b4a41 non-Unix build was broken today
Changes to be committed:
	modified:   src/cmd.c

../src/cmd.c(515) : warning C4013: 'check_user_string' undefined; assuming extern returning int)
link error - cmd.o : error LNK2019:
unresolved external symbol _check_user_string referenced in function _enter_explore_mode
2015-03-31 19:07:25 -04:00
nhmall 6ab783b05b cmdline Makefile updates 2015-03-29 21:00:50 -04:00
nhmall 0751842083 clean up cmdline Makefile for VS2010,VS2013,...
VS2010 tested ok.
VS2013 tested ok.
VS2015 generated a _lot_ of linker warnings building NetHack, but it built.
2015-03-29 20:28:38 -04:00
nhmall 5a90f5f366 fix some compiler warnings windows cmdline
Changes to be committed:
	modified:   src/hack.c
	modified:   src/vision.c
2015-03-29 20:07:41 -04:00
nhmall 2c9ad065c1 add data.base suggestion for whistle
On 1/24/2014 6:48 AM, a bug reporter wrote:
> The whistle in Nethack has no encyclopedia entry. I suggest for the next
> release something from the M. R. James ghost story 'Oh, Whistle, and I'll Come
> to You My Lad'.
>
2015-03-29 10:50:39 -04:00
nhmall 5855deae6e doc/fixes update for C343-357 2015-03-28 18:20:19 -04:00
nhmall e69b5ae944 fix C343-357 Rust monsters may chew non-ferrous items
Changes to be committed:
	modified:   src/mon.c

website should be updated to reflect this bug closure.

C343-357 Rust monsters may chew non-ferrous items.
2015-03-28 18:08:09 -04:00
nhmall 35d80f5922 remove #ifdef TOURIST straggler
Changes to be committed:
	modified:   src/worn.c
2015-03-28 18:05:42 -04:00
nhmall 011520d61a Guidebook transcription typo 2015-03-28 15:23:28 -04:00
nhmall 9b328f1ad6 Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource 2015-03-28 11:23:47 -04:00
nhmall c035402c14 flavor enhance zap downwards/upwards when hiding
Changes to be committed:
	modified:   doc/fixes35.0
	modified:   include/extern.h
	modified:   src/apply.c
	modified:   src/zap.c

    On 3/23/2015 6:41 PM, a bug reporter wrote:
    > When you're hiding under an item (e.g. via garter snake polyform), and
    > that item gets polyshuddered into nonexistence, you continue hiding
    > (under nothing).
    This was addressed previously.

    > (Incidentally, it's a bit weird that you use > to aim at items that are
    > flavorwise above you at the time.)

    This addresses the flavorwise concern.
2015-03-28 11:20:44 -04:00
nhmall ec456ade9f a couple of substitution errors in Guidebook.tex 2015-03-28 01:06:28 -04:00
nhmall cb79a82bfb fix up some syntax errors in Guidebook.tex 2015-03-28 00:49:38 -04:00
nhmall 4a3a130795 subsitution gone amuck
Changes to be committed:
	modified:   doc/Guidebook.mn
2015-03-27 19:56:04 -04:00
nhmall 67cbd0c8e9 Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource 2015-03-27 19:48:17 -04:00
nhmall 76ee82b7d3 more doc updates
Changes to be committed:
	modified:   dat/history
	modified:   doc/Guidebook.mn
	modified:   doc/Guidebook.tex
2015-03-27 19:47:17 -04:00
nhmall f9e8e80589 Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource 2015-03-26 12:41:26 -04:00
nhmall 896fb15249 sync docs
Pasi pointed it out that the SYSCF stuff was only added
to Guidebook.mn not Guidebook.tex
2015-03-26 12:40:22 -04:00
nhmall 7d4298655d names of public servers and tournament contrib
Changes to be committed:
	modified:   dat/history
2015-03-26 08:05:23 -04:00
nhmall a355911c2c no hiding under nothing
On 3/23/2015 6:41 PM, a bug reporter wrote:
> When you're hiding under an item (e.g. via garter snake polyform), and
> that item gets polyshuddered into nonexistence, you continue hiding
> (under nothing).

This addresses the "hiding under nothing" bug, but does not
address this flavor comment also included in the report:
> (Incidentally, it's a bit weird that you use > to aim at items that are
> flavorwise above you at the time.)
2015-03-24 22:07:16 -04:00
nhmall dde4f6322c Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource 2015-03-24 19:29:11 -04:00
nhmall a1cc33d6ae fix invalid pointer dereference in morguemon
On 3/23/2015 6:41 PM, a bug reporter wrote:
> If the game generates a graveyard, the graveyard places a normal
> demon, but all normal demons are extinct at the time, then morguemon (at
> mkroom.c line 423) indexes mons with NON_PM (the return value of
> ndemon() if it can't find a reference), which is an invalid pointer
> dereference. According to the testbench, this mostly seems to happen on
> dlvl 12.

This fixes the code violation, but the logic will now drop down to the
ghost/wraith/zombie code when that happens.

Is that desireable, or should something else happen (for variety)?
2015-03-24 19:20:14 -04:00
nhmall b1547c4770 include header file <ctype.h> in lev_main.c
options.c depends on ctype.h  and uses tolower()
so no sense getting into a discussion about
use of _that_
2015-03-24 19:26:01 +02:00
nhmall c4009b781c Actually use the new routines in lev_main 2015-03-24 19:25:54 +02:00
nhmall f9d22e02cd lev_main's own internal case-insensitive compare
TEST SUITE

int case_insensitive_comp(const char *, const char *);

/* define your built-in compiler library variation here */

/* #define BUILTIN(a,b) strcasecmp(a,b) */
/* #define BUILTIN(a,b) stricmp(a,b) */

int main(int argc, char *argv[])
{
	const char *t1 = "NetHack";
	const char *t2 = "nethack";
	const char *t3 = "Fred";
	const char *t4 = "Barney lived next door";

	/* try the results with built-in strcmpi first */

	printf("builtin:\tcompare <%s> to <%s>, result %d.\n",
		t1, t2, BUILTIN(t1,t2));
	printf("builtin:\tcompare <%s> to <%s>, result %d.\n",
		t3, t4, BUILTIN(t3,t4));

	/* try the results with case_insensitive_comp 2nd */

	printf("ours:\tcompare <%s> to <%s>, result %d.\n",
		t1, t2, case_insensitive_comp(t1,t2));
	printf("ours:\tcompare <%s> to <%s>, result %d.\n",
		t3, t4, case_insensitive_comp(t3,t4));

}

int
case_insensitive_comp(s1, s2)
const char *s1;
const char *s2;
{
    unsigned char u1, u2;

    for ( ; ; s1++, s2++) {
	u1 = tolower((unsigned char) *s1);
	u2 = tolower((unsigned char) *s2);
	if ((u1 == '\0') || (u1 != u2)) {
	    break;
	}
    }
    return u1-u2;
}

======================== END TEST SUITE ===========================
2015-03-24 19:25:45 +02:00
nhmall c49dbcc5b3 include this also 2015-03-24 19:16:29 +02:00
nhmall 4c2df285b4 an easy fix for strcmpi and we move on
Here in branch paxed-new_lev_comp-B (branched
from paxed-new_lev_comp) is a simple fix
for the strcmpi issue.

The bottom section of lev_main.c has a bunch
of forced linkages to names from NetHack etc.
	#ifdef STRICT_REF_DEF
	bunch of stuff
	#endif

This change to lev_main should make everything
work for those that don't supply a compiler
library version of strcmpi()

With this patch, those people can just
add a -DSTRICT_REF_DEF to their compile line
for lev_main.c.

This would close the issue in a simple way,
and doesn't require linking in anything new to
the level compiler, or modifying any port's Makefiles etc.
2015-03-24 19:06:01 +02:00
nhmall b93cf718b6 ensure tribute handles conduct correctly 2015-03-22 22:39:45 -04:00
nhmall 3fa52686d8 A couple of Makefile updates
Include the tribute file.

Windows Makefile
Unix Makefile.top
2015-03-22 22:06:13 -04:00
nhmall a948e6aafb remove stale feature alert
This old feature alert from 3.3.0 is pretty stale, so remove
if from the code because everybody has probably suppressed
it by now.

	/* Because 'Q' used to be quit... */
	if (flags.suppress_alert < FEATURE_NOTICE_VER(3,3,0))
		pline("Note: Please use #quit if you wish to exit the game.");
2015-03-22 18:11:49 -04:00
nhmall 0e6355e017 Add note about feature alert mechanism 2015-03-22 18:04:18 -04:00
nhmall d792f7625d Merge branch 'master' into nhmall-booktribute
Conflicts:
	sys/winnt/Makefile.msc
2015-03-22 15:22:17 -04:00
nhmall 3b064145a3 File for explaining code quirks/features/caveats
- added NOCWD_ASSUMPTIONS and PREFIXES_IN_USE section.
2015-03-22 15:05:18 -04:00
nhmall 74c5f489ae adjust PREFIXES_IN_USE for SYSCF 2015-03-22 11:11:41 -04:00
nhmall c3c968f87c options and config file handling
With SYSCF, the SYSCF_FILE name was overwriting the
default config file name making it unavailable for
subsequent user config file options handling.

- Keep the name of the last config file successfully opened.
- Do it without orphaning the default config file name needed
  for the next pass.
2015-03-22 10:44:36 -04:00
nhmall af9af8b701 put mystery line back but !WIN32
Since that line of code is used by a lot of different ports, I decided to
recant its removal and just add #ifdef to ensure it isn't compiled on WIN32.

I think other ports might encounter the same issue where the first pass with
filename set to 'sysconf', is then going to overwrite the hard-coded user
config file name, but I can't fix or test those so for those ports, it
will be now be back the way it was.
2015-03-21 16:17:17 -04:00
nhmall 349e264ac3 remove a troublesome line of code
Whenever SYSCF was enabled on Windows, the option
processing would go bonkers with illegal options
at startup. I noticed it months ago, and Derek
had it happen the other evening.

It turns out, the hard-coded 'defaults.nh' setting
was being overwritten with the name sysconf on
the first SET_IN_SYS pass, so all subsequent passes
were re-opening the SYSC_FILE instead of the
user config file.

I opted to take it out as I couldn't ascertain
why it was there in the first place.
2015-03-21 16:01:03 -04:00
nhmall b8515fb5fd throw in a windows sysconf skeleton 2015-03-21 15:54:30 -04:00
nhmall 734d118d39 a sys/winnt/Makefile.msc update 2015-03-21 15:50:03 -04:00
nhmall 41ac4aef92 fix SYSCF so that things build when first defined
Things won't build for ports that first
define SYSCF.

This moves assure_syscf_file() from unixmain.c
to files.c and adjusts extern.h to get it
out from under #ifdef UNIX.

The call to assure_syscf_file() in options.c was
only #ifdef SYSCF, SYSCF_FILE and not UNIX,
so new ports #defining SYSCF would get an erro.

assure_syscf_file() will be utilized by mswin
when SYSCF is defined.
2015-03-21 15:38:31 -04:00
nhmall f2a132adca more book tribute - store index right in obj 2015-03-21 11:02:52 -04:00
nhmall a0d3224834 Merge branch 'master' into nhmall-booktribute
Conflicts:
	sys/winnt/Makefile.msc
2015-03-21 10:59:49 -04:00
nhmall 297e7c6d5f Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource 2015-03-21 10:53:42 -04:00
nhmall e3eb74166f obj change to support some upcoming work
This is an enabling patch for upcoming work. It breaks
save/bones so editlevel is incremented.

I'd like to a second overloadable int field in struct obj,
instead of just the one that is typically overloaded - corpsenm.

The second one can be used for things that are being tallied
up as opposed to a static one time assignment for reference/linkage
purposes.

The differentiation will allow both uses to co-exist for the
same object.
2015-03-21 10:46:11 -04:00
nhmall d7ff451301 More book tribute integration 2015-03-21 10:33:59 -04:00
nhmall 66d642fad9 more mswin cmdline Makefile tweaks 2015-03-20 22:06:28 -04:00
nhmall b342beea2b skeleton tribute text file 2015-03-20 01:07:59 -04:00
nhmall 0a8d24d87d more updates to the bookstore tribute 2015-03-20 00:58:29 -04:00
nhmall c72c531c2c change printed novel to paperback novel 2015-03-19 19:47:52 -04:00
nhmall 02cdaf5a09 Merge branch 'master' of https://rodney.nethack.org:20040/git/NHsource 2015-03-18 23:01:34 -04:00
nhmall d182920655 update cmdline Makefile 2015-03-18 23:00:46 -04:00