Commit Graph

51 Commits

Author SHA1 Message Date
nethack.allison
c0349ec918 autopickup_exceptions build option
Add config.h experimental option AUTOPICKUP_EXCEPTIONS.

It's an interface-only change which allows you to add lines to your
config file to selectively avoid autopickup of items based on their
text description that is displayed when you pick them up. It does
it by matching a pattern against the xname singular return value.

For example:

autopickup_exception = "*corpse" will avoid picking up corpses, even if
food (%) is in your pickup_types.

autopickup_exception = "*brown*"
will avoid picking up any brown items (why, I do not know)

autopickup_exception = "*loadstone"
will NOT avoid picking up loadstones, unless they are already
identified, because the xname string will be "gray stone", so no
match there.

The matching has no knowledge of in-game objects, it is just
a text pattern match, thus it is an interface change, not a gameplay
change, and it is meant as a convenience for players.
2003-11-15 01:05:32 +00:00
nethack.allison
d290e918c6 flag adjustment followup (trunk only) 2003-11-09 16:05:51 +00:00
cohrs
d82c7e671b support engraving in blood in special level files
the file format and sp_lev.c supported it, but the level parser didn't
2003-10-23 02:36:23 +00:00
jwalz
0b284f75a0 compilation bit 2003-09-08 00:48:37 +00:00
nethack.allison
eb398e0b2a save/bones compatibility info followup 2003-09-07 18:19:24 +00:00
kmhugo
1282e5c623 Synch recent 3.4.2 changes to main trunk
This is merely a synchronization of recent changes for the
Macintosh Carbon port, which were committed to the 3.4.2
branch, to the main trunk.
2003-08-30 00:45:58 +00:00
cohrs
14c12765a0 U433 - infinite loop with place_branch
This solution is mostly a band-aid.  Make sure information set by join_map
that is overlaid by the MAP is cleared out.  This ensures that place_branch
will never consider invalid data.  A new function, remove_rooms(), with a
helper, remove_room(), takes care of this, but only for rooms created by
join_map, which addresses the only known case that causes this problem.
There's a possibility that some other strange behavior, especially in
minetn-6, will be fixed by this as well.  The problem of disconnected caves
on minetn-6 is not yet addressed.

Also, add a check to lev_comp.y to make sure the required fg semantics of
joined levels (fg must be ROOM or CORR) are actually met.  Doesn't affect
any levels currently included in the distro, but might address levels
others are trying to make.
2003-05-20 02:05:45 +00:00
nethack.allison
e1aa6d5148 GOLDOBJ compat (main trunk only)
This patch gives game and savefile compatibility
whether GOLDOBJ is defined or not.

You can build with GOLDOBJ defined or not, and
still load your saved games. Rebuild with the
opposite, and load the same game.

That way GOLDOBJ can be experimented with
more easily.

1. Leave the "you" struct and the "monst"
   struct the same under the hood between
   GOLDOBJ and !GOLDOBJ.

2. Always write out gold as an
   object on the player and monster
   inventory chains.

On a restore of the savefile with GOLDOBJ
not defined,  take the gold objects out of
the inventory chains and put it into u.ugold
or mtmp->mgold as appropriate.

On a restore of the savefile with GOLDOBJ
defined, nothing special is done.
2003-04-11 22:32:08 +00:00
nethack.allison
5122409416 Several things that break savefile compatibility
- Version change from 3.4.x
- timed_delay feature ignore in makedefs
- several flags from iflags to flags
- use offsets from mons array entries in save file rather than storing
  the ptr and calculating the distance from beginning of array
2003-03-05 04:39:47 +00:00
nethack.allison
14c53eb840 typo in <email deleted>
#ifdef HOLD_LOCKFILE_OPEN
"exlusive lock on level 0 file",
#endif
2003-03-05 02:45:21 +00:00
nethack.allison
1620f9e44e USER_SOUNDS follow-up
Make the support of user sounds apparent in the
#version command.  Also add a small section on
them to the Guidebook.

(The doc/Guidebook.mn version of this section
needs testing)
2002-09-03 02:36:16 +00:00
nethack.allison
98d53c93a8 win32 recover; also a core bit from Yitzhak 2002-09-02 14:10:05 +00:00
cohrs
081edea253 improperly terminated quest message
Add a missing check to makedefs so it prints a warning about misplaced %Es.
Fix a couple places in quest.txt pointed out by the new warning.
There's no visible effect on play, since the code that actually reads the
message keeps reading until the next %C.
2002-08-27 03:56:28 +00:00
nethack.allison
2697615bd3 win32: hold .0 file open exclusively
-prevents problems with internal recover
if second copy of game is started up with
the same player name.
2002-08-21 15:21:56 +00:00
nethack.allison
e86d1a4436 win32 problem on NT4
> Oops:
>
> "NetHack.exe - Entry Point Not Found
>
> The procedure entry point Process32Next could not be located in the dynamic link
> library KERNEL32.dll."
>
> And the program refuses to run. Same goes for NetHackW.exe.
>
> Windows NT 4 (to be precise: 4.00.1381, SP6)
> IE 5.0 (to be precise: 5.00.2919.6307)
>
> The Help for Process32Next shows the following compatibility list:
> QuickInfo
>   Windows NT: Requires version 5.0 or later.
>   Windows: Requires Windows 95 or later.
>   Windows CE: Unsupported.
>   Header: Declared in tlhelp32.h.
>   Import Library: Use kernel32.lib.
2002-08-21 11:53:44 +00:00
nethack.allison
9968e1ffab more win32 recover
It turns out that the processentry32 structure contents
are slightly different on 2000/XP than they are on
95/98/Me according to the docs.

szExeFile
Pointer to a null-terminated string that specifies the name
of the executable file for the process.
Windows 2000/XP: The file name does not include the path.
Windows 95/98/Me: The file name includes the path.

Ensure that we check for the target values at the end of
the string.
2002-08-19 01:12:23 +00:00
nethack.allison
93014315ff win32 recover follow-up bit 2002-08-19 00:17:56 +00:00
nethack.allison
070079f3a7 win32 recover
Prevent recover from building a savefile out of a
currently active NetHack process.
2002-08-18 15:43:36 +00:00
nethack.rankin
fab39a2007 compatibility checks fix for TIMED_DELAY
makedefs has been listing TIMED_DELAY as one of the options which
affects save file contents even though that hasn't been the case for
a long time.  Unfortunately, simply fixing that by itself would break
save file compatibility for anyone who has been building with it set.
This workaround prevents the fix from doing that.  And now folks can
rebuild after toggling TIMED_DELAY without unnecessarily invalidating
save and bones files.
2002-08-15 02:48:34 +00:00
nethack.allison
a849315988 no message 2002-07-29 17:57:57 +00:00
nethack.allison
33864d0cf7 flag changes follow-up makedefs.c 2002-07-28 16:28:26 +00:00
cohrs
5d530348d4 containers and objects in special level descriptions
On mazelike levels, containers had to be listed before their objects.  But,
for roomfilled levels, containers had to be listed _after_ the objects.  All
our current levels that use containers with objects are mazelike, so I
changed the room behavior, updating the comment in lev_comp.y to match.
Other items/monsters are still processed in reverse on roomfilled special
levels, but I think this is OK.
2002-07-14 20:17:45 +00:00
dean
78ae08d384 Place finished .lev files in the MPW build's destination directory. 2002-04-03 05:40:29 +00:00
nethack.allison
51f9892b3b Allow MICRO and WIN32 code paths to diverge
There's still a lot of overlap for 3.4.1, but not
100% any longer and it facilitates some improvements
- Allow error save files on WIN32
2002-03-30 19:09:56 +00:00
nethack.rankin
e835e2f420 lev_comp,dgn_comp vs CRLF style input
Allow the special level and dungeon compilers to handle input
files which have CR+LF delimited lines.  Apparently Cygwin doesn't
convert MSDOS style line ends into newlines the way stdio should
do for text I/O.  The resulting unexpected CR characters result in
syntax errors.

     And explicitly using '\n' on both the lex and yacc sides of
MAP processing allows removal of the old NEWLINE hack for Mac MPW.
It won't matter what numeric value that character escape sequence
has internally.
2002-03-28 01:37:39 +00:00
nethack.allison
41b924838c Use mswin for the window port name since that is used in the window port itself. 2002-03-05 05:11:45 +00:00
nethack.allison
4bc374ba8c OPTIONS_FILE follow-up
-makedefs had WIN32CON defined, even though the Nethack
executable build did not.
2002-03-04 03:42:25 +00:00
nethack.allison
b8b2b8bd51 OPTIONS_FILE core changes
-Allow overriding of OPTIONS_FILE in makdefs.c
-Change obsolete WIN32_GRAPHICS to the correct MSWIN_GRAPHICS
-Remove the 8514 and VESA screen control stuff since it never existed.
2002-03-04 03:22:23 +00:00
dean
007ddef858 Fix a typo. 2002-03-01 05:26:36 +00:00
nethack.allison
4b0dab0d0e <Someone> bit
in util/lev_main.c:write_maze(), line which reads
"Write(fd, &(pt->ngold), sizeof(pt->naltar));"

should read
"Write(fd, &(pt->ngold), sizeof(pt->ngold));"
2002-02-19 13:25:06 +00:00
nethack.allison
7d1e6f7d57 from Yitzhak
Add absent prototypes to some core routines.
Also add some port function() to function(void) in some win32 routines.
Also updates the Borland C Makefile for win32.
2002-02-05 13:21:43 +00:00
nethack.allison
742e1e8c90 3.3.2 to 3.4.0 2002-02-04 16:11:00 +00:00
kmhugo
bc31d71776 makedefs.c
Fix some misplaced logic in makedefs.c, and improve the surrounding
comments.
2002-02-03 22:10:24 +00:00
nethack.allison
51e3079709 <Someone>'s OS2 updates. 2002-02-02 19:46:18 +00:00
kmhugo
263b6c06b1 Line numbering in lev_comp files
This patch allows the digits 0-9 to be used to indicate line numbers
in the MAP...ENDMAP arrays of level files.  This makes it a wee
bit easier to place features.  The digits get stripped out before
the map is interpreted.
2002-01-19 06:06:16 +00:00
kmhugo
bd49d4a6df Remove files duplicated in devteam module 2002-01-19 05:39:57 +00:00
warwick
0e46369056 Ignore generated files. 2002-01-18 02:50:06 +00:00
nethack.allison
8ef53b7e30 Get rid of a compiler warning that has been there forever.
This finally gets the entire build process warning-free
under MSVC.
2002-01-15 03:37:36 +00:00
nethack.allison
e02ab47597 Changes to existing files by the win32 port additions. 2002-01-13 05:53:39 +00:00
kmhugo
95143950a9 Macintosh util update
* Updated preprocessor conditionals for the MPW compilers.
* Remove obsolete Mac code in util/*_comp.l.
2002-01-10 06:55:12 +00:00
jwalz
22c021f37c *** empty log message *** 2002-01-05 21:06:00 +00:00
jwalz
3c8cfccffa *** empty log message *** 2002-01-05 21:06:00 +00:00
jwalz
2b2eaa2510 *** empty log message *** 2002-01-05 21:06:00 +00:00
jwalz
298ca70e70 *** empty log message *** 2002-01-05 21:06:00 +00:00
jwalz
e96d5aba24 *** empty log message *** 2002-01-05 21:06:00 +00:00
jwalz
62014c6997 *** empty log message *** 2002-01-05 21:06:00 +00:00
jwalz
16454d543c *** empty log message *** 2002-01-05 21:06:00 +00:00
jwalz
bae819bf92 *** empty log message *** 2002-01-05 21:06:00 +00:00
jwalz
8fea94b8a1 *** empty log message *** 2002-01-05 21:06:00 +00:00
jwalz
17f3520f52 *** empty log message *** 2002-01-05 21:06:00 +00:00